1 |
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 |
2 |
--- samba-4.10.16.old/source3/rpc_server/netlogon/srv_netlog_nt.c 2023-07-16 10:18:26.101390835 +0300 |
3 |
+++ samba-4.10.16/source3/rpc_server/netlogon/srv_netlog_nt.c 2023-07-16 10:35:36.843060123 +0300 |
4 |
@@ -2672,6 +2672,11 @@ |
5 |
struct netlogon_creds_CredentialState *creds; |
6 |
NTSTATUS status; |
7 |
|
8 |
+ if (r->in.query_level != 1) { |
9 |
+ p->fault_state = DCERPC_NCA_S_FAULT_INVALID_TAG; |
10 |
+ return NT_STATUS_NOT_SUPPORTED; |
11 |
+ } |
12 |
+ |
13 |
become_root(); |
14 |
status = netr_creds_server_step_check(p, p->mem_ctx, |
15 |
r->in.computer_name, |
16 |
@@ -2683,10 +2688,6 @@ |
17 |
return status; |
18 |
} |
19 |
|
20 |
- if (r->in.query_level != 1) { |
21 |
- return NT_STATUS_NOT_SUPPORTED; |
22 |
- } |
23 |
- |
24 |
r->out.capabilities->server_capabilities = creds->negotiate_flags; |
25 |
|
26 |
return NT_STATUS_OK; |
27 |
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 |
28 |
--- samba-4.10.16.old/source4/rpc_server/netlogon/dcerpc_netlogon.c 2023-07-16 10:18:26.545400571 +0300 |
29 |
+++ samba-4.10.16/source4/rpc_server/netlogon/dcerpc_netlogon.c 2023-07-16 10:40:11.763109454 +0300 |
30 |
@@ -2910,6 +2910,10 @@ |
31 |
struct netlogon_creds_CredentialState *creds; |
32 |
NTSTATUS status; |
33 |
|
34 |
+ if (r->in.query_level != 1) { |
35 |
+ DCESRV_FAULT(DCERPC_NCA_S_FAULT_INVALID_TAG); |
36 |
+ } |
37 |
+ |
38 |
status = dcesrv_netr_creds_server_step_check(dce_call, |
39 |
mem_ctx, |
40 |
r->in.computer_name, |
41 |
@@ -2921,10 +2925,6 @@ |
42 |
} |
43 |
NT_STATUS_NOT_OK_RETURN(status); |
44 |
|
45 |
- if (r->in.query_level != 1) { |
46 |
- return NT_STATUS_NOT_SUPPORTED; |
47 |
- } |
48 |
- |
49 |
r->out.capabilities->server_capabilities = creds->negotiate_flags; |
50 |
|
51 |
return NT_STATUS_OK; |