diff options
-rw-r--r-- | doc/patchqueue/Wrapper_config_with_multiline_regexp.mdwn | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/doc/patchqueue/Wrapper_config_with_multiline_regexp.mdwn b/doc/patchqueue/Wrapper_config_with_multiline_regexp.mdwn new file mode 100644 index 000000000..d62cbc633 --- /dev/null +++ b/doc/patchqueue/Wrapper_config_with_multiline_regexp.mdwn @@ -0,0 +1,29 @@ +Turning the wikilink regexp into an extended regexp on the svn trunk seems to have broken the setuid wrapper on my system, because of two reasons: First, the wrapper generator should turn each newline in $configstring into `\n` in the C code rather than `\` followed by a newline in the C code. Second, the untainting of $configstring should allow newlines. + + Modified: wiki-meta/perl/IkiWiki.pm + ============================================================================== + --- wiki-meta/perl/IkiWiki.pm (original) + +++ wiki-meta/perl/IkiWiki.pm Mon Jun 11 10:52:07 2007 + @@ -205,7 +205,7 @@ + + sub possibly_foolish_untaint ($) { #{{{ + my $tainted=shift; + - my ($untainted)=$tainted=~/(.*)/; + + my ($untainted)=$tainted=~/(.*)/s; + return $untainted; + } #}}} + + + Modified: wiki-meta/perl/IkiWiki/Wrapper.pm + ============================================================================== + --- wiki-meta/perl/IkiWiki/Wrapper.pm (original) + +++ wiki-meta/perl/IkiWiki/Wrapper.pm Mon Jun 11 10:52:07 2007 + @@ -62,7 +62,7 @@ + } + $configstring=~s/\\/\\\\/g; + $configstring=~s/"/\\"/g; + - $configstring=~s/\n/\\\n/g; + + $configstring=~s/\n/\\n/g; + + #translators: The first parameter is a filename, and the second is + #translators: a (probably not translated) error message.
\ No newline at end of file |