]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/commitdiff
git_revert test: reinstate ikiwiki.setup, and make it work uninstalled
authorSimon McVittie <smcv@debian.org>
Sat, 24 Dec 2016 12:27:21 +0000 (12:27 +0000)
committerSimon McVittie <smcv@debian.org>
Wed, 28 Dec 2016 21:32:11 +0000 (21:32 +0000)
Previously it was relying on running with an installed ikiwiki
and being able to copy in recentchanges.mdwn and wikiicons/ from the
underlay in /usr. The underlay in ./underlays/basewiki can't be used
(yet) because ikiwiki doesn't allow following symlinks, even from
underlays.

I'd like to make ikiwiki follow symlinks whose destinations can be
verified to be safe (for example making it willing to expose
/usr/share/javascript to the web, but not /etc/passwd), at least from
underlays, but this is security-sensitive so I'm not going to rush
into it.

.gitignore
debian/changelog
t/manual/git_revert/Makefile
t/manual/git_revert/ikiwiki.setup [new file with mode: 0644]

index 5ddda1bdd1673dcc515edbec82eed897d32f547c..d27140896a6c3dc4ad0702dccd20dec78cd38a4a 100644 (file)
@@ -1,4 +1,4 @@
-ikiwiki.setup
+/ikiwiki.setup
 /Makefile
 Makefile.old
 blib/*
index 0314038304cafca7893532614de7e4cca0cbdc0a..4a84b28a6b2acb6b7a033e58617b092b5343c56c 100644 (file)
@@ -1,6 +1,7 @@
 ikiwiki (3.20161220) UNRELEASED; urgency=medium
 
   * Add CVE references for CVE-2016-10026
+  * Add missing ikiwiki.setup for the manual test for CVE-2016-10026
 
  -- Simon McVittie <smcv@debian.org>  Wed, 21 Dec 2016 13:03:07 +0000
 
index 9e2220d11b429e7a67dd62ec49b747de188f51a2..34db8c48a2d08ea8b81ab254c6e930918d56c5ce 100644 (file)
@@ -9,15 +9,17 @@ all:
        mkdir -p git/doc/writable
        cd git && git init
        cp index.mdwn git/doc/index.mdwn
+       cp -a $(CURDIR)/../../../doc/wikiicons git/doc/
+       cp -a $(CURDIR)/../../../doc/recentchanges.mdwn git/doc/
        echo "This is the first test page" > git/doc/writable/one.mdwn
        echo "This is the second test page" > git/doc/writable/two.mdwn
-       cd git && git add doc && git commit -m 'Initial commit'
+       cd git && git add . && git commit -m 'Initial commit'
        $(ikiwiki) --setup ikiwiki.setup
        echo "This is the first test page, it was first" > git/doc/writable/one.mdwn
-       cd git && git add doc && git commit -m 'First web commit'
+       cd git && git add . && git commit -m 'First web commit'
        $(ikiwiki) --setup ikiwiki.setup
        echo "This is the second test page, it came second" > git/doc/writable/two.mdwn
-       cd git && git add doc && git commit -m 'Second web commit'
+       cd git && git add . && git commit -m 'Second web commit'
        $(ikiwiki) --setup ikiwiki.setup
        cd git && git mv doc/writable/one.mdwn doc/one.mdwn
        cd git && git mv doc/writable/two.mdwn two.mdwn
diff --git a/t/manual/git_revert/ikiwiki.setup b/t/manual/git_revert/ikiwiki.setup
new file mode 100644 (file)
index 0000000..875a2af
--- /dev/null
@@ -0,0 +1,31 @@
+#!/usr/bin/perl
+
+use Cwd qw(getcwd abs_path);
+my $pwd;
+my $src;
+
+BEGIN {
+       $pwd = getcwd;
+       $src = abs_path("$pwd/../../..");
+}
+
+use IkiWiki::Setup::Standard {
+       wikiname => "ikiwiki_manual_test_git_revert",
+       srcdir => "$pwd/git/doc",
+       destdir => "$pwd/html",
+       templatedir => "$src/templates",
+       underlaydirbase => "$src/underlays",
+       underlaydir => "$src/underlays/basewiki",
+       verbose => 1,
+       syslog => 0,
+       usedirs => 0,
+       w3mmode => 1,
+       url => "file://$pwd/html",
+       cgiurl => 'file:///$LIB/ikiwiki-w3m.cgi/ikiwiki_manual_test_git_revert.cgi',
+       add_plugins => [qw{recentchanges anonok lockedit}],
+       locked_pages => '!writable/*',
+       anonok_pagespec => 'writable/*',
+       disable_plugins => [qw{passwordauth emailauth openid}],
+       rcs => 'git',
+       gitorigin_branch => '',
+}