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

Collapse All | Expand All

(-)a/services/univention-ad-connector/modules/univention/connector/ad/__init__.py (-16 / +36 lines)
 Lines 1635-1644   class ad(univention.connector.ucs): Link Here 
1635
			self.__group_cache_ucs_append_member(groupDN, object_ucs['dn'])
1635
			self.__group_cache_ucs_append_member(groupDN, object_ucs['dn'])
1636
1636
1637
	def __group_cache_ucs_append_member(self, group, member):
1637
	def __group_cache_ucs_append_member(self, group, member):
1638
		if not self.group_members_cache_ucs.get(group.lower()):
1638
		member_lower = member.lower()
1639
			self.group_members_cache_ucs[group.lower()] = []
1639
		group_lower = group.lower()
1640
		ud.debug(ud.LDAP, ud.INFO, "__group_cache_ucs_append_member: Append user %s to group ucs cache of %s" % (member.lower(), group.lower()))
1640
		group_members_lower = self.group_members_cache_ucs.get(group_lower, [])
1641
		self.group_members_cache_ucs[group.lower()].append(member.lower())
1641
		if member_lower not in group_members_lower:
1642
			ud.debug(ud.LDAP, ud.INFO, "__group_cache_ucs_append_member: Append user %s to group ucs cache of %s" % (member_lower, group_lower))
1643
			if group_members_lower:
1644
				group_members_lower.append(member_lower)
1645
			else:
1646
				self.group_members_cache_ucs[group_lower] = [member_lower]
1642
1647
1643
	def group_members_sync_from_ucs(self, key, object):  # object mit ad-dn
1648
	def group_members_sync_from_ucs(self, key, object):  # object mit ad-dn
1644
		"""
1649
		"""
 Lines 1846-1857   class ad(univention.connector.ucs): Link Here 
1846
					if ldap_object_ucs:
1851
					if ldap_object_ucs:
1847
						self.one_group_member_sync_to_ucs(ucs_group_object, object)
1852
						self.one_group_member_sync_to_ucs(ucs_group_object, object)
1848
1853
1849
				if not self.group_members_cache_con.get(groupDN.lower()):
1850
					self.group_members_cache_con[groupDN.lower()] = []
1851
				dn = object['attributes'].get('distinguishedName', [None])[0]
1854
				dn = object['attributes'].get('distinguishedName', [None])[0]
1852
				if dn:
1855
				if dn:
1853
					ud.debug(ud.LDAP, ud.INFO, "object_memberships_sync_to_ucs: Append user %s to group con cache of %s" % (dn.lower(), groupDN.lower()))
1856
					dn_lower = dn.lower()
1854
					self.group_members_cache_con[groupDN.lower()].append(dn.lower())
1857
					groupDN_lower = groupDN.lower()
1858
					group_members_lower = self.group_members_cache_con.get(groupDN_lower, [])
1859
					if dn_lower not in group_members_lower:
1860
						ud.debug(ud.LDAP, ud.INFO, "object_memberships_sync_to_ucs: Append user %s to group con cache of %s" % (dn_lower, groupDN_lower))
1861
						if group_members_lower:
1862
							group_members_lower.append(dn_lower)
1863
						else:
1864
							self.group_members_cache_con[groupDN_lower] = [dn_lower]
1855
				else:
1865
				else:
1856
					ud.debug(ud.LDAP, ud.INFO, "object_memberships_sync_to_ucs: Failed to append user %s to group con cache of %s" % (object['dn'].lower(), groupDN.lower()))
1866
					ud.debug(ud.LDAP, ud.INFO, "object_memberships_sync_to_ucs: Failed to append user %s to group con cache of %s" % (object['dn'].lower(), groupDN.lower()))
1857
1867
 Lines 1906-1921   class ad(univention.connector.ucs): Link Here 
1906
				ud.debug(ud.LDAP, ud.INFO, "one_group_member_sync_from_ucs: User is already member of the group: %s modlist: %s" % (ad_group_object['dn'], ml))
1916
				ud.debug(ud.LDAP, ud.INFO, "one_group_member_sync_from_ucs: User is already member of the group: %s modlist: %s" % (ad_group_object['dn'], ml))
1907
1917
1908
		# The user has been removed from the cache. He must be added in any case
1918
		# The user has been removed from the cache. He must be added in any case
1909
		ud.debug(ud.LDAP, ud.INFO, "one_group_member_sync_from_ucs: Append user %s to group con cache of %s" % (object['dn'].lower(), ad_group_object['dn'].lower()))
1919
		ad_group_object_dn_lower = ad_group_object['dn'].lower()
1910
		if not self.group_members_cache_con.get(ad_group_object['dn'].lower()):
1920
		group_members_lower = self.group_members_cache_con.get(ad_group_object_dn_lower, [])
1911
			self.group_members_cache_con[ad_group_object['dn'].lower()] = []
1921
		object_dn_lower = object['dn'].lower()
1912
		self.group_members_cache_con[ad_group_object['dn'].lower()].append(object['dn'].lower())
1922
		if object_dn_lower not in group_members_lower:
1923
			ud.debug(ud.LDAP, ud.INFO, "one_group_member_sync_from_ucs: Append user %s to group con cache of %s" % (object_dn_lower, ad_group_object_dn_lower))
1924
			if group_members_lower:
1925
				group_members_lower.append(object_dn_lower)
1926
			else:
1927
				self.group_members_cache_con[ad_group_object_dn_lower] = [object_dn_lower]
1913
1928
1914
	def __group_cache_con_append_member(self, group, member):
1929
	def __group_cache_con_append_member(self, group, member):
1915
		if not self.group_members_cache_con.get(group.lower()):
1930
		member_lower = member.lower()
1916
			self.group_members_cache_con[group.lower()] = []
1931
		group_lower = group.lower()
1917
		ud.debug(ud.LDAP, ud.INFO, "__group_cache_con_append_member: Append user %s to group con cache of %s" % (member.lower(), group.lower()))
1932
		group_members_lower = self.group_members_cache_con.get(group_lower, [])
1918
		self.group_members_cache_con[group.lower()].append(member.lower())
1933
		if member_lower not in group_members_lower:
1934
			ud.debug(ud.LDAP, ud.INFO, "__group_cache_con_append_member: Append user %s to group con cache of %s" % (member_lower, group_lower))
1935
			if group_members_lower:
1936
				group_members_lower.append(member_lower)
1937
			else:
1938
				self.group_members_cache_con[group_lower] = [member_lower]
1919
1939
1920
	def group_members_sync_to_ucs(self, key, object):
1940
	def group_members_sync_to_ucs(self, key, object):
1921
		"""
1941
		"""

Return to bug 50643