]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s3-build: re-run make samba3-idl.
authorGünther Deschner <gd@samba.org>
Wed, 15 Oct 2008 14:13:40 +0000 (16:13 +0200)
committerGünther Deschner <gd@samba.org>
Wed, 15 Oct 2008 14:14:20 +0000 (16:14 +0200)
Guenther

source3/include/proto.h
source3/librpc/gen_ndr/cli_netlogon.c
source3/librpc/gen_ndr/cli_netlogon.h
source3/librpc/gen_ndr/ndr_netlogon.c
source3/librpc/gen_ndr/ndr_netlogon.h
source3/librpc/gen_ndr/netlogon.h

index 180ae1aae56a3fbee6d3ce2297a61f5ae4d4ed17..9c08f0825b60d30b5fce1d9e5d93dd9fd7be6778 100644 (file)
@@ -2828,9 +2828,11 @@ _PUBLIC_ void ndr_print_netr_IdentityInfo(struct ndr_print *ndr, const char *nam
 _PUBLIC_ void ndr_print_netr_PasswordInfo(struct ndr_print *ndr, const char *name, const struct netr_PasswordInfo *r);
 _PUBLIC_ void ndr_print_netr_ChallengeResponse(struct ndr_print *ndr, const char *name, const struct netr_ChallengeResponse *r);
 _PUBLIC_ void ndr_print_netr_NetworkInfo(struct ndr_print *ndr, const char *name, const struct netr_NetworkInfo *r);
-_PUBLIC_ enum ndr_err_code ndr_push_netr_LogonInfo(struct ndr_push *ndr, int ndr_flags, const union netr_LogonInfo *r);
-_PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonInfo(struct ndr_pull *ndr, int ndr_flags, union netr_LogonInfo *r);
-_PUBLIC_ void ndr_print_netr_LogonInfo(struct ndr_print *ndr, const char *name, const union netr_LogonInfo *r);
+_PUBLIC_ void ndr_print_netr_GenericInfo(struct ndr_print *ndr, const char *name, const struct netr_GenericInfo *r);
+_PUBLIC_ void ndr_print_netr_LogonInfoClass(struct ndr_print *ndr, const char *name, enum netr_LogonInfoClass r);
+_PUBLIC_ enum ndr_err_code ndr_push_netr_LogonLevel(struct ndr_push *ndr, int ndr_flags, const union netr_LogonLevel *r);
+_PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonLevel(struct ndr_pull *ndr, int ndr_flags, union netr_LogonLevel *r);
+_PUBLIC_ void ndr_print_netr_LogonLevel(struct ndr_print *ndr, const char *name, const union netr_LogonLevel *r);
 _PUBLIC_ enum ndr_err_code ndr_push_netr_UserSessionKey(struct ndr_push *ndr, int ndr_flags, const struct netr_UserSessionKey *r);
 _PUBLIC_ enum ndr_err_code ndr_pull_netr_UserSessionKey(struct ndr_pull *ndr, int ndr_flags, struct netr_UserSessionKey *r);
 _PUBLIC_ void ndr_print_netr_UserSessionKey(struct ndr_print *ndr, const char *name, const struct netr_UserSessionKey *r);
@@ -2848,6 +2850,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_netr_SamInfo3(struct ndr_pull *ndr, int ndr_
 _PUBLIC_ void ndr_print_netr_SamInfo3(struct ndr_print *ndr, const char *name, const struct netr_SamInfo3 *r);
 _PUBLIC_ void ndr_print_netr_SamInfo6(struct ndr_print *ndr, const char *name, const struct netr_SamInfo6 *r);
 _PUBLIC_ void ndr_print_netr_PacInfo(struct ndr_print *ndr, const char *name, const struct netr_PacInfo *r);
+_PUBLIC_ void ndr_print_netr_GenericInfo2(struct ndr_print *ndr, const char *name, const struct netr_GenericInfo2 *r);
 _PUBLIC_ enum ndr_err_code ndr_push_netr_Validation(struct ndr_push *ndr, int ndr_flags, const union netr_Validation *r);
 _PUBLIC_ enum ndr_err_code ndr_pull_netr_Validation(struct ndr_pull *ndr, int ndr_flags, union netr_Validation *r);
 _PUBLIC_ void ndr_print_netr_Validation(struct ndr_print *ndr, const char *name, const union netr_Validation *r);
@@ -2857,7 +2860,6 @@ _PUBLIC_ void ndr_print_netr_Credential(struct ndr_print *ndr, const char *name,
 _PUBLIC_ enum ndr_err_code ndr_push_netr_Authenticator(struct ndr_push *ndr, int ndr_flags, const struct netr_Authenticator *r);
 _PUBLIC_ enum ndr_err_code ndr_pull_netr_Authenticator(struct ndr_pull *ndr, int ndr_flags, struct netr_Authenticator *r);
 _PUBLIC_ void ndr_print_netr_Authenticator(struct ndr_print *ndr, const char *name, const struct netr_Authenticator *r);
-_PUBLIC_ void ndr_print_netr_LogonLevel(struct ndr_print *ndr, const char *name, enum netr_LogonLevel r);
 _PUBLIC_ void ndr_print_netr_DELTA_DELETE_USER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_USER *r);
 _PUBLIC_ void ndr_print_netr_USER_KEY16(struct ndr_print *ndr, const char *name, const struct netr_USER_KEY16 *r);
 _PUBLIC_ void ndr_print_netr_PasswordHistory(struct ndr_print *ndr, const char *name, const struct netr_PasswordHistory *r);
@@ -2905,16 +2907,22 @@ _PUBLIC_ void ndr_print_netr_DsR_DcFlags(struct ndr_print *ndr, const char *name
 _PUBLIC_ enum ndr_err_code ndr_push_netr_DsRGetDCNameInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRGetDCNameInfo *r);
 _PUBLIC_ enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRGetDCNameInfo *r);
 _PUBLIC_ void ndr_print_netr_DsRGetDCNameInfo(struct ndr_print *ndr, const char *name, const struct netr_DsRGetDCNameInfo *r);
+_PUBLIC_ void ndr_print_netr_TrustFlags(struct ndr_print *ndr, const char *name, uint32_t r);
 _PUBLIC_ void ndr_print_netr_BinaryString(struct ndr_print *ndr, const char *name, const struct netr_BinaryString *r);
 _PUBLIC_ void ndr_print_netr_DomainQuery1(struct ndr_print *ndr, const char *name, const struct netr_DomainQuery1 *r);
 _PUBLIC_ void ndr_print_netr_DomainQuery(struct ndr_print *ndr, const char *name, const union netr_DomainQuery *r);
+_PUBLIC_ void ndr_print_netr_trust_extension(struct ndr_print *ndr, const char *name, const struct netr_trust_extension *r);
+_PUBLIC_ void ndr_print_netr_trust_extension_container(struct ndr_print *ndr, const char *name, const struct netr_trust_extension_container *r);
 _PUBLIC_ void ndr_print_netr_DomainTrustInfo(struct ndr_print *ndr, const char *name, const struct netr_DomainTrustInfo *r);
+_PUBLIC_ void ndr_print_netr_LsaPolicyInfo(struct ndr_print *ndr, const char *name, const struct netr_LsaPolicyInfo *r);
+_PUBLIC_ enum ndr_err_code ndr_push_netr_WorkstationFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r);
+_PUBLIC_ enum ndr_err_code ndr_pull_netr_WorkstationFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r);
+_PUBLIC_ void ndr_print_netr_WorkstationFlags(struct ndr_print *ndr, const char *name, uint32_t r);
 _PUBLIC_ void ndr_print_netr_DomainInfo1(struct ndr_print *ndr, const char *name, const struct netr_DomainInfo1 *r);
 _PUBLIC_ void ndr_print_netr_DomainInfo(struct ndr_print *ndr, const char *name, const union netr_DomainInfo *r);
 _PUBLIC_ void ndr_print_netr_CryptPassword(struct ndr_print *ndr, const char *name, const struct netr_CryptPassword *r);
 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesWCtr(struct ndr_print *ndr, const char *name, const struct netr_DsRAddressToSitenamesWCtr *r);
 _PUBLIC_ void ndr_print_netr_DsRAddress(struct ndr_print *ndr, const char *name, const struct netr_DsRAddress *r);
