[horde] active sync problem after upgrade Debian stretch to buster
Arjen de Korte
build+horde at de-korte.org
Fri Nov 29 12:50:50 UTC 2019
Citeren Arjen de Korte <build+horde at de-korte.org>:
> Citeren r.j.baart at prompt.nl:
>
>> Thank you for your answer.
>>
>> I removed the File_Fstab module.
>>
>> My memcache configuration was:
>>
>> $conf['sessionhandler']['params']['track'] = true;
>> $conf['sessionhandler']['type'] = 'HashTable';
>> $conf['sessionhandler']['hashtable'] = true;
>
> This doesn't work reliably (unfortunately). I assume you have a
> cluster of servers and you want to use memcache to share the session
> information between them. In that case, you need to configure this
> in the 'php.ini' file:
>
> session.save_handler = memcache
> session.save_path =
> 'tcp://192.168.xxx.yyy:11211,tcp://192.168.xxx.zzz:11211,tcp://192.168.yyy.zzz:11211'
Oops, wrong info. This was for the old (deprecated) memcache. You
should be using memcached nowadays:
session.save_handler = memcached
session.save_path =
'192.168.xxx.yyy:11211;192.168.xxx.zzz:11211;192.168.yyy.zzz:11211'
> In the Horde configuration, you should then choose
>
> $conf['sessionhandler']['type'] = 'Builtin';
> $conf['sessionhandler']['hashtable'] = false;
>
> If however, you only have a single server, it is probably
> detrimental to store your sessions on a different server. In that
> case, performance will be much better if you use the 'Builtin'
> sessionhandler (even if it is filebased).
>
>> $conf['hashtable']['params']['hostspec'] = array('192.168.xxx.yyy');
>> $conf['hashtable']['params']['port'] = array('11211');
>> $conf['hashtable']['params']['weight'] = array();
>> $conf['hashtable']['params']['persistent'] = true;
>> $conf['hashtable']['params']['compression'] = false;
>> $conf['hashtable']['params']['large_items'] = true;
>> $conf['hashtable']['driver'] = 'Memcache';
>>
>> This is another server. Also a Debian but still the stretch distribution.
>
> Only use an external memcache server if it is in a cluster of
> servers and you need shared storage between them. In pretty much
> every other use case, it is probably better to not use a hashtable
> at all (because of the network latency) or use a local memcache
> server instead.
>
>> On 26-11-2019 22:03, Arjen de Korte wrote:
>>> Citeren r.j.baart at prompt.nl:
>>>
>>>> Found the problem.
>>>>
>>>> I had two problems after the upgrade (Debian stretch -> buster
>>>> and PHP 7.0->7.3):
>>>>
>>>> 1) In the horde logfile:
>>>>
>>>> 2019-11-25T21:35:06+01:00 EMERG: HORDE [horde] ParseError: syntax
>>>> error, unexpected 'new' (T_NEW) in
>>>> /usr/share/php/File/Fstab.php:110
>>>> Stack trace:
>>>> #0 /usr/share/php/Horde/Autoloader.php(65):
>>>> Horde_Autoloader->_include('/usr/share/php/...')
>>>> #1 [internal function]: Horde_Autoloader->loadClass('File_Fstab')
>>>> #2 [internal function]: spl_autoload_call('File_Fstab')
>>>> #3 /home/websites/webmail/horde/lib/Test.php(646):
>>>> class_exists('File_Fstab')
>>>> #4 /home/websites/webmail/horde/test.php(135):
>>>> Horde_Test->pearModuleCheck()
>>>> #5 {main} [pid 26338 on line 74 of
>>>> "/usr/share/php/Horde/ErrorHandler.php"]
>>>>
>>>> Solution: change line 110 in Fstab.php:
>>>>
>>>> Existing line: $instances[$fstab] = &new
>>>> File_Fstab(array('file' => $fstab));
>>>> Changed line: $instances[$fstab] = new
>>>> File_Fstab(array('file' => $fstab));
>>>
>>> File_Fstab is not compatible with PHP-7.0+. Unless you really need
>>> it, it is probably better to uninstall it as it is no longer
>>> maintained (see https://pear.php.net/package/File_Fstab/). This
>>> *should* have failed on PHP-7.0, so the error message is probably
>>> not something new.
>>>
>>>> 2) In logfile:
>>>>
>>>> Access denied for user xyz at xx.yy per policy settings. etc.. See below
>>>>
>>>> Solution: disable memcache hasttable.
>>>
>>> Do you use memcache or memcached? The memcache module doesn't run
>>> on PHP-7, but as far as I know there are no issues with memcached.
>>> Check the version you're using.
>>>
>>>> On 25-11-2019 22:52, r.j.baart at prompt.nl wrote:
>>>>> Hi,
>>>>>
>>>>> next problem is an active sync problem. For unknown reason the
>>>>> active sync validation does not work anymore. The errors:
>>>>>
>>>>> In the device logfile:
>>>>>
>>>>> 1006][2019-11-25T22:34:53+01:00] INFO:
>>>>> ----------Horde_Core_ActiveSync_Driver::authenticate() attempt
>>>>> for xyz at xx.yy----------
>>>>> [1006][2019-11-25T22:34:53+01:00] INFO: Access denied for user
>>>>> xyz at xx.yy per policy settings.
>>>>> [1006][2019-11-25T22:34:53+01:00] INFO: ----------SYNC request
>>>>> received for user
>>>>>
>>>>> In horde logfile:
>>>>>
>>>>> 2019-11-25T22:46:16+01:00 ERR: HORDE SQL QUERY FAILED:
>>>>> SQLSTATE[23502]: Not null violation: 7 ERROR: null value in
>>>>> column "device_user" violates not-null constraint
>>>>> DETAIL: Failing row contains (ANDROIDC729032334, null, 0).
>>>>> INSERT INTO horde_activesync_device_users (device_id,
>>>>> device_user,
>>>>> device_policykey) VALUES('ANDROIDC729032334', NULL, 0)
>>>>> [pid 1006 on line 236 of
>>>>> "/usr/share/php/Horde/Db/Adapter/Pdo/Base.php"]
>>>>> 2019-11-25T22:46:16+01:00 ERR: HORDE Returning HTTP 500 while
>>>>> handling FolderSync command. Error is: SQLSTATE[23502]: Not null
>>>>> violation: 7 ERROR: null value in column "device_user" violates
>>>>> not-null constraint
>>>>> DETAIL: Failing row contains (ANDROIDC729032334, null, 0). [pid
>>>>> 1006 on line 160 of "/home/websites/webmail/horde/rpc.php"]
>>>>> 2019-11-25T22:46:16+01:00 ERR: HORDE Error in communicating with
>>>>> ActiveSync server: SQLSTATE[23502]: Not null violation: 7 ERROR:
>>>>> null value in column "device_user" violates not-null constraint
>>>>> DETAIL: Failing row contains (ANDROIDC729032334, null, 0). [pid
>>>>> 1006 on line 165 of "/usr/share/php/Horde/Rpc/ActiveSync.php"]
>>>>> 2019-11-25T22:46:16+01:00 ERR: HORDE #0
>>>>> /usr/share/php/Horde/ActiveSync/Device.php(397):
>>>>> Horde_ActiveSync_State_Sql->setDeviceInfo(Object(Horde_ActiveSync_Device),
>>>>> Array)
>>>>> #1 /usr/share/php/Horde/ActiveSync.php(936):
>>>>> Horde_ActiveSync_Device->save()
>>>>> #2 /usr/share/php/Horde/ActiveSync.php(794):
>>>>> Horde_ActiveSync->_handleDevice('ANDROIDC7290323...')
>>>>> #3 /usr/share/php/Horde/Rpc/ActiveSync.php(143):
>>>>> Horde_ActiveSync->handleRequest('FolderSync',
>>>>> 'ANDROIDC7290323...')
>>>>> #4 /home/websites/webmail/horde/rpc.php(160):
>>>>> Horde_Rpc_ActiveSync->getResponse(NULL)
>>>>> #5 {main} [pid 1006 on line 165 of
>>>>> "/usr/share/php/Horde/Rpc/ActiveSync.php"]
>>>>> 2019-11-25T22:46:16+01:00 ERR: HORDE Buffer contents: [pid 1006
>>>>> on line 165 of "/usr/share/php/Horde/Rpc/ActiveSync.php"]
>>>>> 2019-11-25T22:46:18+01:00 ERR: HORDE SQL QUERY FAILED:
>>>>> SQLSTATE[23502]: Not null violation: 7 ERROR: null value in
>>>>> column "device_user" violates not-null constraint
>>>>> DETAIL: Failing row contains (ANDROIDC729032334, null, 0).
>>>>> INSERT INTO horde_activesync_device_users (device_id,
>>>>> device_user,
>>>>> device_policykey) VALUES('ANDROIDC729032334', NULL, 0)
>>>>> [pid 868 on line 236 of
>>>>> "/usr/share/php/Horde/Db/Adapter/Pdo/Base.php"]
>>>>> 2019-11-25T22:46:18+01:00 ERR: HORDE Returning HTTP 500 while
>>>>> handling Provision command. Error is: SQLSTATE[23502]: Not null
>>>>> violation: 7 ERROR: null value in column "device_user" violates
>>>>> not-null constraint
>>>>> DETAIL: Failing row contains (ANDROIDC729032334, null, 0). [pid
>>>>> 868 on line 160 of "/home/websites/webmail/horde/rpc.php"]
>>>>> 2019-11-25T22:46:18+01:00 ERR: HORDE Error in communicating with
>>>>> ActiveSync server: SQLSTATE[23502]: Not null violation: 7 ERROR:
>>>>> null value in column "device_user" violates not-null constraint
>>>>> DETAIL: Failing row contains (ANDROIDC729032334, null, 0). [pid
>>>>> 868 on line 165 of "/usr/share/php/Horde/Rpc/ActiveSync.php"]
>>>>> 2019-11-25T22:46:18+01:00 ERR: HORDE #0
>>>>> /usr/share/php/Horde/ActiveSync/Device.php(397):
>>>>> Horde_ActiveSync_State_Sql->setDeviceInfo(Object(Horde_ActiveSync_Device),
>>>>> Array)
>>>>> #1 /usr/share/php/Horde/ActiveSync.php(936):
>>>>> Horde_ActiveSync_Device->save()
>>>>> #2 /usr/share/php/Horde/ActiveSync.php(794):
>>>>> Horde_ActiveSync->_handleDevice('ANDROIDC7290323...')
>>>>> #3 /usr/share/php/Horde/Rpc/ActiveSync.php(143):
>>>>> Horde_ActiveSync->handleRequest('Provision', 'ANDROIDC7290323...')
>>>>> #4 /home/websites/webmail/horde/rpc.php(160):
>>>>> Horde_Rpc_ActiveSync->getResponse(NULL)
>>>>> #5 {main} [pid 868 on line 165 of
>>>>> "/usr/share/php/Horde/Rpc/ActiveSync.php"]
>>>>> 2019-11-25T22:46:18+01:00 ERR: HORDE Buffer contents: [pid 868
>>>>> on line 165 of "/usr/share/php/Horde/Rpc/ActiveSync.php"]
>>>>>
>>>> --
>>>>
>>>> Cordialement,
>>>>
>>>> R.J. Baart
More information about the horde
mailing list