View | Details | Raw Unified | Return to bug 50644 | Differences between
and this patch

Collapse All | Expand All

(-)a/services/univention-s4-connector/modules/univention/s4connector/s4/__init__.py (-22 / +34 lines)
 Lines 1516-1529   class s4(univention.s4connector.ucs): Link Here 
1516
			self.__group_cache_ucs_append_member(groupDN, object_ucs['dn'])
1516
			self.__group_cache_ucs_append_member(groupDN, object_ucs['dn'])
1517
1517
1518
	def __group_cache_ucs_append_member(self, group, member):
1518
	def __group_cache_ucs_append_member(self, group, member):
1519
		group_lower = group.lower()
1520
		member_lower = member.lower()
1519
		member_lower = member.lower()
1521
		ud.debug(ud.LDAP, ud.INFO, "__group_cache_ucs_append_member: Append user %s to UCS group member cache of %s" % (member_lower, group_lower))
1520
		group_lower = group.lower()
1522
		members = self.group_members_cache_ucs.get(group_lower)
1521
		group_members_lower = self.group_members_cache_ucs.get(group_lower, [])
1523
		if not members:
1522
		if member_lower not in group_members_lower:
1524
			self.group_members_cache_ucs[group_lower] = [member_lower]
1523
			ud.debug(ud.LDAP, ud.INFO, "__group_cache_ucs_append_member: Append user %s to UCS group member cache of %s" % (member_lower, group_lower))
1525
		else:
1524
			if group_members_lower:
1526
			members.append(member_lower)
1525
				group_members_lower.append(member_lower)
1526
			else:
1527
				self.group_members_cache_ucs[group_lower] = [member_lower]
1527
1528
1528
	def group_members_sync_from_ucs(self, key, object):  # object mit s4-dn
1529
	def group_members_sync_from_ucs(self, key, object):  # object mit s4-dn
1529
		"""
1530
		"""
 Lines 1728-1739   class s4(univention.s4connector.ucs): Link Here 
1728
					if ldap_object_ucs:
1729
					if ldap_object_ucs:
1729
						self.one_group_member_sync_to_ucs(ucs_group_object, object)
1730
						self.one_group_member_sync_to_ucs(ucs_group_object, object)
1730
1731
1731
				if not self.group_members_cache_con.get(groupDN.lower()):
1732
					self.group_members_cache_con[groupDN.lower()] = []
1733
				dn = object['attributes'].get('distinguishedName', [None])[0]
1732
				dn = object['attributes'].get('distinguishedName', [None])[0]
1734
				if dn:
1733
				if dn:
1735
					ud.debug(ud.LDAP, ud.INFO, "object_memberships_sync_to_ucs: Append user %s to S4 group member cache of %s" % (dn.lower(), groupDN.lower()))
1734
					dn_lower = dn.lower()
1736
					self.group_members_cache_con[groupDN.lower()].append(dn.lower())
1735
					groupDN_lower = groupDN.lower()
1736
					group_members_lower = self.group_members_cache_con.get(groupDN_lower, [])
1737
					if dn_lower not in group_members_lower:
1738
						ud.debug(ud.LDAP, ud.INFO, "object_memberships_sync_to_ucs: Append user %s to S4 group member cache of %s" % (dn_lower, groupDN_lower))
1739
						if group_members_lower:
1740
							group_members_lower.append(dn_lower)
1741
						else:
1742
							self.group_members_cache_con[groupDN_lower] = [dn_lower]
1737
				else:
1743
				else:
1738
					ud.debug(ud.LDAP, ud.INFO, "object_memberships_sync_to_ucs: Failed to append user %s to S4 group member cache of %s" % (object['dn'].lower(), groupDN.lower()))
1744
					ud.debug(ud.LDAP, ud.INFO, "object_memberships_sync_to_ucs: Failed to append user %s to S4 group member cache of %s" % (object['dn'].lower(), groupDN.lower()))
1739
1745
 Lines 1790-1809   class s4(univention.s4connector.ucs): Link Here 
1790
				ud.debug(ud.LDAP, ud.INFO, "one_group_member_sync_from_ucs: User is already member of the group: %s modlist: %s" % (s4_group_object['dn'], ml))
1796
				ud.debug(ud.LDAP, ud.INFO, "one_group_member_sync_from_ucs: User is already member of the group: %s modlist: %s" % (s4_group_object['dn'], ml))
1791
1797
1792
		# The user has been removed from the cache. He must be added in any case
1798
		# The user has been removed from the cache. He must be added in any case
1793
		ud.debug(ud.LDAP, ud.INFO, "one_group_member_sync_from_ucs: Append user %s to S4 group member cache of %s" % (object['dn'].lower(), s4_group_object['dn'].lower()))
1799
		s4_group_object_dn_lower = s4_group_object['dn'].lower()
1794
		if not self.group_members_cache_con.get(s4_group_object['dn'].lower()):
1800
		group_members_lower = self.group_members_cache_con.get(s4_group_object_dn_lower, [])
1795
			self.group_members_cache_con[s4_group_object['dn'].lower()] = []
1801
		object_dn_lower = object['dn'].lower()
1796
		self.group_members_cache_con[s4_group_object['dn'].lower()].append(object['dn'].lower())
1802
		if object_dn_lower not in group_members_lower:
1803
			ud.debug(ud.LDAP, ud.INFO, "one_group_member_sync_from_ucs: Append user %s to S4 group member cache of %s" % (object_dn_lower, s4_group_object_dn_lower))
1804
			if group_members_lower:
1805
				group_members_lower.append(object_dn_lower)
1806
			else:
1807
				self.group_members_cache_con[s4_group_object_dn_lower] = [object_dn_lower]
1797
1808
1798
	def __group_cache_con_append_member(self, group, member):
1809
	def __group_cache_con_append_member(self, group, member):
1799
		group_lower = group.lower()
1800
		member_lower = member.lower()
1810
		member_lower = member.lower()
1801
		ud.debug(ud.LDAP, ud.INFO, "__group_cache_con_append_member: Append user %s to S4 group member cache of %s" % (member_lower, group_lower))
1811
		group_lower = group.lower()
1802
		members = self.group_members_cache_con.get(group_lower)
1812
		group_members_lower = self.group_members_cache_con.get(group_lower, [])
1803
		if not members:
1813
		if member_lower not in group_members_lower:
1804
			self.group_members_cache_con[group_lower] = [member_lower]
1814
			ud.debug(ud.LDAP, ud.INFO, "__group_cache_con_append_member: Append user %s to S4 group member cache of %s" % (member_lower, group_lower))
1805
		else:
1815
			if group_members_lower:
1806
			members.append(member_lower)
1816
				group_members_lower.append(member_lower)
1817
			else:
1818
				self.group_members_cache_con[group_lower] = [member_lower]
1807
1819
1808
	def group_members_sync_to_ucs(self, key, object):
1820
	def group_members_sync_to_ucs(self, key, object):
1809
		"""
1821
		"""

Return to bug 50644