Univention Bugzilla – Bug 52440
Already existing mobile attribute is rejected
Last modified: 2023-01-04 13:48:31 CET
The mobile attribute is rejected. It exists on both sides ldap and samba. 16.11.2020 15:13:30.911 LDAP (PROCESS): sync to ucs: [ user] [ modify] u'uid=würt,cn=users,dc=dc-schein,dc=de' 16.11.2020 15:13:30.987 LDAP (ERROR ): Unknown Exception during sync_to_ucs 16.11.2020 15:13:30.987 LDAP (ERROR ): Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/univention/s4connector/__init__.py", line 1558, in sync_to_ucs result = self.modify_in_ucs(property_type, object, module, position) File "/usr/lib/python2.7/dist-packages/univention/s4connector/__init__.py", line 1299, in modify_in_ucs res = ucs_object.modify(serverctrls=serverctrls, response=response) File "/usr/lib/python2.7/dist-packages/univention/admin/handlers/users/user.py", line 1405, in modify return super(object, self).modify(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/univention/admin/handlers/__init__.py", line 650, in modify dn = self._modify(modify_childs, ignore_license=ignore_license, response=response) File "/usr/lib/python2.7/dist-packages/univention/admin/handlers/__init__.py", line 1330, in _modify self.dn = self.lo.modify(self.dn, ml, ignore_license=ignore_license, serverctrls=serverctrls, response=response) File "/usr/lib/python2.7/dist-packages/univention/admin/uldap.py", line 902, in modify raise univention.admin.uexceptions.ldapError(_err2str(msg), original_exception=msg) ldapError: Type or value exists: modify/add: mobile: value #0 already exists We solved the reject by deleting the reject and retriggering the object from ldap. This may cause the loss of an object change. UCS-Version is 4.4-6 errata803
The reject was not sustainable solved. It comes back, if the user gets a extended Attribute for mobile set in openLdap.
The problem lies in UDM users/user itself: # udm users/user modify --dn 'uid=lillycat,cn=users,dc=schein,dc=ig' --set mobileTelephoneNumber=388 LDAP Error: Type or value exists: modify/add: mobile: value #0 already exists (Pdb) dn 'uid=lillycat,cn=users,dc=schein,dc=ig' (Pdb) changes [('mobile', b'', [b'388'])] (Pdb) self.lo.get(dn)['mobile'] [b'388'] --- (Pdb) self.oldattr['mobile'] [b'388'] (Pdb) self.info['mobileTelephoneNumber'] ['388'] (Pdb) self.oldinfo['mobileTelephoneNumber'] *** KeyError: 'mobileTelephoneNumber' (Pdb) self.hasChanged('mobileTelephoneNumber') True (Pdb) self.diff() [('mobileTelephoneNumber', [], ['388'])]
This was caused by an extended attribute. Closing as INVALID: DN: cn=pdiMobile,cn=custom attributes,cn=univention,dc=schein,dc=ig CLIName: pdiMobile copyable: 0 default: None deleteObjectClass: 0 disableUDMWeb: 0 doNotSearch: 0 fullWidth: 0 groupName: Geschäftlich groupPosition: 2 hook: None ldapMapping: mobile longDescription: Mobiltelefonnummer mayChange: 1 module: users/user multivalue: 1 name: pdiMobile notEditable: 0 objectClass: inetOrgPerson overwritePosition: None overwriteTab: 0 shortDescription: Mobiltelefonnummer syntax: phone tabAdvanced: 0 tabName: contact tabPosition: 2 translationGroupName: de_DE: Geschäftlich translationGroupName: en_US: Business translationLongDescription: de_DE: Mobiltelefonnummer translationShortDescription: de_DE: Mobiltelefonnummer translationTabName: de_DE: Geschäftlich translationTabName: en_US: Business valueRequired: 0 version: 2