-_PUBLIC_ void ndr_print_netr_TrustFlags(struct ndr_print *ndr, const char *name, uint32_t r);
 _PUBLIC_ void ndr_print_netr_TrustType(struct ndr_print *ndr, const char *name, enum netr_TrustType r);
 _PUBLIC_ void ndr_print_netr_TrustAttributes(struct ndr_print *ndr, const char *name, uint32_t r);
 _PUBLIC_ void ndr_print_netr_DomainTrust(struct ndr_print *ndr, const char *name, const struct netr_DomainTrust *r);
index d6ac8b9ede67b704b530ceeaec016a2d7e3322d8..941273bddc49219b2848010692f4ae64146ad86c 100644 (file)
@@ -110,8 +110,8 @@ NTSTATUS rpccli_netr_LogonSamLogon(struct rpc_pipe_client *cli,
                                   const char *computer_name /* [in] [unique,charset(UTF16)] */,
                                   struct netr_Authenticator *credential /* [in] [unique] */,
                                   struct netr_Authenticator *return_authenticator /* [in,out] [unique] */,
-                                  enum netr_LogonLevel logon_level /* [in]  */,
-                                  union netr_LogonInfo *logon /* [in] [ref,switch_is(logon_level)] */,
+                                  enum netr_LogonInfoClass logon_level /* [in]  */,
+                                  union netr_LogonLevel *logon /* [in] [ref,switch_is(logon_level)] */,
                                   uint16_t validation_level /* [in]  */,
                                   union netr_Validation *validation /* [out] [ref,switch_is(validation_level)] */,
                                   uint8_t *authoritative /* [out] [ref] */)
