<?xml version="1.0" encoding="UTF-8"?> 
<?xml-stylesheet href="https://dev.horde.org/themes/horde//default/feed-rss.xsl" type="text/xsl"?> 
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> 
 <channel> 
  <title>PCRE compilation failure in Horde_Ldap</title> 
  <pubDate>Fri, 10 Apr 2026 18:27:15 +0000</pubDate> 
  <link>https://bugs.horde.org/ticket/10294</link> 
  <atom:link rel="self" type="application/rss+xml" title="PCRE compilation failure in Horde_Ldap" href="https://bugs.horde.org/ticket/10294/rss" /> 
  <description>PCRE compilation failure in Horde_Ldap</description> 
 
   
   
  <item> 
   <title>While working with calendar permissions in Kronolith, I foun</title> 
   <description>While working with calendar permissions in Kronolith, I found that once I set permissions on a calendar for a particular group, the group disappeared from the permissions window, although the permissions seemed to work correctly.  I found the following errors in the horde log:

HORDE [kronolith] PHP ERROR: preg_split(): Compilation failed: lookbehind assertion is not fixed length at offset 9 [pid 24322 on line 292 of &quot;/usr/share/pear/Horde/Ldap/Util.php

It appears that my version of PHP does not like the formatting of that regex.  There were three instances of a regex like this used in preg_split:

/(?&lt;=[^\\\\]),/

It appears to me that the purpose of this regex is to split the string on commas, as long as the comma is not escaped by a preceding backslash.  I changed the three instances of this regex to a negative lookbehind assertion, which my version of PHP seems to like better:

/(?&lt;!\\\\),/

I see other instances of this type of negative lookbehind assertion in Util.php, and it seems to be working on my setup.  I will attach a patch to Util.php in a subsequent post.

My server config:
CentOS 5.6 x86_64
Apache 2.2.3 installed via yum
PHP 5.3.3 installed via yum
PCRE 6.6 installed via yum</description> 
   <pubDate>Thu, 30 Jun 2011 16:45:11 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/10294#t66040</link> 
  </item> 
   
  <item> 
   <title>Patch for framework/Ldap/lib/Horde/Ldap/Util.php</title> 
   <description>Patch for framework/Ldap/lib/Horde/Ldap/Util.php</description> 
   <pubDate>Thu, 30 Jun 2011 16:47:14 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/10294#t66041</link> 
  </item> 
   
  <item> 
   <title>Upon further investigation, it appears that this may be a bu</title> 
   <description>Upon further investigation, it appears that this may be a bug in my version of PCRE.

http://bugs.exim.org/show_bug.cgi?id=559

Fixed in PCRE 6.7, but CentOS 5 is using PCRE 6.6.

On a Fedora Core 14 box running PHP 5.3.5 and PCRE 8.10, the positive lookbehind assertion works correctly.

Nevertheless, this patch gets this function working in CentOS, which may be valuable.</description> 
   <pubDate>Thu, 30 Jun 2011 17:45:46 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/10294#t66042</link> 
  </item> 
   
  <item> 
   <title>Changes have been made in Git for this ticket:

[jan] Always</title> 
   <description>Changes have been made in Git for this ticket:

[jan] Always use negative lookbehind assertions to work around bug in PCRE 6.6 (Steve Teti, Bug #10294).

 4 files changed, 46 insertions(+), 9 deletions(-)
http://git.horde.org/horde-git/-/commit/981d58b8b4cfb1c128fc48dcdab1aacc4737fbdf</description> 
   <pubDate>Fri, 01 Jul 2011 16:36:11 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/10294#t66069</link> 
  </item> 
   
   
 
 </channel> 
</rss> 
