diff options
author | Ronnie Sahlberg <ronnie_sahlberg@ozemail.com.au> | 2006-09-02 00:17:35 +0000 |
---|---|---|
committer | Ronnie Sahlberg <ronnie_sahlberg@ozemail.com.au> | 2006-09-02 00:17:35 +0000 |
commit | 4c5987ce988acdb13167f50c0ab10e2c860794d4 (patch) | |
tree | dcd09e1102cd214ae66192757801ec21b61ebe7b /epan/dissectors/packet-gssapi.c | |
parent | 8faa5f837c0c230c9f6171c284bd7d4baa336c1a (diff) | |
download | wireshark-4c5987ce988acdb13167f50c0ab10e2c860794d4.tar.gz wireshark-4c5987ce988acdb13167f50c0ab10e2c860794d4.tar.bz2 wireshark-4c5987ce988acdb13167f50c0ab10e2c860794d4.zip |
always create a conversation for gssapi
we will need a conversation in more places once we start adding reassembly of gss-krb blobs that span multiple pdus (smb/sessionsetup)
svn path=/trunk/; revision=19110
Diffstat (limited to 'epan/dissectors/packet-gssapi.c')
-rw-r--r-- | epan/dissectors/packet-gssapi.c | 37 |
1 files changed, 15 insertions, 22 deletions
diff --git a/epan/dissectors/packet-gssapi.c b/epan/dissectors/packet-gssapi.c index f7cee6b119..72d66aa716 100644 --- a/epan/dissectors/packet-gssapi.c +++ b/epan/dissectors/packet-gssapi.c @@ -139,13 +139,21 @@ dissect_gssapi_work(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, */ pinfo->gssapi_data_encrypted = FALSE; + /* - * We need this later, so lets get it now ... + * We need a conversation for later */ - conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); + if(!conversation){ + conversation = conversation_new(pinfo->fd->num, &pinfo->src, + &pinfo->dst, + pinfo->ptype, + pinfo->srcport, + pinfo->destport, 0); + } + item = proto_tree_add_item( tree, proto_gssapi, tvb, offset, -1, FALSE); @@ -194,15 +202,10 @@ dissect_gssapi_work(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, { /* No handle attached to this frame, but it's the first */ /* pass, so it'd be attached to the conversation. */ - /* If we have a conversation, try to get the handle, */ - /* and if we get one, attach it to the frame. */ - if (conversation) - { - value = conversation_get_proto_data(conversation, + value = conversation_get_proto_data(conversation, proto_gssapi); - if (value) - p_add_proto_data(pinfo->fd, proto_gssapi, value); - } + if (value) + p_add_proto_data(pinfo->fd, proto_gssapi, value); } if (!value) { @@ -261,20 +264,10 @@ dissect_gssapi_work(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, oid_subtree = proto_item_add_subtree(sub_item, value->ett); */ - /* - * Here we should create a conversation if needed and - * save a pointer to the data for that OID for the - * GSSAPI protocol. + /* Save a pointer to the data for the OID for the + * GSSAPI protocol for this conversation. */ - if (!conversation) { /* Create one */ - conversation = conversation_new(pinfo->fd->num, &pinfo->src, - &pinfo->dst, - pinfo->ptype, - pinfo->srcport, - pinfo->destport, 0); - } - /* * Now add the proto data ... * but only if it is not already there. |