aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--epan/dissectors/packet-afp.c4
-rw-r--r--epan/dissectors/packet-afs.c4
-rw-r--r--epan/dissectors/packet-ajp13.c4
-rw-r--r--epan/dissectors/packet-aoe.c4
-rw-r--r--epan/dissectors/packet-atalk.c8
-rw-r--r--epan/dissectors/packet-beep.c4
-rw-r--r--epan/dissectors/packet-bittorrent.c2
-rw-r--r--epan/dissectors/packet-dcerpc.c16
-rw-r--r--epan/dissectors/packet-dcm.c6
-rw-r--r--epan/dissectors/packet-eap.c8
-rw-r--r--epan/dissectors/packet-fc.c4
-rw-r--r--epan/dissectors/packet-fcdns.c6
-rw-r--r--epan/dissectors/packet-fcels.c10
-rw-r--r--epan/dissectors/packet-fcfcs.c6
-rw-r--r--epan/dissectors/packet-fcfzs.c6
-rw-r--r--epan/dissectors/packet-fcp.c12
-rw-r--r--epan/dissectors/packet-fcsb3.c4
-rw-r--r--epan/dissectors/packet-fcswils.c6
-rw-r--r--epan/dissectors/packet-ftp.c4
-rw-r--r--epan/dissectors/packet-gssapi.c4
-rw-r--r--epan/dissectors/packet-h225.c70
-rw-r--r--epan/dissectors/packet-h225.h2
-rw-r--r--epan/dissectors/packet-ipx.c4
-rw-r--r--epan/dissectors/packet-iscsi.c4
-rw-r--r--epan/dissectors/packet-isns.c8
-rw-r--r--epan/dissectors/packet-kerberos.c4
-rw-r--r--epan/dissectors/packet-ldap.c4
-rw-r--r--epan/dissectors/packet-mq.c4
-rw-r--r--epan/dissectors/packet-msproxy.c10
-rw-r--r--epan/dissectors/packet-mysql.c4
-rw-r--r--epan/dissectors/packet-ncp.c6
-rw-r--r--epan/dissectors/packet-ncp2222.inc18
-rw-r--r--epan/dissectors/packet-ndmp.c6
-rw-r--r--epan/dissectors/packet-ndps.c10
-rw-r--r--epan/dissectors/packet-ntlmssp.c12
-rw-r--r--epan/dissectors/packet-pgsql.c4
-rw-r--r--epan/dissectors/packet-portmap.c4
-rw-r--r--epan/dissectors/packet-quake.c2
-rw-r--r--epan/dissectors/packet-rlogin.c4
-rw-r--r--epan/dissectors/packet-rpc.c28
-rw-r--r--epan/dissectors/packet-rsync.c4
-rw-r--r--epan/dissectors/packet-rtcp.c12
-rw-r--r--epan/dissectors/packet-rtp.c8
-rw-r--r--epan/dissectors/packet-rtsp.c6
-rw-r--r--epan/dissectors/packet-sdp.c10
-rw-r--r--epan/dissectors/packet-smb.c4
-rw-r--r--epan/dissectors/packet-smtp.c4
-rw-r--r--epan/dissectors/packet-snmp.c4
-rw-r--r--epan/dissectors/packet-socks.c8
-rw-r--r--epan/dissectors/packet-spnego.c6
-rw-r--r--epan/dissectors/packet-ssh.c4
-rw-r--r--epan/dissectors/packet-ssl.c8
-rw-r--r--epan/dissectors/packet-t38.c8
-rw-r--r--epan/dissectors/packet-tcp.c4
-rw-r--r--epan/dissectors/packet-tds.c4
-rw-r--r--epan/dissectors/packet-tftp.c4
-rw-r--r--epan/dissectors/packet-tuxedo.c4
-rw-r--r--epan/dissectors/packet-wsp.c8
-rw-r--r--epan/dissectors/packet-x11.c8
-rw-r--r--epan/dissectors/packet-xyplex.c4
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);
}