summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2009-09-19 21:07:20 +0200
committerAndreas Schneider <asn@cryptomilk.org>2011-12-22 17:48:24 +0100
commit9c00d04ac1b8c54b88167f6cc32ac70ea0b2817c (patch)
treef5f3eef22e0b7fb48afc7399ada5541f686610d5
parenta7541fc27ec9fd880ce8f13e9c04bec105c5435e (diff)
downloadsamba-9c00d04ac1b8c54b88167f6cc32ac70ea0b2817c.tar.gz
samba-9c00d04ac1b8c54b88167f6cc32ac70ea0b2817c.tar.bz2
samba-9c00d04ac1b8c54b88167f6cc32ac70ea0b2817c.zip
s3-netlogon: Add support for LogonGetCapabilities.
This is also needed to support AES. metze
-rw-r--r--source3/rpc_server/netlogon/srv_netlog_nt.c22
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;
}
/****************************************************************