aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--asn1/pres/packet-pres-template.c13
-rw-r--r--asn1/rtse/packet-rtse-template.c10
-rw-r--r--epan/dissectors/packet-pres.c19
-rw-r--r--epan/dissectors/packet-rtse.c14
4 files changed, 41 insertions, 15 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;
}
diff --git a/epan/dissectors/packet-pres.c b/epan/dissectors/packet-pres.c
index 6a9a7d0eb2..994491fb79 100644
--- a/epan/dissectors/packet-pres.c
+++ b/epan/dissectors/packet-pres.c
@@ -274,8 +274,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 {
@@ -316,8 +321,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 {
@@ -1360,7 +1369,7 @@ static int dissect_UD_type_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_
/*--- End of included file: packet-pres-fn.c ---*/
-#line 225 "../../asn1/pres/packet-pres-template.c"
+#line 234 "../../asn1/pres/packet-pres-template.c"
/*
@@ -1844,7 +1853,7 @@ void proto_register_pres(void) {
NULL, HFILL }},
/*--- End of included file: packet-pres-hfarr.c ---*/
-#line 396 "../../asn1/pres/packet-pres-template.c"
+#line 405 "../../asn1/pres/packet-pres-template.c"
};
/* List of subtrees */
@@ -1891,7 +1900,7 @@ void proto_register_pres(void) {
&ett_pres_UD_type,
/*--- End of included file: packet-pres-ettarr.c ---*/
-#line 402 "../../asn1/pres/packet-pres-template.c"
+#line 411 "../../asn1/pres/packet-pres-template.c"
};
static ei_register_info ei[] = {
diff --git a/epan/dissectors/packet-rtse.c b/epan/dissectors/packet-rtse.c
index 18625113cc..e6b7e5bad4 100644
--- a/epan/dissectors/packet-rtse.c
+++ b/epan/dissectors/packet-rtse.c
@@ -778,9 +778,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;
}
@@ -1009,7 +1013,7 @@ void proto_register_rtse(void) {
NULL, HFILL }},
/*--- End of included file: packet-rtse-hfarr.c ---*/
-#line 365 "../../asn1/rtse/packet-rtse-template.c"
+#line 369 "../../asn1/rtse/packet-rtse-template.c"
};
/* List of subtrees */
@@ -1031,7 +1035,7 @@ void proto_register_rtse(void) {
&ett_rtse_CallingSSuserReference,
/*--- End of included file: packet-rtse-ettarr.c ---*/
-#line 374 "../../asn1/rtse/packet-rtse-template.c"
+#line 378 "../../asn1/rtse/packet-rtse-template.c"
};
static ei_register_info ei[] = {