[turba] Contact View with ldap backend not working
Philipp Faeustlin
philipp.faeustlin at uni-hohenheim.de
Tue Dec 12 16:36:36 UTC 2017
Am 07.12.2017 um 12:40 schrieb Jan Schneider:
>
> Zitat von Philipp Faeustlin <philipp.faeustlin at uni-hohenheim.de>:
>
>> Hi list,
>>
>> I try to setup an read-only ldap backend which is only searchable. My
>> turba backend configuration works to the point where I can search for
>> an entry and get some results displayed.
>>
>> When I try to view, copy or download vcard on one of the results, I
>> get an "Read error: (2) Protocol error"
>>
>> My Horde Turba Version is 4.2.21 from pear.
>>
>> My backend config look like this:
>> $cfgSources['localldap'] = array(
>> 'disabled' => false,
>> 'title' => "Co-Workers",
>> 'type' => 'ldap',
>> 'params' => array(
>> 'server' => 'ldaps://localhost',
>> 'port' => 636,
>> 'tls' => false,
>> 'root' => 'o=localhost,c=DE',
>> 'scope' => 'sub',
>> 'charset' => 'utf-8',
>> 'checkrequired' => false,
>> 'checkrequired_string' => ' ',
>> 'checksyntax' => false,
>> 'version' => 3,
>> 'sizelimit' => 3,
>> ),
>> 'map' => array(
>> '__key' => 'dn',
>> 'name' => 'cn',
>> 'email' => 'mail',
>> 'lastname' => 'sn',
>> 'company' => 'ou',
>> ),
>> 'tabs' => array(
>> 'All' => array(
>> 'name',
>> 'email',
>> 'lastname',
>> 'company'
>> )
>> ),
>> 'search' => array(
>> 'name',
>> 'email',
>> 'lastname',
>> 'company'
>> ),
>> 'strict' => array(
>> 'dn'
>> ),
>> 'approximate' => array(
>> 'cn', 'sn'
>> ),
>> 'export' => false,
>> 'browse' => false,
>> 'use_shares' => false,
>> 'all_shares' => false,
>> );
>>
>> ---
>>
>> The horde global rights for this addressbook are show/view.
>>
>> Where is my mistake, what is missing?
>>
>> My horde.log is showing some PHP Error, perhaps they are related, but
>> I don't know their meaning, or how to solve them:
>> -- horde.log --
>> 2017-11-28T15:57:20+01:00 DEBUG: HORDE [turba] PHP ERROR: Declaration
>> of Horde_Form_Type_country::init() should be compatible with
>> Horde_Form_Type::init() [pid 13076 on line 0 of
>> "/usr/share/pear/Horde/Form/Type.php"]
>> 2017-11-28T15:57:20+01:00 DEBUG: HORDE [turba] PHP ERROR: Non-static
>> method Horde_Form::getType() should not be called statically, assuming
>> $this from incompatible context [pid 13076 on line 75 of
>> "/var/www/webmail/turba/templates/browse/row.inc"]
>> 2017-11-28T15:57:20+01:00 DEBUG: HORDE [turba] PHP ERROR: Only
>> variables should be passed by reference [pid 13076 on line 75 of
>> "/var/www/webmail/turba/templates/browse/row.inc"]
>> -- --
>> Philipp Fäustlin
>> Universität Hohenheim
>
> None of these messages from horde.log are relevant. Try checking the
> LDAP logs.
>
It tooks some time but I found the problem and a solution.
The problem was an empty "$filter" variable in the _read function of
"turba/lib/Driver/Ldap.php".
The $filter variable is used in the @ldap_read function, which doesn't
allow an empty filter.
http://php.net/manual/en/function.ldap-read.php
My solution is to use the 'objectclass' parameter in the backend
configuration, then it works fine.
But I think it would be nice to set the $filter variable to
"objectClass=*" instead of "null" when missing the objectclass params
for the backend configuration.
Or document the objectclass parameter as mandetory for the ldap backend.
--
Philipp Fäustlin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5327 bytes
Desc: S/MIME Cryptographic Signature
URL: <https://lists.horde.org/archives/turba/attachments/20171212/1cee1b21/attachment.bin>
More information about the turba
mailing list