summaryrefslogtreecommitdiffstats
path: root/Bugzilla
diff options
context:
space:
mode:
authorAlbert Ting <altlist@gmail.com>2015-04-02 16:26:35 +0200
committerDavid Lawrence <dkl@mozilla.com>2015-04-02 16:26:35 +0200
commit1fa1aa54ae725989c6c44f198376e37ba000ca02 (patch)
tree71371e9407f180a13f0bace2c46ef9175b527301 /Bugzilla
parent1fbcede24288ad8abdeaf49255e5c0996ac2df4c (diff)
downloadbugzilla-1fa1aa54ae725989c6c44f198376e37ba000ca02.tar.gz
bugzilla-1fa1aa54ae725989c6c44f198376e37ba000ca02.tar.xz
Bug 1061226: markdown isn't linkifying urls
r=dkl,a=glob
Diffstat (limited to 'Bugzilla')
-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;
}