diff options
author | Andrew Bartlett <abartlet@samba.org> | 2004-11-23 03:11:38 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:06:05 -0500 |
commit | 587745e32da3c45773c129c8b9740c89aa8bbd9f (patch) | |
tree | b073c8ed8f92c57ddc696eb76afb623829404683 /source4 | |
parent | 88baaee0939e28a596ceae49ce1b265570323340 (diff) | |
download | samba-587745e32da3c45773c129c8b9740c89aa8bbd9f.tar.gz samba-587745e32da3c45773c129c8b9740c89aa8bbd9f.tar.bz2 samba-587745e32da3c45773c129c8b9740c89aa8bbd9f.zip |
r3919: Add more info levels to the QueryTrustedDomainInfo structures, with
names and other assistance from the ethereal sources.
More work needs to be done to validate some of the levels, which do
not appear in the query - perhaps they are modification levels.
Andrew Bartlett
(This used to be commit 63635533693fa364b0c697a3fe1010b3eb8b17d3)
Diffstat (limited to 'source4')
-rw-r--r-- | source4/librpc/idl/lsa.idl | 78 | ||||
-rw-r--r-- | source4/torture/rpc/lsa.c | 2 |
2 files changed, 73 insertions, 7 deletions
diff --git a/source4/librpc/idl/lsa.idl b/source4/librpc/idl/lsa.idl index a0f0e6cffc..262babaf21 100644 --- a/source4/librpc/idl/lsa.idl +++ b/source4/librpc/idl/lsa.idl @@ -411,13 +411,40 @@ [size_is(size),length_is(length)] uint8 *data; } lsa_DATA_BUF; + typedef [flag(NDR_PAHEX)] struct { + uint32 size; + [size_is(size)] uint8 *data; + } lsa_DATA_BUF2; + + typedef enum { + LSA_TRUSTED_DOMAIN_INFO_NAME=1, + LSA_TRUSTED_DOMAIN_INFO_2=2, + LSA_TRUSTED_DOMAIN_INFO_FLAGS=3, + LSA_TRUSTED_DOMAIN_INFO_PASSWORD=4, + LSA_TRUSTED_DOMAIN_INFO_5=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_INFO_ALL=12 + } lsa_TrustDomInfoEnum; + typedef struct { lsa_String domain_name; - } lsa_TrustDomainInfo1; + } lsa_TrustDomainInfoName; typedef struct { uint32 flags; - } lsa_TrustDomainInfo3; + } lsa_TrustDomainInfoFlags; + + typedef struct { + lsa_DATA_BUF *password; + lsa_DATA_BUF *old_password; + } lsa_TrustDomainInfoPassword; + + typedef struct { + lsa_String domain_name; + dom_sid2 *sid; + } lsa_TrustDomainInfo5; typedef struct { lsa_String name; @@ -426,12 +453,51 @@ uint32 unknown1; uint32 unknown2; uint32 unknown3; - } lsa_TrustDomainInfo6; + } lsa_TrustDomainInfoInfoEx; + + typedef struct { + HYPER_T unknown1; + uint32 unknown2; + lsa_DATA_BUF2 data; + } lsa_TrustDomainInfoBuffer; + + typedef struct { + uint32 unknown1; + lsa_TrustDomainInfoBuffer *buff1; + lsa_TrustDomainInfoBuffer *buff2; + uint32 unknown2; + lsa_TrustDomainInfoBuffer *buff3; + lsa_TrustDomainInfoBuffer *buff4; + } lsa_TrustDomainInfoAuthInfo; + + typedef struct { + lsa_TrustDomainInfoInfoEx info_ex; + lsa_TrustDomainInfoFlags flags; + lsa_TrustDomainInfoAuthInfo auth_info; + } lsa_TrustDomainInfoFullInfo; + + typedef struct { + lsa_TrustDomainInfoInfoEx info_ex; + lsa_DATA_BUF2 data1; + } lsa_TrustDomainInfo11; + + typedef struct { + lsa_TrustDomainInfoInfoEx info_ex; + lsa_DATA_BUF2 data1; + lsa_TrustDomainInfoFlags flags; + lsa_TrustDomainInfoAuthInfo auth_info; + } lsa_TrustDomainInfoInfoAll; typedef union { - [case(1)] lsa_TrustDomainInfo1 info1; - [case(3)] lsa_TrustDomainInfo3 info3; - [case(6)] lsa_TrustDomainInfo6 info6; + [case(LSA_TRUSTED_DOMAIN_INFO_NAME)] lsa_TrustDomainInfoName name; + [case(LSA_TRUSTED_DOMAIN_INFO_FLAGS)] lsa_TrustDomainInfoFlags flags; + [case(LSA_TRUSTED_DOMAIN_INFO_PASSWORD)] lsa_TrustDomainInfoPassword password; + [case(LSA_TRUSTED_DOMAIN_INFO_5)] lsa_TrustDomainInfo5 info5; + [case(LSA_TRUSTED_DOMAIN_INFO_INFO_EX)] lsa_TrustDomainInfoInfoEx info_ex; + [case(LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO)] lsa_TrustDomainInfoAuthInfo auth_info; + [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO)] lsa_TrustDomainInfoFullInfo full_info; + [case(11)] lsa_TrustDomainInfo11 info11; + [case(LSA_TRUSTED_DOMAIN_INFO_INFO_ALL)] lsa_TrustDomainInfoInfoAll info_all; } lsa_TrustedDomainInfo; /* Function: 0x1a */ diff --git a/source4/torture/rpc/lsa.c b/source4/torture/rpc/lsa.c index 1fce7d9fa6..c33606cc9e 100644 --- a/source4/torture/rpc/lsa.c +++ b/source4/torture/rpc/lsa.c @@ -777,7 +777,7 @@ static BOOL test_EnumTrustDom(struct dcerpc_pipe *p, struct policy_handle trustdom_handle; struct policy_handle handle2; struct lsa_Close c; - int levels [] = {1, 3, 6}; + int levels [] = {1, 3, 6, 8, 12}; trust.in.handle = handle; trust.in.sid = domains.domains[i].sid; |