The branch, v3-2-test has been updated
       via  d9c8a2271d5d4ff845f1fe5986a2c63d79c41415 (commit)
       via  92bfa25922860a6951c72d41799f4d3c1bc7a007 (commit)
       via  57dc747136e880a25c03bdc4a1431fc41afd93a1 (commit)
       via  b7a06b54e0a58c4cd6c5351b1e4a0a2c253cfea1 (commit)
      from  aebecd7462733b56457540423354ba249fd52808 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-2-test


- Log -----------------------------------------------------------------
commit d9c8a2271d5d4ff845f1fe5986a2c63d79c41415
Author: Günther Deschner <[EMAIL PROTECTED]>
Date:   Wed Jan 16 16:31:49 2008 +0100

    Merge lsarpc.idl from samba4 and rerun make idl.
    
    Guenther

commit 92bfa25922860a6951c72d41799f4d3c1bc7a007
Author: Günther Deschner <[EMAIL PROTECTED]>
Date:   Wed Jan 16 16:01:50 2008 +0100

    Add lsa_PolicyAuditEventType and lsa_PolicyAuditPolicy enums from samba3 to 
IDL.
    
    Guenther

commit 57dc747136e880a25c03bdc4a1431fc41afd93a1
Author: Günther Deschner <[EMAIL PROTECTED]>
Date:   Wed Jan 16 15:52:53 2008 +0100

    Make resolve_ads() static.
    
    Guenther

commit b7a06b54e0a58c4cd6c5351b1e4a0a2c253cfea1
Author: Günther Deschner <[EMAIL PROTECTED]>
Date:   Wed Jan 16 15:51:52 2008 +0100

    Fix memleak in ads_build_path().
    
    Guenther

-----------------------------------------------------------------------

Summary of changes:
 source/include/rpc_lsa.h        |   19 --
 source/libads/ads_struct.c      |   16 +-
 source/librpc/gen_ndr/cli_lsa.c |   26 +-
 source/librpc/gen_ndr/cli_lsa.h |   16 +-
 source/librpc/gen_ndr/lsa.h     |  135 ++++++++-
 source/librpc/gen_ndr/ndr_lsa.c |  679 +++++++++++++++++++++++++++++++++++----
 source/librpc/gen_ndr/ndr_lsa.h |   46 +++-
 source/librpc/gen_ndr/srv_lsa.c |   21 +-
 source/librpc/gen_ndr/srv_lsa.h |    2 +-
 source/librpc/idl/lsa.idl       |  127 ++++++--
 source/libsmb/namequery.c       |   10 +-
 source/rpc_server/srv_lsa_nt.c  |    2 +-
 12 files changed, 951 insertions(+), 148 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/include/rpc_lsa.h b/source/include/rpc_lsa.h
index ef6ff6d..72aabc3 100644
--- a/source/include/rpc_lsa.h
+++ b/source/include/rpc_lsa.h
@@ -87,27 +87,8 @@
 
 #define LSA_AUDIT_NUM_CATEGORIES_NT4   7
 #define LSA_AUDIT_NUM_CATEGORIES_WIN2K 9
-
 #define LSA_AUDIT_NUM_CATEGORIES LSA_AUDIT_NUM_CATEGORIES_NT4
 
