Univention Bugzilla – Attachment 10147 Details for
Bug 49956
sync_from_ucs reject for deleting GPO objects with leafs in samba4
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
bug49956.patch
bug49956.patch (text/plain), 2.81 KB, created by
Arvid Requate
on 2019-08-02 15:16:23 CEST
(
hide
)
Description:
bug49956.patch
Filename:
MIME Type:
Creator:
Arvid Requate
Created:
2019-08-02 15:16:23 CEST
Size:
2.81 KB
patch
obsolete
>diff --git a/services/univention-s4-connector/modules/univention/s4connector/s4/__init__.py b/services/univention-s4-connector/modules/univention/s4connector/s4/__init__.py >index c351625745..ae1ff2bb1a 100644 >--- a/services/univention-s4-connector/modules/univention/s4connector/s4/__init__.py >+++ b/services/univention-s4-connector/modules/univention/s4connector/s4/__init__.py >@@ -2507,7 +2507,7 @@ class s4(univention.s4connector.ucs): > ud.debug(ud.LDAP, ud.PROCESS, "Unable to sync %s (GUID: %s). The object is currently locked." % (object['dn'], objectGUID)) > return False > >- entryUUID = object['attributes'].get('entryUUID')[0] >+ entryUUID = object['attributes'].get('entryUUID', [None])[0] # may be empty for back_mapped_subobject for leaf object delete_in_s4 > > # > # ADD >@@ -2516,7 +2516,8 @@ class s4(univention.s4connector.ucs): > ud.debug(ud.LDAP, ud.INFO, "sync_from_ucs: add object: %s" % object['dn']) > > ud.debug(ud.LDAP, ud.INFO, "sync_from_ucs: lock UCS entryUUID: %s" % entryUUID) >- self.lockingdb.lock_ucs(entryUUID) >+ if entryUUID: >+ self.lockingdb.lock_ucs(entryUUID) > > self.addToCreationList(object['dn']) > >@@ -2771,7 +2772,8 @@ class s4(univention.s4connector.ucs): > return False > > ud.debug(ud.LDAP, ud.INFO, "sync_from_ucs: unlock UCS entryUUID: %s" % entryUUID) >- self.lockingdb.unlock_ucs(entryUUID) >+ if entryUUID: >+ self.lockingdb.unlock_ucs(entryUUID) > > self._check_dn_mapping(pre_mapped_ucs_dn, object['dn']) > >@@ -2794,7 +2796,6 @@ class s4(univention.s4connector.ucs): > try: > objectGUID = self._get_objectGUID(object['dn']) > self.lo_s4.lo.delete_s(compatible_modstring(object['dn'])) >- self.update_deleted_cache_after_removal(object.get('attributes').get('entryUUID')[0], objectGUID) > except ldap.NO_SUCH_OBJECT: > pass # object already deleted > except ldap.NOT_ALLOWED_ON_NONLEAF: >@@ -2814,11 +2815,7 @@ class s4(univention.s4connector.ucs): > continue > ud.debug(ud.LDAP, ud.INFO, "delete: %s" % result[0]) > subobject_s4 = {'dn': result[0], 'modtype': 'delete', 'attributes': result[1]} >- key = None >- for k in self.property.keys(): >- if self.modules[k].identify(result[0], result[1]): >- key = k >- break >+ key = self.__identify(subobject_s4) > back_mapped_subobject = self._object_mapping(key, subobject_s4) > ud.debug(ud.LDAP, ud.WARN, "delete subobject: %s" % back_mapped_subobject['dn']) > if not self._ignore_object(key, back_mapped_subobject): >@@ -2832,3 +2829,8 @@ class s4(univention.s4connector.ucs): > return False > > return self.delete_in_s4(object, property_type) >+ entryUUID = object.get('attributes').get('entryUUID', [None])[0] >+ if entryUUID: >+ self.update_deleted_cache_after_removal(entryUUID, objectGUID) >+ else: >+ ud.debug(ud.LDAP, ud.INFO, "delete_in_s4: Object without entryUUID: %s" % (object['dn'],))
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 49956
: 10147