[turba] Contact View with ldap backend not working

Philipp Faeustlin philipp.faeustlin at uni-hohenheim.de
Wed Dec 13 15:00:04 UTC 2017


Am 12.12.2017 um 17:40 schrieb Jan Schneider:
> 
> Zitat von Philipp Faeustlin <philipp.faeustlin at uni-hohenheim.de>:
> 
>> 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.
> 
> Patch?
> 
I can only offer a diff of the "./turba/lib/Driver/Ldap.php" against the 
actual PEAR version.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: Ldap.php.patch
Type: text/x-patch
Size: 421 bytes
Desc: not available
URL: <https://lists.horde.org/archives/turba/attachments/20171213/75adaccb/attachment.bin>
-------------- 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/20171213/75adaccb/attachment-0001.bin>


More information about the turba mailing list