@@ -167,8 +167,8 @@ NTSTATUS rpccli_netr_LogonSamLogoff(struct rpc_pipe_client *cli,
                                    const char *computer_name /* [in] [unique,charset(UTF16)] */,
                                    struct netr_Authenticator *credential /* [in] [unique] */,
                                    struct netr_Authenticator *return_authenticator /* [in,out] [unique] */,
-                                   enum netr_LogonLevel logon_level /* [in]  */,
-                                   union netr_LogonInfo logon /* [in] [switch_is(logon_level)] */)
+                                   enum netr_LogonInfoClass logon_level /* [in]  */,
+                                   union netr_LogonLevel logon /* [in] [switch_is(logon_level)] */)
 {
        struct netr_LogonSamLogoff r;
        NTSTATUS status;
@@ -1934,8 +1934,8 @@ NTSTATUS rpccli_netr_LogonSamLogonEx(struct rpc_pipe_client *cli,
                                     TALLOC_CTX *mem_ctx,
                                     const char *server_name /* [in] [unique,charset(UTF16)] */,
                                     const char *computer_name /* [in] [unique,charset(UTF16)] */,
-                                    enum netr_LogonLevel logon_level /* [in]  */,
-                                    union netr_LogonInfo *logon /* [in] [ref,switch_is(logon_level)] */,
+                                    enum netr_LogonInfoClass logon_level /* [in]  */,
+                                    union netr_LogonLevel *logon /* [in] [ref,switch_is(logon_level)] */,
                                     uint16_t validation_level /* [in]  */,
                                     union netr_Validation *validation /* [out] [ref,switch_is(validation_level)] */,
                                     uint8_t *authoritative /* [out] [ref] */,
@@ -2241,8 +2241,8 @@ NTSTATUS rpccli_netr_LogonSamLogonWithFlags(struct rpc_pipe_client *cli,
                                            const char *computer_name /* [in] [unique,charset(UTF16)] */,
                                            struct netr_Authenticator *credential /* [in] [unique] */,
                                            struct netr_Authenticator *return_authenticator /* [in,out] [unique] */,
-                                           enum netr_LogonLevel logon_level /* [in]  */,
-                                           union netr_LogonInfo logon /* [in] [switch_is(logon_level)] */,
+                                           enum netr_LogonInfoClass logon_level /* [in]  */,
+                                           union netr_LogonLevel logon /* [in] [switch_is(logon_level)] */,
                                            uint16_t validation_level /* [in]  */,
                                            union netr_Validation *validation /* [out] [ref,switch_is(validation_level)] */,
                                            uint8_t *authoritative /* [out] [ref] */,
index 2033315a5d5fb9b824222fb6c71f1b92f0650f15..0a0cfdf6e418fe443f34bbc8efbf8212d3f94616 100644 (file)
@@ -21,8 +21,8 @@ NTSTATUS rpccli_netr_LogonSamLogon(struct rpc_pipe_client *cli,
                                   const char *computer_name /* [in] [unique,charset(UTF16)] */,
                                   struct netr_Authenticator *credential /* [in] [unique] */,
                                   struct netr_Authenticator *return_authenticator /* [in,out] [unique] */,
-                                  enum netr_LogonLevel logon_level /* [in]  */,
-                                  union netr_LogonInfo *logon /* [in] [ref,switch_is(logon_level)] */,
+                                  enum netr_LogonInfoClass logon_level /* [in]  */,
+                                  union netr_LogonLevel *logon /* [in] [ref,switch_is(logon_level)] */,
                                   uint16_t validation_level /* [in]  */,
                                   union netr_Validation *validation /* [out] [ref,switch_is(validation_level)] */,
                                   uint8_t *authoritative /* [out] [ref] */);
@@ -32,8 +32,8 @@ NTSTATUS rpccli_netr_LogonSamLogoff(struct rpc_pipe_client *cli,
                                    const char *computer_name /* [in] [unique,charset(UTF16)] */,
                                    struct netr_Authenticator *credential /* [in] [unique] */,
                                    struct netr_Authenticator *return_authenticator /* [in,out] [unique] */,
-                                   enum netr_LogonLevel logon_level /* [in]  */,
-                                   union netr_LogonInfo logon /* [in] [switch_is(logon_level)] */);
+                                   enum netr_LogonInfoClass logon_level /* [in]  */,
+                                   union netr_LogonLevel logon /* [in] [switch_is(logon_level)] */);
 NTSTATUS rpccli_netr_ServerReqChallenge(struct rpc_pipe_client *cli,
                                        TALLOC_CTX *mem_ctx,
                                        const char *server_name /* [in] [unique,charset(UTF16)] */,
@@ -297,8 +297,8 @@ NTSTATUS rpccli_netr_LogonSamLogonEx(struct rpc_pipe_client *cli,
                                     TALLOC_CTX *mem_ctx,
                                     const char *server_name /* [in] [unique,charset(UTF16)] */,
                                     const char *computer_name /* [in] [unique,charset(UTF16)] */,
-                                    enum netr_LogonLevel logon_level /* [in]  */,
-                                    union netr_LogonInfo *logon /* [in] [ref,switch_is(logon_level)] */,
+                                    enum netr_LogonInfoClass logon_level /* [in]  */,
+                                    union netr_LogonLevel *logon /* [in] [ref,switch_is(logon_level)] */,
                                     uint16_t validation_level /* [in]  */,
                                     union netr_Validation *validation /* [out] [ref,switch_is(validation_level)] */,
                                     uint8_t *authoritative /* [out] [ref] */,
@@ -349,8 +349,8 @@ NTSTATUS rpccli_netr_LogonSamLogonWithFlags(struct rpc_pipe_client *cli,
                                            const char *computer_name /* [in] [unique,charset(UTF16)] */,
                                            struct netr_Authenticator *credential /* [in] [unique] */,
                                            struct netr_Authenticator *return_authenticator /* [in,out] [unique] */,
-                                           enum netr_LogonLevel logon_level /* [in]  */,
-                                           union netr_LogonInfo logon /* [in] [switch_is(logon_level)] */,
+                                           enum netr_LogonInfoClass logon_level /* [in]  */,
+                                           union netr_LogonLevel logon /* [in] [switch_is(logon_level)] */,
                                            uint16_t validation_level /* [in]  */,
                                            union netr_Validation *validation /* [out] [ref,switch_is(validation_level)] */,
                                            uint8_t *authoritative /* [out] [ref] */,
index a3066fa4017d33bfa76c9fdb85fd6a8fb8993ed0..169d35e326d727fb2816e58ca0971ba1b721df22 100644 (file)
@@ -538,32 +538,155 @@ _PUBLIC_ void ndr_print_netr_NetworkInfo(struct ndr_print *ndr, const char *name
        }
 }
 
-_PUBLIC_ enum ndr_err_code ndr_push_netr_LogonInfo(struct ndr_push *ndr, int ndr_flags, const union netr_LogonInfo *r)
+static enum ndr_err_code ndr_push_netr_GenericInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_GenericInfo *r)
+{
+       {
+               uint32_t _flags_save_STRUCT = ndr->flags;
+               ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
+               if (ndr_flags & NDR_SCALARS) {
+                       NDR_CHECK(ndr_push_align(ndr, 4));
+                       NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
+                       NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->package_name));
+                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
+                       NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
+               }
+               if (ndr_flags & NDR_BUFFERS) {
+                       NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
+                       NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->package_name));
+                       if (r->data) {
+                               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
+                               NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
+                       }
+               }
+               ndr->flags = _flags_save_STRUCT;
+       }
+       return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_netr_GenericInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_GenericInfo *r)
+{
+       uint32_t _ptr_data;
+       TALLOC_CTX *_mem_save_data_0;
+       {
+               uint32_t _flags_save_STRUCT = ndr->flags;
+               ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
+               if (ndr_flags & NDR_SCALARS) {
+                       NDR_CHECK(ndr_pull_align(ndr, 4));
+                       NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
+                       NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->package_name));
+                       NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
+                       NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
+                       if (_ptr_data) {
+                               NDR_PULL_ALLOC(ndr, r->data);
+                       } else {
+                               r->data = NULL;
+                       }
+               }
+               if (ndr_flags & NDR_BUFFERS) {
+                       NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
+                       NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->package_name));
+                       if (r->data) {
+                               _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
+                               NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
+                               NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
+                               NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
+                               NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
+                               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
+                       }
+                       if (r->data) {
+                               NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
+                       }
+               }
+               ndr->flags = _flags_save_STRUCT;
+       }
+       return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_netr_GenericInfo(struct ndr_print *ndr, const char *name, const struct netr_GenericInfo *r)
+{
+       ndr_print_struct(ndr, name, "netr_GenericInfo");
+       {
+               uint32_t _flags_save_STRUCT = ndr->flags;
+               ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
+               ndr->depth++;
+               ndr_print_netr_IdentityInfo(ndr, "identity_info", &r->identity_info);
+               ndr_print_lsa_String(ndr, "package_name", &r->package_name);
+               ndr_print_uint32(ndr, "length", r->length);
+               ndr_print_ptr(ndr, "data", r->data);
+               ndr->depth++;
+               if (r->data) {
+                       ndr_print_array_uint8(ndr, "data", r->data, r->length);
+               }
+               ndr->depth--;
+               ndr->depth--;
+               ndr->flags = _flags_save_STRUCT;
+       }
+}
+
+static enum ndr_err_code ndr_push_netr_LogonInfoClass(struct ndr_push *ndr, int ndr_flags, enum netr_LogonInfoClass r)
+{
+       NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
+       return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_netr_LogonInfoClass(struct ndr_pull *ndr, int ndr_flags, enum netr_LogonInfoClass *r)
+{
+       uint16_t v;
+       NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
+       *r = v;
+       return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_netr_LogonInfoClass(struct ndr_print *ndr, const char *name, enum netr_LogonInfoClass r)
+{
+       const char *val = NULL;
+
+       switch (r) {
+               case NetlogonInteractiveInformation: val = "NetlogonInteractiveInformation"; break;
+               case NetlogonNetworkInformation: val = "NetlogonNetworkInformation"; break;
+               case NetlogonServiceInformation: val = "NetlogonServiceInformation"; break;
+               case NetlogonGenericInformation: val = "NetlogonGenericInformation"; break;
+               case NetlogonInteractiveTransitiveInformation: val = "NetlogonInteractiveTransitiveInformation"; break;
+               case NetlogonNetworkTransitiveInformation: val = "NetlogonNetworkTransitiveInformation"; break;
+               case NetlogonServiceTransitiveInformation: val = "NetlogonServiceTransitiveInformation"; break;
+       }
+       ndr_print_enum(ndr, name, "ENUM", val, r);
+}
+
+_PUBLIC_ enum ndr_err_code ndr_push_netr_LogonLevel(struct ndr_push *ndr, int ndr_flags, const union netr_LogonLevel *r)
 {
        if (ndr_flags & NDR_SCALARS) {
                int level = ndr_push_get_switch_value(ndr, r);
-               NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
+               NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, level));
                switch (level) {
-                       case 1: {
+                       case NetlogonInteractiveInformation: {
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
                        break; }
 
-                       case 2: {
+                       case NetlogonNetworkInformation: {
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->network));
                        break; }
 
-                       case 3: {
+                       case NetlogonServiceInformation: {
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
                        break; }
 
-                       case 5: {
+                       case NetlogonGenericInformation: {
+                               NDR_CHECK(ndr_push_unique_ptr(ndr, r->generic));
+                       break; }
+
+                       case NetlogonInteractiveTransitiveInformation: {
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
                        break; }
 
-                       case 6: {
+                       case NetlogonNetworkTransitiveInformation: {
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->network));
                        break; }
 
+                       case NetlogonServiceTransitiveInformation: {
+                               NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
+                       break; }
+
                        default:
                                return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
                }
@@ -571,36 +694,48 @@ _PUBLIC_ enum ndr_err_code ndr_push_netr_LogonInfo(struct ndr_push *ndr, int ndr
        if (ndr_flags & NDR_BUFFERS) {
                int level = ndr_push_get_switch_value(ndr, r);
                switch (level) {
-                       case 1:
+                       case NetlogonInteractiveInformation:
                                if (r->password) {
                                        NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
                                }
                        break;
 
-                       case 2:
+                       case NetlogonNetworkInformation:
                                if (r->network) {
                                        NDR_CHECK(ndr_push_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
                                }
                        break;
 
-                       case 3:
+                       case NetlogonServiceInformation:
                                if (r->password) {
                                        NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
                                }
                        break;
 
-                       case 5:
+                       case NetlogonGenericInformation:
+                               if (r->generic) {
+                                       NDR_CHECK(ndr_push_netr_GenericInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->generic));
+                               }
+                       break;
+
+                       case NetlogonInteractiveTransitiveInformation:
                                if (r->password) {
                                        NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
                                }
                        break;
 
-                       case 6:
+                       case NetlogonNetworkTransitiveInformation:
                                if (r->network) {
                                        NDR_CHECK(ndr_push_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
                                }
                        break;
 
+                       case NetlogonServiceTransitiveInformation:
+                               if (r->password) {
+                                       NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
+                               }
+                       break;
+
                        default:
                                return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
                }
@@ -608,12 +743,13 @@ _PUBLIC_ enum ndr_err_code ndr_push_netr_LogonInfo(struct ndr_push *ndr, int ndr
        return NDR_ERR_SUCCESS;
 }
 
-_PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonInfo(struct ndr_pull *ndr, int ndr_flags, union netr_LogonInfo *r)
+_PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonLevel(struct ndr_pull *ndr, int ndr_flags, union netr_LogonLevel *r)
 {
        int level;
        uint16_t _level;
        TALLOC_CTX *_mem_save_password_0;
        TALLOC_CTX *_mem_save_network_0;
+       TALLOC_CTX *_mem_save_generic_0;
        level = ndr_pull_get_switch_value(ndr, r);
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
@@ -621,7 +757,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonInfo(struct ndr_pull *ndr, int ndr
                        return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
                }
                switch (level) {
-                       case 1: {
+                       case NetlogonInteractiveInformation: {
                                uint32_t _ptr_password;
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
                                if (_ptr_password) {
@@ -631,7 +767,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonInfo(struct ndr_pull *ndr, int ndr
                                }
                        break; }
 
-                       case 2: {
+                       case NetlogonNetworkInformation: {
                                uint32_t _ptr_network;
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_network));
                                if (_ptr_network) {
@@ -641,7 +777,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonInfo(struct ndr_pull *ndr, int ndr
                                }
                        break; }
 
-                       case 3: {
+                       case NetlogonServiceInformation: {
                                uint32_t _ptr_password;
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
                                if (_ptr_password) {
@@ -651,7 +787,17 @@ _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonInfo(struct ndr_pull *ndr, int ndr
                                }
                        break; }
 
-                       case 5: {
+                       case NetlogonGenericInformation: {
+                               uint32_t _ptr_generic;
+                               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_generic));
+                               if (_ptr_generic) {
+                                       NDR_PULL_ALLOC(ndr, r->generic);
+                               } else {
+                                       r->generic = NULL;
+                               }
+                       break; }
+
+                       case NetlogonInteractiveTransitiveInformation: {
                                uint32_t _ptr_password;
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
                                if (_ptr_password) {
@@ -661,7 +807,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonInfo(struct ndr_pull *ndr, int ndr
                                }
                        break; }
 
-                       case 6: {
+                       case NetlogonNetworkTransitiveInformation: {
                                uint32_t _ptr_network;
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_network));
                                if (_ptr_network) {
@@ -671,13 +817,23 @@ _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonInfo(struct ndr_pull *ndr, int ndr
                                }
                        break; }
 
+                       case NetlogonServiceTransitiveInformation: {
+                               uint32_t _ptr_password;
+                               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
+                               if (_ptr_password) {
+                                       NDR_PULL_ALLOC(ndr, r->password);
+                               } else {
+                                       r->password = NULL;
+                               }
+                       break; }
+
                        default:
                                return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
                }
        }
        if (ndr_flags & NDR_BUFFERS) {
                switch (level) {
-                       case 1:
+                       case NetlogonInteractiveInformation:
                                if (r->password) {
                                        _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
                                        NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
@@ -686,7 +842,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonInfo(struct ndr_pull *ndr, int ndr
                                }
                        break;
 
-                       case 2:
+                       case NetlogonNetworkInformation:
                                if (r->network) {
                                        _mem_save_network_0 = NDR_PULL_GET_MEM_CTX(ndr);
                                        NDR_PULL_SET_MEM_CTX(ndr, r->network, 0);
@@ -695,7 +851,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonInfo(struct ndr_pull *ndr, int ndr
                                }
                        break;
 
-                       case 3:
+                       case NetlogonServiceInformation:
                                if (r->password) {
                                        _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
                                        NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
@@ -704,7 +860,16 @@ _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonInfo(struct ndr_pull *ndr, int ndr
                                }
                        break;
 
-                       case 5:
+                       case NetlogonGenericInformation:
+                               if (r->generic) {
+                                       _mem_save_generic_0 = NDR_PULL_GET_MEM_CTX(ndr);
+                                       NDR_PULL_SET_MEM_CTX(ndr, r->generic, 0);
+                                       NDR_CHECK(ndr_pull_netr_GenericInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->generic));
+                                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_generic_0, 0);
+                               }
+                       break;
+
+                       case NetlogonInteractiveTransitiveInformation:
                                if (r->password) {
                                        _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
                                        NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
@@ -713,7 +878,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonInfo(struct ndr_pull *ndr, int ndr
                                }
                        break;
 
-                       case 6:
+                       case NetlogonNetworkTransitiveInformation:
                                if (r->network) {
                                        _mem_save_network_0 = NDR_PULL_GET_MEM_CTX(ndr);
                                        NDR_PULL_SET_MEM_CTX(ndr, r->network, 0);
@@ -722,6 +887,15 @@ _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonInfo(struct ndr_pull *ndr, int ndr
                                }
                        break;
 
+                       case NetlogonServiceTransitiveInformation:
+                               if (r->password) {
+                                       _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
+                                       NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
+                                       NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
+                                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
+                               }
+                       break;
+
                        default:
                                return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
                }
@@ -729,13 +903,13 @@ _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonInfo(struct ndr_pull *ndr, int ndr
        return NDR_ERR_SUCCESS;
 }
 
-_PUBLIC_ void ndr_print_netr_LogonInfo(struct ndr_print *ndr, const char *name, const union netr_LogonInfo *r)
+_PUBLIC_ void ndr_print_netr_LogonLevel(struct ndr_print *ndr, const char *name, const union netr_LogonLevel *r)
 {
        int level;
        level = ndr_print_get_switch_value(ndr, r);
-       ndr_print_union(ndr, name, level, "netr_LogonInfo");
+       ndr_print_union(ndr, name, level, "netr_LogonLevel");
        switch (level) {
-               case 1:
+               case NetlogonInteractiveInformation:
                        ndr_print_ptr(ndr, "password", r->password);
                        ndr->depth++;
                        if (r->password) {
@@ -744,7 +918,7 @@ _PUBLIC_ void ndr_print_netr_LogonInfo(struct ndr_print *ndr, const char *name,
                        ndr->depth--;
                break;
 
-               case 2:
+               case NetlogonNetworkInformation:
                        ndr_print_ptr(ndr, "network", r->network);
                        ndr->depth++;
                        if (r->network) {
@@ -753,7 +927,7 @@ _PUBLIC_ void ndr_print_netr_LogonInfo(struct ndr_print *ndr, const char *name,
                        ndr->depth--;
                break;
 
-               case 3:
+               case NetlogonServiceInformation:
                        ndr_print_ptr(ndr, "password", r->password);
                        ndr->depth++;
                        if (r->password) {
@@ -762,7 +936,16 @@ _PUBLIC_ void ndr_print_netr_LogonInfo(struct ndr_print *ndr, const char *name,
                        ndr->depth--;
                break;
 
-               case 5:
+               case NetlogonGenericInformation:
+                       ndr_print_ptr(ndr, "generic", r->generic);
+                       ndr->depth++;
+                       if (r->generic) {
+                               ndr_print_netr_GenericInfo(ndr, "generic", r->generic);
+                       }
+                       ndr->depth--;
+               break;
+
+               case NetlogonInteractiveTransitiveInformation:
                        ndr_print_ptr(ndr, "password", r->password);
                        ndr->depth++;
                        if (r->password) {
@@ -771,7 +954,7 @@ _PUBLIC_ void ndr_print_netr_LogonInfo(struct ndr_print *ndr, const char *name,
                        ndr->depth--;
                break;
 
-               case 6:
+               case NetlogonNetworkTransitiveInformation:
                        ndr_print_ptr(ndr, "network", r->network);
                        ndr->depth++;
                        if (r->network) {
@@ -780,6 +963,15 @@ _PUBLIC_ void ndr_print_netr_LogonInfo(struct ndr_print *ndr, const char *name,
                        ndr->depth--;
                break;
 
+               case NetlogonServiceTransitiveInformation:
+                       ndr_print_ptr(ndr, "password", r->password);
+                       ndr->depth++;
+                       if (r->password) {
+                               ndr_print_netr_PasswordInfo(ndr, "password", r->password);
+                       }
+                       ndr->depth--;
+               break;
+
                default:
                        ndr_print_bad_level(ndr, name, level);
        }
@@ -1511,17 +1703,92 @@ _PUBLIC_ void ndr_print_netr_PacInfo(struct ndr_print *ndr, const char *name, co
        ndr->depth--;
 }
 
+static enum ndr_err_code ndr_push_netr_GenericInfo2(struct ndr_push *ndr, int ndr_flags, const struct netr_GenericInfo2 *r)
+{
+       {
+               uint32_t _flags_save_STRUCT = ndr->flags;
+               ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
+               if (ndr_flags & NDR_SCALARS) {
+                       NDR_CHECK(ndr_push_align(ndr, 4));
+                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
+                       NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
+               }
+               if (ndr_flags & NDR_BUFFERS) {
+                       if (r->data) {
+                               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
+                               NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
+                       }
+               }
+               ndr->flags = _flags_save_STRUCT;
+       }
+       return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_netr_GenericInfo2(struct ndr_pull *ndr, int ndr_flags, struct netr_GenericInfo2 *r)
+{
+       uint32_t _ptr_data;
+       TALLOC_CTX *_mem_save_data_0;
+       {
+               uint32_t _flags_save_STRUCT = ndr->flags;
+               ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
+               if (ndr_flags & NDR_SCALARS) {
+                       NDR_CHECK(ndr_pull_align(ndr, 4));
+                       NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
+                       NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
+                       if (_ptr_data) {
+                               NDR_PULL_ALLOC(ndr, r->data);
+                       } else {
+                               r->data = NULL;
+                       }
+               }
+               if (ndr_flags & NDR_BUFFERS) {
+                       if (r->data) {
+                               _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
+                               NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
+                               NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
+                               NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
+                               NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
+                               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
+                       }
+                       if (r->data) {
+                               NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
+                       }
+               }
+               ndr->flags = _flags_save_STRUCT;
+       }
+       return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_netr_GenericInfo2(struct ndr_print *ndr, const char *name, const struct netr_GenericInfo2 *r)
+{
+       ndr_print_struct(ndr, name, "netr_GenericInfo2");
+       {
+               uint32_t _flags_save_STRUCT = ndr->flags;
+               ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
+               ndr->depth++;
+               ndr_print_uint32(ndr, "length", r->length);
+               ndr_print_ptr(ndr, "data", r->data);
+               ndr->depth++;
+               if (r->data) {
+                       ndr_print_array_uint8(ndr, "data", r->data, r->length);
+               }
+               ndr->depth--;
+               ndr->depth--;
+               ndr->flags = _flags_save_STRUCT;
+       }
+}
+
 _PUBLIC_ enum ndr_err_code ndr_push_netr_Validation(struct ndr_push *ndr, int ndr_flags, const union netr_Validation *r)
 {
        if (ndr_flags & NDR_SCALARS) {
                int level = ndr_push_get_switch_value(ndr, r);
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
                switch (level) {
-                       case 2: {
+                       case NetlogonValidationSamInfo: {
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam2));
                        break; }
 
-                       case 3: {
+                       case NetlogonValidationSamInfo2: {
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam3));
                        break; }
 
@@ -1529,11 +1796,11 @@ _PUBLIC_ enum ndr_err_code ndr_push_netr_Validation(struct ndr_push *ndr, int nd
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->pac));
                        break; }
 
-                       case 5: {
-                               NDR_CHECK(ndr_push_unique_ptr(ndr, r->pac));
+                       case NetlogonValidationGenericInfo2: {
+                               NDR_CHECK(ndr_push_unique_ptr(ndr, r->generic));
                        break; }
 
-                       case 6: {
+                       case NetlogonValidationSamInfo4: {
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam6));
                        break; }
 
@@ -1544,13 +1811,13 @@ _PUBLIC_ enum ndr_err_code ndr_push_netr_Validation(struct ndr_push *ndr, int nd
        if (ndr_flags & NDR_BUFFERS) {
                int level = ndr_push_get_switch_value(ndr, r);
                switch (level) {
-                       case 2:
+                       case NetlogonValidationSamInfo:
                                if (r->sam2) {
                                        NDR_CHECK(ndr_push_netr_SamInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam2));
                                }
                        break;
 
-                       case 3:
+                       case NetlogonValidationSamInfo2:
                                if (r->sam3) {
                                        NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam3));
                                }
@@ -1562,13 +1829,13 @@ _PUBLIC_ enum ndr_err_code ndr_push_netr_Validation(struct ndr_push *ndr, int nd
                                }
                        break;
 
-                       case 5:
-                               if (r->pac) {
-                                       NDR_CHECK(ndr_push_netr_PacInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->pac));
+                       case NetlogonValidationGenericInfo2:
+                               if (r->generic) {
+                                       NDR_CHECK(ndr_push_netr_GenericInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->generic));
                                }
                        break;
 
-                       case 6:
+                       case NetlogonValidationSamInfo4:
                                if (r->sam6) {
                                        NDR_CHECK(ndr_push_netr_SamInfo6(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam6));
                                }
@@ -1588,6 +1855,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_netr_Validation(struct ndr_pull *ndr, int nd
        TALLOC_CTX *_mem_save_sam2_0;
        TALLOC_CTX *_mem_save_sam3_0;
        TALLOC_CTX *_mem_save_pac_0;
+       TALLOC_CTX *_mem_save_generic_0;
        TALLOC_CTX *_mem_save_sam6_0;
        level = ndr_pull_get_switch_value(ndr, r);
        if (ndr_flags & NDR_SCALARS) {
@@ -1596,7 +1864,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_netr_Validation(struct ndr_pull *ndr, int nd
                        return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
                }
                switch (level) {
-                       case 2: {
+                       case NetlogonValidationSamInfo: {
                                uint32_t _ptr_sam2;
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam2));
                                if (_ptr_sam2) {
@@ -1606,7 +1874,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_netr_Validation(struct ndr_pull *ndr, int nd
                                }
                        break; }
 
-                       case 3: {
+                       case NetlogonValidationSamInfo2: {
                                uint32_t _ptr_sam3;
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam3));
                                if (_ptr_sam3) {
@@ -1626,17 +1894,17 @@ _PUBLIC_ enum ndr_err_code ndr_pull_netr_Validation(struct ndr_pull *ndr, int nd
                                }
                        break; }
 
-                       case 5: {
-                               uint32_t _ptr_pac;
-                               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pac));
-                               if (_ptr_pac) {
-                                       NDR_PULL_ALLOC(ndr, r->pac);
+                       case NetlogonValidationGenericInfo2: {
+                               uint32_t _ptr_generic;
+                               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_generic));
+                               if (_ptr_generic) {
+                                       NDR_PULL_ALLOC(ndr, r->generic);
                                } else {
-                                       r->pac = NULL;
+                                       r->generic = NULL;
                                }
                        break; }
 
-                       case 6: {
+                       case NetlogonValidationSamInfo4: {
                                uint32_t _ptr_sam6;
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam6));
                                if (_ptr_sam6) {
@@ -1652,7 +1920,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_netr_Validation(struct ndr_pull *ndr, int nd
        }
        if (ndr_flags & NDR_BUFFERS) {
                switch (level) {
-                       case 2:
+                       case NetlogonValidationSamInfo:
                                if (r->sam2) {
                                        _mem_save_sam2_0 = NDR_PULL_GET_MEM_CTX(ndr);
                                        NDR_PULL_SET_MEM_CTX(ndr, r->sam2, 0);
@@ -1661,7 +1929,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_netr_Validation(struct ndr_pull *ndr, int nd
                                }
                        break;
 
-                       case 3:
+                       case NetlogonValidationSamInfo2:
                                if (r->sam3) {
                                        _mem_save_sam3_0 = NDR_PULL_GET_MEM_CTX(ndr);
                                        NDR_PULL_SET_MEM_CTX(ndr, r->sam3, 0);
@@ -1679,16 +1947,16 @@ _PUBLIC_ enum ndr_err_code ndr_pull_netr_Validation(struct ndr_pull *ndr, int nd
                                }
                        break;
 
-                       case 5:
-                               if (r->pac) {
-                                       _mem_save_pac_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                                       NDR_PULL_SET_MEM_CTX(ndr, r->pac, 0);
-                                       NDR_CHECK(ndr_pull_netr_PacInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->pac));
-                                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pac_0, 0);
+                       case NetlogonValidationGenericInfo2:
+                               if (r->generic) {
+                                       _mem_save_generic_0 = NDR_PULL_GET_MEM_CTX(ndr);
+                                       NDR_PULL_SET_MEM_CTX(ndr, r->generic, 0);
+                                       NDR_CHECK(ndr_pull_netr_GenericInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->generic));
+                                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_generic_0, 0);
                                }
                        break;
 
-                       case 6:
+                       case NetlogonValidationSamInfo4:
                                if (r->sam6) {
                                        _mem_save_sam6_0 = NDR_PULL_GET_MEM_CTX(ndr);
                                        NDR_PULL_SET_MEM_CTX(ndr, r->sam6, 0);
@@ -1710,7 +1978,7 @@ _PUBLIC_ void ndr_print_netr_Validation(struct ndr_print *ndr, const char *name,
        level = ndr_print_get_switch_value(ndr, r);
        ndr_print_union(ndr, name, level, "netr_Validation");
        switch (level) {
-               case 2:
+               case NetlogonValidationSamInfo:
                        ndr_print_ptr(ndr, "sam2", r->sam2);
                        ndr->depth++;
                        if (r->sam2) {
@@ -1719,7 +1987,7 @@ _PUBLIC_ void ndr_print_netr_Validation(struct ndr_print *ndr, const char *name,
                        ndr->depth--;
                break;
 
-               case 3:
+               case NetlogonValidationSamInfo2:
                        ndr_print_ptr(ndr, "sam3", r->sam3);
                        ndr->depth++;
                        if (r->sam3) {
@@ -1737,16 +2005,16 @@ _PUBLIC_ void ndr_print_netr_Validation(struct ndr_print *ndr, const char *name,
                        ndr->depth--;
                break;
 
-               case 5:
-                       ndr_print_ptr(ndr, "pac", r->pac);
+               case NetlogonValidationGenericInfo2:
+                       ndr_print_ptr(ndr, "generic", r->generic);
                        ndr->depth++;
-                       if (r->pac) {
-                               ndr_print_netr_PacInfo(ndr, "pac", r->pac);
+                       if (r->generic) {
+                               ndr_print_netr_GenericInfo2(ndr, "generic", r->generic);
                        }
                        ndr->depth--;
                break;
 
-               case 6:
+               case NetlogonValidationSamInfo4:
                        ndr_print_ptr(ndr, "sam6", r->sam6);
                        ndr->depth++;
                        if (r->sam6) {
@@ -1838,31 +2106,6 @@ _PUBLIC_ void ndr_print_netr_Authenticator(struct ndr_print *ndr, const char *na
        ndr->depth--;
 }
 
-static enum ndr_err_code ndr_push_netr_LogonLevel(struct ndr_push *ndr, int ndr_flags, enum netr_LogonLevel r)
-{
-       NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_netr_LogonLevel(struct ndr_pull *ndr, int ndr_flags, enum netr_LogonLevel *r)
-{
-       uint16_t v;
-       NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
-       *r = v;
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_netr_LogonLevel(struct ndr_print *ndr, const char *name, enum netr_LogonLevel r)
-{
-       const char *val = NULL;
-
-       switch (r) {
-               case INTERACTIVE_LOGON_TYPE: val = "INTERACTIVE_LOGON_TYPE"; break;
-               case NET_LOGON_TYPE: val = "NET_LOGON_TYPE"; break;
-       }
-       ndr_print_enum(ndr, name, "ENUM", val, r);
-}
-
 static enum ndr_err_code ndr_push_netr_DELTA_DELETE_USER(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_DELETE_USER *r)
 {
        if (ndr_flags & NDR_SCALARS) {
@@ -2404,7 +2647,7 @@ static enum ndr_err_code ndr_push_netr_DELTA_DOMAIN(struct ndr_push *ndr, int nd
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_push_align(ndr, 4));
                NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment));
+               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->oem_information));
                NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->force_logoff_time));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->min_password_length));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->password_history_length));
@@ -2425,7 +2668,7 @@ static enum ndr_err_code ndr_push_netr_DELTA_DOMAIN(struct ndr_push *ndr, int nd
        }
        if (ndr_flags & NDR_BUFFERS) {
                NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment));
+               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->oem_information));
                NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
                NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->account_lockout));
                NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
@@ -2440,7 +2683,7 @@ static enum ndr_err_code ndr_pull_netr_DELTA_DOMAIN(struct ndr_pull *ndr, int nd
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_pull_align(ndr, 4));
                NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment));
+               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->oem_information));
                NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->force_logoff_time));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->min_password_length));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->password_history_length));
@@ -2461,7 +2704,7 @@ static enum ndr_err_code ndr_pull_netr_DELTA_DOMAIN(struct ndr_pull *ndr, int nd
        }
        if (ndr_flags & NDR_BUFFERS) {
                NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment));
+               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->oem_information));
                NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
                NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->account_lockout));
                NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
@@ -2476,7 +2719,7 @@ _PUBLIC_ void ndr_print_netr_DELTA_DOMAIN(struct ndr_print *ndr, const char *nam
        ndr_print_struct(ndr, name, "netr_DELTA_DOMAIN");
        ndr->depth++;
        ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
-       ndr_print_lsa_String(ndr, "comment", &r->comment);
+       ndr_print_lsa_String(ndr, "oem_information", &r->oem_information);
        ndr_print_dlong(ndr, "force_logoff_time", r->force_logoff_time);
        ndr_print_uint16(ndr, "min_password_length", r->min_password_length);
        ndr_print_uint16(ndr, "password_history_length", r->password_history_length);
@@ -8449,12 +8692,12 @@ static enum ndr_err_code ndr_push_netr_LogonSamLogon(struct ndr_push *ndr, int f
                if (r->in.return_authenticator) {
                        NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
                }
-               NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS, r->in.logon_level));
+               NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, r->in.logon_level));
                if (r->in.logon == NULL) {
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
                }
                NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level));
-               NDR_CHECK(ndr_push_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
+               NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
        }
        if (flags & NDR_OUT) {
@@ -8552,14 +8795,14 @@ static enum ndr_err_code ndr_pull_netr_LogonSamLogon(struct ndr_pull *ndr, int f
                        NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
                }
-               NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS, &r->in.logon_level));
+               NDR_CHECK(ndr_pull_netr_LogonInfoClass(ndr, NDR_SCALARS, &r->in.logon_level));
                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
                        NDR_PULL_ALLOC(ndr, r->in.logon);
                }
                _mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr);
                NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC);
                NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level));
-               NDR_CHECK(ndr_pull_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
+               NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC);
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
                NDR_PULL_ALLOC(ndr, r->out.validation);
@@ -8634,11 +8877,11 @@ _PUBLIC_ void ndr_print_netr_LogonSamLogon(struct ndr_print *ndr, const char *na
                        ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
                }
                ndr->depth--;
-               ndr_print_netr_LogonLevel(ndr, "logon_level", r->in.logon_level);
+               ndr_print_netr_LogonInfoClass(ndr, "logon_level", r->in.logon_level);
                ndr_print_ptr(ndr, "logon", r->in.logon);
                ndr->depth++;
                ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level);
