]> source.dussan.org Git - redmine.git/commitdiff
Reverted r7808 (#9566).
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Tue, 15 Nov 2011 18:02:10 +0000 (18:02 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Tue, 15 Nov 2011 18:02:10 +0000 (18:02 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@7813 e93f8b46-1217-0410-a6f0-8f06a7374b81

extra/svn/Redmine.pm

index 5c470d47dc56b5b7042b38bc8f47a4db9de8fccd..1de891fcb24d42632000b233afbe47bef74c04f9 100644 (file)
@@ -204,8 +204,6 @@ sub access_handler {
 
   my $method = $r->method;
   return OK unless defined $read_only_methods{$method};
-    
-  return OK if is_authentication_forced($r);
 
   my $project_id = get_project_identifier($r);
 
@@ -221,12 +219,6 @@ sub authen_handler {
   my ($res, $redmine_pass) =  $r->get_basic_auth_pw();
   return $res unless $res == OK;
   
-  my $project_id = get_project_identifier($r);
-  my $method = $r->method;
-  if (defined $read_only_methods{$method} && is_public_project($project_id, $r) && non_member_role_allows_browse_repository($r)) {
-      return OK;
-  }
-  
   if (is_member($r->user, $redmine_pass, $r)) {
       return OK;
   } else {
@@ -263,6 +255,10 @@ sub is_authentication_forced {
 sub is_public_project {
     my $project_id = shift;
     my $r = shift;
+    
+    if (is_authentication_forced($r)) {
+      return 0;
+    }
 
     my $dbh = connect_database($r);
     my $sth = $dbh->prepare(
@@ -284,16 +280,15 @@ sub is_public_project {
     $ret;
 }
 
-sub system_role_allows_browse_repository {
+sub anonymous_role_allows_browse_repository {
   my $r = shift;
-  my $system_role = shift;
   
   my $dbh = connect_database($r);
   my $sth = $dbh->prepare(
-      "SELECT permissions FROM roles WHERE builtin = ?;"
+      "SELECT permissions FROM roles WHERE builtin = 2;"
   );
   
-  $sth->execute($system_role);
+  $sth->execute();
   my $ret = 0;
   if (my @row = $sth->fetchrow_array) {
     if ($row[0] =~ /:browse_repository/) {
@@ -308,18 +303,6 @@ sub system_role_allows_browse_repository {
   $ret;
 }
 
-sub non_member_role_allows_browse_repository {
-  my $r = shift;
-  my $ret = system_role_allows_browse_repository($r, 1);
-  $ret;
-}
-
-sub anonymous_role_allows_browse_repository {
-  my $r = shift;
-  my $ret = system_role_allows_browse_repository($r, 2);
-  $ret;
-}
-
 # perhaps we should use repository right (other read right) to check public access.
 # it could be faster BUT it doesn't work for the moment.
 # sub is_public_project_by_file {