svn commit: samba r3917 - in branches/SAMBA_4_0/source: librpc/idl
rpc_server/lsa torture/rpc
abartlet at samba.org
abartlet at samba.org
Tue Nov 23 00:31:00 GMT 2004
Author: abartlet
Date: 2004-11-23 00:31:00 +0000 (Tue, 23 Nov 2004)
New Revision: 3917
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=3917
Log:
A few more LSA RPCs found in my wanderings (for trusted domains, these
seem to be 'shortcut' RPCs, that just avoid an open/query pair).
Rename a few others to give us a slightly sensible pattern.
Andrew Bartlett
Modified:
branches/SAMBA_4_0/source/librpc/idl/lsa.idl
branches/SAMBA_4_0/source/rpc_server/lsa/dcesrv_lsa.c
branches/SAMBA_4_0/source/torture/rpc/lsa.c
branches/SAMBA_4_0/source/torture/rpc/samsync.c
Changeset:
Modified: branches/SAMBA_4_0/source/librpc/idl/lsa.idl
===================================================================
--- branches/SAMBA_4_0/source/librpc/idl/lsa.idl 2004-11-23 00:09:23 UTC (rev 3916)
+++ branches/SAMBA_4_0/source/librpc/idl/lsa.idl 2004-11-23 00:31:00 UTC (rev 3917)
@@ -435,7 +435,7 @@
} lsa_TrustedDomainInfo;
/* Function: 0x1a */
- NTSTATUS lsa_QueryInfoTrustedDomain(
+ NTSTATUS lsa_QueryTrustedDomainInfo(
[in,ref] policy_handle *trustdom_handle,
[in] uint16 level,
[out,switch_is(level)] lsa_TrustedDomainInfo *info
@@ -544,7 +544,13 @@
);
/* Function: 0x27 */
- NTSTATUS lsa_QueryTrustDomainInfo();
+ NTSTATUS lsa_QueryTrustedDomainInfoBySid(
+ [in,ref] policy_handle *handle,
+ [in,ref] dom_sid2 *dom_sid,
+ [in] uint16 level,
+ [out,switch_is(level)] lsa_TrustedDomainInfo *info
+ );
+
/* Function: 0x28 */
NTSTATUS lsa_SetTrustDomainInfo();
/* Function: 0x29 */
@@ -581,7 +587,12 @@
NTSTATUS lsa_SetInfoPolicy2();
/* Function 0x30 */
- NTSTATUS lsa_QueryTrustedDomainInfoByName();
+ NTSTATUS lsa_QueryTrustedDomainInfoByName(
+ [in,ref] policy_handle *handle,
+ [in] lsa_String trusted_domain,
+ [in] uint16 level,
+ [out,switch_is(level)] lsa_TrustedDomainInfo *info
+ );
/* Function 0x31 */
NTSTATUS lsa_SetTrustedDomainInfoByName();
Modified: branches/SAMBA_4_0/source/rpc_server/lsa/dcesrv_lsa.c
===================================================================
--- branches/SAMBA_4_0/source/rpc_server/lsa/dcesrv_lsa.c 2004-11-23 00:09:23 UTC (rev 3916)
+++ branches/SAMBA_4_0/source/rpc_server/lsa/dcesrv_lsa.c 2004-11-23 00:31:00 UTC (rev 3917)
@@ -613,10 +613,10 @@
/*
- lsa_QueryInfoTrustedDomain
+ lsa_QueryTrustedDomainInfo
*/
-static NTSTATUS lsa_QueryInfoTrustedDomain(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
- struct lsa_QueryInfoTrustedDomain *r)
+static NTSTATUS lsa_QueryTrustedDomainInfo(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
+ struct lsa_QueryTrustedDomainInfo *r)
{
DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
}
@@ -743,10 +743,10 @@
/*
- lsa_QueryTrustDomainInfo
+ lsa_QueryTrustedDomainInfoBySid
*/
-static NTSTATUS lsa_QueryTrustDomainInfo(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
- struct lsa_QueryTrustDomainInfo *r)
+static NTSTATUS lsa_QueryTrustedDomainInfoBySid(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
+ struct lsa_QueryTrustedDomainInfoBySid *r)
{
DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
}
Modified: branches/SAMBA_4_0/source/torture/rpc/lsa.c
===================================================================
--- branches/SAMBA_4_0/source/torture/rpc/lsa.c 2004-11-23 00:09:23 UTC (rev 3916)
+++ branches/SAMBA_4_0/source/torture/rpc/lsa.c 2004-11-23 00:31:00 UTC (rev 3917)
@@ -769,12 +769,12 @@
return False;
}
- printf("\nTesting OpenTrustedDomain and OpenTrustedDomainByName\n");
+ printf("\nTesting OpenTrustedDomain, OpenTrustedDomainByName and QueryInfoTrustedDomain\n");
for (i=0; i< domains.count; i++) {
struct lsa_OpenTrustedDomain trust;
struct lsa_OpenTrustedDomainByName trust_by_name;
- struct policy_handle trust_handle;
+ struct policy_handle trustdom_handle;
struct policy_handle handle2;
struct lsa_Close c;
int levels [] = {1, 3, 6};
@@ -782,7 +782,7 @@
trust.in.handle = handle;
trust.in.sid = domains.domains[i].sid;
trust.in.access_mask = SEC_RIGHTS_MAXIMUM_ALLOWED;
- trust.out.trustdom_handle = &trust_handle;
+ trust.out.trustdom_handle = &trustdom_handle;
status = dcerpc_lsa_OpenTrustedDomain(p, mem_ctx, &trust);
@@ -791,33 +791,33 @@
return False;
}
- c.in.handle = &trust_handle;
+ c.in.handle = &trustdom_handle;
c.out.handle = &handle2;
- for (j=1; j < ARRAY_SIZE(levels); j++) {
- struct lsa_QueryInfoTrustedDomain q;
+ for (j=0; j < ARRAY_SIZE(levels); j++) {
+ struct lsa_QueryTrustedDomainInfo q;
union lsa_TrustedDomainInfo info;
- q.in.trustdom_handle = &trust_handle;
+ q.in.trustdom_handle = &trustdom_handle;
q.in.level = levels[j];
q.out.info = &info;
- status = dcerpc_lsa_QueryInfoTrustedDomain(p, mem_ctx, &q);
+ status = dcerpc_lsa_QueryTrustedDomainInfo(p, mem_ctx, &q);
if (!NT_STATUS_IS_OK(status)) {
- printf("QueryInfoTrustedDomain level %d failed - %s\n",
- j, nt_errstr(status));
+ printf("QueryTrustedDomainInfo level %d failed - %s\n",
+ levels[j], nt_errstr(status));
ret = False;
}
}
status = dcerpc_lsa_Close(p, mem_ctx, &c);
if (!NT_STATUS_IS_OK(status)) {
- printf("Close of trusted doman failed - %s\n", nt_errstr(status));
+ printf("Close of trusted domain failed - %s\n", nt_errstr(status));
return False;
}
trust_by_name.in.handle = handle;
trust_by_name.in.name = domains.domains[i].name;
trust_by_name.in.access_mask = SEC_RIGHTS_MAXIMUM_ALLOWED;
- trust_by_name.out.trustdom_handle = &trust_handle;
+ trust_by_name.out.trustdom_handle = &trustdom_handle;
status = dcerpc_lsa_OpenTrustedDomainByName(p, mem_ctx, &trust_by_name);
@@ -826,14 +826,61 @@
return False;
}
- c.in.handle = &trust_handle;
+ for (j=0; j < ARRAY_SIZE(levels); j++) {
+ struct lsa_QueryTrustedDomainInfo q;
+ union lsa_TrustedDomainInfo info;
+ q.in.trustdom_handle = &trustdom_handle;
+ q.in.level = levels[j];
+ q.out.info = &info;
+ status = dcerpc_lsa_QueryTrustedDomainInfo(p, mem_ctx, &q);
+ if (!NT_STATUS_IS_OK(status)) {
+ printf("QueryTrustedDomainInfo level %d failed - %s\n",
+ levels[j], nt_errstr(status));
+ ret = False;
+ }
+ }
+
+ c.in.handle = &trustdom_handle;
c.out.handle = &handle2;
status = dcerpc_lsa_Close(p, mem_ctx, &c);
if (!NT_STATUS_IS_OK(status)) {
- printf("Close of trusted doman failed - %s\n", nt_errstr(status));
+ printf("Close of trusted domain failed - %s\n", nt_errstr(status));
return False;
}
+
+ for (j=0; j < ARRAY_SIZE(levels); j++) {
+ struct lsa_QueryTrustedDomainInfoBySid q;
+ union lsa_TrustedDomainInfo info;
+ q.in.handle = handle;
+ q.in.dom_sid = domains.domains[i].sid;
+ q.in.level = levels[j];
+ q.out.info = &info;
+ status = dcerpc_lsa_QueryTrustedDomainInfoBySid(p, mem_ctx, &q);
+ if (!NT_STATUS_IS_OK(status)) {
+ printf("QueryTrustedDomainInfoBySid level %d failed - %s\n",
+ levels[j], nt_errstr(status));
+ ret = False;
+ }
+ }
+
+ for (j=0; j < ARRAY_SIZE(levels); j++) {
+ struct lsa_QueryTrustedDomainInfoByName q;
+ union lsa_TrustedDomainInfo info;
+ q.in.handle = handle;
+ q.in.trusted_domain = domains.domains[i].name;
+ q.in.level = levels[j];
+ q.out.info = &info;
+ status = dcerpc_lsa_QueryTrustedDomainInfoByName(p, mem_ctx, &q);
+ if (!NT_STATUS_IS_OK(status)) {
+ printf("QueryTrustedDomainInfoByName level %d failed - %s\n",
+ levels[j], nt_errstr(status));
+ ret = False;
+ }
+ }
+
+
+
}
return ret;
Modified: branches/SAMBA_4_0/source/torture/rpc/samsync.c
===================================================================
--- branches/SAMBA_4_0/source/torture/rpc/samsync.c 2004-11-23 00:09:23 UTC (rev 3916)
+++ branches/SAMBA_4_0/source/torture/rpc/samsync.c 2004-11-23 00:31:00 UTC (rev 3917)
@@ -781,7 +781,7 @@
struct samsync_trusted_domain *new = talloc_p(samsync_state, struct samsync_trusted_domain);
struct lsa_OpenTrustedDomain t;
struct policy_handle trustdom_handle;
- struct lsa_QueryInfoTrustedDomain q;
+ struct lsa_QueryTrustedDomainInfo q;
union lsa_TrustedDomainInfo *info[4];
int levels [] = {1, 3};
int i;
@@ -803,7 +803,7 @@
for (i=0; i< ARRAY_SIZE(levels); i++) {
q.in.trustdom_handle = &trustdom_handle;
q.in.level = levels[i];
- status = dcerpc_lsa_QueryInfoTrustedDomain(samsync_state->p_lsa, mem_ctx, &q);
+ status = dcerpc_lsa_QueryTrustedDomainInfo(samsync_state->p_lsa, mem_ctx, &q);
if (!NT_STATUS_IS_OK(status)) {
printf("QueryInfoTrustedDomain level %d failed - %s\n",
levels[i], nt_errstr(status));
More information about the samba-cvs
mailing list