diff options
author | etxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7> | 2005-02-02 20:07:03 +0000 |
---|---|---|
committer | etxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7> | 2005-02-02 20:07:03 +0000 |
commit | 60315b22c41fd1b9d83d267c2fef7dbfcc1261e2 (patch) | |
tree | b7a41a2d4d3ffe7bd349658b292b59f46f86939b /epan | |
parent | 6ecaec3e0975cac874e60118b264684cf8c93e02 (diff) |
From Jon Ringle:
1) Added a setup_frame parameter to conversation_t
2) Used the conversation_t next to maintain a list of conversations with the
same src/dest tuple but different setup_frame number.
3) Changed the signature of find_conversation() and conversation_new() to pass
in the frame number.
4) Adjusted packet-sdp to select RTP conversation if both m=audio and m=image
are present, and T.38 conversation if only m=image is present. I expect that
RTP/T.38 dissecting to be better, but I don't have a way to generate T.38
packets.
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@13243 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan')
60 files changed, 209 insertions, 243 deletions
diff --git a/epan/dissectors/packet-afp.c b/epan/dissectors/packet-afp.c index e0e50c48b4..c1e1533310 100644 --- a/epan/dissectors/packet-afp.c +++ b/epan/dissectors/packet-afp.c @@ -3313,12 +3313,12 @@ dissect_afp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) if (col_info) col_clear(pinfo->cinfo, COL_INFO); - conversation = find_conversation(&pinfo->src, &pinfo->dst, pinfo->ptype, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); if (conversation == NULL) { - conversation = conversation_new(&pinfo->src, &pinfo->dst, + conversation = conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); } diff --git a/epan/dissectors/packet-afs.c b/epan/dissectors/packet-afs.c index 0fa26d72af..bce4527e6e 100644 --- a/epan/dissectors/packet-afs.c +++ b/epan/dissectors/packet-afs.c @@ -216,11 +216,11 @@ dissect_afs(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) * packets from A:X to B:Y as being part of the same conversation as * packets from B:Y to A:X. */ - conversation = find_conversation(&pinfo->src, &pinfo->dst, pinfo->ptype, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); if (conversation == NULL) { /* It's not part of any conversation - create a new one. */ - conversation = conversation_new(&pinfo->src, &pinfo->dst, + conversation = conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); } diff --git a/epan/dissectors/packet-ajp13.c b/epan/dissectors/packet-ajp13.c index 3fe267b0da..8683f7e1aa 100644 --- a/epan/dissectors/packet-ajp13.c +++ b/epan/dissectors/packet-ajp13.c @@ -640,10 +640,10 @@ dissect_ajp13_tcp_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) /* conversational state really only does us good during the first * in-order traversal */ - conv = find_conversation(&pinfo->src, &pinfo->dst, pinfo->ptype, + conv = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); if (!conv) { - conv = conversation_new(&pinfo->src, &pinfo->dst, pinfo->ptype, + conv = conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); } cd = (ajp13_conv_data*)conversation_get_proto_data(conv, proto_ajp13); diff --git a/epan/dissectors/packet-aoe.c b/epan/dissectors/packet-aoe.c index 4efeaac4bb..4605b7b1c3 100644 --- a/epan/dissectors/packet-aoe.c +++ b/epan/dissectors/packet-aoe.c @@ -226,12 +226,12 @@ dissect_ata_pdu(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset, conversation_t *conversation; /* only create a conversation for ATA commands */ - conversation = find_conversation(&pinfo->src, &pinfo->dst, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); if (conversation == NULL) { /* We don't yet have a conversation, so create one. */ - conversation = conversation_new(&pinfo->src, &pinfo->dst, + conversation = conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); } diff --git a/epan/dissectors/packet-atalk.c b/epan/dissectors/packet-atalk.c index c37d4f1b8a..3204e7e79a 100644 --- a/epan/dissectors/packet-atalk.c +++ b/epan/dissectors/packet-atalk.c @@ -759,12 +759,12 @@ dissect_atp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { aspinfo.code = 0; query = (!aspinfo.reply && !aspinfo.release); - conversation = find_conversation(&pinfo->src, &pinfo->dst, pinfo->ptype, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); if (conversation == NULL) { - conversation = conversation_new(&pinfo->src, &pinfo->dst, + conversation = conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); } @@ -1117,12 +1117,12 @@ get_transaction(tvbuff_t *tvb, packet_info *pinfo) asp_request_val *request_val; guint8 fn; - conversation = find_conversation(&pinfo->src, &pinfo->dst, pinfo->ptype, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); if (conversation == NULL) { - conversation = conversation_new(&pinfo->src, &pinfo->dst, + conversation = conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); } diff --git a/epan/dissectors/packet-beep.c b/epan/dissectors/packet-beep.c index c45f7c0a36..7e9a38dbee 100644 --- a/epan/dissectors/packet-beep.c +++ b/epan/dissectors/packet-beep.c @@ -870,10 +870,10 @@ dissect_beep(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) if (!frame_data) { - conversation = find_conversation(&pinfo->src, &pinfo->dst, pinfo->ptype, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); if (conversation == NULL) { /* No conversation, create one */ - conversation = conversation_new(&pinfo->src, &pinfo->dst, pinfo->ptype, + conversation = conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); } diff --git a/epan/dissectors/packet-bittorrent.c b/epan/dissectors/packet-bittorrent.c index aeff6622ec..1bf7c97760 100644 --- a/epan/dissectors/packet-bittorrent.c +++ b/epan/dissectors/packet-bittorrent.c @@ -221,7 +221,7 @@ static gboolean test_bittorrent_packet (tvbuff_t *tvb, packet_info *pinfo, return FALSE; } - conversation = conversation_new (&pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); + conversation = conversation_new (pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); g_assert(find_dissector("bittorrent")); diff --git a/epan/dissectors/packet-dcerpc.c b/epan/dissectors/packet-dcerpc.c index b2a7304c88..75584a16f0 100644 --- a/epan/dissectors/packet-dcerpc.c +++ b/epan/dissectors/packet-dcerpc.c @@ -2412,10 +2412,10 @@ dissect_dcerpc_cn_bind (tvbuff_t *tvb, gint offset, packet_info *pinfo, } if (!saw_ctx_item) { - conv = find_conversation (&pinfo->src, &pinfo->dst, pinfo->ptype, + conv = find_conversation (pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); if (conv == NULL) { - conv = conversation_new (&pinfo->src, &pinfo->dst, pinfo->ptype, + conv = conversation_new (pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); } @@ -2930,6 +2930,7 @@ dcerpc_add_conv_to_bind_table(decode_dcerpc_bind_values_t *binding) conversation_t *conv; conv = find_conversation ( + 0, &binding->addr_a, &binding->addr_b, binding->ptype, @@ -2939,6 +2940,7 @@ dcerpc_add_conv_to_bind_table(decode_dcerpc_bind_values_t *binding) if (!conv) { conv = conversation_new ( + 0, &binding->addr_a, &binding->addr_b, binding->ptype, @@ -3030,7 +3032,7 @@ dissect_dcerpc_cn_rqst (tvbuff_t *tvb, gint offset, packet_info *pinfo, */ dissect_dcerpc_cn_auth (tvb, offset, pinfo, dcerpc_tree, hdr, FALSE, &auth_info); - conv = find_conversation (&pinfo->src, &pinfo->dst, pinfo->ptype, + conv = find_conversation (pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); if (!conv) show_stub_data (tvb, offset, dcerpc_tree, &auth_info, TRUE); @@ -3175,7 +3177,7 @@ dissect_dcerpc_cn_resp (tvbuff_t *tvb, gint offset, packet_info *pinfo, */ dissect_dcerpc_cn_auth (tvb, offset, pinfo, dcerpc_tree, hdr, FALSE, &auth_info); - conv = find_conversation (&pinfo->src, &pinfo->dst, pinfo->ptype, + conv = find_conversation (pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); if (!conv) { @@ -3296,7 +3298,7 @@ dissect_dcerpc_cn_fault (tvbuff_t *tvb, gint offset, packet_info *pinfo, */ dissect_dcerpc_cn_auth (tvb, offset, pinfo, dcerpc_tree, hdr, FALSE, &auth_info); - conv = find_conversation (&pinfo->src, &pinfo->dst, pinfo->ptype, + conv = find_conversation (pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); if (!conv) { /* no point in creating one here, really */ @@ -4522,10 +4524,10 @@ dissect_dcerpc_dg (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) * activity_id and seqnum. I haven't seen anywhere that it would * make a difference, but for future reference... */ - conv = find_conversation (&pinfo->src, &pinfo->dst, pinfo->ptype, + conv = find_conversation (pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); if (!conv) { - conv = conversation_new (&pinfo->src, &pinfo->dst, pinfo->ptype, + conv = conversation_new (pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); } diff --git a/epan/dissectors/packet-dcm.c b/epan/dissectors/packet-dcm.c index 9f06251440..f9ea6f8e17 100644 --- a/epan/dissectors/packet-dcm.c +++ b/epan/dissectors/packet-dcm.c @@ -898,14 +898,14 @@ dissect_dcm(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) guint32 len, tlen; dcmState_t *dcm_data = NULL; - conv = find_conversation(&pinfo->src, &pinfo->dst, + conv = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); if (NULL != conv) /* conversation exists */ /* do we have any data for this conversation ? */ dcm_data = conversation_get_proto_data(conv, proto_dcm); else - conv = conversation_new(&pinfo->src, &pinfo->dst, pinfo->ptype, + conv = conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); if (NULL == dcm_data) { @@ -950,7 +950,7 @@ dissect_dcm_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) char *buf; int offset = 0; - if (NULL == (conv = find_conversation(&pinfo->src, &pinfo->dst, + if (NULL == (conv = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0))) return; /* OOPS */ diff --git a/epan/dissectors/packet-eap.c b/epan/dissectors/packet-eap.c index 6499a34bba..72389f65b9 100644 --- a/epan/dissectors/packet-eap.c +++ b/epan/dissectors/packet-eap.c @@ -647,21 +647,21 @@ dissect_eap_data(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, * keep them separate? (Or is that not going to happen?) */ if (pinfo->destport == pinfo->match_port) { - conversation = find_conversation(&pinfo->dst, &pinfo->src, + conversation = find_conversation(pinfo->fd->num, &pinfo->dst, &pinfo->src, pinfo->ptype, pinfo->destport, 0, NO_PORT_B); } else { - conversation = find_conversation(&pinfo->src, &pinfo->dst, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, 0, NO_PORT_B); } if (conversation == NULL) { if (pinfo->destport == pinfo->match_port) { - conversation = conversation_new(&pinfo->dst, &pinfo->src, + conversation = conversation_new(pinfo->fd->num, &pinfo->dst, &pinfo->src, pinfo->ptype, pinfo->destport, 0, NO_PORT2); } else { - conversation = conversation_new(&pinfo->src, &pinfo->dst, + conversation = conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, 0, NO_PORT2); } diff --git a/epan/dissectors/packet-fc.c b/epan/dissectors/packet-fc.c index 00d51d8b0e..73acfb07e2 100644 --- a/epan/dissectors/packet-fc.c +++ b/epan/dissectors/packet-fc.c @@ -1165,11 +1165,11 @@ dissect_fc (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) * SEQ_CNT of the first frame in sequence and use this value to * determine the actual offset into a frame. */ - conversation = find_conversation (&pinfo->src, &pinfo->dst, + conversation = find_conversation (pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->oxid, pinfo->rxid, NO_PORT2); if (!conversation) { - conversation = conversation_new (&pinfo->src, &pinfo->dst, + conversation = conversation_new (pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->oxid, pinfo->rxid, NO_PORT2); } diff --git a/epan/dissectors/packet-fcdns.c b/epan/dissectors/packet-fcdns.c index 1bdda592c8..7261410b1f 100644 --- a/epan/dissectors/packet-fcdns.c +++ b/epan/dissectors/packet-fcdns.c @@ -1509,11 +1509,11 @@ dissect_fcdns (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) } if ((opcode != FCCT_MSG_ACC) && (opcode != FCCT_MSG_RJT)) { - conversation = find_conversation (&pinfo->src, &pinfo->dst, + conversation = find_conversation (pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->oxid, pinfo->rxid, NO_PORT2); if (!conversation) { - conversation = conversation_new (&pinfo->src, &pinfo->dst, + conversation = conversation_new (pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->oxid, pinfo->rxid, NO_PORT2); } @@ -1545,7 +1545,7 @@ dissect_fcdns (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) } else { /* Opcode is ACC or RJT */ - conversation = find_conversation (&pinfo->src, &pinfo->dst, + conversation = find_conversation (pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->oxid, pinfo->rxid, NO_PORT2); isreq = 0; diff --git a/epan/dissectors/packet-fcels.c b/epan/dissectors/packet-fcels.c index d3c54c2960..8b1ae55c37 100644 --- a/epan/dissectors/packet-fcels.c +++ b/epan/dissectors/packet-fcels.c @@ -1531,12 +1531,12 @@ dissect_fcels (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) else { options = NO_PORT2; } - conversation = find_conversation (&pinfo->dst, &pinfo->src, + conversation = find_conversation (pinfo->fd->num, &pinfo->dst, &pinfo->src, pinfo->ptype, pinfo->oxid, pinfo->rxid, options); if (!conversation) { - conversation = conversation_new (&pinfo->dst, &pinfo->src, + conversation = conversation_new (pinfo->fd->num, &pinfo->dst, &pinfo->src, pinfo->ptype, pinfo->oxid, pinfo->rxid, options); } @@ -1566,7 +1566,7 @@ dissect_fcels (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) isreq = FC_ELS_RPLY; options = NO_PORT2; - conversation = find_conversation (&pinfo->dst, &pinfo->src, + conversation = find_conversation (pinfo->fd->num, &pinfo->dst, &pinfo->src, pinfo->ptype, pinfo->oxid, pinfo->rxid, options); if (!conversation) { @@ -1576,7 +1576,7 @@ dissect_fcels (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) addrdata[0] = addrdata[1] = 0; addrdata[2] = pinfo->dst.data[2]; SET_ADDRESS (&dstaddr, AT_FC, 3, addrdata); - conversation = find_conversation (&dstaddr, &pinfo->src, + conversation = find_conversation (pinfo->fd->num, &dstaddr, &pinfo->src, pinfo->ptype, pinfo->oxid, pinfo->rxid, options); } @@ -1584,7 +1584,7 @@ dissect_fcels (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) if (!conversation) { /* Finally check for FLOGI with both NO_PORT2 and NO_ADDR2 set */ options = NO_ADDR2 | NO_PORT2; - conversation = find_conversation (&pinfo->src, &pinfo->dst, + conversation = find_conversation (pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->oxid, pinfo->rxid, options); if (!conversation) { diff --git a/epan/dissectors/packet-fcfcs.c b/epan/dissectors/packet-fcfcs.c index 09384be15c..e0e00ead82 100644 --- a/epan/dissectors/packet-fcfcs.c +++ b/epan/dissectors/packet-fcfcs.c @@ -843,11 +843,11 @@ dissect_fcfcs (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) cthdr.maxres_size = ntohs (cthdr.maxres_size); if ((opcode != FCCT_MSG_ACC) && (opcode != FCCT_MSG_RJT)) { - conversation = find_conversation (&pinfo->src, &pinfo->dst, + conversation = find_conversation (pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->oxid, pinfo->rxid, NO_PORT2); if (!conversation) { - conversation = conversation_new (&pinfo->src, &pinfo->dst, + conversation = conversation_new (pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->oxid, pinfo->rxid, NO_PORT2); } @@ -879,7 +879,7 @@ dissect_fcfcs (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) } else { /* Opcode is ACC or RJT */ - conversation = find_conversation (&pinfo->src, &pinfo->dst, + conversation = find_conversation (pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->oxid, pinfo->rxid, NO_PORT2); isreq = 0; diff --git a/epan/dissectors/packet-fcfzs.c b/epan/dissectors/packet-fcfzs.c index 00807a8d75..d38761a18a 100644 --- a/epan/dissectors/packet-fcfzs.c +++ b/epan/dissectors/packet-fcfzs.c @@ -664,11 +664,11 @@ dissect_fcfzs (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) } if ((opcode != FCCT_MSG_ACC) && (opcode != FCCT_MSG_RJT)) { - conversation = find_conversation (&pinfo->src, &pinfo->dst, + conversation = find_conversation (pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->oxid, pinfo->rxid, NO_PORT2); if (!conversation) { - conversation = conversation_new (&pinfo->src, &pinfo->dst, + conversation = conversation_new (pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->oxid, pinfo->rxid, NO_PORT2); } @@ -700,7 +700,7 @@ dissect_fcfzs (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) } else { /* Opcode is ACC or RJT */ - conversation = find_conversation (&pinfo->src, &pinfo->dst, + conversation = find_conversation (pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->oxid, pinfo->rxid, NO_PORT2); isreq = 0; diff --git a/epan/dissectors/packet-fcp.c b/epan/dissectors/packet-fcp.c index fb9282b771..41f1614721 100644 --- a/epan/dissectors/packet-fcp.c +++ b/epan/dissectors/packet-fcp.c @@ -262,11 +262,11 @@ dissect_fcp_cmnd (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) /* by the data that is sent back or sent next by the initiator as part */ /* of this command. The state is destroyed in the response dissector */ - conversation = find_conversation (&pinfo->src, &pinfo->dst, + conversation = find_conversation (pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->oxid, pinfo->rxid, NO_PORT2); if (!conversation) { - conversation = conversation_new (&pinfo->src, &pinfo->dst, + conversation = conversation_new (pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->oxid, pinfo->rxid, NO_PORT2); } @@ -353,7 +353,7 @@ dissect_fcp_data (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) scsi_task_id_t task_key; /* Retrieve conversation state to determine expected payload */ - conversation = find_conversation (&pinfo->src, &pinfo->dst, + conversation = find_conversation (pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->oxid, pinfo->rxid, NO_PORT2); if (conversation) { @@ -410,7 +410,7 @@ dissect_fcp_rsp (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) } /* Response marks the end of the conversation. So destroy state */ - conversation = find_conversation (&pinfo->src, &pinfo->dst, + conversation = find_conversation (pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->oxid, pinfo->rxid, NO_PORT2); if (conversation) { @@ -494,11 +494,11 @@ dissect_fcp_xfer_rdy (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) fcp_conv_key_t ckey, *req_key; /* Retrieve conversation state to determine expected payload */ - conversation = find_conversation (&pinfo->src, &pinfo->dst, + conversation = find_conversation (pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->oxid, pinfo->rxid, NO_PORT2); if (!conversation) { - conversation = conversation_new (&pinfo->src, &pinfo->dst, + conversation = conversation_new (pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->oxid, pinfo->rxid, NO_PORT2); } diff --git a/epan/dissectors/packet-fcsb3.c b/epan/dissectors/packet-fcsb3.c index 363046fa17..2c538a64a7 100644 --- a/epan/dissectors/packet-fcsb3.c +++ b/epan/dissectors/packet-fcsb3.c @@ -780,7 +780,7 @@ static void dissect_fc_sbccs (tvbuff_t *tvb, packet_info *pinfo, } /* Retrieve conversation state to determine expected payload */ - conversation = find_conversation (&pinfo->src, &pinfo->dst, + conversation = find_conversation (pinfo->fd->num, &pinfo->src, &pinfo->dst, PT_SBCCS, ch_cu_id, dev_addr, 0); if (conversation) { @@ -791,7 +791,7 @@ static void dissect_fc_sbccs (tvbuff_t *tvb, packet_info *pinfo, } else if ((type == FC_SBCCS_IU_CMD_HDR) || (type != FC_SBCCS_IU_CMD_DATA)) { - conversation = conversation_new (&pinfo->src, &pinfo->dst, + conversation = conversation_new (pinfo->fd->num, &pinfo->src, &pinfo->dst, PT_SBCCS, ch_cu_id, dev_addr, 0); task_key.conv_id = conversation->index; task_key.task_id = ccw; diff --git a/epan/dissectors/packet-fcswils.c b/epan/dissectors/packet-fcswils.c index 61c02bf870..66027427d7 100644 --- a/epan/dissectors/packet-fcswils.c +++ b/epan/dissectors/packet-fcswils.c @@ -1476,11 +1476,11 @@ dissect_fcswils (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) /* Register conversation if this is not a response */ if ((opcode != FC_SWILS_SWACC) && (opcode != FC_SWILS_SWRJT)) { - conversation = find_conversation (&pinfo->src, &pinfo->dst, + conversation = find_conversation (pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->oxid, pinfo->rxid, NO_PORT2); if (!conversation) { - conversation = conversation_new (&pinfo->src, &pinfo->dst, + conversation = conversation_new (pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->oxid, pinfo->rxid, NO_PORT2); } @@ -1508,7 +1508,7 @@ dissect_fcswils (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) } else { /* Opcode is ACC or RJT */ - conversation = find_conversation (&pinfo->src, &pinfo->dst, + conversation = find_conversation (pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->oxid, pinfo->rxid, NO_PORT2); isreq = FC_SWILS_RPLY; diff --git a/epan/dissectors/packet-ftp.c b/epan/dissectors/packet-ftp.c index 1084e05720..a998940625 100644 --- a/epan/dissectors/packet-ftp.c +++ b/epan/dissectors/packet-ftp.c @@ -462,7 +462,7 @@ dissect_ftp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) * "ftp_ip_address" and "server_port", and * wildcard everything else? */ - conversation = find_conversation(&ftp_ip_address, + conversation = find_conversation(pinfo->fd->num, &ftp_ip_address, &pinfo->dst, PT_TCP, ftp_port, 0, NO_PORT_B); if (conversation == NULL) { @@ -489,7 +489,7 @@ dissect_ftp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) * and a new one was opened? */ conversation = conversation_new( - &ftp_ip_address, &pinfo->dst, + pinfo->fd->num, &ftp_ip_address, &pinfo->dst, PT_TCP, ftp_port, 0, NO_PORT2); conversation_set_dissector(conversation, ftpdata_handle); diff --git a/epan/dissectors/packet-gssapi.c b/epan/dissectors/packet-gssapi.c index e89eb78c30..5356ba024c 100644 --- a/epan/dissectors/packet-gssapi.c +++ b/epan/dissectors/packet-gssapi.c @@ -167,7 +167,7 @@ dissect_gssapi_work(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, * We need this later, so lets get it now ... */ - conversation = find_conversation(&pinfo->src, &pinfo->dst, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); @@ -334,7 +334,7 @@ dissect_gssapi_work(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, */ if (!conversation) { /* Create one */ - conversation = conversation_new(&pinfo->src, + conversation = conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, diff --git a/epan/dissectors/packet-h225.c b/epan/dissectors/packet-h225.c index bd09350bcc..ac79a8f94a 100644 --- a/epan/dissectors/packet-h225.c +++ b/epan/dissectors/packet-h225.c @@ -1,6 +1,6 @@ /* Do not modify this file. */ /* It is created automatically by the ASN.1 to Ethereal dissector compiler */ -/* ./packet-h225.c */ +/* .\packet-h225.c */ /* ../../tools/asn2eth.py -X -e -p h225 -c h225.cnf -s packet-h225-template h225.asn */ /* Input file: packet-h225-template.c */ @@ -171,7 +171,7 @@ static int hf_h225_serviceControl_item = -1; /* ServiceControlSession */ static int hf_h225_capacity = -1; /* CallCapacity */ static int hf_h225_featureSet = -1; /* FeatureSet */ static int hf_h225_conferenceID = -1; /* ConferenceIdentifier */ -static int hf_h225_language = -1; /* T_language */ +static int hf_h225_language = -1; /* Language */ static int hf_h225_language_item = -1; /* IA5String_SIZE_1_32 */ static int hf_h225_connectedAddress = -1; /* SEQUENCE_OF_AliasAddress */ static int hf_h225_connectedAddress_item = -1; /* AliasAddress */ @@ -234,7 +234,6 @@ static int hf_h225_connectionParameters = -1; /* T_connectionParameters */ static int hf_h225_connectionType = -1; /* ScnConnectionType */ static int hf_h225_numberOfScnConnections = -1; /* INTEGER_0_65535 */ static int hf_h225_connectionAggregation = -1; /* ScnConnectionAggregation */ -static int hf_h225_language1 = -1; /* T_language1 */ static int hf_h225_symmetricOperationRequired = -1; /* NULL */ static int hf_h225_desiredProtocols = -1; /* SEQUENCE_OF_SupportedProtocols */ static int hf_h225_desiredProtocols_item = -1; /* SupportedProtocols */ @@ -758,7 +757,6 @@ static int hf_h225_noControl = -1; /* NULL */ static int hf_h225_irrFrequency = -1; /* INTEGER_1_65535 */ static int hf_h225_destinationType = -1; /* EndpointType */ static int hf_h225_uuiesRequested = -1; /* UUIEsRequested */ -static int hf_h225_language2 = -1; /* T_language2 */ static int hf_h225_supportedProtocols = -1; /* SEQUENCE_OF_SupportedProtocols */ static int hf_h225_supportedProtocols_item = -1; /* SupportedProtocols */ static int hf_h225_modifiedSrcInfo = -1; /* SEQUENCE_OF_AliasAddress */ @@ -885,7 +883,7 @@ static gint ett_h225_SEQUENCE_OF_AliasAddress = -1; static gint ett_h225_SEQUENCE_OF_ServiceControlSession = -1; static gint ett_h225_CallProceeding_UUIE = -1; static gint ett_h225_Connect_UUIE = -1; -static gint ett_h225_T_language = -1; +static gint ett_h225_Language = -1; static gint ett_h225_Information_UUIE = -1; static gint ett_h225_ReleaseComplete_UUIE = -1; static gint ett_h225_ReleaseCompleteReason = -1; @@ -894,7 +892,6 @@ static gint ett_h225_SEQUENCE_OF_CallReferenceValue = -1; static gint ett_h225_T_conferenceGoal = -1; static gint ett_h225_SEQUENCE_OF_H245Security = -1; static gint ett_h225_T_connectionParameters = -1; -static gint ett_h225_T_language1 = -1; static gint ett_h225_SEQUENCE_OF_SupportedProtocols = -1; static gint ett_h225_SEQUENCE_OF_FeatureDescriptor = -1; static gint ett_h225_SEQUENCE_OF_ExtendedAliasAddress = -1; @@ -1059,7 +1056,6 @@ static gint ett_h225_CallType = -1; static gint ett_h225_CallModel = -1; static gint ett_h225_TransportQOS = -1; static gint ett_h225_AdmissionConfirm = -1; -static gint ett_h225_T_language2 = -1; static gint ett_h225_UUIEsRequested = -1; static gint ett_h225_AdmissionReject = -1; static gint ett_h225_AdmissionRejectReason = -1; @@ -2224,9 +2220,9 @@ dissect_h225_H245TransportAddress(tvbuff_t *tvb, int offset, packet_info *pinfo src_addr.len=4; src_addr.data=(const guint8 *)&ipv4_address; - conv=find_conversation(&src_addr, &src_addr, PT_TCP, ipv4_port, ipv4_port, NO_ADDR_B|NO_PORT_B); + conv=find_conversation(pinfo->fd->num, &src_addr, &src_addr, PT_TCP, ipv4_port, ipv4_port, NO_ADDR_B|NO_PORT_B); if(!conv){ - conv=conversation_new(&src_addr, &src_addr, PT_TCP, ipv4_port, ipv4_port, NO_ADDR2|NO_PORT2); + conv=conversation_new(pinfo->fd->num, &src_addr, &src_addr, PT_TCP, ipv4_port, ipv4_port, NO_ADDR2|NO_PORT2); conversation_set_dissector(conv, h245_handle); } } @@ -4389,14 +4385,14 @@ static int dissect_language_item(tvbuff_t *tvb, int offset, packet_info *pinfo, static int -dissect_h225_T_language1(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { +dissect_h225_Language(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { offset = dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_index, - ett_h225_T_language1, dissect_language_item); + ett_h225_Language, dissect_language_item); return offset; } -static int dissect_language1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { - return dissect_h225_T_language1(tvb, offset, pinfo, tree, hf_h225_language1); +static int dissect_language(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h225_Language(tvb, offset, pinfo, tree, hf_h225_language); } @@ -5319,7 +5315,7 @@ static const per_sequence_t Setup_UUIE_sequence[] = { { "multipleCalls" , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_multipleCalls }, { "maintainConnection" , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_maintainConnection }, { "connectionParameters" , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_connectionParameters }, - { "language" , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_language1 }, + { "language" , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_language }, { "presentationIndicator" , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_presentationIndicator }, { "screeningIndicator" , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_screeningIndicator }, { "serviceControl" , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_serviceControl }, @@ -5406,18 +5402,6 @@ static int dissect_callProceeding(tvbuff_t *tvb, int offset, packet_info *pinfo, return dissect_h225_CallProceeding_UUIE(tvb, offset, pinfo, tree, hf_h225_callProceeding); } - -static int -dissect_h225_T_language(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { - offset = dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_index, - ett_h225_T_language, dissect_language_item); - - return offset; -} -static int dissect_language(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { - return dissect_h225_T_language(tvb, offset, pinfo, tree, hf_h225_language); -} - static const per_sequence_t Connect_UUIE_sequence[] = { { "protocolIdentifier" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_protocolIdentifier }, { "h245Address" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245Address }, @@ -7704,18 +7688,6 @@ static int dissect_uuiesRequested(tvbuff_t *tvb, int offset, packet_info *pinfo, return dissect_h225_UUIEsRequested(tvb, offset, pinfo, tree, hf_h225_uuiesRequested); } - -static int -dissect_h225_T_language2(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { - offset = dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_index, - ett_h225_T_language2, dissect_language_item); - - return offset; -} -static int dissect_language2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { - return dissect_h225_T_language2(tvb, offset, pinfo, tree, hf_h225_language2); -} - static const per_sequence_t AdmissionConfirm_sequence[] = { { "requestSeqNum" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_requestSeqNum }, { "bandWidth" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_bandWidth }, @@ -7734,7 +7706,7 @@ static const per_sequence_t AdmissionConfirm_sequence[] = { { "transportQOS" , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_transportQOS }, { "willRespondToIRR" , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_willRespondToIRR }, { "uuiesRequested" , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_uuiesRequested }, - { "language" , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_language2 }, + { "language" , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_language }, { "alternateTransportAddresses" , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_alternateTransportAddresses }, { "useSpecifiedTransport" , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_useSpecifiedTransport }, { "circuitInfo" , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_circuitInfo }, @@ -9240,7 +9212,7 @@ void proto_register_h225(void) { { &hf_h225_language, { "language", "h225.language", FT_NONE, BASE_NONE, NULL, 0, - "Connect-UUIE/language", HFILL }}, + "", HFILL }}, { &hf_h225_language_item, { "Item", "h225.language_item", FT_STRING, BASE_NONE, NULL, 0, @@ -9489,10 +9461,6 @@ void proto_register_h225(void) { { "connectionAggregation", "h225.connectionAggregation", FT_UINT32, BASE_DEC, VALS(h225_ScnConnectionAggregation_vals), 0, "Setup-UUIE/connectionParameters/connectionAggregation", HFILL }}, - { &hf_h225_language1, - { "language", "h225.language", - FT_NONE, BASE_NONE, NULL, 0, - "Setup-UUIE/language", HFILL }}, { &hf_h225_symmetricOperationRequired, { "symmetricOperationRequired", "h225.symmetricOperationRequired", FT_NONE, BASE_NONE, NULL, 0, @@ -11585,10 +11553,6 @@ void proto_register_h225(void) { { "uuiesRequested", "h225.uuiesRequested", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, - { &hf_h225_language2, - { "language", "h225.language", - FT_NONE, BASE_NONE, NULL, 0, - "AdmissionConfirm/language", HFILL }}, { &hf_h225_supportedProtocols, { "supportedProtocols", "h225.supportedProtocols", FT_NONE, BASE_NONE, NULL, 0, @@ -12014,7 +11978,7 @@ void proto_register_h225(void) { &ett_h225_SEQUENCE_OF_ServiceControlSession, &ett_h225_CallProceeding_UUIE, &ett_h225_Connect_UUIE, - &ett_h225_T_language, + &ett_h225_Language, &ett_h225_Information_UUIE, &ett_h225_ReleaseComplete_UUIE, &ett_h225_ReleaseCompleteReason, @@ -12023,7 +11987,6 @@ void proto_register_h225(void) { &ett_h225_T_conferenceGoal, &ett_h225_SEQUENCE_OF_H245Security, &ett_h225_T_connectionParameters, - &ett_h225_T_language1, &ett_h225_SEQUENCE_OF_SupportedProtocols, &ett_h225_SEQUENCE_OF_FeatureDescriptor, &ett_h225_SEQUENCE_OF_ExtendedAliasAddress, @@ -12188,7 +12151,6 @@ void proto_register_h225(void) { &ett_h225_CallModel, &ett_h225_TransportQOS, &ett_h225_AdmissionConfirm, - &ett_h225_T_language2, &ett_h225_UUIEsRequested, &ett_h225_AdmissionReject, &ett_h225_AdmissionRejectReason, @@ -12344,13 +12306,13 @@ static void ras_call_matching(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tre msg_category = pi->msg_tag / 3; if(pi->msg_tag % 3 == 0) { /* Request Message */ - conversation = find_conversation(&pinfo->src, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); if (conversation == NULL) { /* It's not part of any conversation - create a new one. */ - conversation = conversation_new(&pinfo->src, + conversation = conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); @@ -12417,7 +12379,7 @@ static void ras_call_matching(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tre /* end of request message handling*/ } else { /* Confirm or Reject Message */ - conversation = find_conversation(&pinfo->src, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); if (conversation != NULL) { diff --git a/epan/dissectors/packet-h225.h b/epan/dissectors/packet-h225.h index 68855914bc..4315ced88a 100644 --- a/epan/dissectors/packet-h225.h +++ b/epan/dissectors/packet-h225.h @@ -1,6 +1,6 @@ /* Do not modify this file. */ /* It is created automatically by the ASN.1 to Ethereal dissector compiler */ -/* ./packet-h225.h */ +/* .\packet-h225.h */ /* ../../tools/asn2eth.py -X -e -p h225 -c h225.cnf -s packet-h225-template h225.asn */ /* Input file: packet-h225-template.h */ diff --git a/epan/dissectors/packet-ipx.c b/epan/dissectors/packet-ipx.c index db3fabeec5..0a80d146d8 100644 --- a/epan/dissectors/packet-ipx.c +++ b/epan/dissectors/packet-ipx.c @@ -716,7 +716,7 @@ dissect_spx(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) * Not a system packet - check for retransmissions. */ if (!pinfo->fd->flags.visited) { - conversation = find_conversation(&pinfo->src, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, PT_NCP, pinfo->srcport, pinfo->srcport, 0); if (conversation == NULL) { @@ -724,7 +724,7 @@ dissect_spx(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) * It's not part of any conversation - create * a new one. */ - conversation = conversation_new(&pinfo->src, + conversation = conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst, PT_NCP, pinfo->srcport, pinfo->srcport, 0); } diff --git a/epan/dissectors/packet-iscsi.c b/epan/dissectors/packet-iscsi.c index 6831c2803c..0a5b47214c 100644 --- a/epan/dissectors/packet-iscsi.c +++ b/epan/dissectors/packet-iscsi.c @@ -1794,11 +1794,11 @@ dissect_iscsi(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gboolean chec } /* make sure we have a conversation for this session */ - conversation = find_conversation (&pinfo->src, &pinfo->dst, + conversation = find_conversation (pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); if (!conversation) { - conversation = conversation_new (&pinfo->src, &pinfo->dst, + conversation = conversation_new (pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); iscsi_session=g_mem_chunk_alloc(iscsi_sessions); diff --git a/epan/dissectors/packet-isns.c b/epan/dissectors/packet-isns.c index e8a38af721..fc41e4f75f 100644 --- a/epan/dissectors/packet-isns.c +++ b/epan/dissectors/packet-isns.c @@ -942,19 +942,19 @@ dissect_isns_attr_port(tvbuff_t *tvb, guint offset, proto_tree *parent_tree, int if ((port_type == ISNS_ESI_PORT) || (port_type == ISNS_SCN_PORT)) { if (isudp) { - conversation = find_conversation (&pinfo->src, &pinfo->dst, PT_UDP, + conversation = find_conversation (pinfo->fd->num, &pinfo->src, &pinfo->dst, PT_UDP, port, 0, NO_PORT_B); if (conversation == NULL) { - conversation = conversation_new (&pinfo->src, &pinfo->dst, + conversation = conversation_new (pinfo->fd->num, &pinfo->src, &pinfo->dst, PT_UDP, port, 0, NO_PORT2_FORCE); conversation_set_dissector (conversation, isns_udp_handle); } } else { - conversation = find_conversation (&pinfo->src, &pinfo->dst, PT_TCP, + conversation = find_conversation (pinfo->fd->num, &pinfo->src, &pinfo->dst, PT_TCP, port, 0, NO_PORT_B); if (conversation == NULL) { - conversation = conversation_new (&pinfo->src, &pinfo->dst, + conversation = conversation_new (pinfo->fd->num, &pinfo->src, &pinfo->dst, PT_TCP, port, 0, NO_PORT2_FORCE); conversation_set_dissector (conversation, isns_tcp_handle); } diff --git a/epan/dissectors/packet-kerberos.c b/epan/dissectors/packet-kerberos.c index ecd2de7678..afa3dfe7d4 100644 --- a/epan/dissectors/packet-kerberos.c +++ b/epan/dissectors/packet-kerberos.c @@ -3044,10 +3044,10 @@ dissect_krb5_KDC_REQ_BODY(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, i * http://www.ietf.org/internet-drafts/draft-ietf-krb-wg-kerberos-clarifications-07.txt */ if (pinfo->destport == UDP_PORT_KERBEROS && pinfo->ptype == PT_UDP) { - conversation = find_conversation(&pinfo->src, &pinfo->dst, PT_UDP, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, PT_UDP, pinfo->srcport, 0, NO_PORT_B); if (conversation == NULL) { - conversation = conversation_new(&pinfo->src, &pinfo->dst, PT_UDP, + conversation = conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst, PT_UDP, pinfo->srcport, 0, NO_PORT2); conversation_set_dissector(conversation, kerberos_handle_udp); } diff --git a/epan/dissectors/packet-ldap.c b/epan/dissectors/packet-ldap.c index c712a998fc..19eb208d18 100644 --- a/epan/dissectors/packet-ldap.c +++ b/epan/dissectors/packet-ldap.c @@ -2374,12 +2374,12 @@ dissect_ldap_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gboolean i /* * Do we have a conversation for this connection? */ - conversation = find_conversation(&pinfo->src, &pinfo->dst, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); if (conversation == NULL) { /* We don't yet have a conversation, so create one. */ - conversation = conversation_new(&pinfo->src, &pinfo->dst, + conversation = conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); } diff --git a/epan/dissectors/packet-mq.c b/epan/dissectors/packet-mq.c index 5571c52032..fdea9d0121 100644 --- a/epan/dissectors/packet-mq.c +++ b/epan/dissectors/packet-mq.c @@ -2433,10 +2433,10 @@ dissect_mq_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gint iProto { /* Register this dissector for this conversation */ conversation_t *conversation = NULL; - conversation = find_conversation(&pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); if (conversation == NULL) { - conversation = conversation_new(&pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); + conversation = conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); } if (iProto == MQ_XPT_TCP) conversation_set_dissector(conversation, mq_tcp_handle); diff --git a/epan/dissectors/packet-msproxy.c b/epan/dissectors/packet-msproxy.c index ee8585af4f..c69edf9e68 100644 --- a/epan/dissectors/packet-msproxy.c +++ b/epan/dissectors/packet-msproxy.c @@ -203,7 +203,7 @@ static void msproxy_sub_dissector( tvbuff_t *tvb, packet_info *pinfo, proto_tree *msp_tree; proto_item *ti; - conversation = find_conversation( &pinfo->src, &pinfo->dst, + conversation = find_conversation( pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); g_assert( conversation); /* should always find a conversation */ @@ -279,12 +279,12 @@ static void add_msproxy_conversation( packet_info *pinfo, return; } - conversation = find_conversation( &pinfo->src, + conversation = find_conversation( pinfo->fd->num, &pinfo->src, &pinfo->dst, hash_info->proto, hash_info->server_int_port, hash_info->clnt_port, 0); if ( !conversation) { - conversation = conversation_new( &pinfo->src, &pinfo->dst, + conversation = conversation_new( pinfo->fd->num, &pinfo->src, &pinfo->dst, hash_info->proto, hash_info->server_int_port, hash_info->clnt_port, 0); } @@ -1099,11 +1099,11 @@ static void dissect_msproxy(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) if (check_col(pinfo->cinfo, COL_INFO)) col_clear(pinfo->cinfo, COL_INFO); - conversation = find_conversation( &pinfo->src, &pinfo->dst, + conversation = find_conversation( pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); if ( !conversation) { - conversation = conversation_new( &pinfo->src, &pinfo->dst, + conversation = conversation_new( pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); } hash_info = conversation_get_proto_data(conversation, proto_msproxy); diff --git a/epan/dissectors/packet-mysql.c b/epan/dissectors/packet-mysql.c index b148dd24af..73f45389bf 100644 --- a/epan/dissectors/packet-mysql.c +++ b/epan/dissectors/packet-mysql.c @@ -251,12 +251,12 @@ dissect_mysql_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) gboolean is_response; - conversation = find_conversation(&pinfo->src, &pinfo->dst, pinfo->ptype, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); if (!conversation) { /* create a new conversation */ - conversation = conversation_new(&pinfo->src, &pinfo->dst, pinfo->ptype, + conversation = conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); } diff --git a/epan/dissectors/packet-ncp.c b/epan/dissectors/packet-ncp.c index 0bf817fe49..e3d453b9fd 100644 --- a/epan/dissectors/packet-ncp.c +++ b/epan/dissectors/packet-ncp.c @@ -355,7 +355,7 @@ dissect_ncp_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, * packets we will be able to determine if we need * to also dissect with a signature. */ - conversation = find_conversation(&pinfo->src, &pinfo->dst, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, PT_NCP, (guint32) pinfo->srcport, (guint32) pinfo->destport, 0); if ((ncpiph.length & 0x80000000) || @@ -382,7 +382,7 @@ dissect_ncp_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, /* It's not part of any conversation * - create a new one. */ - conversation = conversation_new(&pinfo->src, + conversation = conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst, PT_NCP, (guint32) pinfo->srcport, (guint32) pinfo->destport, 0); @@ -443,7 +443,7 @@ dissect_ncp_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, /* It's not part of any conversation * - create a new one. */ - conversation = conversation_new(&pinfo->src, + conversation = conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst, PT_NCP, (guint32) pinfo->srcport, (guint32) pinfo->destport, 0); diff --git a/epan/dissectors/packet-ncp2222.inc b/epan/dissectors/packet-ncp2222.inc index dc85c8f57a..f2373dbfd4 100644 --- a/epan/dissectors/packet-ncp2222.inc +++ b/epan/dissectors/packet-ncp2222.inc @@ -4129,7 +4129,7 @@ nds_defrag(tvbuff_t *tvb, packet_info *pinfo, guint16 nw_connection, guint8 sequ /* Has this already been dissected? */ if (!pinfo->fd->flags.visited) { /* Find the conversation whence the request would have come. */ - conversation = find_conversation(&pinfo->src, &pinfo->dst, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, PT_NCP, nw_connection, nw_connection, 0); if (conversation != NULL) { /* find the record telling us the request made that caused @@ -4438,12 +4438,12 @@ dissect_ncp_request(tvbuff_t *tvb, packet_info *pinfo, to have all packets over the same connection treated as being part of a single conversation so that we can let the user select that conversation to be displayed.) */ - conversation = find_conversation(&pinfo->src, &pinfo->dst, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, PT_NCP, nw_connection, nw_connection, 0); if (conversation == NULL) { /* It's not part of any conversation - create a new one. */ - conversation = conversation_new(&pinfo->src, &pinfo->dst, + conversation = conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst, PT_NCP, nw_connection, nw_connection, 0); } request_value = ncp_hash_insert(conversation, sequence, ncp_rec); @@ -4596,7 +4596,7 @@ dissect_ncp_request(tvbuff_t *tvb, packet_info *pinfo, if (!request_value) { - conversation = find_conversation(&pinfo->src, &pinfo->dst, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, PT_NCP, nw_connection, nw_connection, 0); if (conversation != NULL) { /* find the record telling us the request made that caused @@ -4736,7 +4736,7 @@ dissect_ncp_reply(tvbuff_t *tvb, packet_info *pinfo, if (!pinfo->fd->flags.visited) { /* Find the conversation whence the request would have come. */ - conversation = find_conversation(&pinfo->src, &pinfo->dst, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, PT_NCP, nw_connection, nw_connection, 0); if (conversation != NULL) { /* find the record telling us the request made that caused @@ -8198,11 +8198,11 @@ dissect_nds_request(tvbuff_t *tvb, packet_info *pinfo, as being part of a single conversation so that we can let the user select that conversation to be displayed.) */ - conversation = find_conversation(&pinfo->src, &pinfo->dst, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, PT_NCP, nw_connection, nw_connection, 0); if (conversation == NULL) { /* It's not part of any conversation - create a new one. */ - conversation = conversation_new(&pinfo->src, &pinfo->dst, + conversation = conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst, PT_NCP, nw_connection, nw_connection, 0); } @@ -8471,13 +8471,13 @@ dissect_ping_req(tvbuff_t *tvb, packet_info *pinfo, as being part of a single conversation so that we can let the user select that conversation to be displayed.) */ - conversation = find_conversation(&pinfo->src, &pinfo->dst, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, PT_NCP, nw_connection, nw_connection, 0); if (conversation == NULL) { /* It's not part of any conversation - create a new one. */ - conversation = conversation_new(&pinfo->src, &pinfo->dst, + conversation = conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst, PT_NCP, nw_connection, nw_connection, 0); } diff --git a/epan/dissectors/packet-ndmp.c b/epan/dissectors/packet-ndmp.c index 7e80d2a314..535b9d11ec 100644 --- a/epan/dissectors/packet-ndmp.c +++ b/epan/dissectors/packet-ndmp.c @@ -1166,10 +1166,10 @@ dissect_execute_cdb_request(tvbuff_t *tvb, int offset, packet_info *pinfo, * sequence number in requests and the reply sequence * number in replies to identify SCSI tasks. */ - conversation = find_conversation(&pinfo->src, &pinfo->dst, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); if (conversation == NULL) { - conversation = conversation_new(&pinfo->src, &pinfo->dst, + conversation = conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); } task_key.conv_id = conversation->index; @@ -1255,7 +1255,7 @@ dissect_execute_cdb_reply(tvbuff_t *tvb, int offset, packet_info *pinfo, * sequence number in requests and the reply sequence * number in replies to identify SCSI tasks. */ - conversation = find_conversation(&pinfo->src, &pinfo->dst, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); if (conversation != NULL) { task_key.conv_id = conversation->index; diff --git a/epan/dissectors/packet-ndps.c b/epan/dissectors/packet-ndps.c index 67a21fe96c..a35961ebbf 100644 --- a/epan/dissectors/packet-ndps.c +++ b/epan/dissectors/packet-ndps.c @@ -3818,13 +3818,13 @@ ndps_defrag(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) if (!pinfo->fd->flags.visited) { /* Lets see if this is a new conversation */ - conversation = find_conversation(&pinfo->src, &pinfo->dst, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, PT_NCP, (guint32) pinfo->srcport, (guint32) pinfo->srcport, 0); if (conversation == NULL) { /* It's not part of any conversation - create a new one. */ - conversation = conversation_new(&pinfo->src, &pinfo->dst, + conversation = conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst, PT_NCP, (guint32) pinfo->srcport, (guint32) pinfo->srcport, 0); /* Create new request value hash */ request_value = ndps_hash_insert(conversation, (guint32) pinfo->srcport); @@ -4015,13 +4015,13 @@ dissect_ndps_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *ndps_tree, g as being part of a single conversation so that we can let the user select that conversation to be displayed.) */ - conversation = find_conversation(&pinfo->src, &pinfo->dst, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, PT_NCP, (guint32) pinfo->srcport, (guint32) pinfo->srcport, 0); if (conversation == NULL) { /* It's not part of any conversation - create a new one. */ - conversation = conversation_new(&pinfo->src, &pinfo->dst, + conversation = conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst, PT_NCP, (guint32) pinfo->srcport, (guint32) pinfo->srcport, 0); } @@ -6247,7 +6247,7 @@ dissect_ndps_reply(tvbuff_t *tvb, packet_info *pinfo, proto_tree *ndps_tree, int if (!pinfo->fd->flags.visited) { /* Find the conversation whence the request would have come. */ - conversation = find_conversation(&pinfo->src, &pinfo->dst, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, PT_NCP, (guint32) pinfo->destport, (guint32) pinfo->destport, 0); if (conversation != NULL) { /* find the record telling us the request made that caused diff --git a/epan/dissectors/packet-ntlmssp.c b/epan/dissectors/packet-ntlmssp.c index 0dedbb50df..1b5790c412 100644 --- a/epan/dissectors/packet-ntlmssp.c +++ b/epan/dissectors/packet-ntlmssp.c @@ -926,11 +926,11 @@ dissect_ntlmssp_challenge (tvbuff_t *tvb, packet_info *pinfo, int offset, * Store the flags and the RC4 state information with the conversation, * as they're needed in order to dissect subsequent messages. */ - conversation = find_conversation(&pinfo->src, &pinfo->dst, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); if (!conversation) { /* Create one */ - conversation = conversation_new(&pinfo->src, &pinfo->dst, pinfo->ptype, + conversation = conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); } @@ -1019,7 +1019,7 @@ dissect_ntlmssp_auth (tvbuff_t *tvb, packet_info *pinfo, int offset, * it means this is the first time we've dissected this frame, so * we should give it flag info. */ - conversation = find_conversation(&pinfo->src, &pinfo->dst, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); if (conversation != NULL) { @@ -1203,7 +1203,7 @@ get_encrypted_state(packet_info *pinfo, int cryptpeer) conversation_t *conversation; ntlmssp_info *conv_ntlmssp_info; - conversation = find_conversation(&pinfo->src, &pinfo->dst, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); if (conversation == NULL) { @@ -1258,7 +1258,7 @@ decrypt_verifier(tvbuff_t *tvb, int offset, guint32 encrypted_block_length, return; } if (!packet_ntlmssp_info->verifier_decrypted) { - conversation = find_conversation(&pinfo->src, &pinfo->dst, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); if (conversation == NULL) { @@ -1437,7 +1437,7 @@ dissect_ntlmssp_encrypted_payload(tvbuff_t *tvb, int offset, if (!packet_ntlmssp_info->payload_decrypted) { /* Pull the challenge info from the conversation */ - conversation = find_conversation(&pinfo->src, &pinfo->dst, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); if (conversation == NULL) { diff --git a/epan/dissectors/packet-pgsql.c b/epan/dissectors/packet-pgsql.c index 3dc31d7518..ee3727e291 100644 --- a/epan/dissectors/packet-pgsql.c +++ b/epan/dissectors/packet-pgsql.c @@ -321,10 +321,10 @@ dissect_pgsql(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) first_message = TRUE; /* We don't use conversation data yet, but... */ - cv = find_conversation(&pinfo->src, &pinfo->dst, pinfo->ptype, + cv = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); if (!cv) { - cv = conversation_new(&pinfo->src, &pinfo->dst, pinfo->ptype, + cv = conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); } diff --git a/epan/dissectors/packet-portmap.c b/epan/dissectors/packet-portmap.c index 4834a5842b..487296497e 100644 --- a/epan/dissectors/packet-portmap.c +++ b/epan/dissectors/packet-portmap.c @@ -123,9 +123,9 @@ dissect_getport_reply(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, port=tvb_get_ntohl(tvb, offset); if(port){ conversation_t *conv; - conv=find_conversation(&pinfo->src, &pinfo->dst, (port_type)rpc_call->private_data, port, 0, NO_ADDR_B|NO_PORT_B); + conv=find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, (port_type)rpc_call->private_data, port, 0, NO_ADDR_B|NO_PORT_B); if(!conv){ - conv=conversation_new(&pinfo->src, &pinfo->dst, (port_type)rpc_call->private_data, port, 0, NO_ADDR2|NO_PORT2); + conv=conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst, (port_type)rpc_call->private_data, port, 0, NO_ADDR2|NO_PORT2); } conversation_set_dissector(conv, rpc_handle); } diff --git a/epan/dissectors/packet-quake.c b/epan/dissectors/packet-quake.c index f9a4723704..51fbb5751f 100644 --- a/epan/dissectors/packet-quake.c +++ b/epan/dissectors/packet-quake.c @@ -220,7 +220,7 @@ dissect_quake_CCREP_ACCEPT conversation_t *c; port = tvb_get_letohl(tvb, 0); - c = conversation_new( &pinfo->src, &pinfo->dst, PT_UDP, port, + c = conversation_new( pinfo->fd->num, &pinfo->src, &pinfo->dst, PT_UDP, port, pinfo->destport, 0); if (c) { conversation_set_dissector(c, quake_handle); diff --git a/epan/dissectors/packet-rlogin.c b/epan/dissectors/packet-rlogin.c index 29e44d29a2..1a460fd69c 100644 --- a/epan/dissectors/packet-rlogin.c +++ b/epan/dissectors/packet-rlogin.c @@ -338,11 +338,11 @@ dissect_rlogin(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) gint ti_offset; /* Lookup this connection*/ - conversation = find_conversation( &pinfo->src, &pinfo->dst, + conversation = find_conversation( pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); if ( !conversation) { - conversation = conversation_new( &pinfo->src, &pinfo->dst, + conversation = conversation_new( pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); } hash_info = conversation_get_proto_data(conversation, proto_rlogin); diff --git a/epan/dissectors/packet-rpc.c b/epan/dissectors/packet-rpc.c index 6ecda01d96..c6c56d0d50 100644 --- a/epan/dissectors/packet-rpc.c +++ b/epan/dissectors/packet-rpc.c @@ -1391,7 +1391,7 @@ dissect_rpc_indir_call(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, NFS client *cough) might send retransmissions from a different port from the original request. */ if (pinfo->ptype == PT_TCP) { - conversation = find_conversation(&pinfo->src, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); } else { @@ -1400,7 +1400,7 @@ dissect_rpc_indir_call(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, * pointer for the second address argument even * if you use NO_ADDR_B. */ - conversation = find_conversation(&pinfo->src, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &null_address, pinfo->ptype, pinfo->destport, 0, NO_ADDR_B|NO_PORT_B); } @@ -1412,11 +1412,11 @@ dissect_rpc_indir_call(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, created a conversation for it in the RPC dissector. */ if (pinfo->ptype == PT_TCP) { - conversation = conversation_new(&pinfo->src, + conversation = conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); } else { - conversation = conversation_new(&pinfo->src, + conversation = conversation_new(pinfo->fd->num, &pinfo->src, &null_address, pinfo->ptype, pinfo->destport, 0, NO_ADDR2|NO_PORT2); } @@ -1528,7 +1528,7 @@ dissect_rpc_indir_reply(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, NFS client *cough) might send retransmissions from a different port from the original request. */ if (pinfo->ptype == PT_TCP) { - conversation = find_conversation(&pinfo->src, &pinfo->dst, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); } else { /* @@ -1536,7 +1536,7 @@ dissect_rpc_indir_reply(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, * pointer for the second address argument even * if you use NO_ADDR_B. */ - conversation = find_conversation(&pinfo->dst, &null_address, + conversation = find_conversation(pinfo->fd->num, &pinfo->dst, &null_address, pinfo->ptype, pinfo->srcport, 0, NO_ADDR_B|NO_PORT_B); } if (conversation == NULL) { @@ -1804,7 +1804,7 @@ dissect_rpc_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, NFS client *cough) might send retransmissions from a different port from the original request. */ if (pinfo->ptype == PT_TCP) { - conversation = find_conversation(&pinfo->src, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); } else { @@ -1813,7 +1813,7 @@ dissect_rpc_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, * pointer for the second address argument even * if you use NO_ADDR_B. */ - conversation = find_conversation(&pinfo->dst, + conversation = find_conversation(pinfo->fd->num, &pinfo->dst, &null_address, pinfo->ptype, pinfo->srcport, 0, NO_ADDR_B|NO_PORT_B); } @@ -2039,7 +2039,7 @@ dissect_rpc_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, NFS client *cough) might send retransmissions from a different port from the original request. */ if (pinfo->ptype == PT_TCP) { - conversation = find_conversation(&pinfo->src, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); } else { @@ -2048,7 +2048,7 @@ dissect_rpc_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, * pointer for the second address argument even * if you use NO_ADDR_B. */ - conversation = find_conversation(&pinfo->src, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &null_address, pinfo->ptype, pinfo->destport, 0, NO_ADDR_B|NO_PORT_B); } @@ -2056,11 +2056,11 @@ dissect_rpc_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, /* It's not part of any conversation - create a new one. */ if (pinfo->ptype == PT_TCP) { - conversation = conversation_new(&pinfo->src, + conversation = conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); } else { - conversation = conversation_new(&pinfo->src, + conversation = conversation_new(pinfo->fd->num, &pinfo->src, &null_address, pinfo->ptype, pinfo->destport, 0, NO_ADDR2|NO_PORT2); } @@ -2920,13 +2920,13 @@ dissect_rpc_fragment(tvbuff_t *tvb, int offset, packet_info *pinfo, * one, create it. We know this is running over TCP, so the * conversation should not wildcard either address or port. */ - conversation = find_conversation(&pinfo->src, &pinfo->dst, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); if (conversation == NULL) { /* * It's not part of any conversation - create a new one. */ - conversation = conversation_new(&pinfo->src, &pinfo->dst, + conversation = conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); } old_rfk.conv_id = conversation->index; diff --git a/epan/dissectors/packet-rsync.c b/epan/dissectors/packet-rsync.c index 3fe9210cc7..96b81c2874 100644 --- a/epan/dissectors/packet-rsync.c +++ b/epan/dissectors/packet-rsync.c @@ -106,10 +106,10 @@ dissect_rsync_encap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, if (check_col(pinfo->cinfo, COL_INFO)) col_clear(pinfo->cinfo, COL_INFO); - conversation = find_conversation(&pinfo->src, &pinfo->dst, pinfo->ptype, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); if (conversation == NULL) { - conversation = conversation_new(&pinfo->src, &pinfo->dst, + conversation = conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); } diff --git a/epan/dissectors/packet-rtcp.c b/epan/dissectors/packet-rtcp.c index 963423f3af..5cc05ce40d 100644 --- a/epan/dissectors/packet-rtcp.c +++ b/epan/dissectors/packet-rtcp.c @@ -284,14 +284,14 @@ void rtcp_add_address( packet_info *pinfo, * Check if the ip address and port combination is not * already registered as a conversation. */ - p_conv = find_conversation( addr, &null_addr, PT_UDP, port, other_port, + p_conv = find_conversation( pinfo->fd->num, addr, &null_addr, PT_UDP, port, other_port, NO_ADDR_B | (!other_port ? NO_PORT_B : 0)); /* * If not, create a new conversation. */ if ( ! p_conv ) { - p_conv = conversation_new( addr, &null_addr, PT_UDP, + p_conv = conversation_new( pinfo->fd->num, addr, &null_addr, PT_UDP, (guint32)port, (guint32)other_port, NO_ADDR2 | (!other_port ? NO_PORT2 : 0)); } @@ -867,7 +867,7 @@ void show_setup_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) if (!p_conv_data) { /* First time, get info from conversation */ - p_conv = find_conversation(&pinfo->net_dst, &pinfo->net_src, + p_conv = find_conversation(pinfo->fd->num, &pinfo->net_dst, &pinfo->net_src, pinfo->ptype, pinfo->destport, pinfo->srcport, NO_ADDR_B); @@ -950,14 +950,14 @@ static void remember_outgoing_sr(packet_info *pinfo, long lsr) /* First time, get info from conversation. Even though we think of this as an outgoing packet being sent, we store the time as being received by the destination. */ - p_conv = find_conversation(&pinfo->net_dst, &pinfo->net_src, + p_conv = find_conversation(pinfo->fd->num, &pinfo->net_dst, &pinfo->net_src, pinfo->ptype, pinfo->destport, pinfo->srcport, NO_ADDR_B); /* If the conversation doesn't exist, create it now. */ if (!p_conv) { - p_conv = conversation_new(&pinfo->net_dst, &pinfo->net_src, PT_UDP, + p_conv = conversation_new(pinfo->fd->num, &pinfo->net_dst, &pinfo->net_src, PT_UDP, pinfo->destport, pinfo->srcport, NO_ADDR2); if (!p_conv) @@ -1056,7 +1056,7 @@ static void calculate_roundtrip_delay(tvbuff_t *tvb, packet_info *pinfo, /********************************************************************/ /* Look for captured timestamp of last SR in conversation of sender */ /* of this packet */ - p_conv = find_conversation(&pinfo->net_src, &pinfo->net_dst, + p_conv = find_conversation(pinfo->fd->num, &pinfo->net_src, &pinfo->net_dst, pinfo->ptype, pinfo->srcport, pinfo->destport, NO_ADDR_B); if (!p_conv) diff --git a/epan/dissectors/packet-rtp.c b/epan/dissectors/packet-rtp.c index 3d12e5ca35..c53b09bc36 100644 --- a/epan/dissectors/packet-rtp.c +++ b/epan/dissectors/packet-rtp.c @@ -248,14 +248,14 @@ void rtp_add_address(packet_info *pinfo, * Check if the ip address and port combination is not * already registered as a conversation. */ - p_conv = find_conversation( addr, &null_addr, PT_UDP, port, other_port, + p_conv = find_conversation( setup_frame_number, addr, &null_addr, PT_UDP, port, other_port, NO_ADDR_B | (!other_port ? NO_PORT_B : 0)); /* * If not, create a new conversation. */ - if ( ! p_conv ) { - p_conv = conversation_new( addr, &null_addr, PT_UDP, + if ( !p_conv || p_conv->setup_frame != setup_frame_number) { + p_conv = conversation_new( setup_frame_number, addr, &null_addr, PT_UDP, (guint32)port, (guint32)other_port, NO_ADDR2 | (!other_port ? NO_PORT2 : 0)); } @@ -665,7 +665,7 @@ void show_setup_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) if (!p_conv_data) { /* First time, get info from conversation */ - p_conv = find_conversation(&pinfo->net_dst, &pinfo->net_src, + p_conv = find_conversation(pinfo->fd->num, &pinfo->net_dst, &pinfo->net_src, pinfo->ptype, pinfo->destport, pinfo->srcport, NO_ADDR_B); if (p_conv) diff --git a/epan/dissectors/packet-rtsp.c b/epan/dissectors/packet-rtsp.c index a6181762b0..78b7d38e0a 100644 --- a/epan/dissectors/packet-rtsp.c +++ b/epan/dissectors/packet-rtsp.c @@ -233,7 +233,7 @@ dissect_rtspinterleaved(tvbuff_t *tvb, int offset, packet_info *pinfo, length_remaining = rf_len; next_tvb = tvb_new_subset(tvb, offset, length_remaining, rf_len); - conv = find_conversation(&pinfo->src, &pinfo->dst, pinfo->ptype, + conv = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); if (conv && @@ -410,10 +410,10 @@ rtsp_create_conversation(packet_info *pinfo, const guchar *line_begin, pinfo->fd->num); return; } - conv = find_conversation(&pinfo->src, &pinfo->dst, pinfo->ptype, + conv = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); if (!conv) { - conv = conversation_new(&pinfo->src, &pinfo->dst, + conv = conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); } diff --git a/epan/dissectors/packet-sdp.c b/epan/dissectors/packet-sdp.c index 9afa2e6af5..904db94c2e 100644 --- a/epan/dissectors/packet-sdp.c +++ b/epan/dissectors/packet-sdp.c @@ -214,7 +214,8 @@ dissect_sdp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) guint32 port=0; gboolean is_rtp=FALSE; - gboolean is_t38=FALSE; + gboolean is_t38=FALSE; + gboolean set_rtp=FALSE; gboolean is_ipv4_addr=FALSE; gboolean is_ipv6_addr=FALSE; guint32 ipaddr[4]; @@ -410,12 +411,13 @@ dissect_sdp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) } } } - /* Add rtp and rtcp conversation, if available */ + /* Add rtp and rtcp conversation, if available (overrides t38 if conversation already set) */ if((!pinfo->fd->flags.visited) && port!=0 && is_rtp && (is_ipv4_addr || is_ipv6_addr)){ src_addr.data=(char *)&ipaddr; if(rtp_handle){ rtp_add_address(pinfo, &src_addr, port, 0, "SDP", pinfo->fd->num); + set_rtp = TRUE; } if(rtcp_handle){ port++; @@ -424,8 +426,8 @@ dissect_sdp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) } } - /* Add t38 conversation, if available */ - if((!pinfo->fd->flags.visited) && port!=0 && is_t38 && is_ipv4_addr){ + /* Add t38 conversation, if available and only if no rtp */ + if((!pinfo->fd->flags.visited) && port!=0 && !set_rtp && is_t38 && is_ipv4_addr){ src_addr.data=(char *)&ipaddr; if(t38_handle){ t38_add_address(pinfo, &src_addr, port, 0, "SDP", pinfo->fd->num); diff --git a/epan/dissectors/packet-smb.c b/epan/dissectors/packet-smb.c index 2f77659a17..a9e60e1d49 100644 --- a/epan/dissectors/packet-smb.c +++ b/epan/dissectors/packet-smb.c @@ -14594,11 +14594,11 @@ dissect_smb(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree) /* find which conversation we are part of and get the tables for that conversation*/ - conversation = find_conversation(&pinfo->src, &pinfo->dst, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); if(!conversation){ /* OK this is a new conversation so lets create it */ - conversation = conversation_new(&pinfo->src, &pinfo->dst, + conversation = conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); } /* see if we already have the smb data for this conversation */ diff --git a/epan/dissectors/packet-smtp.c b/epan/dissectors/packet-smtp.c index a2de5f0c9d..f3f5503d11 100644 --- a/epan/dissectors/packet-smtp.c +++ b/epan/dissectors/packet-smtp.c @@ -177,10 +177,10 @@ dissect_smtp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) if (!frame_data) { - conversation = find_conversation(&pinfo->src, &pinfo->dst, pinfo->ptype, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); if (conversation == NULL) { /* No conversation, create one */ - conversation = conversation_new(&pinfo->src, &pinfo->dst, pinfo->ptype, + conversation = conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); } diff --git a/epan/dissectors/packet-snmp.c b/epan/dissectors/packet-snmp.c index 09eeaa5559..e63a930abd 100644 --- a/epan/dissectors/packet-snmp.c +++ b/epan/dissectors/packet-snmp.c @@ -2324,10 +2324,10 @@ dissect_snmp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) * wildcarded, and give it the SNMP dissector as a dissector. */ if (pinfo->destport == UDP_PORT_SNMP) { - conversation = find_conversation(&pinfo->src, &pinfo->dst, PT_UDP, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, PT_UDP, pinfo->srcport, 0, NO_PORT_B); if (conversation == NULL) { - conversation = conversation_new(&pinfo->src, &pinfo->dst, PT_UDP, + conversation = conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst, PT_UDP, pinfo->srcport, 0, NO_PORT2); conversation_set_dissector(conversation, snmp_handle); } diff --git a/epan/dissectors/packet-socks.c b/epan/dissectors/packet-socks.c index e930d753a1..3d7e04ffe9 100644 --- a/epan/dissectors/packet-socks.c +++ b/epan/dissectors/packet-socks.c @@ -376,7 +376,7 @@ socks_udp_dissector(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { proto_tree *socks_tree; proto_item *ti; - conversation = find_conversation( &pinfo->src, &pinfo->dst, pinfo->ptype, + conversation = find_conversation( pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); g_assert( conversation); /* should always find a conversation */ @@ -435,7 +435,7 @@ socks_udp_dissector(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { static void new_udp_conversation( socks_hash_entry_t *hash_info, packet_info *pinfo){ - conversation_t *conversation = conversation_new( &pinfo->src, &pinfo->dst, PT_UDP, + conversation_t *conversation = conversation_new( pinfo->fd->num, &pinfo->src, &pinfo->dst, PT_UDP, hash_info->udp_port, hash_info->port, 0); g_assert( conversation); @@ -1000,11 +1000,11 @@ dissect_socks(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { return; } - conversation = find_conversation( &pinfo->src, &pinfo->dst, pinfo->ptype, + conversation = find_conversation( pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); if ( !conversation){ - conversation = conversation_new( &pinfo->src, &pinfo->dst, pinfo->ptype, + conversation = conversation_new( pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); } hash_info = conversation_get_proto_data(conversation,proto_socks); diff --git a/epan/dissectors/packet-spnego.c b/epan/dissectors/packet-spnego.c index 70eace5ff2..28255daa0c 100644 --- a/epan/dissectors/packet-spnego.c +++ b/epan/dissectors/packet-spnego.c @@ -1082,7 +1082,7 @@ dissect_spnego_supportedMech(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, * could override that. :-( */ - if ((conversation = find_conversation(&pinfo->src, &pinfo->dst, + if ((conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0))) { @@ -1294,7 +1294,7 @@ dissect_spnego(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) * If we have a conversation, try to get the handle, * and if we get one, attach it to the frame. */ - conversation = find_conversation(&pinfo->src, &pinfo->dst, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); @@ -1427,7 +1427,7 @@ dissect_spnego_wrap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) * If we have a conversation, try to get the handle, * and if we get one, attach it to the frame. */ - conversation = find_conversation(&pinfo->src, &pinfo->dst, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); diff --git a/epan/dissectors/packet-ssh.c b/epan/dissectors/packet-ssh.c index 682a6683b1..9de167baa0 100644 --- a/epan/dissectors/packet-ssh.c +++ b/epan/dissectors/packet-ssh.c @@ -227,12 +227,12 @@ dissect_ssh(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) is_newdata = FALSE; this_data = p_get_proto_data(pinfo->fd, proto_ssh); - conversation = find_conversation(&pinfo->src, &pinfo->dst, pinfo->ptype, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); if (!conversation) { /* create a new conversation */ - conversation = conversation_new(&pinfo->src, &pinfo->dst, pinfo->ptype, + conversation = conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); } diff --git a/epan/dissectors/packet-ssl.c b/epan/dissectors/packet-ssl.c index f1d0dc1605..3597308db5 100644 --- a/epan/dissectors/packet-ssl.c +++ b/epan/dissectors/packet-ssl.c @@ -843,12 +843,12 @@ dissect_ssl(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) * the conv_version, must set the copy in the conversation * in addition to conv_version */ - conversation = find_conversation(&pinfo->src, &pinfo->dst, pinfo->ptype, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); if (!conversation) { /* create a new conversation */ - conversation = conversation_new(&pinfo->src, &pinfo->dst, pinfo->ptype, + conversation = conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); } conv_data = conversation_get_proto_data(conversation, proto_ssl); @@ -2841,13 +2841,13 @@ ssl_set_conv_version(packet_info *pinfo, guint version) return; } - conversation = find_conversation(&pinfo->src, &pinfo->dst, pinfo->ptype, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); if (conversation == NULL) { /* create a new conversation */ - conversation = conversation_new(&pinfo->src, &pinfo->dst, pinfo->ptype, + conversation = conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); } diff --git a/epan/dissectors/packet-t38.c b/epan/dissectors/packet-t38.c index b7d05daa2a..851c3327b0 100644 --- a/epan/dissectors/packet-t38.c +++ b/epan/dissectors/packet-t38.c @@ -199,14 +199,14 @@ void t38_add_address(packet_info *pinfo, * Check if the ip address and port combination is not * already registered as a conversation. */ - p_conv = find_conversation( addr, &null_addr, PT_UDP, port, other_port, + p_conv = find_conversation( setup_frame_number, addr, &null_addr, PT_UDP, port, other_port, NO_ADDR_B | (!other_port ? NO_PORT_B : 0)); /* * If not, create a new conversation. */ - if ( ! p_conv ) { - p_conv = conversation_new( addr, &null_addr, PT_UDP, + if ( !p_conv || p_conv->setup_frame != setup_frame_number) { + p_conv = conversation_new( setup_frame_number, addr, &null_addr, PT_UDP, (guint32)port, (guint32)other_port, NO_ADDR2 | (!other_port ? NO_PORT2 : 0)); } @@ -892,7 +892,7 @@ void show_setup_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) if (!p_conv_data) { /* First time, get info from conversation */ - p_conv = find_conversation(&pinfo->net_src, &pinfo->net_dst, + p_conv = find_conversation(pinfo->fd->num, &pinfo->net_src, &pinfo->net_dst, pinfo->ptype, pinfo->srcport, pinfo->destport, NO_ADDR_B); if (p_conv) diff --git a/epan/dissectors/packet-tcp.c b/epan/dissectors/packet-tcp.c index a951564691..b7065674ed 100644 --- a/epan/dissectors/packet-tcp.c +++ b/epan/dissectors/packet-tcp.c @@ -289,9 +289,9 @@ get_tcp_conversation_data(packet_info *pinfo) struct tcp_analysis *tcpd=NULL; /* Have we seen this conversation before? */ - if( (conv=find_conversation(&pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0)) == NULL){ + if( (conv=find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0)) == NULL){ /* No this is a new conversation. */ - conv=conversation_new(&pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); + conv=conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); } /* check if we have any data for this conversation */ diff --git a/epan/dissectors/packet-tds.c b/epan/dissectors/packet-tds.c index 374c05d21f..7cb1124d26 100644 --- a/epan/dissectors/packet-tds.c +++ b/epan/dissectors/packet-tds.c @@ -1930,13 +1930,13 @@ dissect_tds_tcp_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) * OK, it passes the test; assume the rest of this conversation * is TDS. */ - conv = find_conversation(&pinfo->src, &pinfo->dst, pinfo->ptype, + conv = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); if (conv == NULL) { /* * No conversation exists yet - create one. */ - conv = conversation_new(&pinfo->src, &pinfo->dst, + conv = conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); } conversation_set_dissector(conv, tds_tcp_handle); diff --git a/epan/dissectors/packet-tftp.c b/epan/dissectors/packet-tftp.c index 879619b72f..497fd72f9e 100644 --- a/epan/dissectors/packet-tftp.c +++ b/epan/dissectors/packet-tftp.c @@ -115,10 +115,10 @@ dissect_tftp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) * wildcarded, and give it the TFTP dissector as a dissector. */ if (pinfo->destport == UDP_PORT_TFTP) { - conversation = find_conversation(&pinfo->src, &pinfo->dst, PT_UDP, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, PT_UDP, pinfo->srcport, 0, NO_PORT_B); if (conversation == NULL) { - conversation = conversation_new(&pinfo->src, &pinfo->dst, PT_UDP, + conversation = conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst, PT_UDP, pinfo->srcport, 0, NO_PORT2); conversation_set_dissector(conversation, tftp_handle); } diff --git a/epan/dissectors/packet-tuxedo.c b/epan/dissectors/packet-tuxedo.c index 8144643694..13fb017dfb 100644 --- a/epan/dissectors/packet-tuxedo.c +++ b/epan/dissectors/packet-tuxedo.c @@ -154,10 +154,10 @@ dissect_tuxedo_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { /* Register this dissector for this conversation */ conversation_t *conversation = NULL; - conversation = find_conversation(&pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); if (conversation == NULL) { - conversation = conversation_new(&pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); + conversation = conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); } conversation_set_dissector(conversation, tuxedo_handle); diff --git a/epan/dissectors/packet-wsp.c b/epan/dissectors/packet-wsp.c index b6e1edf226..f194e5e657 100644 --- a/epan/dissectors/packet-wsp.c +++ b/epan/dissectors/packet-wsp.c @@ -4506,10 +4506,10 @@ dissect_redirect(tvbuff_t *tvb, int offset, packet_info *pinfo, redir_address.len = 4; redir_address.data = (const guint8 *)&address_ipv4; /* Find a conversation based on redir_address and pinfo->dst */ - conv = find_conversation(&redir_address, &pinfo->dst, + conv = find_conversation(pinfo->fd->num, &redir_address, &pinfo->dst, PT_UDP, port_num, 0, NO_PORT_B); if (conv == NULL) { /* This conversation does not exist yet */ - conv = conversation_new(&redir_address, + conv = conversation_new(pinfo->fd->num, &redir_address, &pinfo->dst, PT_UDP, port_num, 0, NO_PORT2); } /* Apply WSP dissection to the conversation */ @@ -4542,10 +4542,10 @@ dissect_redirect(tvbuff_t *tvb, int offset, packet_info *pinfo, redir_address.len = 16; redir_address.data = (const guint8 *)&address_ipv4; /* Find a conversation based on redir_address and pinfo->dst */ - conv = find_conversation(&redir_address, &pinfo->dst, + conv = find_conversation(pinfo->fd->num, &redir_address, &pinfo->dst, PT_UDP, port_num, 0, NO_PORT_B); if (conv == NULL) { /* This conversation does not exist yet */ - conv = conversation_new(&redir_address, + conv = conversation_new(pinfo->fd->num, &redir_address, &pinfo->dst, PT_UDP, port_num, 0, NO_PORT2); } /* Apply WSP dissection to the conversation */ diff --git a/epan/dissectors/packet-x11.c b/epan/dissectors/packet-x11.c index 5b52c0ec79..e2eff67ab6 100644 --- a/epan/dissectors/packet-x11.c +++ b/epan/dissectors/packet-x11.c @@ -4122,13 +4122,13 @@ static void dissect_x11_requests(tvbuff_t *tvb, packet_info *pinfo, * if we don't have one, and create the state if we don't have * any. */ - conversation = find_conversation(&pinfo->src, &pinfo->dst, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); if (conversation == NULL) { /* * No - create one. */ - conversation = conversation_new(&pinfo->src, + conversation = conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); } @@ -4407,13 +4407,13 @@ dissect_x11_replies(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) * if we don't have one, and create the state if we don't have * any. */ - conversation = find_conversation(&pinfo->src, &pinfo->dst, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); if (conversation == NULL) { /* * No - create one. */ - conversation = conversation_new(&pinfo->src, &pinfo->dst, + conversation = conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); } diff --git a/epan/dissectors/packet-xyplex.c b/epan/dissectors/packet-xyplex.c index 9ad7a58b59..9e75c3ef92 100644 --- a/epan/dissectors/packet-xyplex.c +++ b/epan/dissectors/packet-xyplex.c @@ -115,10 +115,10 @@ dissect_xyplex(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) * requestiong server and the Xyplex host using the * return_port. */ - conversation = find_conversation(&pinfo->src, &pinfo->dst, + conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, PT_TCP, return_port, 0, NO_PORT_B); if (conversation == NULL) { - conversation = conversation_new(&pinfo->src, &pinfo->dst, + conversation = conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst, PT_TCP, return_port, 0, NO_PORT2); conversation_set_dissector(conversation, xyplex_handle); } |