From d21a05b48117ce7dbef4ad7997ed15c26bccf481 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Wed, 27 Oct 2010 02:25:13 -0400
Subject: [PATCH] - Fix handling of URLs with semicolon (;) character (#1487088)

---
 CHANGELOG                                 |    2 +-
 program/include/rcube_string_replacer.php |    4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index e916325..f6788bc 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -51,7 +51,7 @@
 - Add basic IMAP LIST's \Noselect option support
 - Add support for selection options from LIST-EXTENDED extension (RFC 5258)
 - Don't list subscribed but non-existent folders (#1486225)
-- Fix handling of URLs with tilde (~) character (#1487087)
+- Fix handling of URLs with tilde (~) or semicolon (;) character (#1487087, #1487088)
 
 RELEASE 0.4.2
 -------------
diff --git a/program/include/rcube_string_replacer.php b/program/include/rcube_string_replacer.php
index a13de6a..e219f30 100644
--- a/program/include/rcube_string_replacer.php
+++ b/program/include/rcube_string_replacer.php
@@ -37,13 +37,13 @@
   {
     // Simplified domain expression for UTF8 characters handling
     $utf_domain = '[^?&@"\'\\/()\s\r\t\n]+\\.[a-z]{2,5}';
-    $url = '[a-z0-9%=#+?.:&\\/_~-]+';
+    $url = '[a-z0-9%=#@+?.:;&\\/_~-]+';
 
     $this->link_pattern = "/([\w]+:\/\/|\Wwww\.)($utf_domain($url)?)/i";
     $this->mailto_pattern = "/("
         ."[-\w!\#\$%&\'*+~\/^`|{}=]+(?:\.[-\w!\#\$%&\'*+~\/^`|{}=]+)*"  // local-part
         ."@$utf_domain"                                                 // domain-part
-        ."(\?$url)?"                                                     // e.g. ?subject=test...
+        ."(\?$url)?"                                                    // e.g. ?subject=test...
         .")/i";
   }
 

--
Gitblit v1.9.1