Fixed bug in SAMDELTAS_request.
[obnox/wireshark/wip.git] / packet-dcerpc-netlogon.c
index ab1bafcad298d90cdc1fe1dc3c830ba08a4d0fd4..0c6f4e67f6ff0db304311fdda532892861644bfb 100644 (file)
@@ -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.4 2002/03/13 07:38:33 sahlberg Exp $
+ * $Id: packet-dcerpc-netlogon.c,v 1.5 2002/03/13 09:03:28 sahlberg Exp $
  *
  * Ethereal - Network traffic analyzer
  * By Gerald Combs <gerald@ethereal.com>
@@ -2850,6 +2850,7 @@ netlogon_dissect_TYPE_19(tvbuff_t *tvb, int offset,
        offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, drep,
                hf_netlogon_level, &level);
 
+       ALIGN_TO_4_BYTES;
        switch(level){
        case 1:
                offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
@@ -3039,6 +3040,7 @@ netlogon_dissect_TYPE_20(tvbuff_t *tvb, int offset,
        offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, drep,
                hf_netlogon_level, &level);
 
+       ALIGN_TO_4_BYTES;
        switch(level){
        case 1:
                offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
@@ -3609,8 +3611,10 @@ static int
 netlogon_dissect_netsamdeltas_rqst(tvbuff_t *tvb, int offset,
        packet_info *pinfo, proto_tree *tree, char *drep)
 {
-       offset = netlogon_dissect_LOGONSRV_HANDLE(tvb, offset,
-               pinfo, tree, drep);
+       /* XXX idl file has LOGONSRV_HANDLE here, ms capture has string srv_name */
+       offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
+               dissect_ndr_nt_UNICODE_STRING_str, NDR_POINTER_REF,
+               "srv_name", hf_netlogon_logon_srv, -1);
 
        offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
                dissect_ndr_nt_UNICODE_STRING_str, NDR_POINTER_REF,