X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=lib%2FBackupPC%2FCGI%2FLib.pm;h=a1abccfb8727c8c6320ec41dc451d976a9b49920;hb=1ad5ae30debf935221d2a2bb36289a87cb604a18;hp=44afe9d9f7bbf0356360fb3d6cadbd5980ef2a4f;hpb=ca593f66fd6c35764bd8997c6338b781330f019c;p=BackupPC.git diff --git a/lib/BackupPC/CGI/Lib.pm b/lib/BackupPC/CGI/Lib.pm index 44afe9d..a1abccf 100644 --- a/lib/BackupPC/CGI/Lib.pm +++ b/lib/BackupPC/CGI/Lib.pm @@ -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};