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
This commit is contained in:
parent
8faa5f837c
commit
4c5987ce98
|
@ -139,13 +139,21 @@ dissect_gssapi_work(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
||||||
*/
|
*/
|
||||||
pinfo->gssapi_data_encrypted = FALSE;
|
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,
|
conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst,
|
||||||
pinfo->ptype, pinfo->srcport,
|
pinfo->ptype, pinfo->srcport,
|
||||||
pinfo->destport, 0);
|
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(
|
item = proto_tree_add_item(
|
||||||
tree, proto_gssapi, tvb, offset, -1, FALSE);
|
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 */
|
/* No handle attached to this frame, but it's the first */
|
||||||
/* pass, so it'd be attached to the conversation. */
|
/* pass, so it'd be attached to the conversation. */
|
||||||
/* If we have a conversation, try to get the handle, */
|
value = conversation_get_proto_data(conversation,
|
||||||
/* and if we get one, attach it to the frame. */
|
|
||||||
if (conversation)
|
|
||||||
{
|
|
||||||
value = conversation_get_proto_data(conversation,
|
|
||||||
proto_gssapi);
|
proto_gssapi);
|
||||||
if (value)
|
if (value)
|
||||||
p_add_proto_data(pinfo->fd, proto_gssapi, value);
|
p_add_proto_data(pinfo->fd, proto_gssapi, value);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (!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);
|
oid_subtree = proto_item_add_subtree(sub_item, value->ett);
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/* Save a pointer to the data for the OID for the
|
||||||
* Here we should create a conversation if needed and
|
* GSSAPI protocol for this conversation.
|
||||||
* save a pointer to the data for that OID for the
|
|
||||||
* GSSAPI protocol.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
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 ...
|
* Now add the proto data ...
|
||||||
* but only if it is not already there.
|
* but only if it is not already there.
|
||||||
|
|
Loading…
Reference in New Issue