git-cvsserver: fix disabling service via per-method config
authorJunio C Hamano <junkio@cox.net>
Mon, 21 May 2007 00:57:27 +0000 (17:57 -0700)
committerJunio C Hamano <junkio@cox.net>
Tue, 22 May 2007 01:42:57 +0000 (18:42 -0700)
When the per-method enable logic disables the access, we should
not even look at the global one.

 git-cvsserver.perl |    8 +++-----
 1 files changed, 3 insertions(+), 5 deletions(-)

Signed-off-by: Junio C Hamano <junkio@cox.net>
git-cvsserver.perl

index fcfb99db65599650d5ac6188b40b54d27ecf6f60..1de517791f8a293a9c770f6260ff48f9719845ad 100755 (executable)
@@ -192,11 +192,9 @@ sub req_Root
         }
     }
 
-    unless ( ($cfg->{gitcvs}{$state->{method}}{enabled}
-             and $cfg->{gitcvs}{$state->{method}}{enabled} =~ /^\s*(1|true|yes)\s*$/i)
-            or ($cfg->{gitcvs}{enabled}
-             and $cfg->{gitcvs}{enabled} =~ /^\s*(1|true|yes)\s*$/i) )
-    {
+    my $enabled = ($cfg->{gitcvs}{$state->{method}}{enabled}
+                  || $cfg->{gitcvs}{enabled});
+    unless ($enabled && $enabled =~ /^\s*(1|true|yes)\s*$/i) {
         print "E GITCVS emulation needs to be enabled on this repo\n";
         print "E the repo config file needs a [gitcvs] section added, and the parameter 'enabled' set to 1\n";
         print "E \n";