As reported in the community forum [0], changing a guest's network
device definition would fail with an error for non-root users, when
it did not (yet) specify a bridge:
> no sdn vnet ID specified

Skip the call to check_vnet_access() if there is no bridge defined.
Note that editing a device to not use any bridge anymore still
requires permissions for the currently configured bridge even after
this change.

[0]: https://forum.proxmox.com/threads/173249/

Signed-off-by: Fiona Ebner <[email protected]>
---
 src/PVE/QemuServer.pm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/PVE/QemuServer.pm b/src/PVE/QemuServer.pm
index 45daa06c..5cb42030 100644
--- a/src/PVE/QemuServer.pm
+++ b/src/PVE/QemuServer.pm
@@ -6231,6 +6231,7 @@ sub check_bridge_access {
         next if $opt !~ m/^net\d+$/;
         my $net = PVE::QemuServer::Network::parse_net($conf->{$opt});
         my ($bridge, $tag, $trunks) = $net->@{ 'bridge', 'tag', 'trunks' };
+        next if !defined($bridge); # no vnet to check for
         PVE::GuestHelpers::check_vnet_access($rpcenv, $authuser, $bridge, 
$tag, $trunks);
     }
     return 1;
-- 
2.47.3



_______________________________________________
pve-devel mailing list
[email protected]
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to