-               ndr_print_netr_LogonInfo(ndr, "logon", r->in.logon);
+               ndr_print_netr_LogonLevel(ndr, "logon", r->in.logon);
                ndr->depth--;
                ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
                ndr->depth--;
@@ -8692,9 +8935,9 @@ static enum ndr_err_code ndr_push_netr_LogonSamLogoff(struct ndr_push *ndr, int
                if (r->in.return_authenticator) {
                        NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
                }
-               NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS, r->in.logon_level));
+               NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, r->in.logon_level));
                NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
-               NDR_CHECK(ndr_push_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
+               NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
        }
        if (flags & NDR_OUT) {
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
@@ -8779,9 +9022,9 @@ static enum ndr_err_code ndr_pull_netr_LogonSamLogoff(struct ndr_pull *ndr, int
                        NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
                }
-               NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS, &r->in.logon_level));
+               NDR_CHECK(ndr_pull_netr_LogonInfoClass(ndr, NDR_SCALARS, &r->in.logon_level));
                NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
-               NDR_CHECK(ndr_pull_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
+               NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
        }
        if (flags & NDR_OUT) {
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
@@ -8835,9 +9078,9 @@ _PUBLIC_ void ndr_print_netr_LogonSamLogoff(struct ndr_print *ndr, const char *n
                        ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
                }
                ndr->depth--;
-               ndr_print_netr_LogonLevel(ndr, "logon_level", r->in.logon_level);
+               ndr_print_netr_LogonInfoClass(ndr, "logon_level", r->in.logon_level);
                ndr_print_set_switch_value(ndr, &r->in.logon, r->in.logon_level);
-               ndr_print_netr_LogonInfo(ndr, "logon", &r->in.logon);
+               ndr_print_netr_LogonLevel(ndr, "logon", &r->in.logon);
                ndr->depth--;
        }
        if (flags & NDR_OUT) {
@@ -13672,12 +13915,12 @@ static enum ndr_err_code ndr_push_netr_LogonSamLogonEx(struct ndr_push *ndr, int
                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
                }
-               NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS, r->in.logon_level));
+               NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, r->in.logon_level));
                if (r->in.logon == NULL) {
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
                }
                NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level));
