]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s3:rpc_server: Check query level according to MS-NRPC
authorJo Sutton <josutton@catalyst.net.nz>
Tue, 28 May 2024 03:12:36 +0000 (15:12 +1200)
committerNoel Power <npower@samba.org>
Tue, 4 Jun 2024 09:39:42 +0000 (09:39 +0000)
BUG: https://bugzilla.samba.org/show_bug.cgi?id=15465
Signed-off-by: Jo Sutton <josutton@catalyst.net.nz>
Reviewed-by: Noel Power <noel.power@suse.com>
Autobuild-User(master): Noel Power <npower@samba.org>
Autobuild-Date(master): Tue Jun  4 09:39:42 UTC 2024 on atb-devel-224

source3/rpc_server/netlogon/srv_netlog_nt.c

index c3d0d511f40efd1b4b0ec5068fba99ebf657075f..ccae62083cc006022ac686daebae9b2c92a80638 100644 (file)
@@ -263,10 +263,16 @@ WERROR _netr_LogonControl2Ex(struct pipes_struct *p,
        case NETLOGON_CONTROL_TRUNCATE_LOG:
        case NETLOGON_CONTROL_TRANSPORT_NOTIFY:
        case NETLOGON_CONTROL_FORCE_DNS_REG:
+               return WERR_NOT_SUPPORTED;
        case NETLOGON_CONTROL_QUERY_DNS_REG:
+               if (r->in.level != 1) {
+                       return WERR_INVALID_PARAMETER;
+               }
                return WERR_NOT_SUPPORTED;
-
        case NETLOGON_CONTROL_FIND_USER:
+               if (r->in.level != 4) {
+                       return WERR_INVALID_PARAMETER;
+               }
                if (!r->in.data || !r->in.data->user) {
                        return WERR_NOT_SUPPORTED;
                }
@@ -277,6 +283,9 @@ WERROR _netr_LogonControl2Ex(struct pipes_struct *p,
                }
                break;
        case NETLOGON_CONTROL_TC_VERIFY:
+               if (r->in.level != 2) {
+                       return WERR_INVALID_PARAMETER;
+               }
                if (!r->in.data || !r->in.data->domain) {
                        return WERR_NOT_SUPPORTED;
                }