From: Dominik Csapak Date: Wed, 1 Jun 2016 10:37:20 +0000 (+0200) Subject: fix serial/parallel/numa permissions X-Git-Url: https://git.proxmox.com/?p=qemu-server.git;a=commitdiff_plain;h=6bcacc21b3628917e0875f6ce0ae776410ef4fe5;hp=58cb690b0693acd4ec335b2056085469e770291f 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 --- diff --git a/PVE/API2/Qemu.pm b/PVE/API2/Qemu.pm index fc22519..aadfde5 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') {