-#define LSA_AUDIT_POLICY_NONE          0x00
-#define LSA_AUDIT_POLICY_SUCCESS       0x01
-#define LSA_AUDIT_POLICY_FAILURE       0x02
-#define LSA_AUDIT_POLICY_ALL           
(LSA_AUDIT_POLICY_SUCCESS|LSA_AUDIT_POLICY_FAILURE)
-#define LSA_AUDIT_POLICY_CLEAR         0x04
-
-enum lsa_audit_categories {
-       LSA_AUDIT_CATEGORY_SYSTEM = 0,
-       LSA_AUDIT_CATEGORY_LOGON = 1,
-       LSA_AUDIT_CATEGORY_FILE_AND_OBJECT_ACCESS,
-       LSA_AUDIT_CATEGORY_USE_OF_USER_RIGHTS,
-       LSA_AUDIT_CATEGORY_PROCCESS_TRACKING,
-       LSA_AUDIT_CATEGORY_SECURITY_POLICY_CHANGES,
-       LSA_AUDIT_CATEGORY_ACCOUNT_MANAGEMENT,
-       LSA_AUDIT_CATEGORY_DIRECTORY_SERVICE_ACCESS,    /* only in win2k/2k3 */
-       LSA_AUDIT_CATEGORY_ACCOUNT_LOGON                /* only in win2k/2k3 */
-};
-
 /* level 1 is auditing settings */
 typedef struct dom_query_1
 {
diff --git a/source/libads/ads_struct.c b/source/libads/ads_struct.c
index 0418789..44bcdf7 100644
--- a/source/libads/ads_struct.c
+++ b/source/libads/ads_struct.c
@@ -32,18 +32,23 @@ char *ads_build_path(const char *realm, const char *sep, 
const char *field, int
        
        r = SMB_STRDUP(realm);
 
-       if (!r || !*r)
+       if (!r || !*r) {
                return r;
+       }
 
-       for (p=r; *p; p++)
-               if (strchr(sep, *p))
+       for (p=r; *p; p++) {
+               if (strchr(sep, *p)) {
                        numbits++;
+               }
+       }
 
        len = (numbits+1)*(strlen(field)+1) + strlen(r) + 1;
 
        ret = (char *)SMB_MALLOC(len);
-       if (!ret)
+       if (!ret) {
+               free(r);
                return NULL;
+       }
 
        strlcpy(ret,field, len);
        p=strtok(r,sep); 
@@ -57,7 +62,8 @@ char *ads_build_path(const char *realm, const char *sep, 
const char *field, int
                        else
                                asprintf(&s, "%s,%s%s", ret, field, p);
                        free(ret);
-                       ret = s;
+                       ret = SMB_STRDUP(s);
+                       free(s);
                }
        }
 
diff --git a/source/librpc/gen_ndr/cli_lsa.c b/source/librpc/gen_ndr/cli_lsa.c
index 92ba8bd..76370ca 100644
--- a/source/librpc/gen_ndr/cli_lsa.c
+++ b/source/librpc/gen_ndr/cli_lsa.c
@@ -609,7 +609,7 @@ NTSTATUS rpccli_lsa_LookupNames(struct rpc_pipe_client *cli,
                                struct lsa_String *names,
                                struct lsa_RefDomainList *domains,
                                struct lsa_TransSidArray *sids,
-                               uint16_t level,
+                               enum lsa_LookupNamesLevel level,
                                uint32_t *count)
 {
        struct lsa_LookupNames r;
@@ -2528,7 +2528,7 @@ NTSTATUS rpccli_lsa_LookupNames2(struct rpc_pipe_client 
*cli,
                                 struct lsa_String *names,
                                 struct lsa_RefDomainList *domains,
                                 struct lsa_TransSidArray2 *sids,
-                                uint16_t level,
+                                enum lsa_LookupNamesLevel level,
                                 uint32_t *count,
                                 uint32_t unknown1,
                                 uint32_t unknown2)
@@ -2920,7 +2920,7 @@ NTSTATUS rpccli_lsa_LookupNames3(struct rpc_pipe_client 
*cli,
                                 struct lsa_String *names,
                                 struct lsa_RefDomainList *domains,
                                 struct lsa_TransSidArray3 *sids,
-                                uint16_t level,
+                                enum lsa_LookupNamesLevel level,
                                 uint32_t *count,
                                 uint32_t unknown1,
                                 uint32_t unknown2)
@@ -3120,16 +3120,23 @@ NTSTATUS rpccli_lsa_LSARUNREGISTERAUDITEVENT(struct 
rpc_pipe_client *cli,
        return r.out.result;
 }
 
-NTSTATUS rpccli_lsa_LSARQUERYFORESTTRUSTINFORMATION(struct rpc_pipe_client 
*cli,
-                                                   TALLOC_CTX *mem_ctx)
+NTSTATUS rpccli_lsa_lsaRQueryForestTrustInformation(struct rpc_pipe_client 
*cli,
+                                                   TALLOC_CTX *mem_ctx,
+                                                   struct policy_handle 
*handle,
+                                                   struct lsa_String 
*trusted_domain_name,
+                                                   uint16_t unknown,
+                                                   struct 
lsa_ForestTrustInformation **forest_trust_info)
 {
-       struct lsa_LSARQUERYFORESTTRUSTINFORMATION r;
+       struct lsa_lsaRQueryForestTrustInformation r;
        NTSTATUS status;
 
        /* In parameters */
+       r.in.handle = handle;
+       r.in.trusted_domain_name = trusted_domain_name;
+       r.in.unknown = unknown;
 
        if (DEBUGLEVEL >= 10) {
-               NDR_PRINT_IN_DEBUG(lsa_LSARQUERYFORESTTRUSTINFORMATION, &r);
+               NDR_PRINT_IN_DEBUG(lsa_lsaRQueryForestTrustInformation, &r);
        }
 
        status = cli_do_rpc_ndr(cli,
@@ -3144,7 +3151,7 @@ NTSTATUS 
rpccli_lsa_LSARQUERYFORESTTRUSTINFORMATION(struct rpc_pipe_client *cli,
        }
 
        if (DEBUGLEVEL >= 10) {
-               NDR_PRINT_OUT_DEBUG(lsa_LSARQUERYFORESTTRUSTINFORMATION, &r);
+               NDR_PRINT_OUT_DEBUG(lsa_lsaRQueryForestTrustInformation, &r);
        }
 
        if (NT_STATUS_IS_ERR(status)) {
@@ -3152,6 +3159,7 @@ NTSTATUS 
rpccli_lsa_LSARQUERYFORESTTRUSTINFORMATION(struct rpc_pipe_client *cli,
        }
 
        /* Return variables */
+       *forest_trust_info = *r.out.forest_trust_info;
 
        /* Return result */
        return r.out.result;
@@ -3292,7 +3300,7 @@ NTSTATUS rpccli_lsa_LookupNames4(struct rpc_pipe_client 
*cli,
                                 struct lsa_String *names,
                                 struct lsa_RefDomainList *domains,
                                 struct lsa_TransSidArray3 *sids,
-                                uint16_t level,
+                                enum lsa_LookupNamesLevel level,
                                 uint32_t *count,
                                 uint32_t unknown1,
                                 uint32_t unknown2)
diff --git a/source/librpc/gen_ndr/cli_lsa.h b/source/librpc/gen_ndr/cli_lsa.h
index 4ab8be9..c45aed1 100644
--- a/source/librpc/gen_ndr/cli_lsa.h
+++ b/source/librpc/gen_ndr/cli_lsa.h
@@ -71,7 +71,7 @@ NTSTATUS rpccli_lsa_LookupNames(struct rpc_pipe_client *cli,
                                struct lsa_String *names,
                                struct lsa_RefDomainList *domains,
                                struct lsa_TransSidArray *sids,
-                               uint16_t level,
+                               enum lsa_LookupNamesLevel level,
                                uint32_t *count);
 NTSTATUS rpccli_lsa_LookupSids(struct rpc_pipe_client *cli,
                               TALLOC_CTX *mem_ctx,
@@ -280,7 +280,7 @@ NTSTATUS rpccli_lsa_LookupNames2(struct rpc_pipe_client 
*cli,
                                 struct lsa_String *names,
                                 struct lsa_RefDomainList *domains,
                                 struct lsa_TransSidArray2 *sids,
-                                uint16_t level,
+                                enum lsa_LookupNamesLevel level,
                                 uint32_t *count,
                                 uint32_t unknown1,
                                 uint32_t unknown2);
@@ -309,7 +309,7 @@ NTSTATUS rpccli_lsa_LookupNames3(struct rpc_pipe_client 
*cli,
                                 struct lsa_String *names,
                                 struct lsa_RefDomainList *domains,
                                 struct lsa_TransSidArray3 *sids,
-                                uint16_t level,
+                                enum lsa_LookupNamesLevel level,
                                 uint32_t *count,
                                 uint32_t unknown1,
                                 uint32_t unknown2);
@@ -321,8 +321,12 @@ NTSTATUS rpccli_lsa_LSARGENAUDITEVENT(struct 
rpc_pipe_client *cli,
                                      TALLOC_CTX *mem_ctx);
 NTSTATUS rpccli_lsa_LSARUNREGISTERAUDITEVENT(struct rpc_pipe_client *cli,
                                             TALLOC_CTX *mem_ctx);
-NTSTATUS rpccli_lsa_LSARQUERYFORESTTRUSTINFORMATION(struct rpc_pipe_client 
*cli,
-                                                   TALLOC_CTX *mem_ctx);
+NTSTATUS rpccli_lsa_lsaRQueryForestTrustInformation(struct rpc_pipe_client 
*cli,
+                                                   TALLOC_CTX *mem_ctx,
+                                                   struct policy_handle 
*handle,
+                                                   struct lsa_String 
*trusted_domain_name,
+                                                   uint16_t unknown,
+                                                   struct 
lsa_ForestTrustInformation **forest_trust_info);
 NTSTATUS rpccli_lsa_LSARSETFORESTTRUSTINFORMATION(struct rpc_pipe_client *cli,
                                                  TALLOC_CTX *mem_ctx);
 NTSTATUS rpccli_lsa_CREDRRENAME(struct rpc_pipe_client *cli,
@@ -342,7 +346,7 @@ NTSTATUS rpccli_lsa_LookupNames4(struct rpc_pipe_client 
*cli,
                                 struct lsa_String *names,
                                 struct lsa_RefDomainList *domains,
                                 struct lsa_TransSidArray3 *sids,
-                                uint16_t level,
+                                enum lsa_LookupNamesLevel level,
                                 uint32_t *count,
                                 uint32_t unknown1,
                                 uint32_t unknown2);
diff --git a/source/librpc/gen_ndr/lsa.h b/source/librpc/gen_ndr/lsa.h
index 513d17b..cbaa908 100644
--- a/source/librpc/gen_ndr/lsa.h
+++ b/source/librpc/gen_ndr/lsa.h
@@ -75,9 +75,55 @@ struct lsa_AuditLogInfo {
        uint32_t unknown;
 };
 
+enum lsa_PolicyAuditPolicy
+#ifndef USE_UINT_ENUMS
+ {
+       LSA_AUDIT_POLICY_NONE=0,
+       LSA_AUDIT_POLICY_SUCCESS=1,
+       LSA_AUDIT_POLICY_FAILURE=2,
+       
LSA_AUDIT_POLICY_ALL=(LSA_AUDIT_POLICY_SUCCESS|LSA_AUDIT_POLICY_FAILURE),
+       LSA_AUDIT_POLICY_CLEAR=4
+}
+#else
+ { __donnot_use_enum_lsa_PolicyAuditPolicy=0x7FFFFFFF}
+#define LSA_AUDIT_POLICY_NONE ( 0 )
+#define LSA_AUDIT_POLICY_SUCCESS ( 1 )
+#define LSA_AUDIT_POLICY_FAILURE ( 2 )
+#define LSA_AUDIT_POLICY_ALL ( 
(LSA_AUDIT_POLICY_SUCCESS|LSA_AUDIT_POLICY_FAILURE) )
+#define LSA_AUDIT_POLICY_CLEAR ( 4 )
+#endif
+;
+
+enum lsa_PolicyAuditEventType
+#ifndef USE_UINT_ENUMS
+ {
+       LSA_AUDIT_CATEGORY_SYSTEM=0,
+       LSA_AUDIT_CATEGORY_LOGON=1,
+       LSA_AUDIT_CATEGORY_FILE_AND_OBJECT_ACCESS=2,
+       LSA_AUDIT_CATEGORY_USE_OF_USER_RIGHTS=3,
+       LSA_AUDIT_CATEGORY_PROCCESS_TRACKING=4,
+       LSA_AUDIT_CATEGORY_SECURITY_POLICY_CHANGES=5,
+       LSA_AUDIT_CATEGORY_ACCOUNT_MANAGEMENT=6,
+       LSA_AUDIT_CATEGORY_DIRECTORY_SERVICE_ACCESS=7,
+       LSA_AUDIT_CATEGORY_ACCOUNT_LOGON=8
+}
+#else
+ { __donnot_use_enum_lsa_PolicyAuditEventType=0x7FFFFFFF}
+#define LSA_AUDIT_CATEGORY_SYSTEM ( 0 )
+#define LSA_AUDIT_CATEGORY_LOGON ( 1 )
+#define LSA_AUDIT_CATEGORY_FILE_AND_OBJECT_ACCESS ( 2 )
+#define LSA_AUDIT_CATEGORY_USE_OF_USER_RIGHTS ( 3 )
+#define LSA_AUDIT_CATEGORY_PROCCESS_TRACKING ( 4 )
+#define LSA_AUDIT_CATEGORY_SECURITY_POLICY_CHANGES ( 5 )
+#define LSA_AUDIT_CATEGORY_ACCOUNT_MANAGEMENT ( 6 )
+#define LSA_AUDIT_CATEGORY_DIRECTORY_SERVICE_ACCESS ( 7 )
+#define LSA_AUDIT_CATEGORY_ACCOUNT_LOGON ( 8 )
+#endif
+;
+
 struct lsa_AuditEventsInfo {
        uint32_t auditing_mode;
-       uint32_t *settings;/* [unique,size_is(count)] */
+       enum lsa_PolicyAuditPolicy *settings;/* [unique,size_is(count)] */
        uint32_t count;
 };
 
@@ -240,6 +286,27 @@ struct lsa_RefDomainList {
        uint32_t max_size;
 };
 
+enum lsa_LookupNamesLevel
+#ifndef USE_UINT_ENUMS
+ {
+       LSA_LOOKUP_NAMES_ALL=1,
+       LSA_LOOKUP_NAMES_DOMAINS_ONLY=2,
+       LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY=3,
+       LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY=4,
+       LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY=5,
+       LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2=6
+}
+#else
+ { __donnot_use_enum_lsa_LookupNamesLevel=0x7FFFFFFF}
+#define LSA_LOOKUP_NAMES_ALL ( 1 )
+#define LSA_LOOKUP_NAMES_DOMAINS_ONLY ( 2 )
+#define LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY ( 3 )
+#define LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY ( 4 )
+#define LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY ( 5 )
+#define LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2 ( 6 )
+#endif
+;
+
 struct lsa_TranslatedName {
        enum lsa_SidType sid_type;
        struct lsa_String name;
@@ -464,6 +531,53 @@ struct lsa_TransSidArray3 {
        struct lsa_TranslatedSid3 *sids;/* [unique,size_is(count)] */
 };
 
+struct lsa_ForestTrustBinaryData {
+       uint32_t length;/* [range(0 131072)] */
+       uint8_t *data;/* [unique,size_is(length)] */
+};
+
+struct lsa_ForestTrustDomainInfo {
+       struct dom_sid2 *domain_sid;/* [unique] */
+       struct lsa_StringLarge dns_domain_name;
+       struct lsa_StringLarge netbios_domain_name;
+};
+
+union lsa_ForestTrustData {
+       struct lsa_String top_level_name;/* 
[case(LSA_FOREST_TRUST_TOP_LEVEL_NAME)] */
+       struct lsa_StringLarge top_level_name_ex;/* 
[case(LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX)] */
+       struct lsa_ForestTrustDomainInfo domain_info;/* 
[case(LSA_FOREST_TRUST_DOMAIN_INFO)] */
+       struct lsa_ForestTrustBinaryData data;/* [default] */
+}/* [switch_type(uint32)] */;
+
+enum lsa_ForestTrustRecordType
+#ifndef USE_UINT_ENUMS
+ {
+       LSA_FOREST_TRUST_TOP_LEVEL_NAME=0,
+       LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX=1,
+       LSA_FOREST_TRUST_DOMAIN_INFO=2,
+       LSA_FOREST_TRUST_RECORD_TYPE_LAST=3
+}
+#else
+ { __donnot_use_enum_lsa_ForestTrustRecordType=0x7FFFFFFF}
+#define LSA_FOREST_TRUST_TOP_LEVEL_NAME ( 0 )
+#define LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX ( 1 )
+#define LSA_FOREST_TRUST_DOMAIN_INFO ( 2 )
+#define LSA_FOREST_TRUST_RECORD_TYPE_LAST ( 3 )
+#endif
+;
+
+struct lsa_ForestTrustRecord {
+       uint32_t flags;
+       enum lsa_ForestTrustRecordType level;
+       uint64_t unknown;
+       union lsa_ForestTrustData forest_trust_data;/* [switch_is(level)] */
+};
+
+struct lsa_ForestTrustInformation {
+       uint32_t count;/* [range(0 4000)] */
+       struct lsa_ForestTrustRecord **entries;/* [unique,size_is(count)] */
+}/* [public] */;
+
 
 struct lsa_Close {
        struct {
@@ -636,7 +750,7 @@ struct lsa_CreateTrustedDomain {
 struct lsa_EnumTrustDom {
        struct {
                struct policy_handle *handle;/* [ref] */
-               uint32_t max_size;/* [range(0 1000)] */
+               uint32_t max_size;
                uint32_t *resume_handle;/* [ref] */
        } in;
 
@@ -654,7 +768,7 @@ struct lsa_LookupNames {
                struct policy_handle *handle;/* [ref] */
                uint32_t num_names;/* [range(0 1000)] */
                struct lsa_String *names;/* [size_is(num_names)] */
-               uint16_t level;
+               enum lsa_LookupNamesLevel level;
                struct lsa_TransSidArray *sids;/* [ref] */
                uint32_t *count;/* [ref] */
        } in;
@@ -1241,7 +1355,7 @@ struct lsa_LookupNames2 {
                struct policy_handle *handle;/* [ref] */
                uint32_t num_names;/* [range(0 1000)] */
                struct lsa_String *names;/* [size_is(num_names)] */
-               uint16_t level;
+               enum lsa_LookupNamesLevel level;
                uint32_t unknown1;
                uint32_t unknown2;
                struct lsa_TransSidArray2 *sids;/* [ref] */
@@ -1335,7 +1449,7 @@ struct lsa_LookupNames3 {
                struct policy_handle *handle;/* [ref] */
                uint32_t num_names;/* [range(0 1000)] */
                struct lsa_String *names;/* [size_is(num_names)] */
-               uint16_t level;
+               enum lsa_LookupNamesLevel level;
                uint32_t unknown1;
                uint32_t unknown2;
                struct lsa_TransSidArray3 *sids;/* [ref] */
@@ -1384,8 +1498,15 @@ struct lsa_LSARUNREGISTERAUDITEVENT {
 };
 
 
-struct lsa_LSARQUERYFORESTTRUSTINFORMATION {
+struct lsa_lsaRQueryForestTrustInformation {
        struct {
+               struct policy_handle *handle;/* [ref] */
+               struct lsa_String *trusted_domain_name;/* [ref] */
+               uint16_t unknown;
+       } in;
+
+       struct {
+               struct lsa_ForestTrustInformation **forest_trust_info;/* [ref] 
*/
                NTSTATUS result;
        } out;
 
@@ -1432,7 +1553,7 @@ struct lsa_LookupNames4 {
        struct {
                uint32_t num_names;/* [range(0 1000)] */
                struct lsa_String *names;/* [size_is(num_names)] */
-               uint16_t level;
+               enum lsa_LookupNamesLevel level;
                uint32_t unknown1;
                uint32_t unknown2;
                struct lsa_TransSidArray3 *sids;/* [ref] */
diff --git a/source/librpc/gen_ndr/ndr_lsa.c b/source/librpc/gen_ndr/ndr_lsa.c
index eed2a8e..25fa3d2 100644
--- a/source/librpc/gen_ndr/ndr_lsa.c
+++ b/source/librpc/gen_ndr/ndr_lsa.c
@@ -690,6 +690,34 @@ _PUBLIC_ void ndr_print_lsa_AuditLogInfo(struct ndr_print 
*ndr, const char *name
        ndr->depth--;
 }
 
+static enum ndr_err_code ndr_push_lsa_PolicyAuditPolicy(struct ndr_push *ndr, 
int ndr_flags, enum lsa_PolicyAuditPolicy r)
+{
+       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
+       return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_lsa_PolicyAuditPolicy(struct ndr_pull *ndr, 
int ndr_flags, enum lsa_PolicyAuditPolicy *r)
+{
+       uint32_t v;
+       NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
+       *r = v;
+       return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_lsa_PolicyAuditPolicy(struct ndr_print *ndr, const 
char *name, enum lsa_PolicyAuditPolicy r)
+{
+       const char *val = NULL;
+
+       switch (r) {
+               case LSA_AUDIT_POLICY_NONE: val = "LSA_AUDIT_POLICY_NONE"; 
break;
+               case LSA_AUDIT_POLICY_SUCCESS: val = 
"LSA_AUDIT_POLICY_SUCCESS"; break;
+               case LSA_AUDIT_POLICY_FAILURE: val = 
"LSA_AUDIT_POLICY_FAILURE"; break;
+               case LSA_AUDIT_POLICY_ALL: val = "LSA_AUDIT_POLICY_ALL"; break;
+               case LSA_AUDIT_POLICY_CLEAR: val = "LSA_AUDIT_POLICY_CLEAR"; 
break;
+       }
+       ndr_print_enum(ndr, name, "ENUM", val, r);
+}
+
 static enum ndr_err_code ndr_push_lsa_AuditEventsInfo(struct ndr_push *ndr, 
int ndr_flags, const struct lsa_AuditEventsInfo *r)
 {
        uint32_t cntr_settings_1;
@@ -703,7 +731,7 @@ static enum ndr_err_code 
ndr_push_lsa_AuditEventsInfo(struct ndr_push *ndr, int
                if (r->settings) {
                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
                        for (cntr_settings_1 = 0; cntr_settings_1 < r->count; 
cntr_settings_1++) {
-                               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 
r->settings[cntr_settings_1]));
+                               NDR_CHECK(ndr_push_lsa_PolicyAuditPolicy(ndr, 
NDR_SCALARS, r->settings[cntr_settings_1]));
                        }
                }
        }
@@ -736,7 +764,7 @@ static enum ndr_err_code 
ndr_pull_lsa_AuditEventsInfo(struct ndr_pull *ndr, int
                        _mem_save_settings_1 = NDR_PULL_GET_MEM_CTX(ndr);
                        NDR_PULL_SET_MEM_CTX(ndr, r->settings, 0);
                        for (cntr_settings_1 = 0; cntr_settings_1 < r->count; 
cntr_settings_1++) {
-                               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, 
&r->settings[cntr_settings_1]));
+                               NDR_CHECK(ndr_pull_lsa_PolicyAuditPolicy(ndr, 
NDR_SCALARS, &r->settings[cntr_settings_1]));
                        }
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_settings_1, 0);
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_settings_0, 0);
@@ -763,7 +791,7 @@ _PUBLIC_ void ndr_print_lsa_AuditEventsInfo(struct 
ndr_print *ndr, const char *n
                        char *idx_1=NULL;
                        asprintf(&idx_1, "[%d]", cntr_settings_1);
                        if (idx_1) {
-                               ndr_print_uint32(ndr, "settings", 
r->settings[cntr_settings_1]);
+                               ndr_print_lsa_PolicyAuditPolicy(ndr, 
"settings", r->settings[cntr_settings_1]);
                                free(idx_1);
                        }
                }
@@ -1939,6 +1967,35 @@ _PUBLIC_ void ndr_print_lsa_RefDomainList(struct 
ndr_print *ndr, const char *nam
        ndr->depth--;
 }
 
+static enum ndr_err_code ndr_push_lsa_LookupNamesLevel(struct ndr_push *ndr, 
int ndr_flags, enum lsa_LookupNamesLevel r)
+{
+       NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
+       return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_lsa_LookupNamesLevel(struct ndr_pull *ndr, 
int ndr_flags, enum lsa_LookupNamesLevel *r)
+{
+       uint16_t v;
+       NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
+       *r = v;


-- 
Samba Shared Repository

Reply via email to