diff options
author | Ronnie Sahlberg <ronnie_sahlberg@ozemail.com.au> | 2002-07-07 02:39:51 +0000 |
---|---|---|
committer | Ronnie Sahlberg <ronnie_sahlberg@ozemail.com.au> | 2002-07-07 02:39:51 +0000 |
commit | 956478dfe124053316aa435e906c21808a9d9834 (patch) | |
tree | 37096838c7e3234d57ef85a384f4ffa20b0ece9e /packet-dcerpc-netlogon.c | |
parent | fd0d7e8ebd84211751081a1a80ea6c19ae0da4dc (diff) | |
download | wireshark-956478dfe124053316aa435e906c21808a9d9834.tar.gz wireshark-956478dfe124053316aa435e906c21808a9d9834.tar.bz2 wireshark-956478dfe124053316aa435e906c21808a9d9834.zip |
DELTA_RENAME_GROUP update
svn path=/trunk/; revision=5831
Diffstat (limited to 'packet-dcerpc-netlogon.c')
-rw-r--r-- | packet-dcerpc-netlogon.c | 122 |
1 files changed, 63 insertions, 59 deletions
diff --git a/packet-dcerpc-netlogon.c b/packet-dcerpc-netlogon.c index e9f56bf56c..38a2f784ae 100644 --- a/packet-dcerpc-netlogon.c +++ b/packet-dcerpc-netlogon.c @@ -3,7 +3,7 @@ * Copyright 2001, Tim Potter <tpot@samba.org> * 2002 structure and command dissectors by Ronnie Sahlberg * - * $Id: packet-dcerpc-netlogon.c,v 1.33 2002/07/07 02:25:39 sahlberg Exp $ + * $Id: packet-dcerpc-netlogon.c,v 1.34 2002/07/07 02:39:51 sahlberg Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -158,7 +158,6 @@ static gint ett_NETLOGON_SECURITY_DESCRIPTOR = -1; static gint ett_CYPHER_BLOCK = -1; static gint ett_TYPE_16 = -1; static gint ett_IDENTITY_INFO = -1; -static gint ett_TYPE_23 = -1; static gint ett_NETLOGON_SAM_GROUP_MEM_INFO = -1; static gint ett_NETLOGON_SAM_ALIAS_INFO = -1; static gint ett_NETLOGON_SAM_ALIAS_MEM_INFO = -1; @@ -1924,6 +1923,62 @@ netlogon_dissect_DELTA_GROUP(tvbuff_t *tvb, int offset, } +/* + * IDL typedef struct { + * IDL UNICODESTRING OldName; + * IDL UNICODESTRING NewName; + * IDL UNICODESTRING dummy1; + * IDL UNICODESTRING dummy2; + * IDL UNICODESTRING dummy3; + * IDL UNICODESTRING dummy4; + * IDL long dummy5; + * IDL long dummy6; + * IDL long dummy7; + * IDL long dummy8; + * IDL } DELTA_RENAME; + */ +static int +netlogon_dissect_DELTA_RENAME(tvbuff_t *tvb, int offset, + packet_info *pinfo, proto_tree *tree, + char *drep) +{ + dcerpc_info *di; + + di=pinfo->private_data; + + offset = dissect_ndr_nt_UNICODE_STRING(tvb, offset, pinfo, tree, drep, + di->hf_index, 1); + + offset = dissect_ndr_nt_UNICODE_STRING(tvb, offset, pinfo, tree, drep, + di->hf_index, 1); + + offset = dissect_ndr_nt_UNICODE_STRING(tvb, offset, pinfo, tree, drep, + hf_netlogon_dummy, 0); + + offset = dissect_ndr_nt_UNICODE_STRING(tvb, offset, pinfo, tree, drep, + hf_netlogon_dummy, 0); + + offset = dissect_ndr_nt_UNICODE_STRING(tvb, offset, pinfo, tree, drep, + hf_netlogon_dummy, 0); + + offset = dissect_ndr_nt_UNICODE_STRING(tvb, offset, pinfo, tree, drep, + hf_netlogon_dummy, 0); + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, + hf_netlogon_reserved, NULL); + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, + hf_netlogon_reserved, NULL); + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, + hf_netlogon_reserved, NULL); + + offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, + hf_netlogon_reserved, NULL); + + return offset; +} + @@ -2076,56 +2131,6 @@ netlogon_dissect_TYPE_16(tvbuff_t *tvb, int offset, static int -netlogon_dissect_TYPE_23(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *parent_tree, - char *drep) -{ - proto_item *item=NULL; - proto_tree *tree=NULL; - int old_offset=offset; - - if(parent_tree){ - item = proto_tree_add_text(parent_tree, tvb, offset, 0, - "TYPE_23:"); - tree = proto_item_add_subtree(item, ett_TYPE_23); - } - - offset = dissect_ndr_nt_UNICODE_STRING(tvb, offset, pinfo, tree, drep, - hf_netlogon_unknown_string, 0); - - offset = dissect_ndr_nt_UNICODE_STRING(tvb, offset, pinfo, tree, drep, - hf_netlogon_unknown_string, 0); - - offset = dissect_ndr_nt_UNICODE_STRING(tvb, offset, pinfo, tree, drep, - hf_netlogon_unknown_string, 0); - - offset = dissect_ndr_nt_UNICODE_STRING(tvb, offset, pinfo, tree, drep, - hf_netlogon_unknown_string, 0); - - offset = dissect_ndr_nt_UNICODE_STRING(tvb, offset, pinfo, tree, drep, - hf_netlogon_unknown_string, 0); - - offset = dissect_ndr_nt_UNICODE_STRING(tvb, offset, pinfo, tree, drep, - hf_netlogon_unknown_string, 0); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_netlogon_unknown_long, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_netlogon_unknown_long, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_netlogon_unknown_long, NULL); - - offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, - hf_netlogon_unknown_long, NULL); - - proto_item_set_len(item, offset-old_offset); - return offset; -} - - -static int netlogon_dissect_rid(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, char *drep) @@ -3712,8 +3717,8 @@ netlogon_dissect_TYPE_20(tvbuff_t *tvb, int offset, break; case 4: offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - netlogon_dissect_TYPE_23, NDR_POINTER_PTR, - "TYPE_23 pointer:", -1, 0); + netlogon_dissect_DELTA_RENAME, NDR_POINTER_UNIQUE, + "DELTA_RENAME_GROUP:", hf_netlogon_group_name, 0); break; case 5: offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, @@ -3722,8 +3727,8 @@ netlogon_dissect_TYPE_20(tvbuff_t *tvb, int offset, break; case 7: offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - netlogon_dissect_TYPE_23, NDR_POINTER_PTR, - "TYPE_23 pointer:", -1, 0); + netlogon_dissect_DELTA_RENAME, NDR_POINTER_UNIQUE, + "TYPE_23 pointer:", hf_netlogon_group_name/*XXX*/, 0); break; case 8: offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, @@ -3737,8 +3742,8 @@ netlogon_dissect_TYPE_20(tvbuff_t *tvb, int offset, break; case 11: offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - netlogon_dissect_TYPE_23, NDR_POINTER_PTR, - "TYPE_23 pointer:", -1, 0); + netlogon_dissect_DELTA_RENAME, NDR_POINTER_UNIQUE, + "TYPE_23 pointer:", hf_netlogon_group_name/*XXX*/, 0); break; case 12: offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, @@ -6024,7 +6029,6 @@ static hf_register_info hf[] = { &ett_CYPHER_BLOCK, &ett_TYPE_16, &ett_IDENTITY_INFO, - &ett_TYPE_23, &ett_NETLOGON_SAM_GROUP_MEM_INFO, &ett_NETLOGON_SAM_ALIAS_INFO, &ett_NETLOGON_SAM_ALIAS_MEM_INFO, |