From 6bcacc21b3628917e0875f6ce0ae776410ef4fe5 Mon Sep 17 00:00:00 2001 From: Dominik Csapak Date: Wed, 1 Jun 2016 12:37:20 +0200 Subject: [PATCH] fix serial/parallel/numa permissions moved numa\d+ persmission to VM.Config.CPU and serial/parallel to root since it accesses the host hardware also renamed remainingoptions to generaloptions to reduce confusion, since the real remaining options (those that we do not specify) require root Signed-off-by: Dominik Csapak --- PVE/API2/Qemu.pm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/PVE/API2/Qemu.pm b/PVE/API2/Qemu.pm index fc225197..aadfde58 100644 --- a/PVE/API2/Qemu.pm +++ b/PVE/API2/Qemu.pm @@ -205,7 +205,7 @@ my $hwtypeoptions = { 'watchdog' => 1, }; -my $remainingoptions = { +my $generaloptions = { 'agent' => 1, 'autostart' => 1, 'bios' => 1, @@ -244,13 +244,13 @@ my $check_vm_modify_config_perm = sub { next if PVE::QemuServer::is_valid_drivename($opt); next if $opt eq 'cdrom'; - if ($cpuoptions->{$opt}) { + if ($cpuoptions->{$opt} || $opt =~ m/^numa\d+$/) { $rpcenv->check_vm_perm($authuser, $vmid, $pool, ['VM.Config.CPU']); } elsif ($memoryoptions->{$opt}) { $rpcenv->check_vm_perm($authuser, $vmid, $pool, ['VM.Config.Memory']); } elsif ($hwtypeoptions->{$opt}) { $rpcenv->check_vm_perm($authuser, $vmid, $pool, ['VM.Config.HWType']); - } elsif ($remainingoptions->{$opt} || $opt =~ m/^(numa|parallell|serial)\d+$/) { + } elsif ($generaloptions->{$opt}) { $rpcenv->check_vm_perm($authuser, $vmid, $pool, ['VM.Config.Options']); # special case for startup since it changes host behaviour if ($opt eq 'startup') {