<?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>Unable to write filters to prefs with ldap backend (binds without password)</title> 
  <pubDate>Fri, 10 Apr 2026 17:02:23 +0000</pubDate> 
  <link>https://bugs.horde.org/ticket/7418</link> 
  <atom:link rel="self" type="application/rss+xml" title="Unable to write filters to prefs with ldap backend (binds without password)" href="https://bugs.horde.org/ticket/7418/rss" /> 
  <description>Unable to write filters to prefs with ldap backend (binds without password)</description> 
 
   
   
  <item> 
   <title> I have horde setup to let imp handle the authentication. Im</title> 
   <description> I have horde setup to let imp handle the authentication. Imp talks to cyrus which talks to ldap. I have no problems logging in.



I have set up Ingo to use the &#039;prefs&#039; storage driver. Ingo can read and publish filters just fine using the timsieved driver. Unfortunately Ingo fails when trying to write the filters to prefs/ldap. According to the ldap.log this is because it is trying to bind without a password.  It is however possible to change the &#039;Update script...&#039; setting. Settings in other modules are also saved fine.



Versions:



horde-ingo-1.2.1-1mdv2008.1

horde-imp-4.2-2mdv2008.1

horde-3.2.2-1mdv2008.1





Additional information:



$conf[&#039;prefs&#039;][&#039;maxsize&#039;] = 2147483647;

$conf[&#039;prefs&#039;][&#039;params&#039;][&#039;hostspec&#039;] = &#039;localhost&#039;;

$conf[&#039;prefs&#039;][&#039;params&#039;][&#039;port&#039;] = 389;

$conf[&#039;prefs&#039;][&#039;params&#039;][&#039;version&#039;] = &#039;3&#039;;

$conf[&#039;prefs&#039;][&#039;params&#039;][&#039;basedn&#039;] = &#039;ou=MailAccounts,dc=example,dc=com&#039;;

$conf[&#039;prefs&#039;][&#039;params&#039;][&#039;writedn&#039;] = &#039;user&#039;;

$conf[&#039;prefs&#039;][&#039;params&#039;][&#039;uid&#039;] = &#039;uid&#039;;

$conf[&#039;prefs&#039;][&#039;driver&#039;] = &#039;ldap&#039;;



$conf[&#039;auth&#039;][&#039;admins&#039;] = array(&#039;Administrator&#039;, &#039;johnil&#039;);

$conf[&#039;auth&#039;][&#039;checkip&#039;] = true;

$conf[&#039;auth&#039;][&#039;checkbrowser&#039;] = true;

$conf[&#039;auth&#039;][&#039;alternate_login&#039;] = false;

$conf[&#039;auth&#039;][&#039;redirect_on_logout&#039;] = false;

$conf[&#039;auth&#039;][&#039;params&#039;][&#039;app&#039;] = &#039;imp&#039;;

$conf[&#039;auth&#039;][&#039;driver&#039;] = &#039;application&#039;;





I added this (at line 241) to  Prefs/ldap.php:



Horde::logMessage(&quot;Inside trying to rebind as :&quot;.$this-&gt;_dn.&quot; with: &quot;.$this-&gt;_password, __FILE__, __LINE__, PEAR_LOG_NOTICE);



From horde.log:



Sep 30 21:01:41 HORDE [notice] [ingo] Inside trying to rebind as :mail=johannes.nilsson@example.com,ou=MailAccounts,dc=example,dc=com with:  [pid 925 on line 241 of &quot;/usr/share/horde/lib/Horde/Prefs/ldap.php&quot;]

Sep 30 21:01:41 HORDE [error] [ingo] Error rebinding for prefs writing: [53]: Server is unwilling to perform [pid 925 on line 260 of &quot;/usr/share/horde/lib/Horde/Prefs/ldap.php&quot;]

Sep 30 21:01:41 HORDE [error] [ingo] Internal LDAP error.  Details have been logged for the administrator. [pid 925 on line 338 of &quot;/usr/share/horde/lib/Horde/Prefs/ldap.php&quot;]



And ldap.log:



Sep 30 21:01:41 mettemauge slapd[17113]: conn=18315 fd=54 ACCEPT from IP=127.0.0.1:35658 (IP=0.0.0.0:389)

Sep 30 21:01:41 mettemauge slapd[17113]: conn=18315 op=0 SRCH base=&quot;ou=MailAccounts,dc=example,dc=com&quot; scope=2 deref=0 filter=&quot;(uid=johnil)&quot;

Sep 30 21:01:41 mettemauge slapd[17113]: conn=18315 op=0 SRCH attr=dn

Sep 30 21:01:41 mettemauge slapd[17113]: conn=18315 op=0 SEARCH RESULT tag=101 err=0 nentries=1 text=

Sep 30 21:01:41 mettemauge slapd[17113]: conn=18315 op=1 BIND dn=&quot;mail=johannes.nilsson@example.com,ou=MailAccounts,dc=example,dc=com&quot; method=128

Sep 30 21:01:41 mettemauge slapd[17113]: conn=18315 op=1 RESULT tag=97 err=53 text=unauthenticated bind (DN with no password) disallowed

Sep 30 21:01:41 mettemauge slapd[17113]: conn=18316 fd=55 ACCEPT from IP=127.0.0.1:35659 (IP=0.0.0.0:389)

Sep 30 21:01:41 mettemauge slapd[17113]: conn=18316 op=0 SRCH base=&quot;ou=MailAccounts,dc=example,dc=com&quot; scope=2 deref=0 filter=&quot;(uid=johnil)&quot;

Sep 30 21:01:41 mettemauge slapd[17113]: conn=18316 op=0 SEARCH RESULT tag=101 err=0 nentries=1 text=

Sep 30 21:01:41 mettemauge slapd[17113]: conn=18316 op=1 UNBIND

Sep 30 21:01:41 mettemauge slapd[17113]: conn=18316 fd=55 closed

Sep 30 21:01:41 mettemauge slapd[17113]: conn=18317 fd=55 ACCEPT from IP=127.0.0.1:35660 (IP=0.0.0.0:389)

Sep 30 21:01:41 mettemauge slapd[17113]: conn=18317 op=0 SRCH base=&quot;ou=MailAccounts,dc=example,dc=com&quot; scope=2 deref=0 filter=&quot;(uid=johnil)&quot;

Sep 30 21:01:41 mettemauge slapd[17113]: conn=18317 op=0 SEARCH RESULT tag=101 err=0 nentries=1 text=

Sep 30 21:01:41 mettemauge slapd[17113]: conn=18317 op=1 UNBIND

Sep 30 21:01:41 mettemauge slapd[17113]: conn=18317 fd=55 closed

Sep 30 21:01:41 mettemauge slapd[17113]: conn=18315 op=2 UNBIND

Sep 30 21:01:41 mettemauge slapd[17113]: conn=18315 fd=54 closed

Sep 30 21:01:41 mettemauge slapd[17113]: conn=18318 fd=54 ACCEPT from IP=127.0.0.1:35661 (IP=0.0.0.0:389)

Sep 30 21:01:41 mettemauge slapd[17113]: conn=18318 op=0 SRCH base=&quot;ou=MailAccounts,dc=example,dc=com&quot; scope=2 deref=0 filter=&quot;(uid=johnil)&quot;

Sep 30 21:01:41 mettemauge slapd[17113]: conn=18318 op=0 SRCH attr=dn

Sep 30 21:01:41 mettemauge slapd[17113]: conn=18318 op=0 SEARCH RESULT tag=101 err=0 nentries=1 text=

Sep 30 21:01:41 mettemauge slapd[17113]: conn=18318 op=1 BIND dn=&quot;mail=johannes.nilsson@example.com,ou=MailAccounts,dc=example,dc=com&quot; method=128

Sep 30 21:01:41 mettemauge slapd[17113]: conn=18318 op=1 RESULT tag=97 err=53 text=unauthenticated bind (DN with no password) disallowed

Sep 30 21:01:41 mettemauge slapd[17113]: conn=18318 op=2 UNBIND

Sep 30 21:01:41 mettemauge slapd[17113]: conn=18318 fd=54 closed</description> 
   <pubDate>Tue, 30 Sep 2008 19:20:39 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/7418#t49317</link> 
  </item> 
   
  <item> 
   <title>&gt;  I have horde setup to let imp handle the authentication. </title> 
   <description>&gt;  I have horde setup to let imp handle the authentication. 



I just changed this to let horde handle the authentication itself (auth driver ldap). It works fine, but made no difference to the filter problem.</description> 
   <pubDate>Tue, 30 Sep 2008 20:34:23 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/7418#t49318</link> 
  </item> 
   
  <item> 
   <title>I am also having this issue when using the LDAP backend for </title> 
   <description>I am also having this issue when using the LDAP backend for Prefs with horde 3.3.2/ingo 1.2.1. I did not have this issue with horde 3.1.1.   I have located the cause of the issue and implemented a *workaround* in my install to allow it to work.



In ingo/lib/Storage/prefs.php lines 38-40 an instance of the Prefs singleton is generated but w/ a blank password (the 4th argument).   If I set the 4th arg to Auth::getCredential(&#039;password&#039;)  then ingo works correctly..   I also am changing that on line 139. 



back in horde 3.1.x ingo&#039;s pref driver would access a global $prefs object instead of using the singleton object.</description> 
   <pubDate>Wed, 31 Dec 2008 03:22:39 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/7418#t51521</link> 
  </item> 
   
  <item> 
   <title>OK, if I remove arguments 4-6 don&#039;t set a password, and more</title> 
   <description>OK, if I remove arguments 4-6 don&#039;t set a password, and more importantly don&#039;t override the 6th argument ($cache) with false and leave the default to TRUE, it works as well..



Is there any specific reason WHY in the case of ingo, the 6th arg is set to false????



</description> 
   <pubDate>Wed, 31 Dec 2008 03:25:40 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/7418#t51522</link> 
  </item> 
   
  <item> 
   <title>I have the same problem using kolab. Is there a solution for</title> 
   <description>I have the same problem using kolab. Is there a solution for this? Will there be a patch?</description> 
   <pubDate>Fri, 16 Jan 2009 11:00:04 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/7418#t51769</link> 
  </item> 
   
  <item> 
   <title>&gt; I have the same problem using kolab. Is there a solution f</title> 
   <description>&gt; I have the same problem using kolab. Is there a solution for this? 

&gt; Will there be a patch?



Ditto - exactly the same issue. CVS is the same. 



When set to LDAP backend, Ingo tries to bind unauth and gets rejected. Result is that when you first go to Filters after logging on, you get the Preferences unavailable message, and no filters are saved from the session.



Set to SQL backend it is fine, although some actions still seem to trigger a call to the preferences system in my setup (LDAP) and return the same message, but with no functionality impact that I can see. </description> 
   <pubDate>Sat, 04 Apr 2009 15:11:21 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/7418#t53512</link> 
  </item> 
   
  <item> 
   <title>I can confirm this bug, too.

The users password is needed w</title> 
   <description>I can confirm this bug, too.

The users password is needed when the option

        $conf[&#039;prefs&#039;][&#039;params&#039;][&#039;writedn&#039;]

in the horde conf.php is set to &#039;user&#039;.



Adding the users password as the fourth argument in the &quot;$prefs = &amp;Prefs::singleton&quot; call fixed this issue for me. Thank you urkle for this tip (Comment #3)!



Sadly, this bug appears not only in ingo but in kronolith and some other horde apps, too.

I did a quick search in my horde directory and found many other calls to the Prefs::singleton function, where the password argument is an empty string.



So, is there a reason why applications should not pass the users passwort to the singleton function?

I would prefer the method of writing preferences to the LDAP as the logged-in user instead of writing as admin.



Thank you in advance!</description> 
   <pubDate>Fri, 17 Apr 2009 14:49:48 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/7418#t53757</link> 
  </item> 
   
  <item> 
   <title>At least in those cases where we explicitly use the current </title> 
   <description>At least in those cases where we explicitly use the current user&#039;s preferences, i.e. where we don&#039;t try to access preferences of other users, this makes sense. A patch that fixes all those places would be great.</description> 
   <pubDate>Fri, 17 Apr 2009 15:19:08 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/7418#t53758</link> 
  </item> 
   
  <item> 
   <title>attached a patch for ingo



&gt; At least in those cases where</title> 
   <description>attached a patch for ingo



&gt; At least in those cases where we explicitly use the current user&#039;s 

&gt; preferences, i.e. where we don&#039;t try to access preferences of other 

&gt; users, this makes sense. A patch that fixes all those places would be 

&gt; great.

</description> 
   <pubDate>Mon, 04 May 2009 12:31:08 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/7418#t53994</link> 
  </item> 
   
  <item> 
   <title>The patch fixes it for me... Mostly... :) Thanks. 



This p</title> 
   <description>The patch fixes it for me... Mostly... :) Thanks. 



This patch means that the rules are successfully entered in LDAP, and are remembered, so functionally at least I am now able to store the rules in LDAP along with all other preferences. 



There&#039;s still an issue somewhere though, not sure where - Ingo is still trying to do an LDAP binds as user somewhere without a password being obtained.



Ingo throws an error &quot;The preferences backend is currently unavailable and your preferences have not been loaded. You may continue to use the system with default settings&quot; under the following circumstances:



With Ingo prefs set to use preference system, which is set in Horde setup to LDAP, logout. 



Login, go to Filters, and click on the Spam rule. It throws the error. However, any changes that are made are successfully retained. Any future access to the Spam rule in the current session does NOT throw the error. The error appears to be cosmetic only, as full functionality is retained. 



I can reproduce the same error under the same circumstances with Ingo set to use SQL for preferences, so Ingo is still trying to do an anonymous LDAP bind somewhere else. My LDAP logs confirm:



May  5 11:32:28 server01 slapd[1156]: conn=66725 op=2 BIND dn=&quot;uid=simon,ou=users,dc=simonandkate,dc=lan&quot; method=128 

May  5 11:32:28 server01 slapd[1156]: conn=66725 op=2 RESULT tag=97 err=53 text=unauthenticated bind (DN with no password) disallowed 



As stated, these occur with either preferences system / LDAP backend or SQL backend.</description> 
   <pubDate>Tue, 05 May 2009 01:58:55 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/7418#t53998</link> 
  </item> 
   
  <item> 
   <title>Found it! :)



ingo/lib/Storage.php - it also has the &quot;Ingo</title> 
   <description>Found it! :)



ingo/lib/Storage.php - it also has the &quot;Ingo::getUser(), &#039;&#039;, null, false);&quot; line that it calls to try and find . I replaced that with &quot;Ingo::getUser(), Auth::getCredential(&#039;password&#039;), null, false);&quot; and it has resolved the issue.



Patch file attached. never done one before, so I hope it&#039;s OK.

</description> 
   <pubDate>Tue, 05 May 2009 02:16:32 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/7418#t53999</link> 
  </item> 
   
  <item> 
   <title>&gt; Found it! :)

&gt;

&gt; ingo/lib/Storage.php - it also has the </title> 
   <description>&gt; Found it! :)

&gt;

&gt; ingo/lib/Storage.php - it also has the &quot;Ingo::getUser(), &#039;&#039;, null, 

&gt; false);&quot; line that it calls to try and find . I replaced that with 

&gt; &quot;Ingo::getUser(), Auth::getCredential(&#039;password&#039;), null, false);&quot; and 

&gt; it has resolved the issue.

&gt;

&gt; Patch file attached. never done one before, so I hope it&#039;s OK.

&gt;



Patch file was &quot;diff&#039;ed&quot; the wrong way :) Can someone with permissions remove the earlier one please?</description> 
   <pubDate>Tue, 05 May 2009 03:05:37 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/7418#t54000</link> 
  </item> 
   
  <item> 
   <title>Kronolith is doing the same thing. With LDAP preference back</title> 
   <description>Kronolith is doing the same thing. With LDAP preference backend set, first new calendar entry after a login generates a bind as user with no password and the &quot;Preference system not available message&quot;. LDAP log entry:



May  6 18:25:18 server01 slapd[1156]: conn=73358 op=2 BIND dn=&quot;uid=simon,ou=users,dc=simonandkate,dc=lan&quot; method=128 

May  6 18:25:18 server01 slapd[1156]: conn=73358 op=2 RESULT tag=97 err=53 text=unauthenticated bind (DN with no password) disallowed 



Should I do a new bug report?</description> 
   <pubDate>Wed, 06 May 2009 09:59:54 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/7418#t54015</link> 
  </item> 
   
  <item> 
   <title>&gt; Kronolith is doing the same thing.

&gt; Should I do a new bu</title> 
   <description>&gt; Kronolith is doing the same thing.

&gt; Should I do a new bug report?

I see you already did this for kronolith: http://bugs.horde.org/ticket/8246

I&#039;ve created another bug for nag: http://bugs.horde.org/ticket/8251



Now for ingo, we have two patches, fixing the following three places:

&gt; ingo/lib/Storage.php:749:            $prefs = Prefs::factory($GLOBALS[&#039;conf&#039;][&#039;prefs&#039;][&#039;driver&#039;],

fixed with storagephp(2).patch



&gt; ingo/lib/Storage/prefs.php:36:        $prefs = &amp;Prefs::singleton($GLOBALS[&#039;conf&#039;][&#039;prefs&#039;][&#039;driver&#039;],

fixed with 0001-fix-7418-Unable-to-write-filters-to-prefs-wit.patch



&gt; ingo/lib/Storage/prefs.php:133:        $prefs = &amp;Prefs::singleton($GLOBALS[&#039;conf&#039;][&#039;prefs&#039;][&#039;driver&#039;],

fixed with 0001-fix-7418-Unable-to-write-filters-to-prefs-wit.patch</description> 
   <pubDate>Thu, 07 May 2009 13:37:41 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/7418#t54036</link> 
  </item> 
   
  <item> 
   <title>Closed in favor of the catch-all ticket #8353.</title> 
   <description>Closed in favor of the catch-all ticket #8353.</description> 
   <pubDate>Tue, 16 Jun 2009 13:37:47 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/7418#t54604</link> 
  </item> 
   
   
 
 </channel> 
</rss> 
