View | Details | Raw Unified | Return to bug 50630
Collapse All | Expand All

(-)services/univention-ad-connector/modules/univention/connector/ad/__init__.py (-18 / +4 lines)
 Lines 1802-1825   class ad(univention.connector.ucs): Link Here 
1802
		ud.debug(ud.LDAP, ud.INFO, "group_members_sync_from_ucs: members to add: %s" % add_members)
1802
		ud.debug(ud.LDAP, ud.INFO, "group_members_sync_from_ucs: members to add: %s" % add_members)
1803
		ud.debug(ud.LDAP, ud.INFO, "group_members_sync_from_ucs: members to del: %s" % del_members)
1803
		ud.debug(ud.LDAP, ud.INFO, "group_members_sync_from_ucs: members to del: %s" % del_members)
1804
1804
1805
		if add_members or del_members:
1805
		if add_members:
1806
			ad_members = ad_members + add_members
1806
			self.lo_s4.lo.modify_s(compatible_modstring(object['dn']), [(ldap.MOD_ADD, 'member', list(map(compatible_modstring, add_members)))])
1807
			for member in del_members:
1807
		if del_members:
1808
				ad_members.remove(member)
1808
			self.lo_s4.lo.modify_s(compatible_modstring(object['dn']), [(ldap.MOD_DEL, 'member', list(map(compatible_modstring, del_members)))])
1809
			ud.debug(ud.LDAP, ud.INFO, "group_members_sync_from_ucs: members result: %s" % ad_members)
1810
			object_ucs['dn'].lower()
1811
1812
			modlist_members = []
1813
			for member in ad_members:
1814
				modlist_members.append(compatible_modstring(member))
1815
1816
			try:
1817
				self.lo_ad.lo.modify_s(compatible_modstring(object['dn']), [(ldap.MOD_REPLACE, 'member', modlist_members)])
1818
			except (ldap.SERVER_DOWN, SystemExit):
1819
				raise
1820
			except:  # FIXME: which exception is to be caught?
1821
				ud.debug(ud.LDAP, ud.WARN, "group_members_sync_from_ucs: failed to sync members: (%s,%s)" % (object['dn'], [(ldap.MOD_REPLACE, 'member', modlist_members)]))
1822
				raise
1823
1809
1824
		return True
1810
		return True
1825
1811

Return to bug 50630