aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2007-08-28 21:14:03 +0000
committerjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2007-08-28 21:14:03 +0000
commit58318b3ef9f827425d0e1d44676f1b6b016cb413 (patch)
tree4f2e9cadc44e4896246f87c53273adba4cf86660
parentfe316c44347f190c2e3e7443661cc1537ffb8fd3 (diff)
downloadikiwiki-58318b3ef9f827425d0e1d44676f1b6b016cb413.tar
ikiwiki-58318b3ef9f827425d0e1d44676f1b6b016cb413.tar.gz
* 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.
-rw-r--r--debian/changelog5
-rw-r--r--doc/w3mmode/ikiwiki.setup2
-rwxr-xr-xikiwiki.in18
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 <joeyh@debian.org> Mon, 27 Aug 2007 20:48:51 -0400
+ -- Joey Hess <joeyh@debian.org> 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();