X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Debbugs%2FCGI%2FBugreport.pm;h=f2ae9ac410c6ed98955d6016f1f6d76e6fbc879e;hb=1fc2d1468742f5478aa2592cc31a450c2ea7f141;hp=2e53892ca5ced8e019b24b5bf291640a45556432;hpb=8623fd34da118a1bdcf96932058935e0c15bcd72;p=debbugs.git diff --git a/Debbugs/CGI/Bugreport.pm b/Debbugs/CGI/Bugreport.pm index 2e53892..f2ae9ac 100644 --- a/Debbugs/CGI/Bugreport.pm +++ b/Debbugs/CGI/Bugreport.pm @@ -41,6 +41,7 @@ use Debbugs::UTF8; use Debbugs::Config qw(:config); use POSIX qw(strftime); use Encode qw(decode_utf8 encode_utf8); +use URI::Escape qw(uri_escape); BEGIN{ ($VERSION) = q$Revision: 494 $ =~ /^Revision:\s+([^\s+])/; @@ -148,7 +149,7 @@ sub display_entity { if ($_ eq 'From' and $param{avatars}) { my $libravatar_url = __libravatar_url(decode_rfc1522($head_field)); if (defined $libravatar_url and length $libravatar_url) { - push @headers,q(\n); + push @headers,q(\n); } } push @headers, qq(
$_: ) . html_escape(decode_rfc1522($head_field))."
\n"; @@ -273,7 +274,11 @@ sub display_entity { ((?:\>\;)?[)]?(?:'|\&\#39\;)?[:.\,]?(?:\s|$)) # terminators }{$1$2}gox; # Add links to bug closures - $body =~ s[(closes:\s*(?:bug)?\#?\s?\d+(?:,?\s*(?:bug)?\#?\s?\d+)*)] + $body =~ s[((?:closes|see):\s* # start of closed/referenced bugs + (?:bug)?\#?\s?\d+\s? # first bug + (?:,?\s*(?:bug)?\#?\s?\d+)* # additional bugs + (?:\s|\n|\)|\]|\}|\.|\,|$)) # ends with a space, newline, end of string, or ); fixes #747267 + ] [my $temp = $1; $temp =~ s{(\d+)} {bug_links(bug=>$1)}ge; @@ -282,7 +287,7 @@ sub display_entity { length $config{cve_tracker} ) { # Add links to CVE vulnerabilities (closes #568464) - $body =~ s{(^|\s)(CVE-\d{4}-\d{4,})(\s|[,.-\[\]]|$)} + $body =~ s{(^|\s|[\(\[])(CVE-\d{4}-\d{4,})(\s|[,.-\[\]\)]|$)} {$1$2$3}gxm; } if (not exists $param{att}) { @@ -452,7 +457,7 @@ sub __libravatar_url { return undef; } ($email) = get_addresses($email); - return $config{libravatar_uri}.$email.($config{libravatar_uri_options}//''); + return $config{libravatar_uri}.uri_escape($email.($config{libravatar_uri_options}//'')); }