diff options
author | Stefan Metzmacher <metze@samba.org> | 2015-03-09 13:19:06 +0100 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2015-07-08 18:38:21 +0200 |
commit | c57fef89e1c65fc5e530dec2448b9e898bf14336 (patch) | |
tree | 69c83d59615d529de39eb85a8eb857a37401c501 | |
parent | a02300c0c78acd9c131e212e69225b9b84b4393f (diff) | |
download | samba-c57fef89e1c65fc5e530dec2448b9e898bf14336.tar.gz |
s4:rpc_server/netlogon: implement dcesrv_netr_ServerTrustPasswordsGet()
We just need to call dcesrv_netr_ServerGetTrustInfo() and ignore trust_info.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
-rw-r--r-- | selftest/knownfail | 1 | ||||
-rw-r--r-- | source4/rpc_server/netlogon/dcerpc_netlogon.c | 26 |
2 files changed, 25 insertions, 2 deletions
diff --git a/selftest/knownfail b/selftest/knownfail index e968c93a817..6d6093c460e 100644 --- a/selftest/knownfail +++ b/selftest/knownfail @@ -94,7 +94,6 @@ ^samba4.rpc.netlogon.*.NetrEnumerateTrustedDomains ^samba4.rpc.netlogon.*.NetrEnumerateTrustedDomainsEx ^samba4.rpc.netlogon.*.GetPassword -^samba4.rpc.netlogon.*.GetTrustPasswords ^samba4.rpc.netlogon.*.DatabaseRedo ^samba4.base.charset.*.Testing partial surrogate ^samba4.*.base.maximum_allowed # broken until we implement NTCREATEX_OPTIONS_BACKUP_INTENT diff --git a/source4/rpc_server/netlogon/dcerpc_netlogon.c b/source4/rpc_server/netlogon/dcerpc_netlogon.c index a85ccb936b1..bab47235c6c 100644 --- a/source4/rpc_server/netlogon/dcerpc_netlogon.c +++ b/source4/rpc_server/netlogon/dcerpc_netlogon.c @@ -2520,13 +2520,37 @@ static WERROR dcesrv_netr_DsrDeregisterDNSHostRecords(struct dcesrv_call_state * } +static NTSTATUS dcesrv_netr_ServerGetTrustInfo(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, + struct netr_ServerGetTrustInfo *r); + /* netr_ServerTrustPasswordsGet */ 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); + struct netr_ServerGetTrustInfo r2 = {}; + struct netr_TrustInfo *_ti = NULL; + NTSTATUS status; + + r2.in.server_name = r->in.server_name; + r2.in.account_name = r->in.account_name; + r2.in.secure_channel_type = r->in.secure_channel_type; + r2.in.computer_name = r->in.computer_name; + r2.in.credential = r->in.credential; + + r2.out.return_authenticator = r->out.return_authenticator; + r2.out.new_owf_password = r->out.new_owf_password; + r2.out.old_owf_password = r->out.old_owf_password; + r2.out.trust_info = &_ti; + + status = dcesrv_netr_ServerGetTrustInfo(dce_call, mem_ctx, &r2); + + r->out.return_authenticator = r2.out.return_authenticator; + r->out.new_owf_password = r2.out.new_owf_password; + r->out.old_owf_password = r2.out.old_owf_password; + + return status; } |