52 lines
1.7 KiB
Diff
52 lines
1.7 KiB
Diff
|
diff -urN samba-4.10.16.old/source3/rpc_server/netlogon/srv_netlog_nt.c samba-4.10.16/source3/rpc_server/netlogon/srv_netlog_nt.c
|
||
|
--- samba-4.10.16.old/source3/rpc_server/netlogon/srv_netlog_nt.c 2023-07-16 10:18:26.101390835 +0300
|
||
|
+++ samba-4.10.16/source3/rpc_server/netlogon/srv_netlog_nt.c 2023-07-16 10:35:36.843060123 +0300
|
||
|
@@ -2672,6 +2672,11 @@
|
||
|
struct netlogon_creds_CredentialState *creds;
|
||
|
NTSTATUS status;
|
||
|
|
||
|
+ if (r->in.query_level != 1) {
|
||
|
+ p->fault_state = DCERPC_NCA_S_FAULT_INVALID_TAG;
|
||
|
+ return NT_STATUS_NOT_SUPPORTED;
|
||
|
+ }
|
||
|
+
|
||
|
become_root();
|
||
|
status = netr_creds_server_step_check(p, p->mem_ctx,
|
||
|
r->in.computer_name,
|
||
|
@@ -2683,10 +2688,6 @@
|
||
|
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;
|
||
|
diff -urN samba-4.10.16.old/source4/rpc_server/netlogon/dcerpc_netlogon.c samba-4.10.16/source4/rpc_server/netlogon/dcerpc_netlogon.c
|
||
|
--- samba-4.10.16.old/source4/rpc_server/netlogon/dcerpc_netlogon.c 2023-07-16 10:18:26.545400571 +0300
|
||
|
+++ samba-4.10.16/source4/rpc_server/netlogon/dcerpc_netlogon.c 2023-07-16 10:40:11.763109454 +0300
|
||
|
@@ -2910,6 +2910,10 @@
|
||
|
struct netlogon_creds_CredentialState *creds;
|
||
|
NTSTATUS status;
|
||
|
|
||
|
+ if (r->in.query_level != 1) {
|
||
|
+ DCESRV_FAULT(DCERPC_NCA_S_FAULT_INVALID_TAG);
|
||
|
+ }
|
||
|
+
|
||
|
status = dcesrv_netr_creds_server_step_check(dce_call,
|
||
|
mem_ctx,
|
||
|
r->in.computer_name,
|
||
|
@@ -2921,10 +2925,6 @@
|
||
|
}
|
||
|
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;
|