correctly compute GUI capabilities (consider pools)
authorDietmar Maurer <dietmar@proxmox.com>
Wed, 30 May 2012 06:47:43 +0000 (08:47 +0200)
committerDietmar Maurer <dietmar@proxmox.com>
Wed, 30 May 2012 06:47:43 +0000 (08:47 +0200)
Makefile
PVE/API2/AccessControl.pm
changelog.Debian

index 04bc297..bbea6a9 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -2,7 +2,7 @@ RELEASE=2.1
 
 VERSION=1.0
 PACKAGE=libpve-access-control
-PKGREL=22
+PKGREL=23
 
 DESTDIR=
 PREFIX=/usr
index 141bc44..1679ed4 100644 (file)
@@ -151,12 +151,22 @@ my $compute_api_permission = sub {
        dc => {},
     };
 
-    foreach my $vmid (keys %$idlist, '__phantom__') {
-       my $perm = $rpcenv->permissions($authuser, "/vms/$vmid");
+    my $extract_vm_caps = sub {
+       my ($path) = @_;
+       
+       my $perm = $rpcenv->permissions($authuser, $path);
        foreach my $priv (keys %$perm) {
-           next if !($priv eq 'Permissions.Modify' ||$priv =~ m/^VM\./);
+           next if !($priv eq 'Permissions.Modify' || $priv =~ m/^VM\./);
            $res->{vms}->{$priv} = 1;   
        }
+    };
+
+    foreach my $pool (keys %{$usercfg->{pools}}) {
+       &$extract_vm_caps("/pool/$pool");
+    }
+
+    foreach my $vmid (keys %$idlist, '__phantom__') {
+       &$extract_vm_caps("/vms/$vmid");
     }
 
     foreach my $storeid (@sids, '__phantom__') {
index d48eba0..6d442f3 100644 (file)
@@ -1,3 +1,9 @@
+libpve-access-control (1.0-23) unstable; urgency=low
+
+  * correctly compute GUI capabilities (consider pools)
+
+ -- Proxmox Support Team <support@proxmox.com>  Wed, 30 May 2012 08:47:23 +0200
+
 libpve-access-control (1.0-22) unstable; urgency=low
 
   * new plugin architecture for Auth modules, minor API change for Auth