Photos
Blog
Projects
vanrenterghem.biz
projects
/
git.ikiwiki.info.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add news item for ikiwiki 3.20101129
[git.ikiwiki.info.git]
/
IkiWiki
/
Plugin
/
getsource.pm
diff --git
a/IkiWiki/Plugin/getsource.pm
b/IkiWiki/Plugin/getsource.pm
index e8aea2c3901ba36c22f2991f0e4a4c2795a9a981..b362de7264175d9468c4207dcacf9153ade356a5 100644
(file)
--- a/
IkiWiki/Plugin/getsource.pm
+++ b/
IkiWiki/Plugin/getsource.pm
@@
-17,6
+17,7
@@
sub getsetup () {
plugin => {
safe => 1,
rebuild => 1,
plugin => {
safe => 1,
rebuild => 1,
+ section => "web",
},
getsource_mimetype => {
type => "string",
},
getsource_mimetype => {
type => "string",
@@
-42,22
+43,24
@@
sub pagetemplate (@) {
sub cgi_getsource ($) {
my $cgi=shift;
sub cgi_getsource ($) {
my $cgi=shift;
- # Note: we use sessioncgi rather than just cgi
- # because we need %pagesources to be
- # populated.
-
- return unless (defined $cgi->param('do') &&
- $cgi->param("do") eq "getsource");
+ return unless defined $cgi->param('do') &&
+ $cgi->param("do") eq "getsource";
IkiWiki::decode_cgi_utf8($cgi);
my $page=$cgi->param('page');
IkiWiki::decode_cgi_utf8($cgi);
my $page=$cgi->param('page');
+ if (! defined $page || $page !~ /$config{wiki_file_regexp}/) {
+ error("invalid page parameter");
+ }
+
+ # For %pagesources.
IkiWiki::loadindex();
if (! exists $pagesources{$page}) {
IkiWiki::cgi_custom_failure(
IkiWiki::loadindex();
if (! exists $pagesources{$page}) {
IkiWiki::cgi_custom_failure(
- $cgi->header(-status => "404 Not Found"),
+ $cgi,
+ "404 Not Found",
IkiWiki::misctemplate(gettext("missing page"),
"<p>".
sprintf(gettext("The page %s does not exist."),
IkiWiki::misctemplate(gettext("missing page"),
"<p>".
sprintf(gettext("The page %s does not exist."),