Re: Automatic Add of Recipient To Address Book Fails With ObjectClass violation or "Schema not initialized"
Jan Schneider <[email protected]> Mon, 31 Aug 2015 23:23:42 +0200
| Newsgroups | gmane.comp.horde.turba |
|---|---|
| Message-ID | <[email protected]> |
Zitat von Andy Dorman <[email protected]>: > We have been happily using LDAP for our address books for many > years...at some point in the last year or two we lost the ability to > automatically add new recipient addresses to our personal_ldap > address book when sending an email. > > Our installation is the latest Debian package of Horde Groupware > Webmail Edition 5.2.7 with Turba 4.2.7 and OpenLDAP 2.4.41. > > I am certain I have something misconfigured because I have not seen > anything about this in the wiki or mailing lists, but I can not > figure out what I have missed. > > The problem is the 'inetOrgPerson' object class requires the 'sn' > (lastname) attribute, so with checkrequired = false, when Turba > tries to automatically add a recipient address, it does not supply > 'sn' and openLDAP throws an ObjectClass violation like this: > > Entry > ([email protected],[email protected],ou=addresses,o=antespam.com): object class 'inetOrgPerson' requires attribute > 'sn' > > I tried setting checkrequired = true and checkrequired_string to > some string (I have tried both ' ' and '-'), but when I do this I > get a Horde LDAP error, "Schema not initialized", when adding a new > address book entry BOTH manually or automatically. > > $cfgSources['personal_ldap']['params']['checkrequired'] = true; > $cfgSources['personal_ldap']['params']['checkrequired_string'] = ' '; > > If we set 'checkrequired' = false, we can manually add an entry to > an address book (because we have a value for 'sn'), but we are then > back to the ObjectClass violation when Turba tries to automatically > add a recipient without an 'sn'. > > I have looked at the git code and found where the "Schema not > initialized" error is set on line 1329 of > https://github.com/horde/horde/blob/master/framework/Ldap/lib/Horde/Ldap.php, but so far I have not been able to understand why new Horde_Ldap_Schema fails on the next line when checkrequired = > true; > > So any idea about what I might be doing wrong? Turba works great > except for not being able to automatically add a recipient when > sending email (with checkrequired = false). > > Our complete turba/config/backends.local.php is below if that helps. > ================ > $cfgSources['localsql']['disabled'] = true; > > /* First get the uid and set the base DN. */ > $_ldap_uid = strtolower($GLOBALS['registry']->getAuth()); > $_ldap_basedn = ',ou=addresses,o=antespam.com'; > > // enable the personal_ldap address book > $cfgSources['personal_ldap']['disabled'] = false; > > // talk to localhost and let the slapd updateref refer writes to the > master... > $cfgSources['personal_ldap']['params']['server'] = 'localhost'; > $cfgSources['personal_ldap']['params']['bind_dn'] = 'uid=' . > $_ldap_uid . $_ldap_basedn; > $cfgSources['personal_ldap']['params']['bind_password'] = > $GLOBALS['registry']->getAuthCredential('password'); > > // according to my research, these are the objectclasses needed to > provide the fields below > $cfgSources['personal_ldap']['params']['objectclass'] = array('top', > 'person', 'inetOrgPerson', 'organizationalPerson'); > > $cfgSources['personal_ldap']['params']['referrals'] = 1; > $cfgSources['personal_ldap']['params']['tls'] = false; > $cfgSources['personal_ldap']['params']['root'] = 'uid=' . $_ldap_uid > . $_ldap_basedn; > $cfgSources['personal_ldap']['params']['scope'] = 'sub'; > > // check the object classes to make sure we have the required fields > to add a contact > $cfgSources['personal_ldap']['params']['checkrequired'] = false; > $cfgSources['personal_ldap']['params']['checkrequired_string'] = ' '; > $cfgSources['personal_ldap']['params']['checksyntax'] = false; > > // set up our own mapping cause the object_pgppublickey field caused > LDAP to complain about "bad filter" > $cfgSources['personal_ldap']['map'] = array( > '__key' => 'dn', > '__uid' => 'uid', > 'name' => 'cn', > 'email' => 'mail', > 'firstname' => 'givenName', > 'lastname' => 'sn', > 'title' => 'title', > 'company' => 'organizationName', > 'businessCategory' => 'businessCategory', > 'workAddress' => 'postalAddress', > 'workPostalCode' => 'postalCode', > 'workPhone' => 'telephoneNumber', > 'fax' => 'facsimileTelephoneNumber', > 'homeAddress' => 'homePostalAddress', > 'homePhone' => 'homePhone', > 'cellPhone' => 'mobile', > 'notes' => 'description', > 'office' => 'roomNumber', > 'department' => 'ou', > 'nickname' => 'displayName', > 'website' => 'labeledURI' > ); What happens if you add a contact from an open message? -- Jan Schneider The Horde Project http://www.horde.org/ -- turba mailing list Frequently Asked Questions: http://wiki.horde.org/FAQ To unsubscribe, mail: [email protected]