[SCM] Samba Shared Repository - branch master updated - ca54a563d64ab789b84f8b6d9ea4cb63dee2c210

Günther Deschner gd at samba.org
Wed Oct 15 17:56:00 GMT 2008


The branch, master has been updated
       via  ca54a563d64ab789b84f8b6d9ea4cb63dee2c210 (commit)
       via  e561c9acd5f1c91f0732f36d528d7123e75742ba (commit)
       via  df7a89adb7729ff24105f25c377e584768215c90 (commit)
       via  018bf57c27a919f7c88933800e0ed3edac59b84e (commit)
       via  f64f444c96ae77081d1de082b497bc4874b9b195 (commit)
      from  4c6174557384ff6c022872dd4f2bf2ddacfd3b63 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit ca54a563d64ab789b84f8b6d9ea4cb63dee2c210
Author: Günther Deschner <gd at samba.org>
Date:   Wed Oct 15 19:54:17 2008 +0200

    s4: fix registry/rpc.c after winreg changes.
    
    jelmer, can you check if this is ok?
    
    Guenther

commit e561c9acd5f1c91f0732f36d528d7123e75742ba
Author: Günther Deschner <gd at samba.org>
Date:   Wed Oct 15 19:33:37 2008 +0200

    s4: merge from s3 lsa idl.
    
    Guenther

commit df7a89adb7729ff24105f25c377e584768215c90
Author: Günther Deschner <gd at samba.org>
Date:   Wed Oct 15 19:33:16 2008 +0200

    s3: fix s3 lsa server.
    
    Guenther

commit 018bf57c27a919f7c88933800e0ed3edac59b84e
Author: Günther Deschner <gd at samba.org>
Date:   Wed Oct 15 18:49:03 2008 +0200

    s3-build: re-run make samba3-idl.
    
    Guenther

commit f64f444c96ae77081d1de082b497bc4874b9b195
Author: Günther Deschner <gd at samba.org>
Date:   Wed Oct 15 18:47:20 2008 +0200

    s3: merge some more lsa bits from s4 idl.
    
    Guenther

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

Summary of changes:
 source3/include/proto.h          |   15 +-
 source3/librpc/gen_ndr/cli_lsa.c |   66 +++-
 source3/librpc/gen_ndr/cli_lsa.h |   37 ++-
 source3/librpc/gen_ndr/lsa.h     |  154 ++++++--
 source3/librpc/gen_ndr/ndr_lsa.c |  815 ++++++++++++++++++++++++++++++++++----
 source3/librpc/gen_ndr/ndr_lsa.h |   18 +-
 source3/librpc/gen_ndr/srv_lsa.c |   14 +
 source3/librpc/idl/lsa.idl       |  183 +++++++--
 source3/rpc_server/srv_lsa_nt.c  |    4 +-
 source4/lib/registry/rpc.c       |   10 +-
 source4/librpc/idl/lsa.idl       |    4 +-
 11 files changed, 1133 insertions(+), 187 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/include/proto.h b/source3/include/proto.h
