librpc: add decode_netlogon_samlogon_response_packet for mailslot debugging.
authorGünther Deschner <gd@samba.org>
Tue, 28 Jun 2016 16:40:25 +0000 (18:40 +0200)
committerJeremy Allison <jra@samba.org>
Thu, 30 Jun 2016 23:29:42 +0000 (01:29 +0200)
Guenther

Signed-off-by: Guenther Deschner <gd@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Fri Jul  1 01:29:42 CEST 2016 on sn-devel-144

librpc/idl/nbt.idl
librpc/ndr/ndr_nbt.h

index ef3f074..211095d 100644 (file)
@@ -482,6 +482,21 @@ interface nbt
                uint16               lm20_token;
        } NETLOGON_SAM_LOGON_RESPONSE_EX;
 
+       typedef [nopush,nopull] union {
+               [case(NETLOGON_NT_VERSION_1)] NETLOGON_SAM_LOGON_RESPONSE_NT40 nt4;
+               [case(NETLOGON_NT_VERSION_5)] NETLOGON_SAM_LOGON_RESPONSE nt5;
+               [case(NETLOGON_NT_VERSION_5EX)] NETLOGON_SAM_LOGON_RESPONSE_EX nt5_ex;
+       } netlogon_samlogon_response_union;
+
+       typedef [nopush,nopull] struct {
+               uint32 ntver;
+               [switch_is(ntver)] netlogon_samlogon_response_union data;
+       } netlogon_samlogon_response;
+
+       void decode_netlogon_samlogon_response_packet(
+               [in] netlogon_samlogon_response packet
+               );
+
        /* query for pdc request */
        typedef struct {
                astring              computer_name;
index 870ee43..edb2bf7 100644 (file)
 
 NDR_SCALAR_PROTO(nbt_string, const char *)
 
-struct netlogon_samlogon_response
-{
-       uint32_t ntver;
-       union {
-               struct NETLOGON_SAM_LOGON_RESPONSE_NT40 nt4;
-               struct NETLOGON_SAM_LOGON_RESPONSE nt5;
-               struct NETLOGON_SAM_LOGON_RESPONSE_EX nt5_ex;
-       } data;
-
-};
-
 enum ndr_err_code ndr_push_NETLOGON_SAM_LOGON_REQUEST(struct ndr_push *ndr, int ndr_flags, const struct NETLOGON_SAM_LOGON_REQUEST *r);
 enum ndr_err_code ndr_pull_NETLOGON_SAM_LOGON_REQUEST(struct ndr_pull *ndr, int ndr_flags, struct NETLOGON_SAM_LOGON_REQUEST *r);
 enum ndr_err_code ndr_push_NETLOGON_SAM_LOGON_RESPONSE_EX_with_flags(struct ndr_push *ndr, int ndr_flags, const struct NETLOGON_SAM_LOGON_RESPONSE_EX *r);