X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/ae493178cf58cf5d7edfa30ccabe758b06febcb4..ef8a74fbc30b7b49b717afc110e46f49a88cd77d:/IkiWiki/Plugin/lockedit.pm

diff --git a/IkiWiki/Plugin/lockedit.pm b/IkiWiki/Plugin/lockedit.pm
index 8914ba498..5b50fd115 100644
--- a/IkiWiki/Plugin/lockedit.pm
+++ b/IkiWiki/Plugin/lockedit.pm
@@ -7,7 +7,6 @@ use IkiWiki 3.00;
 
 sub import {
 	hook(type => "getsetup", id => "lockedit", call => \&getsetup);
-	hook(type => "checkconfig", id => "lockedit", call => \&checkconfig);
 	hook(type => "canedit", id => "lockedit", call => \&canedit);
 }
 
@@ -16,6 +15,7 @@ sub getsetup () {
 		plugin => {
 			safe => 1,
 			rebuild => 0,
+			section => "auth",
 		},
 		locked_pages => {
 			type => "pagespec",
@@ -27,12 +27,6 @@ sub getsetup () {
 		},
 }
 
-sub checkconfig () {
-	if (! exists $IkiWiki::hooks{auth}) {
-		error gettext("lockedit plugin is enabled, but no authentication plugins are enabled");
-	}
-}
-
 sub canedit ($$) {
 	my $page=shift;
 	my $cgi=shift;
@@ -44,10 +38,11 @@ sub canedit ($$) {
 	if (defined $config{locked_pages} && length $config{locked_pages} &&
 	    pagespec_match($page, $config{locked_pages},
 		    user => $session->param("name"),
-		    ip => $ENV{REMOTE_ADDR},
+		    ip => $session->remote_addr(),
 	    )) {
-		if (! defined $user ||
-		    ! IkiWiki::userinfo_get($session->param("name"), "regdate")) {
+		if ((! defined $user ||
+		    ! IkiWiki::userinfo_get($session->param("name"), "regdate")) &&
+		    exists $IkiWiki::hooks{auth}) {
 			return sub { IkiWiki::needsignin($cgi, $session) };
 		}
 		else {