1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00

r26286: IDL and torture test for netr_ServerTrustPasswordsGet().

Guenther
(This used to be commit 231fe8826b)
This commit is contained in:
Günther Deschner 2007-12-04 10:20:13 +01:00 committed by Stefan Metzmacher
parent 96b46e9907
commit b466534a0d
4 changed files with 50 additions and 5 deletions

View File

@ -1269,7 +1269,16 @@ interface netlogon
/****************/
/* Function 0x2a */
WERROR netr_NETRSERVERTRUSTPASSWORDSGET();
NTSTATUS netr_ServerTrustPasswordsGet(
[in] [string,charset(UTF16)] uint16 *server_name,
[in] [string,charset(UTF16)] uint16 account_name[],
[in] netr_SchannelType secure_channel_type,
[in] [string,charset(UTF16)] uint16 computer_name[],
[in,ref] netr_Authenticator *credential,
[out,ref] netr_Authenticator *return_authenticator,
[out,ref] samr_Password *password,
[out,ref] samr_Password *password2
);
/****************/
/* Function 0x2b */

View File

@ -1206,11 +1206,11 @@ static WERROR dcesrv_netr_DSRDEREGISTERDNSHOSTRECORDS(struct dcesrv_call_state *
}
/*
netr_NETRSERVERTRUSTPASSWORDSGET
/*
netr_ServerTrustPasswordsGet
*/
static WERROR dcesrv_netr_NETRSERVERTRUSTPASSWORDSGET(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
struct netr_NETRSERVERTRUSTPASSWORDSGET *r)
static NTSTATUS dcesrv_netr_ServerTrustPasswordsGet(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
struct netr_ServerTrustPasswordsGet *r)
{
DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
}

View File

@ -30,5 +30,6 @@ RPC-NETLOGON.*/DsrGetDcSiteCoverageW
RPC-NETLOGON.*/DsRAddressToSitenamesW
RPC-NETLOGON.*/DsRAddressToSitenamesExW
RPC-NETLOGON.*/GetPassword
RPC-NETLOGON.*/GetTrustPasswords
BASE-CHARSET.*/Testing partial surrogate
.*NET-API-DELSHARE.* # DelShare isn't implemented yet

View File

@ -468,6 +468,39 @@ static bool test_GetPassword(struct torture_context *tctx,
return true;
}
static bool test_GetTrustPasswords(struct torture_context *tctx,
struct dcerpc_pipe *p,
struct cli_credentials *machine_credentials)
{
struct netr_ServerTrustPasswordsGet r;
struct creds_CredentialState *creds;
struct netr_Authenticator credential;
NTSTATUS status;
struct netr_Authenticator return_authenticator;
struct samr_Password password, password2;
if (!test_SetupCredentials(p, tctx, machine_credentials, &creds)) {
return false;
}
creds_client_authenticator(creds, &credential);
r.in.server_name = talloc_asprintf(tctx, "\\\\%s", dcerpc_server_name(p));
r.in.account_name = talloc_asprintf(tctx, "%s$", TEST_MACHINE_NAME);
r.in.secure_channel_type = SEC_CHAN_BDC;
r.in.computer_name = TEST_MACHINE_NAME;
r.in.credential = &credential;
r.out.return_authenticator = &return_authenticator;
r.out.password = &password;
r.out.password2 = &password2;
status = dcerpc_netr_ServerTrustPasswordsGet(p, tctx, &r);
torture_assert_ntstatus_ok(tctx, status, "ServerTrustPasswordsGet");
return true;
}
/*
try a netlogon SamLogon
*/
@ -1531,6 +1564,8 @@ struct torture_suite *torture_rpc_netlogon(TALLOC_CTX *mem_ctx)
torture_rpc_tcase_add_test_creds(tcase, "SamLogon", test_SamLogon);
torture_rpc_tcase_add_test_creds(tcase, "SetPassword", test_SetPassword);
torture_rpc_tcase_add_test_creds(tcase, "SetPassword2", test_SetPassword2);
torture_rpc_tcase_add_test_creds(tcase, "GetPassword", test_GetPassword);
torture_rpc_tcase_add_test_creds(tcase, "GetTrustPasswords", test_GetTrustPasswords);
torture_rpc_tcase_add_test_creds(tcase, "GetDomainInfo", test_GetDomainInfo);
torture_rpc_tcase_add_test_creds(tcase, "DatabaseSync", test_DatabaseSync);
torture_rpc_tcase_add_test_creds(tcase, "DatabaseDeltas", test_DatabaseDeltas);