From: Joey Hess Date: Thu, 24 Apr 2008 17:49:15 +0000 (-0400) Subject: Correct a bug in pagespec matching, where a empty pagespec matched all pages. X-Git-Tag: 2.44~2 X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/commitdiff_plain/7d7f85bbb5ec48a193973ef2dbe6d78a2f4f8ea8?ds=inline;hp=--cc 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. --- 7d7f85bbb5ec48a193973ef2dbe6d78a2f4f8ea8 diff --git a/IkiWiki.pm b/IkiWiki.pm index 68047b9b9..3802559a5 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -1247,6 +1247,10 @@ sub pagespec_translate ($) { #{{{ } } + if (! length $code) { + $code=0; + } + return eval 'sub { my $page=shift; '.$code.' }'; } #}}} diff --git a/debian/changelog b/debian/changelog index b6e477a3c..d851f35f6 100644 --- a/debian/changelog +++ b/debian/changelog @@ -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 recentchangediff to work with svn repos. * Allow libtext-markdown-perl to satisfy dependencies, as a 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 Thu, 17 Apr 2008 14:33:54 -0400 diff --git a/t/pagespec_match.t b/t/pagespec_match.t index 038472967..ee255b471 100755 --- a/t/pagespec_match.t +++ b/t/pagespec_match.t @@ -1,7 +1,7 @@ #!/usr/bin/perl use warnings; use strict; -use Test::More tests => 52; +use Test::More tests => 54; 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("bar", "backlink(foo)"), "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{bar}=1154532695; # after