From aa65300c2f6a22d4372020b4b5b1a04b5842531a Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 1 Dec 2010 20:25:05 -0400 Subject: [PATCH] meta: Fix calling of htmlscrubber to pass the page parameter. The change of the htmlscrubber to look at page rather than destpage caused htmlscrubber_skip to not work for meta directives. --- IkiWiki/Plugin/meta.pm | 14 +++++++------- debian/changelog | 3 +++ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/IkiWiki/Plugin/meta.pm b/IkiWiki/Plugin/meta.pm index 47007afe2..abc8f1b1a 100644 --- a/IkiWiki/Plugin/meta.pm +++ b/IkiWiki/Plugin/meta.pm @@ -40,10 +40,10 @@ sub needsbuild (@) { return $needsbuild; } -sub scrub ($$) { +sub scrub ($$$) { if (IkiWiki::Plugin::htmlscrubber->can("sanitize")) { return IkiWiki::Plugin::htmlscrubber::sanitize( - content => shift, destpage => shift); + content => shift, page => shift, destpage => shift); } else { return shift; @@ -162,7 +162,7 @@ sub preprocess (@) { # Metadata handling that happens only during preprocessing pass. if ($key eq 'permalink') { if (safeurl($value)) { - push @{$metaheaders{$page}}, scrub('', $destpage); + push @{$metaheaders{$page}}, scrub('', $page, $destpage); } } elsif ($key eq 'stylesheet') { @@ -240,7 +240,7 @@ sub preprocess (@) { my $delay=int(exists $params{delay} ? $params{delay} : 0); my $redir=""; if (! $safe) { - $redir=scrub($redir, $destpage); + $redir=scrub($redir, $page, $destpage); } push @{$metaheaders{$page}}, $redir; } @@ -250,7 +250,7 @@ sub preprocess (@) { join(" ", map { encode_entities($_)."=\"".encode_entities(decode_entities($params{$_}))."\"" } keys %params). - " />\n", $destpage); + " />\n", $page, $destpage); } } elsif ($key eq 'robots') { @@ -266,12 +266,12 @@ sub preprocess (@) { push @{$metaheaders{$page}}, scrub('', $destpage); + ' />', $page, $destpage); } else { push @{$metaheaders{$page}}, scrub('', $destpage); + encode_entities($value).'" />', $page, $destpage); } return ""; diff --git a/debian/changelog b/debian/changelog index 921f31f29..33c2d3d07 100644 --- a/debian/changelog +++ b/debian/changelog @@ -9,6 +9,9 @@ ikiwiki (3.20101130) UNRELEASED; urgency=low * Now when users log in via https, ikiwiki sends a secure cookie, that can only be used over https. If the user switches to using http, they will need to re-login. (smcv) + * meta: Fix calling of htmlscrubber to pass the page parameter. + The change of the htmlscrubber to look at page rather than destpage + caused htmlscrubber_skip to not work for meta directives. -- Joey Hess Mon, 29 Nov 2010 14:44:13 -0400 -- 2.39.5