From 484a046d8e179a3b21ead8b5bc3660095314e816 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Wed, 19 Jul 2023 18:03:09 +0200 Subject: [PATCH] s3:rpc_server/netlogon: implement netr_LogonGetCapabilities query_level=2 BUG: https://bugzilla.samba.org/show_bug.cgi?id=15425 Signed-off-by: Stefan Metzmacher Reviewed-by: Douglas Bagnall --- source3/rpc_server/netlogon/srv_netlog_nt.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/source3/rpc_server/netlogon/srv_netlog_nt.c b/source3/rpc_server/netlogon/srv_netlog_nt.c index ad1d5dc33d7..06ea1c0b756 100644 --- a/source3/rpc_server/netlogon/srv_netlog_nt.c +++ b/source3/rpc_server/netlogon/srv_netlog_nt.c @@ -2317,12 +2317,7 @@ NTSTATUS _netr_LogonGetCapabilities(struct pipes_struct *p, case 1: break; case 2: - /* - * Until we know the details behind KB5028166 - * just return DCERPC_NCA_S_FAULT_INVALID_TAG - * like an unpatched Windows Server. - */ - FALL_THROUGH; + break; default: /* * There would not be a way to marshall the @@ -2350,7 +2345,15 @@ NTSTATUS _netr_LogonGetCapabilities(struct pipes_struct *p, return status; } - r->out.capabilities->server_capabilities = creds->negotiate_flags; + switch (r->in.query_level) { + case 1: + r->out.capabilities->server_capabilities = creds->negotiate_flags; + break; + case 2: + r->out.capabilities->requested_flags = + creds->ex->client_requested_flags; + break; + } return NT_STATUS_OK; }