Package: php-horde-text-filter
Version: 2.3.5-3
Severity: grave
Tags: patch

On buster with PHP 7.3 the tabs used on the horde settings webpage are empty 
instead of the usual General/Database etc.
With PHP 7.2 from packages.surey.org they work fine. They are linked against 
libpcre3 2:8.42

Log says:

WARN: HORDE [horde] PHP ERROR: preg_replace_callback(): Compilation failed: 
invalid range in character class at offset 68 [pid 21655 on line 99 of 
"/usr/share/php/Horde/Text/Filter.php"]

Problem seems to be that it doestn't like anymore ranges like [\w-+]. The 
hyphen needs to be first

Attached patch fixes it for me.

-- System Information:
Debian Release: 10.0
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 4.19.0-5-amd64 (SMP w/1 CPU core)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), 
LANGUAGE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages php-horde-text-filter depends on:
ii  php-common           2:69
ii  php-horde-exception  2.0.8-4
ii  php-horde-idna       1.1.1-3
ii  php-horde-util       2.5.8-3

Versions of packages php-horde-text-filter recommends:
pn  php-horde-test         <none>
ii  php-horde-text-flowed  2.0.3-5
ii  php-horde-translation  2.2.2-3
pn  php-tidy               <none>

Versions of packages php-horde-text-filter suggests:
pn  php-horde-text-filter-jsmin  <none>

-- no debconf information
diff --git a/Horde_Text_Filter-2.3.5/lib/Horde/Text/Filter/Emails.php 
b/Horde_Text_Filter-2.3.5/lib/Horde/Text/Filter/Emails.php
index ad760b9..929d829 100644
--- a/Horde_Text_Filter-2.3.5/lib/Horde/Text/Filter/Emails.php
+++ b/Horde_Text_Filter-2.3.5/lib/Horde/Text/Filter/Emails.php
@@ -61,7 +61,7 @@ class Horde_Text_Filter_Emails extends Horde_Text_Filter_Base
             ((?(1)\s*\]))
         |
             # Version 2 Pattern 9 and 10: simple email addresses.
-            (^|\s|&lt;|<|\[)([\w-+.=]+@[-A-Z0-9.]*[A-Z0-9])
+            (^|\s|&lt;|<|\[)([-\w+.=]+@[-A-Z0-9.]*[A-Z0-9])
             # Pattern 11 to 13: Optional parameters
             ((\?)([^\s"<]*[\w+#?\/&=]))?
             # Pattern 14: Optional closing bracket
diff --git a/Horde_Text_Filter-2.3.5/lib/Horde/Text/Filter/Linkurls.php 
b/Horde_Text_Filter-2.3.5/lib/Horde/Text/Filter/Linkurls.php
index a88dc12..72e19ec 100644
--- a/Horde_Text_Filter-2.3.5/lib/Horde/Text/Filter/Linkurls.php
+++ b/Horde_Text_Filter-2.3.5/lib/Horde/Text/Filter/Linkurls.php
@@ -86,7 +86,7 @@ class Horde_Text_Filter_Linkurls extends 
Horde_Text_Filter_Base
 (?:\b|^)
 (  # Capture 1: entire matched URL
   (
-   (?:[a-z][\w-+]{0,19})?:/{1,3}  # URL protocol and colon followed by 1-3
+   (?:[a-z][-\w+]{0,19})?:/{1,3}  # URL protocol and colon followed by 1-3
                                   # slashes, or just colon and slashes (://)
     |                             #  - or -
     (?<!\.)www\d{0,3}\.           # "www.", "www1.", "www2." … "www999."

Reply via email to