]> source.dussan.org Git - redmine.git/commitdiff
Fix access to Repository Parent Path (FORBIDEN instead of AUTH_REQUIRED). swistak
authorLiwiusz Ociepa <liwiusz.ociepa@softwarelab.eu>
Thu, 27 Nov 2008 14:51:14 +0000 (14:51 +0000)
committerLiwiusz Ociepa <liwiusz.ociepa@softwarelab.eu>
Thu, 27 Nov 2008 14:51:14 +0000 (14:51 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/swistak@2058 e93f8b46-1217-0410-a6f0-8f06a7374b81

extra/svn/Redmine.pm

index 45d64be8e4e178f5d9890e30478e9d0d0510ca80..80a776994572933c419681cf8697e1beb0308986 100644 (file)
@@ -238,7 +238,11 @@ sub authen_handler {
   my ($res, $redmine_pass) =  $r->get_basic_auth_pw();
   return $res unless $res == OK;
   
-  if (is_member($r->user, $redmine_pass, $r)) {
+  my $project_id  = get_project_identifier($r);
+  if (!$project_id) {
+    return FORBIDDEN;
+  }
+  if (is_member($r->user, $redmine_pass, $r, $project_id)) {
       return OK;
   } else {
       $r->note_auth_failure();
@@ -294,9 +298,9 @@ sub is_member {
   my $redmine_user = shift;
   my $redmine_pass = shift;
   my $r = shift;
+  my $project_id = shift;
 
   my $dbh         = connect_database($r);
-  my $project_id  = get_project_identifier($r);
 
   my $pass_digest = Digest::SHA1::sha1_hex($redmine_pass);
 
@@ -355,7 +359,7 @@ sub get_project_identifier {
     
     my $location = $r->location;
     my ($identifier) = $r->uri =~ m{$location/*([^/]+)};
-    $identifier ? $identifier : " ";
+    $identifier;
 }
 
 sub connect_database {