-               NDR_CHECK(ndr_push_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
+               NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
                if (r->in.flags == NULL) {
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
@@ -13752,14 +13995,14 @@ static enum ndr_err_code ndr_pull_netr_LogonSamLogonEx(struct ndr_pull *ndr, int
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
                }
-               NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS, &r->in.logon_level));
+               NDR_CHECK(ndr_pull_netr_LogonInfoClass(ndr, NDR_SCALARS, &r->in.logon_level));
                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
                        NDR_PULL_ALLOC(ndr, r->in.logon);
                }
                _mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr);
                NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC);
                NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level));
-               NDR_CHECK(ndr_pull_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
+               NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC);
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
@@ -13826,11 +14069,11 @@ _PUBLIC_ void ndr_print_netr_LogonSamLogonEx(struct ndr_print *ndr, const char *
                        ndr_print_string(ndr, "computer_name", r->in.computer_name);
                }
                ndr->depth--;
-               ndr_print_netr_LogonLevel(ndr, "logon_level", r->in.logon_level);
+               ndr_print_netr_LogonInfoClass(ndr, "logon_level", r->in.logon_level);
                ndr_print_ptr(ndr, "logon", r->in.logon);
                ndr->depth++;
                ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level);
-               ndr_print_netr_LogonInfo(ndr, "logon", r->in.logon);
+               ndr_print_netr_LogonLevel(ndr, "logon", r->in.logon);
                ndr->depth--;
                ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
                ndr_print_ptr(ndr, "flags", r->in.flags);
