diff options
Diffstat (limited to 'asn1/pres/packet-pres-template.c')
-rw-r--r-- | asn1/pres/packet-pres-template.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/asn1/pres/packet-pres-template.c b/asn1/pres/packet-pres-template.c index c3e9367189..f0ec1cee41 100644 --- a/asn1/pres/packet-pres-template.c +++ b/asn1/pres/packet-pres-template.c @@ -142,8 +142,13 @@ register_ctx_id_and_oid(packet_info *pinfo _U_, guint32 idx, const char *oid) pco=wmem_new(wmem_file_scope(), pres_ctx_oid_t); pco->ctx_id=idx; pco->oid=wmem_strdup(wmem_file_scope(), oid); - conversation=find_conversation (pinfo->num, &pinfo->src, &pinfo->dst, + if (pinfo->ptype == PT_TCP) { + conversation = find_conversation_ext_from_pinfo(pinfo); + } + else { + conversation = find_conversation(pinfo->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); + } if (conversation) { pco->idx = conversation->index; } else { @@ -184,8 +189,12 @@ find_oid_by_pres_ctx_id(packet_info *pinfo, guint32 idx) conversation_t *conversation; pco.ctx_id=idx; - conversation=find_conversation (pinfo->num, &pinfo->src, &pinfo->dst, + if (pinfo->ptype == PT_TCP) { + conversation = find_conversation_ext_from_pinfo(pinfo); + }else{ + conversation = find_conversation(pinfo->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); + } if (conversation) { pco.idx = conversation->index; } else { |