diff options
author | Stefan Metzmacher <metze@samba.org> | 2009-09-18 20:24:16 +0200 |
---|---|---|
committer | Andreas Schneider <asn@samba.org> | 2012-07-17 10:58:38 +0200 |
commit | e48aabc0063c957fb5590c4165997253f6021383 (patch) | |
tree | 2b70c8081aa8da565db8c481bcc6eb2a9cdf2564 /source4/rpc_server | |
parent | 342a2e6181a07737e2f9cb7476fa86c39b0731ec (diff) | |
download | samba-e48aabc0063c957fb5590c4165997253f6021383.tar.gz |
s4:rpc_server/netlogon: implement netr_LogonGetCapabilities
This is also needed to support AES.
metze
Signed-off-by: Günther Deschner <gd@samba.org>
Diffstat (limited to 'source4/rpc_server')
-rw-r--r-- | source4/rpc_server/netlogon/dcerpc_netlogon.c | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/source4/rpc_server/netlogon/dcerpc_netlogon.c b/source4/rpc_server/netlogon/dcerpc_netlogon.c index 1cbd9583c7a..1de1d74dd1c 100644 --- a/source4/rpc_server/netlogon/dcerpc_netlogon.c +++ b/source4/rpc_server/netlogon/dcerpc_netlogon.c @@ -1234,9 +1234,27 @@ static NTSTATUS dcesrv_netr_NetrEnumerateTrustedDomains(struct dcesrv_call_state static NTSTATUS dcesrv_netr_LogonGetCapabilities(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct netr_LogonGetCapabilities *r) { + struct netlogon_creds_CredentialState *creds; + NTSTATUS status; - /* we don't support AES yet */ - return NT_STATUS_NOT_IMPLEMENTED; + status = dcesrv_netr_creds_server_step_check(dce_call, + mem_ctx, + r->in.computer_name, + r->in.credential, + r->out.return_authenticator, + &creds); + if (!NT_STATUS_IS_OK(status)) { + DEBUG(0,(__location__ " Bad credentials - error\n")); + } + NT_STATUS_NOT_OK_RETURN(status); + + if (r->in.query_level != 1) { + return NT_STATUS_NOT_SUPPORTED; + } + + r->out.capabilities->server_capabilities = creds->negotiate_flags; + + return NT_STATUS_OK; } |