samba/trust.patch

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;