Correct a bug in pagespec matching, where a empty pagespec matched all pages.

This manifested as wikis with no locked pages treating them all as locked.
The bug was introduced in version 2.41.

Medium urgency upload due to above fix.
master
Joey Hess 2008-04-24 13:49:15 -04:00
parent 827f6b9bfc
commit 7d7f85bbb5
3 changed files with 12 additions and 2 deletions

View File

@ -1247,6 +1247,10 @@ sub pagespec_translate ($) { #{{{
} }
} }
if (! length $code) {
$code=0;
}
return eval 'sub { my $page=shift; '.$code.' }'; return eval 'sub { my $page=shift; '.$code.' }';
} #}}} } #}}}

6
debian/changelog vendored
View File

@ -1,9 +1,13 @@
ikiwiki (2.44) UNRELEASED; urgency=low ikiwiki (2.44) unstable; urgency=medium
* Bring back the svnrepo setup file option. This is needed for * Bring back the svnrepo setup file option. This is needed for
recentchangediff to work with svn repos. recentchangediff to work with svn repos.
* Allow libtext-markdown-perl to satisfy dependencies, as a * Allow libtext-markdown-perl to satisfy dependencies, as a
an alternative to the markdown package. an alternative to the markdown package.
* Correct a bug in pagespec matching, where a empty pagespec matched all
pages. This manifested as wikis with no locked pages treating them all as
locked. The bug was introduced in version 2.41.
* Medium urgency upload due to above fix.
-- Joey Hess <joeyh@debian.org> Thu, 17 Apr 2008 14:33:54 -0400 -- Joey Hess <joeyh@debian.org> Thu, 17 Apr 2008 14:33:54 -0400

View File

@ -1,7 +1,7 @@
#!/usr/bin/perl #!/usr/bin/perl
use warnings; use warnings;
use strict; use strict;
use Test::More tests => 52; use Test::More tests => 54;
BEGIN { use_ok("IkiWiki"); } BEGIN { use_ok("IkiWiki"); }
@ -51,6 +51,8 @@ ok(pagespec_match("examples/softwaresite/bugs/fails_to_frobnicate",
ok(! pagespec_match("foo", "link(./bar)", location => "foo/bar"), "link relative fail"); ok(! pagespec_match("foo", "link(./bar)", location => "foo/bar"), "link relative fail");
ok(pagespec_match("bar", "backlink(foo)"), "backlink"); ok(pagespec_match("bar", "backlink(foo)"), "backlink");
ok(! pagespec_match("quux", "backlink(foo)"), "failed backlink"); ok(! pagespec_match("quux", "backlink(foo)"), "failed backlink");
ok(! pagespec_match("bar", ""), "empty pagespec should match nothing");
ok(! pagespec_match("bar", " "), "blank pagespec should match nothing");
$IkiWiki::pagectime{foo}=1154532692; # Wed Aug 2 11:26 EDT 2006 $IkiWiki::pagectime{foo}=1154532692; # Wed Aug 2 11:26 EDT 2006
$IkiWiki::pagectime{bar}=1154532695; # after $IkiWiki::pagectime{bar}=1154532695; # after