LDAPUserFolder ICTP patch
Click here to get the file
Size
3.0 kB
-
File type
text/x-patch
File contents
diff -bur LDAPUserFolder/LDAPUserFolder.py LDAPUserFolder.ictp/LDAPUserFolder.py
--- LDAPUserFolder/LDAPUserFolder.py 2007-03-29 20:19:42.000000000 +0200
+++ LDAPUserFolder.ictp/LDAPUserFolder.py 2008-01-10 15:42:51.172429105 +0100
@@ -1143,11 +1143,14 @@
gscope = self._delegate.getScopes()[self.groups_scope]
if dn != '*':
- f_template = '(&(objectClass=%s)(%s=%s))'
+ ### ANTONIO HACK
+ user_id = dn[dn.find('=')+1:]
+ user_id = user_id[:user_id.find(',')]
+ f_template = '(&(objectClass=%s)(|(%s=%s)(%s=%s)))'
group_filter = '(|'
for g_name, m_name in GROUP_MEMBER_MAP.items():
- fltr = filter_format(f_template, (g_name, m_name, dn))
+ fltr = filter_format(f_template, (g_name, m_name, dn, m_name, user_id))
group_filter += fltr
group_filter += ')'
diff -bur LDAPUserFolder/LDAPUserSatellite.py LDAPUserFolder.ictp/LDAPUserSatellite.py
--- LDAPUserFolder/LDAPUserSatellite.py 2007-03-29 20:19:42.000000000 +0200
+++ LDAPUserFolder.ictp/LDAPUserSatellite.py 2008-01-10 15:43:38.297703904 +0100
@@ -207,7 +207,7 @@
if self.groups_base: # We were given a search base, so search there
user_dn = user.getUserDN()
member_attrs = list(Set(GROUP_MEMBER_MAP.values()))
- filt_list = [ filter_format('(%s=%s)', (m_attr, user_dn))
+ filt_list = [ filter_format('(|(%s=%s)(%s=%s))', (m_attr, user_dn, m_attr, user_id))
for m_attr in member_attrs ]
group_filter = '(|%s)' % ''.join(filt_list)
@@ -287,7 +287,9 @@
def getGroups(self, dn='*', attr=None):
""" return group records i know about """
group_list = []
-
+ ### ANTONIO HACK: definisco user_id in modo brutale
+ user_id = user_dn[user_dn.find('=')+1:]
+ user_id = user_id[:user_id.find(',')]
if self.groups_base:
no_show = ('Anonymous', 'Authenticated', 'Shared')
@@ -298,7 +300,7 @@
group_filter = '(|%s)' % ''.join(filt_list)
else:
member_attrs = list(Set(GROUP_MEMBER_MAP.values()))
- filt_list = [ filter_format('(%s=%s)', (m_attr, dn))
+ filt_list = [ filter_format('(|(%s=%s)(%s=%s))', (m_attr, dn, m_attr, user_id))
for m_attr in member_attrs ]
group_filter = '(|%s)' % ''.join(filt_list)
luf = self.getLUF()
diff -bur LDAPUserFolder/utils.py LDAPUserFolder.ictp/utils.py
--- LDAPUserFolder/utils.py 2007-03-15 11:25:16.000000000 +0100
+++ LDAPUserFolder.ictp/utils.py 2008-01-10 15:37:51.738886222 +0100
@@ -37,6 +37,7 @@
, 'groupOfNames' : 'member'
, 'accessGroup' : 'member'
, 'group' : 'member'
+ , 'posixGroup' : 'memberUid'
}
VALID_GROUP_ATTRIBUTES = Set(list(GROUP_MEMBER_MAP.values()) +