diff options
author | Stefan Metzmacher <metze@samba.org> | 2009-09-19 21:07:20 +0200 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2011-12-22 17:48:24 +0100 |
commit | 9c00d04ac1b8c54b88167f6cc32ac70ea0b2817c (patch) | |
tree | f5f3eef22e0b7fb48afc7399ada5541f686610d5 /source3 | |
parent | a7541fc27ec9fd880ce8f13e9c04bec105c5435e (diff) | |
download | samba-9c00d04ac1b8c54b88167f6cc32ac70ea0b2817c.tar.gz samba-9c00d04ac1b8c54b88167f6cc32ac70ea0b2817c.tar.bz2 samba-9c00d04ac1b8c54b88167f6cc32ac70ea0b2817c.zip |
s3-netlogon: Add support for LogonGetCapabilities.
This is also needed to support AES.
metze
Diffstat (limited to 'source3')
-rw-r--r-- | source3/rpc_server/netlogon/srv_netlog_nt.c | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/source3/rpc_server/netlogon/srv_netlog_nt.c b/source3/rpc_server/netlogon/srv_netlog_nt.c index 05651aae41..ed29ffc51f 100644 --- a/source3/rpc_server/netlogon/srv_netlog_nt.c +++ b/source3/rpc_server/netlogon/srv_netlog_nt.c @@ -2032,7 +2032,27 @@ WERROR _netr_DsRGetDCName(struct pipes_struct *p, NTSTATUS _netr_LogonGetCapabilities(struct pipes_struct *p, struct netr_LogonGetCapabilities *r) { - return NT_STATUS_NOT_IMPLEMENTED; + struct netlogon_creds_CredentialState *creds; + NTSTATUS status; + + become_root(); + status = netr_creds_server_step_check(p, p->mem_ctx, + r->in.computer_name, + r->in.credential, + r->out.return_authenticator, + &creds); + unbecome_root(); + if (!NT_STATUS_IS_OK(status)) { + 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; } /**************************************************************** |