diff options
author | Ronnie Sahlberg <ronnie_sahlberg@ozemail.com.au> | 2002-05-07 11:26:46 +0000 |
---|---|---|
committer | Ronnie Sahlberg <ronnie_sahlberg@ozemail.com.au> | 2002-05-07 11:26:46 +0000 |
commit | dad31088e2ac37c7837b544c1ed4ca823846537a (patch) | |
tree | a46659b3a7add5bbf0511aa1cdee58d4b36add2b /packet-dcerpc-samr.c | |
parent | 04158638aec8457f54b9b55c4664df607769c344 (diff) | |
download | wireshark-dad31088e2ac37c7837b544c1ed4ca823846537a.tar.gz wireshark-dad31088e2ac37c7837b544c1ed4ca823846537a.tar.bz2 wireshark-dad31088e2ac37c7837b544c1ed4ca823846537a.zip |
Several bugfixes for SAMR
svn path=/trunk/; revision=5413
Diffstat (limited to 'packet-dcerpc-samr.c')
-rw-r--r-- | packet-dcerpc-samr.c | 54 |
1 files changed, 15 insertions, 39 deletions
diff --git a/packet-dcerpc-samr.c b/packet-dcerpc-samr.c index 88cb8b540f..68cf700f76 100644 --- a/packet-dcerpc-samr.c +++ b/packet-dcerpc-samr.c @@ -3,7 +3,7 @@ * Copyright 2001, Tim Potter <tpot@samba.org> * 2002 Added all command dissectors Ronnie Sahlberg * - * $Id: packet-dcerpc-samr.c,v 1.40 2002/05/05 23:48:19 tpot Exp $ + * $Id: packet-dcerpc-samr.c,v 1.41 2002/05/07 11:26:46 sahlberg Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -34,6 +34,7 @@ #include "packet-dcerpc.h" #include "packet-dcerpc-nt.h" #include "packet-dcerpc-samr.h" +#include "packet-dcerpc-lsa.h" #include "smb.h" /* for "NT_errors[]" */ #include "packet-smb-common.h" @@ -930,12 +931,15 @@ samr_dissect_connect_anon_rqst(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, char *drep) { - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - samr_dissect_connect2_server, NDR_POINTER_UNIQUE, - "Server", hf_samr_server, 1); + char str[2]; + guint16 server; - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_samr_access, NULL); + offset=dissect_ndr_uint16(tvb, offset, pinfo, NULL, drep, + hf_samr_server, &server); + str[0]=server&0xff; + str[1]=0; + proto_tree_add_string_format(tree, hf_samr_server, tvb, offset-2, 2, + str, "Server: %s", str); return offset; } @@ -1990,17 +1994,6 @@ samr_dissect_DOMAIN_INFO(tvbuff_t *tvb, int offset, } static int -samr_dissect_DOMAIN_INFO_ptr(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - char *drep) -{ - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - samr_dissect_DOMAIN_INFO, NDR_POINTER_UNIQUE, - "DOMAIN_INFO pointer", hf_samr_domain, 0); - return offset; -} - -static int samr_dissect_set_information_domain_rqst(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, char *drep) @@ -2046,9 +2039,6 @@ samr_dissect_lookup_domain_reply(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, char *drep) { - if (check_col(pinfo->cinfo, COL_INFO)) - col_set_str(pinfo->cinfo, COL_INFO, "QueryDomainInfo reponse"); - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, dissect_ndr_nt_SID_ptr, NDR_POINTER_REF, "", -1, 0); @@ -2501,9 +2491,6 @@ samr_dissect_get_members_in_alias_rqst(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, char *drep) { - if (check_col(pinfo->cinfo, COL_INFO)) - col_set_str(pinfo->cinfo, COL_INFO, "GetAliasMem request"); - offset = dissect_nt_policy_hnd(tvb, offset, pinfo, tree, drep, hf_samr_hnd, NULL); @@ -2898,17 +2885,6 @@ samr_dissect_BUFFER(tvbuff_t *tvb, int offset, } static int -samr_dissect_BUFFER_ptr(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, - char *drep) -{ - offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - samr_dissect_BUFFER, NDR_POINTER_UNIQUE, - "BUFFER", -1, 0); - return offset; -} - -static int samr_dissect_USER_INFO_21(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, char *drep) @@ -3394,8 +3370,8 @@ samr_dissect_set_sec_object_rqst(tvbuff_t *tvb, int offset, hf_samr_info_type, NULL); offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - samr_dissect_BUFFER, NDR_POINTER_REF, - "", -1, 0); + lsa_dissect_LSA_SECURITY_DESCRIPTOR, NDR_POINTER_REF, + "LSA_SECURITY_DESCRIPTOR pointer: ", -1, 0); return offset; } @@ -3431,8 +3407,8 @@ samr_dissect_query_sec_object_reply(tvbuff_t *tvb, int offset, char *drep) { offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - samr_dissect_BUFFER_ptr, NDR_POINTER_REF, - "", -1, 0); + lsa_dissect_LSA_SECURITY_DESCRIPTOR, NDR_POINTER_UNIQUE, + "LSA_SECURITY_DESCRIPTOR pointer: ", -1, 0); offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep, hf_samr_rc, NULL); @@ -4077,7 +4053,7 @@ samr_dissect_query_information_domain_reply(tvbuff_t *tvb, int offset, char *drep) { offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, - samr_dissect_DOMAIN_INFO_ptr, NDR_POINTER_REF, + samr_dissect_DOMAIN_INFO, NDR_POINTER_REF, "", hf_samr_domain, 0); offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, |