[turba] deleting LDAP entries fails: "VFS not supported for this object."
Bernhard Erdmann
be at berdmann.de
Tue Mar 27 09:18:00 UTC 2012
Quoting Jan Schneider <jan at horde.org> on Tue, 27 Mar 2012 10:49:34 +0200:
> Zitat von Bernhard Erdmann <be at berdmann.de>:
>
>> Quoting Jan Schneider <jan at horde.org> on Tue, 27 Mar 2012 10:33:31 +0200:
>>
>>> Zitat von Bernhard Erdmann <be at berdmann.de>:
>>>
>>>> Quoting Jan Schneider <jan at horde.org> on Tue, 27 Mar 2012 10:03:19 +0200:
>>>>
>>>>> Zitat von Bernhard Erdmann <be at berdmann.de>:
>>>>>
>>>>>> Quoting Jan Schneider <jan at horde.org> on Mon, 26 Mar 2012
>>>>>> 10:04:45 +0200:
>>>>>>
>>>>>>> Zitat von Bernhard Erdmann <be at berdmann.de>:
>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> trying to delete a turba (version 3.0.12) contact results in
>>>>>>>> the message "VFS not supported for this object." and the
>>>>>>>> object is not deleted. The backend is OpenLDAP.
>>>>>>>>
>>>>>>>> Changing preferences in conf.php from a) to b) does not make
>>>>>>>> a difference.
>>>>>>>>
>>>>>>>> a)
>>>>>>>> $conf['documents']['type'] = 'horde';
>>>>>>>>
>>>>>>>> b)
>>>>>>>> $conf['documents']['params']['vfsroot'] = '/var/lib/horde4';
>>>>>>>> $conf['documents']['type'] = 'File';
>>>>>>>
>>>>>>> You need the __uid attribute mapped in your address book
>>>>>>> configuration for VFS to work.
>>>>>>>
>>>>>>> Jan.
>>>>>>
>>>>>>
>>>>>> Hi Jan, the __uid mapping is present in backends.local.php:
>>>>>>
>>>>>> <?php
>>>>>> $cfgSources['localsql']['disabled'] = true;
>>>>>>
>>>>>> $_ldap_uid = $GLOBALS['registry']->getAuth('bare');
>>>>>> $_ldap_basedn = 'dc=berdmann,dc=de';
>>>>>>
>>>>>> $cfgSources['localldap1'] = array(
>>>>>> 'title' => _("private Directory"),
>>>>>> 'type' => 'ldap',
>>>>>> 'params' => array(
>>>>>> 'server' => 'ldap',
>>>>>> 'port' => 389,
>>>>>> 'tls' => false,
>>>>>> 'root' => 'ou=private,ou=groups,' . $_ldap_basedn,
>>>>>> 'bind_dn' => 'uid=' . $_ldap_uid . ',ou=users,ou=accounts,'
>>>>>> . $_ldap_basedn,
>>>>>> 'bind_password' =>
>>>>>> $GLOBALS['registry']->getAuthCredential('password'),
>>>>>> 'sizelimit' => 1000,
>>>>>> 'dn' => array('cn'),
>>>>>> 'objectclass' => array('top','person',
>>>>>> 'organizationalPerson','inetOrgPerson',
>>>>>> 'abzillaPerson','myPerson'),
>>>>>> 'filter' => 'objectclass=inetOrgPerson',
>>>>>> 'charset' => 'utf-8',
>>>>>> 'checkrequired' => false,
>>>>>> 'checkrequired_string' => ' ',
>>>>>> 'version' => 3
>>>>>> ),
>>>>>> 'map' => array(
>>>>>> '__key' => 'dn',
>>>>>> '__uid' => 'uid',
>>>>>> 'name' => 'cn',
>>>>>> 'firstname' => 'givenname',
>>>>>> 'lastname' => 'sn',
>>>>>> 'email' => 'mail',
>>>>>> 'emails' => 'xmozillaSecondEmail',
>>>>>> 'cellPhone' => 'mobile',
>>>>>> 'homePhone' => 'homephone',
>>>>>> 'homePostalCode' => 'mozillaHomePostalCode',
>>>>>> 'homeCity' => 'mozillaHomeLocalityName',
>>>>>> 'homeAddress' => 'homepostaladdress',
>>>>>> 'homeStreet' => 'mozillaHomeStreet',
>>>>>> 'homeCountry' => 'mozillaHomeCountryName',
>>>>>> 'fax' => 'facsimileTelephoneNumber',
>>>>>> 'company' => 'o',
>>>>>> 'workPhone' => 'telephonenumber',
>>>>>> 'workStreet' => 'street',
>>>>>> 'workPostalCode' => 'postalCode',
>>>>>> 'workCity' => 'l',
>>>>>> 'workAddress' => 'postalAddress',
>>>>>> 'notes' => 'description',
>>>>>> 'birthday' => 'birthday'
>>>>>> // 'freebusyUrl' => 'calFBURL'
>>>>>> ),
>>>>>> 'search' => array(
>>>>>> 'name',
>>>>>> 'email',
>>>>>> 'homePhone',
>>>>>> 'workPhone',
>>>>>> 'cellPhone',
>>>>>> 'homeAddress'
>>>>>> ),
>>>>>> 'strict' => array(
>>>>>> 'dn',
>>>>>> ),
>>>>>> 'public' => true,
>>>>>> 'readonly' => false,
>>>>>> 'admin' => array(),
>>>>>> 'export' => true,
>>>>>> 'browse' => true
>>>>>> );
>>>>>
>>>>> But that's not the backend configuration that's being used when
>>>>> you get this error then.
>>>>>
>>>>
>>>>
>>>> Hi Jan, sure - I just tried again.
>>>
>>> Try adding 'uid' to the 'strict' setting.
>>>
>>
>>
>> Hi Jan, no difference (same error, no deletion occurs) after changing to:
>>
>> 'strict' => array(
>> 'dn',
>> 'uid'
>> ),
>
> Well, then it's the obvious: that field is *not* a UID, i.e. it may be empty.
>
Hi Jan, I have added a dummy uid attribute (the individual DN) to each
LDAP object (objectClass=inetOrgPerson) without an uid attribute. Now
deleting an object is no problem.
More information about the turba
mailing list