@@ -14650,9 +14893,9 @@ static enum ndr_err_code ndr_push_netr_LogonSamLogonWithFlags(struct ndr_push *n
                if (r->in.return_authenticator) {
                        NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
                }
-               NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS, r->in.logon_level));
+               NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, r->in.logon_level));
                NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
-               NDR_CHECK(ndr_push_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
+               NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
                if (r->in.flags == NULL) {
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
@@ -14758,9 +15001,9 @@ static enum ndr_err_code ndr_pull_netr_LogonSamLogonWithFlags(struct ndr_pull *n
                        NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
                }
-               NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS, &r->in.logon_level));
+               NDR_CHECK(ndr_pull_netr_LogonInfoClass(ndr, NDR_SCALARS, &r->in.logon_level));
                NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
-               NDR_CHECK(ndr_pull_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
+               NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
                        NDR_PULL_ALLOC(ndr, r->in.flags);
@@ -14850,9 +15093,9 @@ _PUBLIC_ void ndr_print_netr_LogonSamLogonWithFlags(struct ndr_print *ndr, const
                        ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
                }
                ndr->depth--;
-               ndr_print_netr_LogonLevel(ndr, "logon_level", r->in.logon_level);
+               ndr_print_netr_LogonInfoClass(ndr, "logon_level", r->in.logon_level);
                ndr_print_set_switch_value(ndr, &r->in.logon, r->in.logon_level);
-               ndr_print_netr_LogonInfo(ndr, "logon", &r->in.logon);
+               ndr_print_netr_LogonLevel(ndr, "logon", &r->in.logon);
                ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
                ndr_print_ptr(ndr, "flags", r->in.flags);
                ndr->depth++;
index f778f89fbb2cdfd2255046221ded0497f7c07030..2a3c0fbf843f1a2bb0ea7a5217eee67f63a52673 100644 (file)
@@ -118,9 +118,11 @@ void ndr_print_netr_IdentityInfo(struct ndr_print *ndr, const char *name, const
 void ndr_print_netr_PasswordInfo(struct ndr_print *ndr, const char *name, const struct netr_PasswordInfo *r);
 void ndr_print_netr_ChallengeResponse(struct ndr_print *ndr, const char *name, const struct netr_ChallengeResponse *r);
 void ndr_print_netr_NetworkInfo(struct ndr_print *ndr, const char *name, const struct netr_NetworkInfo *r);
-enum ndr_err_code ndr_push_netr_LogonInfo(struct ndr_push *ndr, int ndr_flags, const union netr_LogonInfo *r);
-enum ndr_err_code ndr_pull_netr_LogonInfo(struct ndr_pull *ndr, int ndr_flags, union netr_LogonInfo *r);
-void ndr_print_netr_LogonInfo(struct ndr_print *ndr, const char *name, const union netr_LogonInfo *r);
+void ndr_print_netr_GenericInfo(struct ndr_print *ndr, const char *name, const struct netr_GenericInfo *r);
+void ndr_print_netr_LogonInfoClass(struct ndr_print *ndr, const char *name, enum netr_LogonInfoClass r);
+enum ndr_err_code ndr_push_netr_LogonLevel(struct ndr_push *ndr, int ndr_flags, const union netr_LogonLevel *r);
+enum ndr_err_code ndr_pull_netr_LogonLevel(struct ndr_pull *ndr, int ndr_flags, union netr_LogonLevel *r);
+void ndr_print_netr_LogonLevel(struct ndr_print *ndr, const char *name, const union netr_LogonLevel *r);
 enum ndr_err_code ndr_push_netr_UserSessionKey(struct ndr_push *ndr, int ndr_flags, const struct netr_UserSessionKey *r);
 enum ndr_err_code ndr_pull_netr_UserSessionKey(struct ndr_pull *ndr, int ndr_flags, struct netr_UserSessionKey *r);
 void ndr_print_netr_UserSessionKey(struct ndr_print *ndr, const char *name, const struct netr_UserSessionKey *r);
@@ -138,6 +140,7 @@ enum ndr_err_code ndr_pull_netr_SamInfo3(struct ndr_pull *ndr, int ndr_flags, st
 void ndr_print_netr_SamInfo3(struct ndr_print *ndr, const char *name, const struct netr_SamInfo3 *r);
 void ndr_print_netr_SamInfo6(struct ndr_print *ndr, const char *name, const struct netr_SamInfo6 *r);
 void ndr_print_netr_PacInfo(struct ndr_print *ndr, const char *name, const struct netr_PacInfo *r);
+void ndr_print_netr_GenericInfo2(struct ndr_print *ndr, const char *name, const struct netr_GenericInfo2 *r);
 enum ndr_err_code ndr_push_netr_Validation(struct ndr_push *ndr, int ndr_flags, const union netr_Validation *r);
 enum ndr_err_code ndr_pull_netr_Validation(struct ndr_pull *ndr, int ndr_flags, union netr_Validation *r);
 void ndr_print_netr_Validation(struct ndr_print *ndr, const char *name, const union netr_Validation *r);
@@ -147,7 +150,6 @@ void ndr_print_netr_Credential(struct ndr_print *ndr, const char *name, const st
 enum ndr_err_code ndr_push_netr_Authenticator(struct ndr_push *ndr, int ndr_flags, const struct netr_Authenticator *r);
 enum ndr_err_code ndr_pull_netr_Authenticator(struct ndr_pull *ndr, int ndr_flags, struct netr_Authenticator *r);
 void ndr_print_netr_Authenticator(struct ndr_print *ndr, const char *name, const struct netr_Authenticator *r);
-void ndr_print_netr_LogonLevel(struct ndr_print *ndr, const char *name, enum netr_LogonLevel r);
 void ndr_print_netr_DELTA_DELETE_USER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_USER *r);
 void ndr_print_netr_USER_KEY16(struct ndr_print *ndr, const char *name, const struct netr_USER_KEY16 *r);
 void ndr_print_netr_PasswordHistory(struct ndr_print *ndr, const char *name, const struct netr_PasswordHistory *r);
index 4e4c74d16771cb9e58f66538c4a6fe424e524ac6..cf3959b1999e673cb3db892223bd603c38308f68 100644 (file)
@@ -79,10 +79,41 @@ struct netr_NetworkInfo {
        struct netr_ChallengeResponse lm;
 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
 
-union netr_LogonInfo {
-       struct netr_PasswordInfo *password;/* [unique,case] */
-       struct netr_NetworkInfo *network;/* [unique,case(2)] */
-}/* [public,switch_type(uint16)] */;
+struct netr_GenericInfo {
+       struct netr_IdentityInfo identity_info;
+       struct lsa_String package_name;
+       uint32_t length;
+       uint8_t *data;/* [unique,size_is(length)] */
+}/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
+
+enum netr_LogonInfoClass
+#ifndef USE_UINT_ENUMS
+ {
+       NetlogonInteractiveInformation=1,
+       NetlogonNetworkInformation=2,
+       NetlogonServiceInformation=3,
+       NetlogonGenericInformation=4,
+       NetlogonInteractiveTransitiveInformation=5,
+       NetlogonNetworkTransitiveInformation=6,
+       NetlogonServiceTransitiveInformation=7
+}
+#else
+ { __donnot_use_enum_netr_LogonInfoClass=0x7FFFFFFF}
+#define NetlogonInteractiveInformation ( 1 )
+#define NetlogonNetworkInformation ( 2 )
+#define NetlogonServiceInformation ( 3 )
+#define NetlogonGenericInformation ( 4 )
+#define NetlogonInteractiveTransitiveInformation ( 5 )
+#define NetlogonNetworkTransitiveInformation ( 6 )
+#define NetlogonServiceTransitiveInformation ( 7 )
+#endif
+;
+
+union netr_LogonLevel {
+       struct netr_PasswordInfo *password;/* [unique,case(NetlogonInteractiveInformation)] */
+       struct netr_NetworkInfo *network;/* [unique,case(NetlogonNetworkInformation)] */
+       struct netr_GenericInfo *generic;/* [unique,case(NetlogonGenericInformation)] */
+}/* [public,switch_type(netr_LogonInfoClass)] */;
 
 struct netr_UserSessionKey {
        uint8_t key[16];
@@ -173,11 +204,36 @@ struct netr_PacInfo {
        struct lsa_String unknown4;
 };
 
+struct netr_GenericInfo2 {
+       uint32_t length;
+       uint8_t *data;/* [unique,size_is(length)] */
+}/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
+
+enum netr_ValidationInfoClass
+#ifndef USE_UINT_ENUMS
+ {
+       NetlogonValidationUasInfo=1,
+       NetlogonValidationSamInfo=2,
+       NetlogonValidationSamInfo2=3,
+       NetlogonValidationGenericInfo2=5,
+       NetlogonValidationSamInfo4=6
+}
+#else
+ { __donnot_use_enum_netr_ValidationInfoClass=0x7FFFFFFF}
+#define NetlogonValidationUasInfo ( 1 )
+#define NetlogonValidationSamInfo ( 2 )
+#define NetlogonValidationSamInfo2 ( 3 )
+#define NetlogonValidationGenericInfo2 ( 5 )
+#define NetlogonValidationSamInfo4 ( 6 )
+#endif
+;
+
 union netr_Validation {
-       struct netr_SamInfo2 *sam2;/* [unique,case(2)] */
-       struct netr_SamInfo3 *sam3;/* [unique,case(3)] */
+       struct netr_SamInfo2 *sam2;/* [unique,case(NetlogonValidationSamInfo)] */
+       struct netr_SamInfo3 *sam3;/* [unique,case(NetlogonValidationSamInfo2)] */
        struct netr_PacInfo *pac;/* [unique,case(4)] */
-       struct netr_SamInfo6 *sam6;/* [unique,case(6)] */
+       struct netr_GenericInfo2 *generic;/* [unique,case(NetlogonValidationGenericInfo2)] */
+       struct netr_SamInfo6 *sam6;/* [unique,case(NetlogonValidationSamInfo4)] */
 }/* [public,switch_type(uint16)] */;
 
 struct netr_Credential {
@@ -189,19 +245,6 @@ struct netr_Authenticator {
        time_t timestamp;
 }/* [public] */;
 
-enum netr_LogonLevel
-#ifndef USE_UINT_ENUMS
- {
-       INTERACTIVE_LOGON_TYPE=1,
-       NET_LOGON_TYPE=2
-}
-#else
- { __donnot_use_enum_netr_LogonLevel=0x7FFFFFFF}
-#define INTERACTIVE_LOGON_TYPE ( 1 )
-#define NET_LOGON_TYPE ( 2 )
-#endif
-;
-
 enum netr_SchannelType;
 
 enum netr_SamDatabaseID;
@@ -299,7 +342,7 @@ struct netr_DELTA_USER {
 
 struct netr_DELTA_DOMAIN {
        struct lsa_String domain_name;
-       struct lsa_String comment;
+       struct lsa_String oem_information;
        int64_t force_logoff_time;
        uint16_t min_password_length;
        uint16_t password_history_length;
@@ -929,8 +972,8 @@ struct netr_LogonSamLogon {
                const char *server_name;/* [unique,charset(UTF16)] */
                const char *computer_name;/* [unique,charset(UTF16)] */
                struct netr_Authenticator *credential;/* [unique] */
-               enum netr_LogonLevel logon_level;
-               union netr_LogonInfo *logon;/* [ref,switch_is(logon_level)] */
+               enum netr_LogonInfoClass logon_level;
+               union netr_LogonLevel *logon;/* [ref,switch_is(logon_level)] */
                uint16_t validation_level;
                struct netr_Authenticator *return_authenticator;/* [unique] */
        } in;
@@ -950,8 +993,8 @@ struct netr_LogonSamLogoff {
                const char *server_name;/* [unique,charset(UTF16)] */
                const char *computer_name;/* [unique,charset(UTF16)] */
                struct netr_Authenticator *credential;/* [unique] */
-               enum netr_LogonLevel logon_level;
-               union netr_LogonInfo logon;/* [switch_is(logon_level)] */
+               enum netr_LogonInfoClass logon_level;
+               union netr_LogonLevel logon;/* [switch_is(logon_level)] */
                struct netr_Authenticator *return_authenticator;/* [unique] */
        } in;
 
@@ -1515,8 +1558,8 @@ struct netr_LogonSamLogonEx {
        struct {
                const char *server_name;/* [unique,charset(UTF16)] */
                const char *computer_name;/* [unique,charset(UTF16)] */
-               enum netr_LogonLevel logon_level;
-               union netr_LogonInfo *logon;/* [ref,switch_is(logon_level)] */
+               enum netr_LogonInfoClass logon_level;
+               union netr_LogonLevel *logon;/* [ref,switch_is(logon_level)] */
                uint16_t validation_level;
                uint32_t *flags;/* [ref] */
        } in;
@@ -1617,8 +1660,8 @@ struct netr_LogonSamLogonWithFlags {
                const char *server_name;/* [unique,charset(UTF16)] */
                const char *computer_name;/* [unique,charset(UTF16)] */
                struct netr_Authenticator *credential;/* [unique] */
-               enum netr_LogonLevel logon_level;
-               union netr_LogonInfo logon;/* [switch_is(logon_level)] */
+               enum netr_LogonInfoClass logon_level;
+               union netr_LogonLevel logon;/* [switch_is(logon_level)] */
                uint16_t validation_level;
                struct netr_Authenticator *return_authenticator;/* [unique] */
                uint32_t *flags;/* [ref] */