add references to the corresponding request of datagram ping and ack packets

svn path=/trunk/; revision=14815
This commit is contained in:
Ulf Lamping 2005-06-29 08:03:06 +00:00
parent 226c5a56ab
commit 2cecaba970
1 changed files with 38 additions and 0 deletions

View File

@ -4551,6 +4551,42 @@ dissect_dcerpc_dg_resp (tvbuff_t *tvb, int offset, packet_info *pinfo,
dissect_dcerpc_dg_stub (tvb, offset, pinfo, dcerpc_tree, tree, hdr, di);
}
static void
dissect_dcerpc_dg_ping_ack (tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *dcerpc_tree, proto_tree *tree,
e_dce_dg_common_hdr_t *hdr, conversation_t *conv)
{
/* if(!(pinfo->fd->flags.visited)){*/
dcerpc_call_value *call_value;
dcerpc_dg_call_key call_key;
call_key.conv=conv;
call_key.seqnum=hdr->seqnum;
call_key.act_id=hdr->act_id;
if((call_value=g_hash_table_lookup(dcerpc_dg_calls, &call_key))){
proto_item *pi;
nstime_t ns;
pi = proto_tree_add_uint(dcerpc_tree, hf_dcerpc_request_in,
tvb, 0, 0, call_value->req_frame);
PROTO_ITEM_SET_GENERATED(pi);
if (check_col (pinfo->cinfo, COL_INFO))
col_append_fstr(pinfo->cinfo, COL_INFO, " [req: #%u]", call_value->req_frame);
ns.secs= pinfo->fd->abs_secs-call_value->req_time.secs;
ns.nsecs=pinfo->fd->abs_usecs*1000-call_value->req_time.nsecs;
if(ns.nsecs<0){
ns.nsecs+=1000000000;
ns.secs--;
}
pi = proto_tree_add_time(dcerpc_tree, hf_dcerpc_time, tvb, offset, 0, &ns);
PROTO_ITEM_SET_GENERATED(pi);
/* }*/
}
}
/*
* DCERPC dissector for connectionless calls
*/
@ -4908,6 +4944,8 @@ dissect_dcerpc_dg (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
/* these requests have no body */
case PDU_ACK:
case PDU_PING:
dissect_dcerpc_dg_ping_ack (tvb, offset, pinfo, dcerpc_tree, tree, &hdr, conv);
break;
case PDU_WORKING:
default:
break;