From 58318b3ef9f827425d0e1d44676f1b6b016cb413 Mon Sep 17 00:00:00 2001 From: joey Date: Tue, 28 Aug 2007 21:14:03 +0000 Subject: [PATCH] * Allow -cgi -wrapper to be passed on the command line to generate a wrapper. * Fix some taint issues with generating wrappers using the command line. --- debian/changelog | 5 ++++- doc/w3mmode/ikiwiki.setup | 2 ++ ikiwiki.in | 18 ++++++++++-------- 3 files changed, 16 insertions(+), 9 deletions(-) diff --git a/debian/changelog b/debian/changelog index 7b8e956e0..63b03ef3b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -6,8 +6,11 @@ ikiwiki (2.7) UNRELEASED; urgency=low function. * Split out smiley underlay files into a separate underlay, so if the plugin isn't used, the wiki isn't bloated with all those files. + * Allow -cgi -wrapper to be passed on the command line to generate a + wrapper. + * Fix some taint issues with generating wrappers using the command line. - -- Joey Hess Mon, 27 Aug 2007 20:48:51 -0400 + -- Joey Hess Tue, 28 Aug 2007 17:11:30 -0400 ikiwiki (2.6.1) unstable; urgency=low diff --git a/doc/w3mmode/ikiwiki.setup b/doc/w3mmode/ikiwiki.setup index d71221a8f..8cddec40b 100644 --- a/doc/w3mmode/ikiwiki.setup +++ b/doc/w3mmode/ikiwiki.setup @@ -21,6 +21,8 @@ use IkiWiki::Setup::Standard { { # The cgi wrapper. cgi => 1, + # This path can't be changed, since + # ikiwiki-w3m.cgi only looks in this one location. wrapper => "$ENV{HOME}/.ikiwiki/wrappers/ikiwiki.cgi", wrappermode => "0755", }, diff --git a/ikiwiki.in b/ikiwiki.in index 6242865ee..2aeaf94ec 100755 --- a/ikiwiki.in +++ b/ikiwiki.in @@ -30,7 +30,6 @@ sub getconfig () { #{{{ "wrappers!" => \$config{wrappers}, "usedirs!" => \$config{usedirs}, "getctime" => \$config{getctime}, - "wrappermode=i" => \$config{wrappermode}, "numbacklinks=i" => \$config{numbacklinks}, "rcs=s" => \$config{rcs}, "no-rcs" => sub { $config{rcs}="" }, @@ -64,7 +63,10 @@ sub getconfig () { #{{{ $config{underlaydir}=possibly_foolish_untaint($_[1]) }, "wrapper:s" => sub { - $config{wrapper}=$_[1] ? $_[1] : "ikiwiki-wrap" + $config{wrapper}=$_[1] ? possibly_foolish_untaint($_[1]) : "ikiwiki-wrap" + }, + "wrappermode=i" => sub { + $config{wrappermode}=possibly_foolish_untaint($_[1]) }, "plugin=s@" => sub { push @{$config{plugin}}, $_[1]; @@ -111,12 +113,7 @@ sub getconfig () { #{{{ sub main () { #{{{ getconfig(); - if ($config{cgi}) { - loadindex(); - require IkiWiki::CGI; - cgi(); - } - elsif ($config{setup}) { + if ($config{setup}) { require IkiWiki::Setup; setup(); } @@ -125,6 +122,11 @@ sub main () { #{{{ require IkiWiki::Wrapper; gen_wrapper(); } + elsif ($config{cgi}) { + loadindex(); + require IkiWiki::CGI; + cgi(); + } elsif ($config{render}) { require IkiWiki::Render; commandline_render(); -- 2.26.2