aboutsummaryrefslogtreecommitdiffstats
path: root/packet-dcerpc-nt.h
diff options
context:
space:
mode:
authorguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>2003-06-05 04:22:04 +0000
committerguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>2003-06-05 04:22:04 +0000
commit2b7f3b7803c8ecc946eb82decfb02fda47a05617 (patch)
treef1f14bf51bf99c84561b99ad06527ba2e9d658a6 /packet-dcerpc-nt.h
parent29f2455ba96525354986707e9ac7ad689919db9a (diff)
In the policy handle hashing, handle more than one policy handle having
the same value, as an open might return handle XXX, handle XXX might then be closed, and a subsequent handle might return handle XXX, and we want to keep the two handles distinct to avoid, for example, displaying handles closed before they're opened. In policy handle open replies, store the handle name only if the operation succeeded. We can now do that without parsing the packet twice. Have "dissect_nt_policy_hnd()" optionally return, through a pointer, the protocol tree item for the handle, so that its caller can decorate the item with the name of the handle - that's done on opens, where we do that only if the operation succeeds. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@7787 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'packet-dcerpc-nt.h')
-rw-r--r--packet-dcerpc-nt.h15
1 files changed, 9 insertions, 6 deletions
diff --git a/packet-dcerpc-nt.h b/packet-dcerpc-nt.h
index 01700a6b9e..68a3b1e6a4 100644
--- a/packet-dcerpc-nt.h
+++ b/packet-dcerpc-nt.h
@@ -2,7 +2,7 @@
* Routines for DCERPC over SMB packet disassembly
* Copyright 2001-2003 Tim Potter <tpot@samba.org>
*
- * $Id: packet-dcerpc-nt.h,v 1.46 2003/05/21 10:06:29 sahlberg Exp $
+ * $Id: packet-dcerpc-nt.h,v 1.47 2003/06/05 04:22:03 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -117,19 +117,21 @@ dissect_ndr_nt_SID_AND_ATTRIBUTES(tvbuff_t *tvb, int offset,
/* Store open and close packet numbers for a policy handle */
void
-dcerpc_smb_store_pol_pkts(e_ctx_hnd *policy_hnd, guint32 open_frame,
- guint32 close_frame);
+dcerpc_smb_store_pol_pkts(e_ctx_hnd *policy_hnd, packet_info *pinfo,
+ gboolean is_open, gboolean is_close);
/* Store a name with a policy handle */
void
-dcerpc_smb_store_pol_name(e_ctx_hnd *policy_hnd, char *name);
+dcerpc_smb_store_pol_name(e_ctx_hnd *policy_hnd, packet_info *pinfo,
+ char *name);
/* Fetch details stored with a policy handle */
gboolean
dcerpc_smb_fetch_pol(e_ctx_hnd *policy_hnd, char **name,
- guint32 *open_frame, guint32 *close_frame);
+ guint32 *open_frame, guint32 *close_frame,
+ guint32 cur_frame);
/* Check for unparsed data at the end of a frame */
@@ -152,7 +154,8 @@ dissect_doserror(tvbuff_t *tvb, gint offset, packet_info *pinfo,
int
dissect_nt_policy_hnd(tvbuff_t *tvb, gint offset, packet_info *pinfo,
proto_tree *tree, char *drep, int hfindex,
- e_ctx_hnd *pdata, gboolean is_open, gboolean is_close);
+ e_ctx_hnd *pdata, proto_item **pitem,
+ gboolean is_open, gboolean is_close);
int
dissect_nt_GUID(tvbuff_t *tvb, int offset,