From: Joey Hess <joey@gnu.kitenet.net>
Date: Thu, 11 Feb 2010 23:32:07 +0000 (-0500)
Subject: fix logic error
X-Git-Tag: 3.20100212~29
X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=e6678275a98bd00e888018409998fd67686149c8;p=ikiwiki.git

fix logic error
---

diff --git a/IkiWiki/Plugin/httpauth.pm b/IkiWiki/Plugin/httpauth.pm
index 202ca1153..5b7d65253 100644
--- a/IkiWiki/Plugin/httpauth.pm
+++ b/IkiWiki/Plugin/httpauth.pm
@@ -75,13 +75,16 @@ sub formbuilder_setup (@) {
 	}
 }
 
+sub need_httpauth_pagespec () {
+	return defined $config{httpauth_pagespec} &&
+	       length $config{httpauth_pagespec} &&
+	       defined $config{cgiauthurl};
+}
+
 sub test_httpauth_pagespec ($) {
 	my $page=shift;
 
-	return defined $config{httpauth_pagespec} &&
-	       length $config{httpauth_pagespec} &&
-	       defined $config{cgiauthurl} &&
-	       pagespec_match($page, $config{httpauth_pagespec});
+	pagespec_match($page, $config{httpauth_pagespec});
 }
 
 sub canedit ($$$) {
@@ -89,7 +92,9 @@ sub canedit ($$$) {
 	my $cgi=shift;
 	my $session=shift;
 
-	if (! defined $cgi->remote_user() && test_httpauth_pagespec($page)) {
+	if (! defined $cgi->remote_user() &&
+	    need_httpauth_pagespec() &&
+    	    ! test_httpauth_pagespec($page)) {
 		return sub {
 			IkiWiki::redirect($cgi, 
 				$config{cgiauthurl}.'?'.$cgi->query_string());
@@ -106,6 +111,7 @@ sub pagetemplate (@_) {
 	my $template=$params{template};
 
 	if ($template->param("editurl") &&
+	    need_httpauth_pagespec() &&
 	    test_httpauth_pagespec($params{page})) {
 		# go directly to cgiauthurl when editing a page matching
 		# the pagespec