show parts archived using view
[BackupPC.git] / lib / BackupPC / CGI / Lib.pm
index 44afe9d..a1abccf 100644 (file)
@@ -29,7 +29,7 @@
 #
 #========================================================================
 #
-# Version 3.2.0beta0, released 5 April 2009.
+# Version 3.2.0, released 31 Jul 2010.
 #
 # See http://backuppc.sourceforge.net.
 #
@@ -134,6 +134,11 @@ sub NewRequest
     #
     $User   = $1 if ( $User =~ /uid=([^,]+)/i || $User =~ /(.*)/ );
 
+    # strip Active directory domain in front of user
+    $User   = $1 if ( $User =~ /\w+\\(\w+)/ );
+use Data::Dump qw(dump);
+warn "XX User: $User",dump( \%ENV );
+
     #
     # Clean up %ENV for taint checking
     #
@@ -354,6 +359,10 @@ sub CheckPermission
 
     $Privileged ||= $User eq $Hosts->{$host}{user};
     $Privileged ||= defined($Hosts->{$host}{moreUsers}{$User});
+
+    # XXX check against REMOTE_NTGROUP from mod_ntlm
+    $Privileged ||= $Conf{CgiAdminUserGroup} eq $ENV{REMOTE_NTGROUP};
+
     return $Privileged;
 }
 
@@ -437,6 +446,11 @@ sub Header
                                            priv => 1},
         { link => "?action=queue",         name => $Lang->{Current_queues},
                                            priv => 1},
+       # XXX additional search extensions
+        { link => "?action=search",        name => $Lang->{Search_archive},
+                                           priv => 0},
+        { link => "?action=burn",          name => $Lang->{Burn_media},
+                                           priv => 1},
         @{$Conf{CgiNavBarLinks} || []},
     );
     my $host = $In{host};