[horde] again: ingo: can't add rules

Jan Schneider jan at horde.org
Wed Feb 10 08:52:02 UTC 2016


Zitat von A. Schulze <sca at andreasschulze.de>:

> Jan Schneider:
>
>> Zitat von A. Schulze <sca at andreasschulze.de>:
>>
>>> Hello,
>>>
>>> I have still a open issue: ingo and KolabImap as preference  
>>> backend don't work.
>>> see http://lists.horde.org/archives/horde/Week-of-Mon-20140915/052672.html
>>>
>>> Now I melt down my config to a bare minimum to reproduce.
>>> - install a mimimum horde from pear (released today: horde-5.2.9)
>>> - goto http://localhost/ which is the horde root
>>> - autologin as Administrator
>>> - complete the configuration: ONLY set $conf[sql][phptype] to None.
>>> - safe conf.php, logout & close browser
>>>
>>> create ~horde/config/conf.local.php
>>>    <?php
>>>    $conf['testdisable'] = false;
>>>    $conf['log']['priority'] = 'DEBUG';
>>>    $conf['log']['name'] = '/tmp/horde.log';
>>>    $conf['log']['params']['append'] = true;
>>>    $conf['log']['type'] = 'file';
>>>
>>>    $conf['auth']['driver'] = 'imap';
>>>    $conf['prefs']['driver'] = 'KolabImap';
>>>
>>> given this configuration horde authenticate via a local imap  
>>> server and use it to store preferences.
>>> This is a bare minimum configuration for dovecot (version 2.2.21):
>>>
>>> dovecot.conf:
>>>
>>>    ssl = no
>>>    passdb {
>>>      driver = static
>>>      args = password=test
>>>    }
>>>    userdb {
>>>      driver = static
>>>      args = uid=65534 gid=65534 home=/tmp/%u
>>>    }
>>>    mail_location = maildir:~/Maildir/
>>>    namespace {
>>>      inbox = yes
>>>      separator = /
>>>      prefix = INBOX/
>>>    }
>>>    mail_attribute_dict = file:dovecot-metadata
>>>    imap_metadata = yes
>>>    protocols = $protocols sieve
>>>
>>> Now I could login via imap at localhost with any username, password "test".
>>> A maildir is created in /tmp/%username/Maildir/
>>>
>>> Back to horde I login as "user" and get the notification "Last  
>>> login: Never"
>>> Logout and login again I now see "Last login: %timestamp from %host"
>>> That's the indicator Horde *do* store preferences in  
>>> /tmp/%username/Maildir/.Preferences
>>>
>>> let switch to file based preference system: append two lines to  
>>> ~horde/config/conf.local.php:
>>>
>>>   $conf['prefs']['params']['directory'] = '/tmp';
>>>   $conf['prefs']['driver'] = 'File';
>>>
>>> Logout an login again as user an notice the preferences stored in  
>>> /tmp/%username.prefs
>>>
>>> Now install ingo: pear install horde/ingo
>>> Login as Administrator and configure ingo: ONLY set  
>>> $conf[storage][driver] to "preference system"
>>> Also create a backend: ~horde/ingo/config/backends.local.php
>>>   <?php
>>>   $backends['imap']['disabled'] = true;
>>>   $backends['sieve']['disabled'] = false;
>>>    
>>> $backends['sieve']['transport'][Ingo::RULE_ALL]['params']['hostspec'] =  
>>> '127.0.0.1';
>>>    
>>> $backends['sieve']['transport'][Ingo::RULE_ALL]['params']['usetls'] =  
>>> false;
>>>
>>> Now, after login as user, goto http://localhost/ingo
>>> Create rules, they are stored in 2 positions:
>>>  1. /tmp/%username.prefs
>>>  2. /tmp/%username/.dovecot.sieve linked to /tmp/%username/sieve/ingo.sieve
>>>
>>> that works.
>>>
>>> now switch back to $conf['prefs']['driver'] = 'KolabImap';
>>> ( comment the last two lines in ~horde/config/conf.local.php )
>>>
>>> Logout and login. Create a rule, the rule is only saved in  
>>> /tmp/%username/sieve/ingo.sieve
>>>
>>> OS: Debian Jessie, http://localhost/test.php
>>>
>>>    PHP Version
>>>
>>>    View phpinfo() screen
>>>    View loaded extensions
>>>    PHP Version: 5.6.17-0+deb8u1
>>>    PHP Major Version: 5.6
>>>    PHP Minor Version: 17
>>>    PHP Subminor Version: 0+deb8u1
>>>    PHP Version Classification: release
>>>    You are running a supported version of PHP.
>>> ...
>>>
>>> Again: what's wrong?
>>>
>>> Andreas
>>>
>>> -- 
>>> Horde mailing list
>>> Frequently Asked Questions: http://horde.org/faq/
>>> To unsubscribe, mail: horde-unsubscribe at lists.horde.org
>>
>> Did you check the log files for any messages?
>
> sure, there are some. I attach a sample logfile.
>
> Andreas

Looks as if the code tries to create a preference storage for Ingo in  
INBOX/Preferences, but then fails with the following error:

2016-02-09T21:53:53+01:00 WARN: HORDE [ingo] PHP ERROR:  
stream_filter_remove(): Unable to flush filter, not removing [pid  
25338 on line 1777 of "/usr/share/php/Horde/Mime/Part.php"]
2016-02-09T21:53:53+01:00 DEBUG: HORDE  1. Horde_Prefs->store()
  2. Horde_Prefs_Storage_KolabImap->store() /usr/share/php/Horde/Prefs.php:433
  3. Horde_Kolab_Storage_Data_Decorator_Log->create()  
/usr/share/php/Horde/Prefs/Storage/KolabImap.php:136
  4. Horde_Kolab_Storage_Data_Base->create()  
/usr/share/php/Horde/Kolab/Storage/Data/Decorator/Log.php:173
  5. Horde_Kolab_Storage_Object->create()  
/usr/share/php/Horde/Kolab/Storage/Data/Base.php:243
  6. Horde_Kolab_Storage_Object->_appendMessage()  
/usr/share/php/Horde/Kolab/Storage/Object.php:330
  7. Horde_Mime_Part->toString()  
/usr/share/php/Horde/Kolab/Storage/Object.php:488
  8. Horde_Mime_Part->toString() /usr/share/php/Horde/Mime/Part.php:1052
  9. Horde_Mime_Part->_getTransferEncoding()  
/usr/share/php/Horde/Mime/Part.php:1013
10. Horde_Mime_Part->_scanStream() /usr/share/php/Horde/Mime/Part.php:1176
11. stream_filter_remove() /usr/share/php/Horde/Mime/Part.php:1777
12. Horde_ErrorHandler::errorHandler()

Please use that to file a ticket on bugs.horde.org.

-- 
Jan Schneider
The Horde Project
http://www.horde.org/



More information about the horde mailing list