summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Bugzilla/Markdown.pm18
1 files changed, 17 insertions, 1 deletions
diff --git a/Bugzilla/Markdown.pm b/Bugzilla/Markdown.pm
index 7b5d475f8..bbb5b0f27 100644
--- a/Bugzilla/Markdown.pm
+++ b/Bugzilla/Markdown.pm
@@ -237,7 +237,7 @@ sub _DoAnchors {
}xsge;
#
- # Last, handle reference-style shortcuts: [link text]
+ # Handle reference-style shortcuts: [link text]
# These must come last in case you've also got [link test][1]
# or [link test](/foo)
#
@@ -256,6 +256,22 @@ sub _DoAnchors {
$self->_GenerateAnchor($whole_match, $link_text, $link_id);
}xsge;
+ # Last, handle "naked" references
+ # Caveat, does not handle ;http://amazon.com
+ my $safe_url_regexp = Bugzilla::Template::SAFE_URL_REGEXP();
+ $text =~ s{
+ (
+ (^|(?<![;^"'<>])) # negative lookbehind, including ';' in '&lt;'
+ ( # wrap url in $3
+ (?:https?|ftp):[^'">\s]+\w
+ )
+ )
+ }{
+ my $whole_match = $3;
+ my $url = $whole_match;
+ $self->_GenerateAnchor($whole_match, $url, undef, $url, undef);
+ }xsge;
+
return $text;
}