Index: modules/univention/s4connector/__init__.py =================================================================== --- modules/univention/s4connector/__init__.py (Revision 52018) +++ modules/univention/s4connector/__init__.py (Arbeitskopie) @@ -1224,7 +1224,7 @@ if not objectGUID: objectGUID='objectGUID' ud.debug(ud.LDAP, ud.INFO, "update_deleted_cache_after_removal: Save entryUUID %s as deleted to UCS deleted cache. ObjectGUUID: %s" % (entryUUID, base64.encodestring(objectGUID))) - self._set_config_option('UCS deleted', entryUUID, base64.encodestring(objectGUID)) + self._set_config_option('UCS deleted', entryUUID, str(ndr_unpack(misc.GUID, objectGUID))) def was_entryUUID_deleted(self, entryUUID): objectGUID = self.config.get('UCS deleted', entryUUID) @@ -1241,7 +1241,8 @@ ud.debug(ud.LDAP, ud.PROCESS, "Delete of %s was disabled in mapping" % object['dn']) return True - objectGUID = object['attributes'].get('objectGUID')[0] + guid_unicode = object['attributes'].get('objectGUID')[0] + objectGUID = guid_unicode.encode('ISO-8859-1') ## to compensate for __object_from_element entryUUID = self._get_entryUUID(object['dn']) module = self.modules[property_type] @@ -1250,7 +1251,7 @@ try: ucs_object.open() ucs_object.remove() - self. update_deleted_cache_after_removal(entryUUID, objectGUID) + self.update_deleted_cache_after_removal(entryUUID, objectGUID) return True except Exception, e: ud.debug(ud.LDAP, ud.INFO,"delete object exception: %s"%e)