[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