summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoey Hess <joey@kodama.kitenet.net>2008-04-24 13:49:15 -0400
committerJoey Hess <joey@kodama.kitenet.net>2008-04-24 13:49:15 -0400
commit7d7f85bbb5ec48a193973ef2dbe6d78a2f4f8ea8 (patch)
tree59d657a93f264a88a418472ef3a17f11387007a1
parent827f6b9bfc7ad0d3834078d53bf239e3331218ce (diff)
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.
-rw-r--r--IkiWiki.pm4
-rw-r--r--debian/changelog6
-rwxr-xr-xt/pagespec_match.t4
3 files changed, 12 insertions, 2 deletions
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 <joeyh@debian.org> 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