6.0.0-alpha12
6/8/25

[#11271] Re-login fails (with Kolab IMAP storage enabled)
Summary Re-login fails (with Kolab IMAP storage enabled)
Queue Horde Framework Packages
Queue Version Git develop
Type Bug
State Resolved
Priority 1. Low
Owners jan (at) horde (dot) org
Requester thomas.jarosch (at) intra2net (dot) com
Created 07/14/2012 (4712 days ago)
Due
Updated 08/29/2012 (4666 days ago)
Assigned 07/18/2012 (4708 days ago)
Resolved 07/19/2012 (4707 days ago)
Github Issue Link
Github Pull Request
Milestone
Patch No

History
08/29/2012 12:43:36 PM Git Commit Comment #6 Reply to this comment
Changes have been made in Git (master):

commit 103f7c424876cabb65b9c6829300b580738b6c6b
Author: Jan Schneider <jan@horde.org>
Date:   Thu Jul 19 18:42:39 2012 +0200

     Use host name from configuration, not from session (Thomas 
Jarosch, Bug #11271).

  .../Core/lib/Horde/Core/Factory/KolabStorage.php   |    2 +-
  1 files changed, 1 insertions(+), 1 deletions(-)

http://git.horde.org/horde-git/-/commit/103f7c424876cabb65b9c6829300b580738b6c6b
07/19/2012 04:43:22 PM Jan Schneider State ⇒ Resolved
 
07/19/2012 04:43:10 PM Git Commit Comment #5 Reply to this comment
Changes have been made in Git (develop):

commit 103f7c424876cabb65b9c6829300b580738b6c6b
Author: Jan Schneider <jan@horde.org>
Date:   Thu Jul 19 18:42:39 2012 +0200

     Use host name from configuration, not from session (Thomas 
Jarosch, Bug #11271).

  .../Core/lib/Horde/Core/Factory/KolabStorage.php   |    2 +-
  1 files changed, 1 insertions(+), 1 deletions(-)

http://git.horde.org/horde-git/-/commit/103f7c424876cabb65b9c6829300b580738b6c6b
07/19/2012 02:58:25 PM Thomas Jarosch Comment #4
New Attachment: kolab-storage-fix-imap-server.patch Download
Reply to this comment
Ok, thanks to xdebug I found out what's going on:

The Kolab_Storage backend wasn't using the new IMAP "server" configuration.
So the Kolab_Storage factory constructed the object with "host=NULL" 
and this reverted to localhost in the IMAP_Client.

What about the attached patch?

07/18/2012 03:43:47 PM Thomas Jarosch State ⇒ Assigned
 
07/18/2012 03:42:59 PM Thomas Jarosch Comment #3 Reply to this comment
I cannot reproduce this. Use have authentication set to use IMAP and 
IMP to use hordeauth, right?
Right now it's the opposite way, horde uses imp as auth backend
and imp auths against an imap server. Here's my horde and imp config:

--- horde config ----
/* CONFIG START. DO NOT CHANGE ANYTHING IN OR AFTER THIS LINE. */
// $Id: c5dce22b09ad20b025a5a7702998d46a70e1111f $
$conf['vhosts'] = false;
$conf['debug_level'] = E_ALL & ~E_NOTICE;
$conf['max_exec_time'] = 0;
$conf['compress_pages'] = true;
$conf['secret_key'] = '4ff85f9e-a674-43ea-804f-3969c0a87afe';
$conf['umask'] = 077;
$conf['testdisable'] = true;
$conf['use_ssl'] = 1;
$conf['server']['name'] = '172.16.1.123';
$conf['urls']['token_lifetime'] = 30;
$conf['urls']['hmac_lifetime'] = 30;
$conf['urls']['pretty'] = false;
$conf['safe_ips'] = array();
$conf['session']['name'] = 'Horde';
$conf['session']['use_only_cookies'] = false;
$conf['session']['cache_limiter'] = 'nocache';
$conf['session']['timeout'] = 0;
$conf['cookie']['domain'] = '172.16.1.123';
$conf['cookie']['path'] = '/';
$conf['sql']['database'] = '/datastore/horde/horde_sql.db';
$conf['sql']['charset'] = 'utf-8';
$conf['sql']['phptype'] = 'sqlite';
$conf['ldap']['useldap'] = false;
$conf['auth']['admins'] = array('admin');
$conf['auth']['checkip'] = true;
$conf['auth']['checkbrowser'] = true;
$conf['auth']['resetpassword'] = true;
$conf['auth']['alternate_login'] = false;
$conf['auth']['redirect_on_logout'] = false;
$conf['auth']['list_users'] = 'list';
$conf['auth']['params']['app'] = 'imp';
$conf['auth']['driver'] = 'application';
$conf['auth']['params']['count_bad_logins'] = false;
$conf['auth']['params']['login_block'] = false;
$conf['auth']['params']['login_block_count'] = 5;
$conf['auth']['params']['login_block_time'] = 5;
$conf['signup']['allow'] = false;
$conf['log']['priority'] = 'INFO';
$conf['log']['ident'] = 'HORDE';
$conf['log']['name'] = '/tmp/horde.log';
$conf['log']['params']['append'] = true;
$conf['log']['params']['format'] = 'default';
$conf['log']['type'] = 'file';
$conf['log']['enabled'] = true;
$conf['log_accesskeys'] = false;
$conf['prefs']['params']['directory'] = '/datastore/horde/prefs';
$conf['prefs']['driver'] = 'File';
$conf['alarms']['driver'] = false;
$conf['datatree']['driver'] = 'null';
$conf['group']['driver'] = 'Mock';
$conf['perms']['driver'] = 'Null';
$conf['share']['no_sharing'] = false;
$conf['share']['auto_create'] = true;
$conf['share']['world'] = true;
$conf['share']['any_group'] = false;
$conf['share']['hidden'] = false;
$conf['share']['cache'] = false;
$conf['share']['driver'] = 'Kolab';
$conf['cache']['default_lifetime'] = 86400;
$conf['cache']['params']['sub'] = 0;
$conf['cache']['driver'] = 'File';
$conf['cache']['compress'] = true;
$conf['cache']['use_memorycache'] = '';
$conf['cachecss'] = false;
$conf['cachejs'] = false;
$conf['cachethemes'] = false;
$conf['lock']['driver'] = 'Null';
$conf['token']['driver'] = 'Null';
$conf['mailer']['params']['sendmail_path'] = '/usr/lib/sendmail';
$conf['mailer']['params']['sendmail_args'] = '-oi';
$conf['mailer']['type'] = 'sendmail';
$conf['mailformat']['brokenrfc2231'] = false;
$conf['vfs']['params']['vfsroot'] = '/tmp';
$conf['vfs']['type'] = 'File';
$conf['sessionhandler']['type'] = 'Builtin';
$conf['sessionhandler']['memcache'] = false;
$conf['spell']['driver'] = '';
$conf['gnupg']['keyserver'] = array('pool.sks-keyservers.net');
$conf['gnupg']['timeout'] = 10;
$conf['nobase64_img'] = false;
$conf['image']['driver'] = false;
$conf['exif']['driver'] = 'Bundled';
$conf['timezone']['location'] = 'ftp://ftp.iana.org/tz/tzdata-latest.tar.gz';
$conf['problems']['email'] = 'webmaster@example.com';
$conf['problems']['maildomain'] = 'example.com';
$conf['problems']['tickets'] = false;
$conf['problems']['attachments'] = true;
$conf['menu']['links']['help'] = 'all';
$conf['menu']['links']['prefs'] = 'authenticated';
$conf['menu']['links']['problem'] = 'all';
$conf['menu']['links']['login'] = 'all';
$conf['menu']['links']['logout'] = 'authenticated';
$conf['portal']['fixed_blocks'] = array();
$conf['accounts']['driver'] = 'null';
$conf['user']['verify_from_addr'] = false;
$conf['user']['select_view'] = true;
$conf['facebook']['enabled'] = false;
$conf['twitter']['enabled'] = false;
$conf['urlshortener'] = false;
$conf['weather']['provider'] = false;
$conf['imap']['server'] = '192.168.122.254';
$conf['imap']['port'] = 143;
$conf['imap']['secure'] = 'tls';
$conf['imap']['maildomain'] = 'm.i2n';
$conf['imap']['cache_folders'] = true;
$conf['imap']['enabled'] = true;
$conf['imsp']['enabled'] = false;
$conf['kolab']['enabled'] = false;
$conf['memcache']['enabled'] = false;
$conf['activesync']['enabled'] = false;
/* CONFIG END. DO NOT CHANGE ANYTHING IN OR BEFORE THIS LINE. */
-----------------------

--- imp backend config ---
$servers['advanced'] = array(
     // Disabled by default
     'disabled' => false,
     'name' => 'Advanced IMAP Server',
     'hostspec' => '192.168.122.254',
     'hordeauth' => 'full',
     'protocol' => 'imap',
     'port' => 143,
     'secure' => 'tls',
     'maildomain' => 'm.i2n',
     'smtp' => array(
     //    'auth' => true,
     //    'localhost' => 'localhost',
     //    'host' => 'smtp.example.com',
     //    'password' => null,
     //    'port' => 25,
     //    'username' => null
     ),
     // 'admin' => array(
     //     'user' => 'cyrus',
     //     'password' => 'cyrus_pass',
     //     'userhierarchy' => 'user.'
     // ),
     'quota' => array(
         'driver' => 'imap',
         'params' => array(
             'hide_when_unlimited' => true,
             'unit' => 'MB'
         )
     ),
     'acl' => true,
     'cache' => false,
);
------------------------------


Maybe this helps a bit: I also can't authenticate at all to another 
IMAP server in the local network when I change the global IMAP server 
IP and the IP in the imp backend config.

Output in the horde log:
------------------------
2012-07-18T17:34:05+02:00 NOTICE: HORDE [horde] Login success for 
peter.mueller [172.16.1.253] to horde. [pid 16868 on line 160 of 
"/datastore/DEVEL/horde/horde/login.php"]
2012-07-18T17:34:06+02:00 NOTICE: HORDE [imp] Login success for 
peter.mueller (Horde user peter.mueller) [172.16.1.253] to 
{172.16.1.99:143 [imap]} [pid 16868 on line 176 of 
"/datastore/DEVEL/horde/imp/lib/Auth.php"]
2012-07-18T17:34:15+02:00 ERR: HORDE [kronolith] Mail server denied 
authentication. [pid 16868 on line 61 of 
"/datastore/DEVEL/horde/framework/Kolab_Storage/lib/Horde/Kolab/Storage/Driver/Imap.php"]
2012-07-18T17:34:15+02:00 EMERG: HORDE [horde] exception 
'Horde_Imap_Client_Exception' with message 'Mail server denied 
authentication.' in 
/datastore/DEVEL/horde/framework/Imap_Client/lib/Horde/Imap/Client/Socket.php:374
------------------------

I can see in the server logs that the authentication was fine. This 
corresponds to the first line in the horde log, too.

Wild guess: It's somehow related to the Kolab shares driver since 
that's the one failing above.

Thomas

07/17/2012 01:52:26 PM Jan Schneider Comment #2
State ⇒ Feedback
Reply to this comment
I cannot reproduce this. Use have authentication set to use IMAP and 
IMP to use hordeauth, right?
07/17/2012 10:58:56 AM Jan Schneider Assigned to Jan Schneider
State ⇒ Assigned
 
07/14/2012 03:14:12 PM Thomas Jarosch Comment #1
State ⇒ Unconfirmed
Patch ⇒ No
Milestone ⇒
Queue ⇒ Horde Framework Packages
Summary ⇒ Re-login fails (with Kolab IMAP storage enabled)
Type ⇒ Bug
Priority ⇒ 1. Low
Reply to this comment
Hi,

I can successfully log in and use Horde. When I click on the "Logout" 
link I get logged out and redirected to the login screen.

Another re-login on that page fails. Here's the log entry, the 
"undefined index: password" part looks suspicious:

2012-07-14T17:09:09+02:00 NOTICE: HORDE [horde] User admin 
[172.16.1.253] logged out of Horde [pid 17549 on line 115 of 
"/datastore/DEVEL/horde/horde/login.php"]
2012-07-14T17:09:14+02:00 NOTICE: HORDE [horde] Login success for 
admin [172.16.1.253] to horde. [pid 17549 on line 160 of 
"/datastore/DEVEL/horde/horde/login.php"

2012-07-14T17:10:30+02:00 NOTICE: HORDE [imp] Login success for admin 
(Horde user admin) [172.16.1.253] to {192.168.122.254:143 [imap]} [pid 
17549 on line 176 of "/datastore/DEVEL/horde/imp/lib/Auth.php"]
2012-07-14T17:10:31+02:00 NOTICE: HORDE [kronolith] PHP ERROR: 
Undefined index: password [pid 17549 on line 290 of 
"/datastore/DEVEL/horde/framework/Imap_Client/lib/Horde/Imap/Client/Base.php"]
2012-07-14T17:10:40+02:00 ERR: HORDE [kronolith] Mail server denied 
authentication. [pid 17549 on line 61 of 
"/datastore/DEVEL/horde/framework/Kolab_Storage/lib/Horde/Kolab/Storage/Driver/Imap.php"]
2012-07-14T17:10:40+02:00 EMERG: HORDE [horde] exception 
'Horde_Imap_Client_Exception' with message 'Mail server denied 
authentication.' in 
/datastore/DEVEL/horde/framework/Imap_Client/lib/Horde/Imap/Client/Socket.php:374
Stack trace:
#0 
/datastore/DEVEL/horde/framework/Imap_Client/lib/Horde/Imap/Client/Base.php(740): 
Horde_Imap_Client_Socket->_login()
#1 
/datastore/DEVEL/horde/framework/Imap_Client/lib/Horde/Imap/Client/Base.php(1263): 
Horde_Imap_Client_Base->login()
#2 
/datastore/DEVEL/horde/framework/Kolab_Storage/lib/Horde/Kolab/Storage/Driver/Imap.php(58): Horde_Imap_Client_Base->listMailboxes('*', 4, 
Array)
#3 
/datastore/DEVEL/horde/framework/Kolab_Storage/lib/Horde/Kolab/Storage/Driver/Decorator/Base.php(162): 
Horde_Kolab_Storage_Driver_Imap->listFolders()
#4 
/datastore/DEVEL/horde/framework/Kolab_Storage/lib/Horde/Kolab/Storage/Driver/Decorator/Log.php(80): 
Horde_Kolab_Storage_Driver_Decorator_Base->listFolders()
#5 
/datastore/DEVEL/horde/framework/Kolab_Storage/lib/Horde/Kolab/Storage/Driver/Decorator/Base.php(162): 
Horde_Kolab_Storage_Driver_Decorator_Log->listFolders()
#6 
/datastore/DEVEL/horde/framework/Kolab_Storage/lib/Horde/Kolab/Storage/Driver/Decorator/Timer.php(88): 
Horde_Kolab_Storage_Driver_Decorator_Base->listFolders()
#7 
/datastore/DEVEL/horde/framework/Kolab_Storage/lib/Horde/Kolab/Storage/List/Base.php(217): 
Horde_Kolab_Storage_Driver_Decorator_Timer->listFolders()
#8 
/datastore/DEVEL/horde/framework/Kolab_Storage/lib/Horde/Kolab/Storage/List/Decorator/Cache.php(271): 
Horde_Kolab_Storage_List_Base->listFolders()
#9 
/datastore/DEVEL/horde/framework/Kolab_Storage/lib/Horde/Kolab/Storage/List/Decorator/Log.php(240): 
Horde_Kolab_Storage_List_Decorator_Cache->synchronize()
#10 
/datastore/DEVEL/horde/framework/Kolab_Storage/lib/Horde/Kolab/Storage/Synchronization.php(42): 
Horde_Kolab_Storage_List_Decorator_Log->synchronize()
#11 
/datastore/DEVEL/horde/framework/Kolab_Storage/lib/Horde/Kolab/Storage/Decorator/Synchronization.php(67): 
Horde_Kolab_Storage_Synchronization->synchronizeList(Object(Horde_Kolab_Storage_List_Decorator_Log))
#12 
/datastore/DEVEL/horde/framework/Share/lib/Horde/Share/Kolab.php(120): 
Horde_Kolab_Storage_Decorator_Synchronization->getList()
#13 
/datastore/DEVEL/horde/framework/Share/lib/Horde/Share/Kolab.php(395): 
Horde_Share_Kolab->getList()
#14 
/datastore/DEVEL/horde/framework/Share/lib/Horde/Share/Base.php(348): 
Horde_Share_Kolab->_listShares('admin', Array)
#15 [internal function]: Horde_Share_Base->listShares('admin', Array)
#16 
/datastore/DEVEL/horde/framework/Core/lib/Horde/Core/Share/Driver.php(61): 
call_user_func_array(Array, Array)
#17 /datastore/DEVEL/horde/kronolith/lib/Kronolith.php(1315): 
Horde_Core_Share_Driver->__call('listShares', Array)
#18 /datastore/DEVEL/horde/kronolith/lib/Kronolith.php(1315): 
Horde_Core_Share_Driver->listShares('admin', Array)
#19 /datastore/DEVEL/horde/kronolith/lib/Kronolith.php(825): 
Kronolith::listInternalCalendars()
#20 /datastore/DEVEL/horde/kronolith/lib/Application.php(75): 
Kronolith::initialize()
#21 
/datastore/DEVEL/horde/framework/Core/lib/Horde/Registry/Application.php(105): 
Kronolith_Application->_init()
#22 [internal function]: Horde_Registry_Application->init()
#23 
/datastore/DEVEL/horde/framework/Core/lib/Horde/Registry.php(1138): 
call_user_func_array(Array, Array)
#24 
/datastore/DEVEL/horde/framework/Core/lib/Horde/Registry.php(1502): 
Horde_Registry->callAppMethod('kronolith', 'init')
#25 
/datastore/DEVEL/horde/framework/Core/lib/Horde/Registry.php(1862): 
Horde_Registry->pushApp('kronolith')
#26 
/datastore/DEVEL/horde/framework/Core/lib/Horde/Core/Block/Collection.php(43): 
Horde_Registry->getAppDrivers('kronolith', 'Block')
#27 
/datastore/DEVEL/horde/framework/Core/lib/Horde/Core/Factory/BlockCollection.php(61): Horde_Core_Block_Collection->__construct(Array, 
'portal_layout')
#28 /datastore/DEVEL/horde/horde/services/portal/index.php(28): 
Horde_Core_Factory_BlockCollection->create()
#29 {main}

Next exception 'Horde_Kolab_Storage_Exception' with message 'Mail 
server denied authentication.' in 
/datastore/DEVEL/horde/framework/Kolab_Storage/lib/Horde/Kolab/Storage/Driver/Imap.php:61
Stack trace:
#0 
/datastore/DEVEL/horde/framework/Kolab_Storage/lib/Horde/Kolab/Storage/Driver/Decorator/Base.php(162): 
Horde_Kolab_Storage_Driver_Imap->listFolders()
#1 
/datastore/DEVEL/horde/framework/Kolab_Storage/lib/Horde/Kolab/Storage/Driver/Decorator/Log.php(80): 
Horde_Kolab_Storage_Driver_Decorator_Base->listFolders()
#2 
/datastore/DEVEL/horde/framework/Kolab_Storage/lib/Horde/Kolab/Storage/Driver/Decorator/Base.php(162): 
Horde_Kolab_Storage_Driver_Decorator_Log->listFolders()
#3 
/datastore/DEVEL/horde/framework/Kolab_Storage/lib/Horde/Kolab/Storage/Driver/Decorator/Timer.php(88): 
Horde_Kolab_Storage_Driver_Decorator_Base->listFolders()
#4 
/datastore/DEVEL/horde/framework/Kolab_Storage/lib/Horde/Kolab/Storage/List/Base.php(217): 
Horde_Kolab_Storage_Driver_Decorator_Timer->listFolders()
#5 
/datastore/DEVEL/horde/framework/Kolab_Storage/lib/Horde/Kolab/Storage/List/Decorator/Cache.php(271): 
Horde_Kolab_Storage_List_Base->listFolders()
#6 
/datastore/DEVEL/horde/framework/Kolab_Storage/lib/Horde/Kolab/Storage/List/Decorator/Log.php(240): 
Horde_Kolab_Storage_List_Decorator_Cache->synchronize()
#7 
/datastore/DEVEL/horde/framework/Kolab_Storage/lib/Horde/Kolab/Storage/Synchronization.php(42): 
Horde_Kolab_Storage_List_Decorator_Log->synchronize()
#8 
/datastore/DEVEL/horde/framework/Kolab_Storage/lib/Horde/Kolab/Storage/Decorator/Synchronization.php(67): 
Horde_Kolab_Storage_Synchronization->synchronizeList(Object(Horde_Kolab_Storage_List_Decorator_Log))
#9 
/datastore/DEVEL/horde/framework/Share/lib/Horde/Share/Kolab.php(120): 
Horde_Kolab_Storage_Decorator_Synchronization->getList()
#10 
/datastore/DEVEL/horde/framework/Share/lib/Horde/Share/Kolab.php(395): 
Horde_Share_Kolab->getList()
#11 
/datastore/DEVEL/horde/framework/Share/lib/Horde/Share/Base.php(348): 
Horde_Share_Kolab->_listShares('admin', Array)
#12 [internal function]: Horde_Share_Base->listShares('admin', Array)
#13 
/datastore/DEVEL/horde/framework/Core/lib/Horde/Core/Share/Driver.php(61): 
call_user_func_array(Array, Array)
#14 /datastore/DEVEL/horde/kronolith/lib/Kronolith.php(1315): 
Horde_Core_Share_Driver->__call('listShares', Array)
#15 /datastore/DEVEL/horde/kronolith/lib/Kronolith.php(1315): 
Horde_Core_Share_Driver->listShares('admin', Array)
#16 /datastore/DEVEL/horde/kronolith/lib/Kronolith.php(825): 
Kronolith::listInternalCalendars()
#17 /datastore/DEVEL/horde/kronolith/lib/Application.php(75): 
Kronolith::initialize()
#18 
/datastore/DEVEL/horde/framework/Core/lib/Horde/Registry/Application.php(105): 
Kronolith_Application->_init()
#19 [internal function]: Horde_Registry_Application->init()
#20 
/datastore/DEVEL/horde/framework/Core/lib/Horde/Registry.php(1138): 
call_user_func_array(Array, Array)
#21 
/datastore/DEVEL/horde/framework/Core/lib/Horde/Registry.php(1502): 
Horde_Registry->callAppMethod('kronolith', 'init')
#22 
/datastore/DEVEL/horde/framework/Core/lib/Horde/Registry.php(1862): 
Horde_Registry->pushApp('kronolith')
#23 
/datastore/DEVEL/horde/framework/Core/lib/Horde/Core/Block/Collection.php(43): 
Horde_Registry->getAppDrivers('kronolith', 'Block')
#24 
/datastore/DEVEL/horde/framework/Core/lib/Horde/Core/Factory/BlockCollection.php(61): Horde_Core_Block_Collection->__construct(Array, 
'portal_layout')
#25 /datastore/DEVEL/horde/horde/services/portal/index.php(28): 
Horde_Core_Factory_BlockCollection->create()
#26 {main} [pid 17549 on line 1546 of 
"/datastore/DEVEL/horde/framework/Core/lib/Horde/Registry.php"]

Saved Queries