index 860d33a..3c196db 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -2635,7 +2635,15 @@ _PUBLIC_ void ndr_print_lsa_PrivilegeSet(struct ndr_print *ndr, const char *name
 _PUBLIC_ void ndr_print_lsa_DATA_BUF(struct ndr_print *ndr, const char *name, const struct lsa_DATA_BUF *r);
 _PUBLIC_ void ndr_print_lsa_DATA_BUF2(struct ndr_print *ndr, const char *name, const struct lsa_DATA_BUF2 *r);
 _PUBLIC_ void ndr_print_lsa_TrustDomInfoEnum(struct ndr_print *ndr, const char *name, enum lsa_TrustDomInfoEnum r);
+_PUBLIC_ enum ndr_err_code ndr_push_lsa_TrustDirection(struct ndr_push *ndr, int ndr_flags, uint32_t r);
+_PUBLIC_ enum ndr_err_code ndr_pull_lsa_TrustDirection(struct ndr_pull *ndr, int ndr_flags, uint32_t *r);
+_PUBLIC_ void ndr_print_lsa_TrustDirection(struct ndr_print *ndr, const char *name, uint32_t r);
+_PUBLIC_ void ndr_print_lsa_TrustType(struct ndr_print *ndr, const char *name, enum lsa_TrustType r);
+_PUBLIC_ enum ndr_err_code ndr_push_lsa_TrustAttributes(struct ndr_push *ndr, int ndr_flags, uint32_t r);
+_PUBLIC_ enum ndr_err_code ndr_pull_lsa_TrustAttributes(struct ndr_pull *ndr, int ndr_flags, uint32_t *r);
+_PUBLIC_ void ndr_print_lsa_TrustAttributes(struct ndr_print *ndr, const char *name, uint32_t r);
 _PUBLIC_ void ndr_print_lsa_TrustDomainInfoName(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoName *r);
+_PUBLIC_ void ndr_print_lsa_TrustDomainInfoControllers(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoControllers *r);
 _PUBLIC_ void ndr_print_lsa_TrustDomainInfoPosixOffset(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoPosixOffset *r);
 _PUBLIC_ void ndr_print_lsa_TrustDomainInfoPassword(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoPassword *r);
 _PUBLIC_ void ndr_print_lsa_TrustDomainInfoBasic(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoBasic *r);
@@ -2643,8 +2651,11 @@ _PUBLIC_ void ndr_print_lsa_TrustDomainInfoInfoEx(struct ndr_print *ndr, const c
 _PUBLIC_ void ndr_print_lsa_TrustDomainInfoBuffer(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoBuffer *r);
 _PUBLIC_ void ndr_print_lsa_TrustDomainInfoAuthInfo(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoAuthInfo *r);
 _PUBLIC_ void ndr_print_lsa_TrustDomainInfoFullInfo(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoFullInfo *r);
-_PUBLIC_ void ndr_print_lsa_TrustDomainInfo11(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfo11 *r);
-_PUBLIC_ void ndr_print_lsa_TrustDomainInfoInfoAll(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoInfoAll *r);
+_PUBLIC_ void ndr_print_lsa_TrustDomainInfoAuthInfoInternal(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoAuthInfoInternal *r);
+_PUBLIC_ void ndr_print_lsa_TrustDomainInfoFullInfoInternal(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoFullInfoInternal *r);
+_PUBLIC_ void ndr_print_lsa_TrustDomainInfoInfoEx2Internal(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoInfoEx2Internal *r);
+_PUBLIC_ void ndr_print_lsa_TrustDomainInfoFullInfo2Internal(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoFullInfo2Internal *r);
+_PUBLIC_ void ndr_print_lsa_TrustDomainInfoSupportedEncTypes(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoSupportedEncTypes *r);
 _PUBLIC_ void ndr_print_lsa_TrustedDomainInfo(struct ndr_print *ndr, const char *name, const union lsa_TrustedDomainInfo *r);
 _PUBLIC_ void ndr_print_lsa_DATA_BUF_PTR(struct ndr_print *ndr, const char *name, const struct lsa_DATA_BUF_PTR *r);
 _PUBLIC_ void ndr_print_lsa_RightSet(struct ndr_print *ndr, const char *name, const struct lsa_RightSet *r);
diff --git a/source3/librpc/gen_ndr/cli_lsa.c b/source3/librpc/gen_ndr/cli_lsa.c
index 4ab27ed..15ff462 100644
--- a/source3/librpc/gen_ndr/cli_lsa.c
+++ b/source3/librpc/gen_ndr/cli_lsa.c
@@ -1141,12 +1141,18 @@ NTSTATUS rpccli_lsa_QueryTrustedDomainInfo(struct rpc_pipe_client *cli,
 }
 
 NTSTATUS rpccli_lsa_SetInformationTrustedDomain(struct rpc_pipe_client *cli,
-						TALLOC_CTX *mem_ctx)
+						TALLOC_CTX *mem_ctx,
+						struct policy_handle *trustdom_handle /* [in] [ref] */,
+						enum lsa_TrustDomInfoEnum level /* [in]  */,
+						union lsa_TrustedDomainInfo *info /* [in] [ref,switch_is(level)] */)
 {
 	struct lsa_SetInformationTrustedDomain r;
 	NTSTATUS status;
 
 	/* In parameters */
+	r.in.trustdom_handle = trustdom_handle;
+	r.in.level = level;
+	r.in.info = info;
 
 	if (DEBUGLEVEL >= 10) {
 		NDR_PRINT_IN_DEBUG(lsa_SetInformationTrustedDomain, &r);
@@ -1706,12 +1712,20 @@ NTSTATUS rpccli_lsa_QueryTrustedDomainInfoBySid(struct rpc_pipe_client *cli,
 }
 
 NTSTATUS rpccli_lsa_SetTrustedDomainInfo(struct rpc_pipe_client *cli,
-					 TALLOC_CTX *mem_ctx)
+					 TALLOC_CTX *mem_ctx,
+					 struct policy_handle *handle /* [in] [ref] */,
+					 struct dom_sid2 *dom_sid /* [in] [ref] */,
+					 enum lsa_TrustDomInfoEnum level /* [in]  */,
+					 union lsa_TrustedDomainInfo *info /* [in] [ref,switch_is(level)] */)
 {
 	struct lsa_SetTrustedDomainInfo r;
 	NTSTATUS status;
 
 	/* In parameters */
+	r.in.handle = handle;
+	r.in.dom_sid = dom_sid;
+	r.in.level = level;
+	r.in.info = info;
 
 	if (DEBUGLEVEL >= 10) {
 		NDR_PRINT_IN_DEBUG(lsa_SetTrustedDomainInfo, &r);
@@ -2161,12 +2175,21 @@ NTSTATUS rpccli_lsa_EnumTrustedDomainsEx(struct rpc_pipe_client *cli,
 }
 
 NTSTATUS rpccli_lsa_CreateTrustedDomainEx(struct rpc_pipe_client *cli,
-					  TALLOC_CTX *mem_ctx)
+					  TALLOC_CTX *mem_ctx,
+					  struct policy_handle *policy_handle /* [in] [ref] */,
+					  struct lsa_TrustDomainInfoInfoEx *info /* [in] [ref] */,
+					  struct lsa_TrustDomainInfoAuthInfoInternal *auth_info /* [in] [ref] */,
+					  uint32_t access_mask /* [in]  */,
+					  struct policy_handle *trustdom_handle /* [out] [ref] */)
 {
 	struct lsa_CreateTrustedDomainEx r;
 	NTSTATUS status;
 
 	/* In parameters */
+	r.in.policy_handle = policy_handle;
+	r.in.info = info;
+	r.in.auth_info = auth_info;
+	r.in.access_mask = access_mask;
 
 	if (DEBUGLEVEL >= 10) {
 		NDR_PRINT_IN_DEBUG(lsa_CreateTrustedDomainEx, &r);
@@ -2191,6 +2214,7 @@ NTSTATUS rpccli_lsa_CreateTrustedDomainEx(struct rpc_pipe_client *cli,
 	}
 
 	/* Return variables */
+	*trustdom_handle = *r.out.trustdom_handle;
 
 	/* Return result */
 	return r.out.result;
@@ -2462,8 +2486,8 @@ NTSTATUS rpccli_lsa_LookupNames2(struct rpc_pipe_client *cli,
 				 struct lsa_TransSidArray2 *sids /* [in,out] [ref] */,
 				 enum lsa_LookupNamesLevel level /* [in]  */,
 				 uint32_t *count /* [in,out] [ref] */,
-				 uint32_t unknown1 /* [in]  */,
-				 uint32_t unknown2 /* [in]  */)
+				 uint32_t lookup_options /* [in]  */,
+				 uint32_t client_revision /* [in]  */)
 {
 	struct lsa_LookupNames2 r;
 	NTSTATUS status;
@@ -2475,8 +2499,8 @@ NTSTATUS rpccli_lsa_LookupNames2(struct rpc_pipe_client *cli,
 	r.in.sids = sids;
 	r.in.level = level;
 	r.in.count = count;
-	r.in.unknown1 = unknown1;
-	r.in.unknown2 = unknown2;
+	r.in.lookup_options = lookup_options;
+	r.in.client_revision = client_revision;
 
 	if (DEBUGLEVEL >= 10) {
 		NDR_PRINT_IN_DEBUG(lsa_LookupNames2, &r);
@@ -2510,12 +2534,21 @@ NTSTATUS rpccli_lsa_LookupNames2(struct rpc_pipe_client *cli,
 }
 
 NTSTATUS rpccli_lsa_CreateTrustedDomainEx2(struct rpc_pipe_client *cli,
-					   TALLOC_CTX *mem_ctx)
+					   TALLOC_CTX *mem_ctx,
+					   struct policy_handle *policy_handle /* [in] [ref] */,
+					   struct lsa_TrustDomainInfoInfoEx *info /* [in] [ref] */,
+					   struct lsa_TrustDomainInfoAuthInfoInternal *auth_info /* [in] [ref] */,
+					   uint32_t access_mask /* [in]  */,
+					   struct policy_handle *trustdom_handle /* [out] [ref] */)
 {
 	struct lsa_CreateTrustedDomainEx2 r;
 	NTSTATUS status;
 
 	/* In parameters */
+	r.in.policy_handle = policy_handle;
+	r.in.info = info;
+	r.in.auth_info = auth_info;
+	r.in.access_mask = access_mask;
 
 	if (DEBUGLEVEL >= 10) {
 		NDR_PRINT_IN_DEBUG(lsa_CreateTrustedDomainEx2, &r);
@@ -2540,6 +2573,7 @@ NTSTATUS rpccli_lsa_CreateTrustedDomainEx2(struct rpc_pipe_client *cli,
 	}
 
 	/* Return variables */
+	*trustdom_handle = *r.out.trustdom_handle;
 
 	/* Return result */
 	return r.out.result;
@@ -2842,8 +2876,8 @@ NTSTATUS rpccli_lsa_LookupNames3(struct rpc_pipe_client *cli,
 				 struct lsa_TransSidArray3 *sids /* [in,out] [ref] */,
 				 enum lsa_LookupNamesLevel level /* [in]  */,
 				 uint32_t *count /* [in,out] [ref] */,
-				 uint32_t unknown1 /* [in]  */,
-				 uint32_t unknown2 /* [in]  */)
+				 uint32_t lookup_options /* [in]  */,
+				 uint32_t client_revision /* [in]  */)
 {
 	struct lsa_LookupNames3 r;
 	NTSTATUS status;
@@ -2855,8 +2889,8 @@ NTSTATUS rpccli_lsa_LookupNames3(struct rpc_pipe_client *cli,
 	r.in.sids = sids;
 	r.in.level = level;
 	r.in.count = count;
-	r.in.unknown1 = unknown1;
-	r.in.unknown2 = unknown2;
+	r.in.lookup_options = lookup_options;
+	r.in.client_revision = client_revision;
 
 	if (DEBUGLEVEL >= 10) {
 		NDR_PRINT_IN_DEBUG(lsa_LookupNames3, &r);
@@ -3209,8 +3243,8 @@ NTSTATUS rpccli_lsa_LookupNames4(struct rpc_pipe_client *cli,
 				 struct lsa_TransSidArray3 *sids /* [in,out] [ref] */,
 				 enum lsa_LookupNamesLevel level /* [in]  */,
 				 uint32_t *count /* [in,out] [ref] */,
-				 uint32_t unknown1 /* [in]  */,
-				 uint32_t unknown2 /* [in]  */)
+				 uint32_t lookup_options /* [in]  */,
+				 uint32_t client_revision /* [in]  */)
 {
 	struct lsa_LookupNames4 r;
 	NTSTATUS status;
@@ -3221,8 +3255,8 @@ NTSTATUS rpccli_lsa_LookupNames4(struct rpc_pipe_client *cli,
 	r.in.sids = sids;
 	r.in.level = level;
 	r.in.count = count;
-	r.in.unknown1 = unknown1;
-	r.in.unknown2 = unknown2;
+	r.in.lookup_options = lookup_options;
+	r.in.client_revision = client_revision;
 
 	if (DEBUGLEVEL >= 10) {
 		NDR_PRINT_IN_DEBUG(lsa_LookupNames4, &r);
diff --git a/source3/librpc/gen_ndr/cli_lsa.h b/source3/librpc/gen_ndr/cli_lsa.h
index f3333a0..d6cb2fc 100644
--- a/source3/librpc/gen_ndr/cli_lsa.h
+++ b/source3/librpc/gen_ndr/cli_lsa.h
@@ -133,7 +133,10 @@ NTSTATUS rpccli_lsa_QueryTrustedDomainInfo(struct rpc_pipe_client *cli,
 					   enum lsa_TrustDomInfoEnum level /* [in]  */,
 					   union lsa_TrustedDomainInfo **info /* [out] [ref,switch_is(level)] */);
 NTSTATUS rpccli_lsa_SetInformationTrustedDomain(struct rpc_pipe_client *cli,
-						TALLOC_CTX *mem_ctx);
+						TALLOC_CTX *mem_ctx,
+						struct policy_handle *trustdom_handle /* [in] [ref] */,
+						enum lsa_TrustDomInfoEnum level /* [in]  */,
+						union lsa_TrustedDomainInfo *info /* [in] [ref,switch_is(level)] */);
 NTSTATUS rpccli_lsa_OpenSecret(struct rpc_pipe_client *cli,
 			       TALLOC_CTX *mem_ctx,
 			       struct policy_handle *handle /* [in] [ref] */,
@@ -201,7 +204,11 @@ NTSTATUS rpccli_lsa_QueryTrustedDomainInfoBySid(struct rpc_pipe_client *cli,
 						enum lsa_TrustDomInfoEnum level /* [in]  */,
 						union lsa_TrustedDomainInfo **info /* [out] [ref,switch_is(level)] */);
 NTSTATUS rpccli_lsa_SetTrustedDomainInfo(struct rpc_pipe_client *cli,
-					 TALLOC_CTX *mem_ctx);
+					 TALLOC_CTX *mem_ctx,
+					 struct policy_handle *handle /* [in] [ref] */,
+					 struct dom_sid2 *dom_sid /* [in] [ref] */,
+					 enum lsa_TrustDomInfoEnum level /* [in]  */,
+					 union lsa_TrustedDomainInfo *info /* [in] [ref,switch_is(level)] */);
 NTSTATUS rpccli_lsa_DeleteTrustedDomain(struct rpc_pipe_client *cli,
 					TALLOC_CTX *mem_ctx,
 					struct policy_handle *handle /* [in] [ref] */,
@@ -250,7 +257,12 @@ NTSTATUS rpccli_lsa_EnumTrustedDomainsEx(struct rpc_pipe_client *cli,
 					 struct lsa_DomainListEx *domains /* [out] [ref] */,
 					 uint32_t max_size /* [in]  */);
 NTSTATUS rpccli_lsa_CreateTrustedDomainEx(struct rpc_pipe_client *cli,
-					  TALLOC_CTX *mem_ctx);
+					  TALLOC_CTX *mem_ctx,
+					  struct policy_handle *policy_handle /* [in] [ref] */,
+					  struct lsa_TrustDomainInfoInfoEx *info /* [in] [ref] */,
+					  struct lsa_TrustDomainInfoAuthInfoInternal *auth_info /* [in] [ref] */,
+					  uint32_t access_mask /* [in]  */,
+					  struct policy_handle *trustdom_handle /* [out] [ref] */);
 NTSTATUS rpccli_lsa_CloseTrustedDomainEx(struct rpc_pipe_client *cli,
 					 TALLOC_CTX *mem_ctx,
 					 struct policy_handle *handle /* [in,out] [ref] */);
@@ -291,10 +303,15 @@ NTSTATUS rpccli_lsa_LookupNames2(struct rpc_pipe_client *cli,
 				 struct lsa_TransSidArray2 *sids /* [in,out] [ref] */,
 				 enum lsa_LookupNamesLevel level /* [in]  */,
 				 uint32_t *count /* [in,out] [ref] */,
-				 uint32_t unknown1 /* [in]  */,
-				 uint32_t unknown2 /* [in]  */);
+				 uint32_t lookup_options /* [in]  */,
+				 uint32_t client_revision /* [in]  */);
 NTSTATUS rpccli_lsa_CreateTrustedDomainEx2(struct rpc_pipe_client *cli,
-					   TALLOC_CTX *mem_ctx);
+					   TALLOC_CTX *mem_ctx,
+					   struct policy_handle *policy_handle /* [in] [ref] */,
+					   struct lsa_TrustDomainInfoInfoEx *info /* [in] [ref] */,
+					   struct lsa_TrustDomainInfoAuthInfoInternal *auth_info /* [in] [ref] */,
+					   uint32_t access_mask /* [in]  */,
+					   struct policy_handle *trustdom_handle /* [out] [ref] */);
 NTSTATUS rpccli_lsa_CREDRWRITE(struct rpc_pipe_client *cli,
 			       TALLOC_CTX *mem_ctx);
 NTSTATUS rpccli_lsa_CREDRREAD(struct rpc_pipe_client *cli,
@@ -320,8 +337,8 @@ NTSTATUS rpccli_lsa_LookupNames3(struct rpc_pipe_client *cli,
 				 struct lsa_TransSidArray3 *sids /* [in,out] [ref] */,
 				 enum lsa_LookupNamesLevel level /* [in]  */,
 				 uint32_t *count /* [in,out] [ref] */,
-				 uint32_t unknown1 /* [in]  */,
-				 uint32_t unknown2 /* [in]  */);
+				 uint32_t lookup_options /* [in]  */,
+				 uint32_t client_revision /* [in]  */);
 NTSTATUS rpccli_lsa_CREDRGETSESSIONTYPES(struct rpc_pipe_client *cli,
 					 TALLOC_CTX *mem_ctx);
 NTSTATUS rpccli_lsa_LSARREGISTERAUDITEVENT(struct rpc_pipe_client *cli,
@@ -357,8 +374,8 @@ NTSTATUS rpccli_lsa_LookupNames4(struct rpc_pipe_client *cli,
 				 struct lsa_TransSidArray3 *sids /* [in,out] [ref] */,
 				 enum lsa_LookupNamesLevel level /* [in]  */,
 				 uint32_t *count /* [in,out] [ref] */,
-				 uint32_t unknown1 /* [in]  */,
-				 uint32_t unknown2 /* [in]  */);
+				 uint32_t lookup_options /* [in]  */,
+				 uint32_t client_revision /* [in]  */);
 NTSTATUS rpccli_lsa_LSAROPENPOLICYSCE(struct rpc_pipe_client *cli,
 				      TALLOC_CTX *mem_ctx);
 NTSTATUS rpccli_lsa_LSARADTREGISTERSECURITYEVENTSOURCE(struct rpc_pipe_client *cli,
diff --git a/source3/librpc/gen_ndr/lsa.h b/source3/librpc/gen_ndr/lsa.h
index ac7c64c..bcf6dd6 100644
--- a/source3/librpc/gen_ndr/lsa.h
+++ b/source3/librpc/gen_ndr/lsa.h
@@ -222,7 +222,8 @@ enum lsa_PolicyInfo
 	LSA_POLICY_INFO_DB=9,
 	LSA_POLICY_INFO_AUDIT_FULL_SET=10,
 	LSA_POLICY_INFO_AUDIT_FULL_QUERY=11,
-	LSA_POLICY_INFO_DNS=12
+	LSA_POLICY_INFO_DNS=12,
+	LSA_POLICY_INFO_DNS_INT=13
 }
 #else
  { __donnot_use_enum_lsa_PolicyInfo=0x7FFFFFFF}
@@ -238,6 +239,7 @@ enum lsa_PolicyInfo
 #define LSA_POLICY_INFO_AUDIT_FULL_SET ( 10 )
 #define LSA_POLICY_INFO_AUDIT_FULL_QUERY ( 11 )
 #define LSA_POLICY_INFO_DNS ( 12 )
+#define LSA_POLICY_INFO_DNS_INT ( 13 )
 #endif
 ;
 
@@ -324,7 +326,8 @@ enum lsa_LookupNamesLevel
 	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
+	LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2=6,
+	LSA_LOOKUP_NAMES_RODC_REFERRAL_TO_FULL_DC=7
 }
 #else
  { __donnot_use_enum_lsa_LookupNamesLevel=0x7FFFFFFF}
@@ -334,6 +337,7 @@ enum lsa_LookupNamesLevel
 #define LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY ( 4 )
 #define LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY ( 5 )
 #define LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2 ( 6 )
+#define LSA_LOOKUP_NAMES_RODC_REFERRAL_TO_FULL_DC ( 7 )
 #endif
 ;
 
@@ -374,35 +378,75 @@ enum lsa_TrustDomInfoEnum
 #ifndef USE_UINT_ENUMS
  {
 	LSA_TRUSTED_DOMAIN_INFO_NAME=1,
-	LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS_INFO=2,
+	LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS=2,
 	LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET=3,
 	LSA_TRUSTED_DOMAIN_INFO_PASSWORD=4,
 	LSA_TRUSTED_DOMAIN_INFO_BASIC=5,
 	LSA_TRUSTED_DOMAIN_INFO_INFO_EX=6,
 	LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO=7,
 	LSA_TRUSTED_DOMAIN_INFO_FULL_INFO=8,
-	LSA_TRUSTED_DOMAIN_INFO_11=11,
-	LSA_TRUSTED_DOMAIN_INFO_INFO_ALL=12
+	LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL=9,
+	LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL=10,
+	LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL=11,
+	LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL=12,
+	LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES=13
 }
 #else
  { __donnot_use_enum_lsa_TrustDomInfoEnum=0x7FFFFFFF}
 #define LSA_TRUSTED_DOMAIN_INFO_NAME ( 1 )
-#define LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS_INFO ( 2 )
+#define LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS ( 2 )
 #define LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET ( 3 )
 #define LSA_TRUSTED_DOMAIN_INFO_PASSWORD ( 4 )
 #define LSA_TRUSTED_DOMAIN_INFO_BASIC ( 5 )
 #define LSA_TRUSTED_DOMAIN_INFO_INFO_EX ( 6 )
 #define LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO ( 7 )
 #define LSA_TRUSTED_DOMAIN_INFO_FULL_INFO ( 8 )
-#define LSA_TRUSTED_DOMAIN_INFO_11 ( 11 )
-#define LSA_TRUSTED_DOMAIN_INFO_INFO_ALL ( 12 )
+#define LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL ( 9 )
+#define LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL ( 10 )
+#define LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL ( 11 )
+#define LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL ( 12 )
+#define LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES ( 13 )
 #endif
 ;
 
+/* bitmap lsa_TrustDirection */
+#define LSA_TRUST_DIRECTION_INBOUND ( 0x00000001 )
+#define LSA_TRUST_DIRECTION_OUTBOUND ( 0x00000002 )
+
+enum lsa_TrustType
+#ifndef USE_UINT_ENUMS
+ {
+	LSA_TRUST_TYPE_DOWNLEVEL=0x00000001,
+	LSA_TRUST_TYPE_UPLEVEL=0x00000002,
+	LSA_TRUST_TYPE_MIT=0x00000003
+}
+#else
+ { __donnot_use_enum_lsa_TrustType=0x7FFFFFFF}
+#define LSA_TRUST_TYPE_DOWNLEVEL ( 0x00000001 )
+#define LSA_TRUST_TYPE_UPLEVEL ( 0x00000002 )
+#define LSA_TRUST_TYPE_MIT ( 0x00000003 )
+#endif
+;
+
+/* bitmap lsa_TrustAttributes */
+#define LSA_TRUST_ATTRIBUTE_NON_TRANSITIVE ( 0x00000001 )
+#define LSA_TRUST_ATTRIBUTE_UPLEVEL_ONLY ( 0x00000002 )
+#define LSA_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN ( 0x00000004 )
+#define LSA_TRUST_ATTRIBUTE_FOREST_TRANSITIVE ( 0x00000008 )
+#define LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION ( 0x00000010 )
+#define LSA_TRUST_ATTRIBUTE_WITHIN_FOREST ( 0x00000020 )
+#define LSA_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL ( 0x00000040 )
+#define LSA_TRUST_ATTRIBUTE_USES_RC4_ENCRYPTION ( 0x00000080 )
+
 struct lsa_TrustDomainInfoName {
 	struct lsa_StringLarge netbios_name;
 };
 
+struct lsa_TrustDomainInfoControllers {
+	uint32_t entries;
+	struct lsa_StringLarge *netbios_names;/* [unique,size_is(entries)] */
+};
+
 struct lsa_TrustDomainInfoPosixOffset {
 	uint32_t posix_offset;
 };
@@ -422,13 +466,30 @@ struct lsa_TrustDomainInfoInfoEx {
 	struct lsa_StringLarge netbios_name;
 	struct dom_sid2 *sid;/* [unique] */
 	uint32_t trust_direction;
-	uint32_t trust_type;
+	enum lsa_TrustType trust_type;
 	uint32_t trust_attributes;
 };
 
+enum lsa_TrustAuthType
+#ifndef USE_UINT_ENUMS
+ {
+	TRUST_AUTH_TYPE_NONE=0,
+	TRUST_AUTH_TYPE_NT4OWF=1,
+	TRUST_AUTH_TYPE_CLEAR=2,
+	TRUST_AUTH_TYPE_VERSION=3
+}
+#else
+ { __donnot_use_enum_lsa_TrustAuthType=0x7FFFFFFF}
+#define TRUST_AUTH_TYPE_NONE ( 0 )
+#define TRUST_AUTH_TYPE_NT4OWF ( 1 )
+#define TRUST_AUTH_TYPE_CLEAR ( 2 )
+#define TRUST_AUTH_TYPE_VERSION ( 3 )
+#endif
+;
+
 struct lsa_TrustDomainInfoBuffer {
 	NTTIME last_update_time;
-	uint32_t secret_type;
+	enum lsa_TrustAuthType AuthType;
 	struct lsa_DATA_BUF2 data;
 };
 
@@ -447,28 +508,46 @@ struct lsa_TrustDomainInfoFullInfo {
 	struct lsa_TrustDomainInfoAuthInfo auth_info;
 };
 
-struct lsa_TrustDomainInfo11 {
+struct lsa_TrustDomainInfoAuthInfoInternal {
+	struct lsa_DATA_BUF2 auth_blob;
+};
+
+struct lsa_TrustDomainInfoFullInfoInternal {
 	struct lsa_TrustDomainInfoInfoEx info_ex;
-	struct lsa_DATA_BUF2 data1;
+	struct lsa_TrustDomainInfoPosixOffset posix_offset;
+	struct lsa_TrustDomainInfoAuthInfoInternal auth_info;
 };
 
-struct lsa_TrustDomainInfoInfoAll {
+struct lsa_TrustDomainInfoInfoEx2Internal {
 	struct lsa_TrustDomainInfoInfoEx info_ex;
-	struct lsa_DATA_BUF2 data1;
+	uint32_t forest_trust_length;
+	uint8_t *forest_trust_data;/* [unique,size_is(forest_trust_length)] */
+};
+
+struct lsa_TrustDomainInfoFullInfo2Internal {
+	struct lsa_TrustDomainInfoInfoEx2Internal info;
 	struct lsa_TrustDomainInfoPosixOffset posix_offset;
 	struct lsa_TrustDomainInfoAuthInfo auth_info;
 };
 
+struct lsa_TrustDomainInfoSupportedEncTypes {
+	uint32_t enc_types;
+};
+
 union lsa_TrustedDomainInfo {
 	struct lsa_TrustDomainInfoName name;/* [case(LSA_TRUSTED_DOMAIN_INFO_NAME)] */
+	struct lsa_TrustDomainInfoControllers controllers;/* [case(LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS)] */
 	struct lsa_TrustDomainInfoPosixOffset posix_offset;/* [case(LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET)] */
 	struct lsa_TrustDomainInfoPassword password;/* [case(LSA_TRUSTED_DOMAIN_INFO_PASSWORD)] */
 	struct lsa_TrustDomainInfoBasic info_basic;/* [case(LSA_TRUSTED_DOMAIN_INFO_BASIC)] */
 	struct lsa_TrustDomainInfoInfoEx info_ex;/* [case(LSA_TRUSTED_DOMAIN_INFO_INFO_EX)] */
 	struct lsa_TrustDomainInfoAuthInfo auth_info;/* [case(LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO)] */
 	struct lsa_TrustDomainInfoFullInfo full_info;/* [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO)] */
-	struct lsa_TrustDomainInfo11 info11;/* [case(LSA_TRUSTED_DOMAIN_INFO_11)] */
-	struct lsa_TrustDomainInfoInfoAll info_all;/* [case(LSA_TRUSTED_DOMAIN_INFO_INFO_ALL)] */
+	struct lsa_TrustDomainInfoAuthInfoInternal auth_info_internal;/* [case(LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL)] */
+	struct lsa_TrustDomainInfoFullInfoInternal full_info_internal;/* [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL)] */
+	struct lsa_TrustDomainInfoInfoEx2Internal info_ex2_internal;/* [case(LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL)] */
+	struct lsa_TrustDomainInfoFullInfo2Internal full_info2_internal;/* [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL)] */
+	struct lsa_TrustDomainInfoSupportedEncTypes enc_types;/* [case(LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES)] */
 }/* [switch_type(lsa_TrustDomInfoEnum)] */;
 
 struct lsa_DATA_BUF_PTR {


-- 
Samba Shared Repository


More information about the samba-cvs mailing list