From 9db06329c98e1a390bbb6323de02dc7e2f45f1f8 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Fri, 26 Dec 2008 14:07:19 -0500 Subject: comments: Deal with users entering unqualified or partial urls. People seem to be able to expect to enter www.foo.com and get away with it. The resulting my.wiki/www.foo.com link was not ideal. To fix it, use URI::Heuristic to expand such things into a real url. It even looks up hostnames in the DNS if necessary. --- IkiWiki/Plugin/comments.pm | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'IkiWiki') diff --git a/IkiWiki/Plugin/comments.pm b/IkiWiki/Plugin/comments.pm index 0ae9eefe3..d8318d3e3 100644 --- a/IkiWiki/Plugin/comments.pm +++ b/IkiWiki/Plugin/comments.pm @@ -198,8 +198,17 @@ sub preprocess { $pagestate{$page}{meta}{author} = $params{claimedauthor}; } - if (defined $params{url} and safeurl($params{url})) { - $pagestate{$page}{meta}{authorurl} = $params{url}; + if (defined $params{url}) { + my $url=$params{url}; + + eval q{use URI::Heuristic}; + if (! $@) { + $url=URI::Heuristic::uf_uristr($url); + } + + if (safeurl($url)) { + $pagestate{$page}{meta}{authorurl} = $url; + } } } else { -- cgit v1.2.3