]> git.donarmstrong.com Git - debbugs.git/commitdiff
Don't linkify trailing ; in bug messages (closes #1076323)
authorDon Armstrong <don@donarmstrong.com>
Mon, 22 Jul 2024 03:05:17 +0000 (20:05 -0700)
committerDon Armstrong <don@donarmstrong.com>
Mon, 22 Jul 2024 03:05:17 +0000 (20:05 -0700)
debian/changelog
lib/Debbugs/CGI/Bugreport.pm
t/07_bugreport.t

index a63920229df15ae337b89fe7ec60a2ad751b9537..4d4d8848bca2078ab8a90e52d7438307bc8ea719 100644 (file)
@@ -8,6 +8,8 @@ debbugs (3.0.0~alpha.1) unstable; urgency=medium
     of mbox (closes: #1009181)
   * Fix missing escaping of comma in address fields (closes: #1041638)
   * Sort blocked-by (closes: 751808), thanks to Tim Landscheidt.
+  * Don't linkify trailing ; in bug messages (closes: #1076323), thanks to
+    Blair Noctis.
 
  -- Don Armstrong <don@debian.org>  Fri, 09 Mar 2018 11:17:10 -0800
 
index a6063944a07b5edd1048639d17c6c8d1abecb085..6841b88bd199b9d5e9552a9b88a8e7350cdaa637 100644 (file)
@@ -283,7 +283,7 @@ sub display_entity {
         # We don't html escape here because we escape above;
         # wierd terminators are because of that
         $body =~ s{((?:ftp|http|https|svn|ftps|rsync)://[\S~-]+?/?) # Url
-                   ((?:\&gt\;)?[)]?(?:'|\&\#39\;|\&quot\;)?[:.\,]?(?:\s|$)) # terminators
+                   ((?:\&gt\;)?[)]?(?:'|\&\#39\;|\&quot\;)?[:.\,;]?(?:\s|$)) # terminators
              }{<a href=\"$1\">$1</a>$2}gox;
         # Add links to bug closures
         $body =~ s[((?:closes|see):\s* # start of closed/referenced bugs
index 22efa238640a4709bec9dfddc2f1633ce7897ebe..02ded8a33e0c2205c852696ee80a8dbb5ccc9ae9 100644 (file)
@@ -1,7 +1,7 @@
 # -*- mode: cperl;-*-
 
 
-use Test::More tests => 19;
+use Test::More tests => 22;
 
 use warnings;
 use strict;
@@ -150,4 +150,24 @@ EOF
 }
 
 # Other tests for bugs in the page should be added here eventually
+send_message(to => '1@bugs.something',
+              headers => [To   => '1@bugs.something',
+                          From => 'foo@bugs.something',
+                          Subject => "Message with some links to linkify",
+                         ],
+              body => <<EOF) or fail 'message to 1@bugs.something failed';
+This is a test message.
+
+This is a link https://example.com/foo; which should not include the ;
+
+
+This is a link https://example.com/foo;bar which should include the ;
+EOF
+
+$mech->get_ok('http://localhost:'.$port.'/?bug=1',
+               'Page received ok');
+like($mech->content(), qr(href="https://example.com/foo;bar"),
+     'Link includes ; correctly');
 
+like($mech->content(), qr(href="https://example.com/foo"),
+     'Link excludes trailing ;');