diff options
Diffstat (limited to 'asn1')
-rw-r--r-- | asn1/pres/packet-pres-template.c | 13 | ||||
-rw-r--r-- | asn1/rtse/packet-rtse-template.c | 10 |
2 files changed, 18 insertions, 5 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 { diff --git a/asn1/rtse/packet-rtse-template.c b/asn1/rtse/packet-rtse-template.c index eb8d1bf2ae..ddc314525f 100644 --- a/asn1/rtse/packet-rtse-template.c +++ b/asn1/rtse/packet-rtse-template.c @@ -231,9 +231,13 @@ dissect_rtse(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* d ((session->spdu_type == SES_DATA_TRANSFER) || (session->spdu_type == SES_MAJOR_SYNC_POINT))) { /* Use conversation index as fragment id */ - conversation = find_conversation (pinfo->num, - &pinfo->src, &pinfo->dst, pinfo->ptype, - pinfo->srcport, pinfo->destport, 0); + 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 != NULL) { rtse_id = conversation->index; } |