Problems with Mailman LDAPMemberships Adapter

Hi community,
I've installed mailman (Version 2.1.12) at my CentOS 6 server and in gernerally it works fine.
So know I want to use the LDAP Extension (https://bugs.launchpad.net/mailman/+bug/558106) to build my mailingliste in LDAP. After some problems with Python-ldap now i configured a mailinglist "test" and created a extend.py file in the Listfolder, like this:
###### from Mailman.LDAPMemberships import LDAPMemberships
def extend(list):
ldap = LDAPMemberships(list)
ldap.ldapdigestsearch = None # if digests are enabled, this search is for digest members.
ldap.ldapserver = "ldap://ldap.<myserver>.de:389" # your LDAP server
ldap.ldapbasedn = "cn=test,ou=mailman,ou=Mandanten,dc=<my-domain>,dc=de" # your base DN
ldap.ldapbinddn = '' # bind DN that can access 'mail' field
ldap.ldappasswd = '' # bind password for ldapbinddn
ldap.ldaptls = False # Use TLS, must be set to True or False
ldap.ldapmemberattr = 'member'
ldap.ldapgroupattr = '' # if using groups, attribute that holds DN info.
# Omit or set to null string if not using groups.
list._memberadaptor = ldap
#####
The LDAP entry "cn=test,…" contains some "members".
Now I want to see the members in the admin web frontend. By choosing the menu option "Membership Management" I get an error message in my webbrowser (Bug in Mailman). In the error logfile I found this:
admin(24882): [----- Traceback ------] admin(24882): Traceback (most recent call last): admin(24882): File "/usr/lib/mailman/scripts/driver", line 112, in run_main admin(24882): main() admin(24882): File "/usr/lib/mailman/Mailman/Cgi/admin.py", line 196, in main admin(24882): show_results(mlist, doc, category, subcat, cgidata) admin(24882): File "/usr/lib/mailman/Mailman/Cgi/admin.py", line 497, in show_results admin(24882): form.AddItem(membership_options(mlist, subcat, cgidata, doc, form)) admin(24882): File "/usr/lib/mailman/Mailman/Cgi/admin.py", line 870, in membership_options admin(24882): all = [_m.encode() for _m in mlist.getMembers()] admin(24882): File "/usr/lib/mailman/Mailman/LDAPMemberships.py", line 296, in getMembers admin(24882): return self.__ldap_get_members() admin(24882): File "/usr/lib/mailman/Mailman/LDAPMemberships.py", line 275, in __ldap_get_members admin(24882): return self.__ldap_get_regularmembers() + self.__ldap_get_digestmembers() admin(24882): AttributeError: LDAPMemberships instance has no attribute '_LDAPMemberships__ldap_get_regularmembers' admin(24882): [----- Python Information -----] admin(24882): sys.version = 2.6.6 (r266:84292, Feb 22 2013, 00:00:18) [GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] admin(24882): sys.executable = /usr/bin/python admin(24882): sys.prefix = /usr admin(24882): sys.exec_prefix = /usr admin(24882): sys.path = /usr admin(24882): sys.platform = linux2
The important line is this: admin(24882): AttributeError: LDAPMemberships instance has no attribute '_LDAPMemberships__ldap_get_regularmembers'
But I don't know what it means … it seems that another Funktion doesn't work correctly?! Any ideas?
Best regards, Lenni

On 06/05/2013 03:04 AM, Lennart Barfod wrote:
So know I want to use the LDAP Extension (https://bugs.launchpad.net/mailman/+bug/558106) to build my mailingliste in LDAP. After some problems with Python-ldap now i configured a mailinglist "test" and created a extend.py file in the Listfolder, like this:
[...]
It means something is broken in the installation. The actual error makes no sense. It shows that what is being executed is "return self.__ldap_get_regularmembers() + self.__ldap_get_digestmembers()", but then it is trying to get self._LDAPMemberships__ldap_get_regularmembers instead of self.__ldap_get_regularmembers().
Did you restart Mailman after installing LDAPMemberships.py and the extend.py file? This actually shouldn't be the problem because the error occurs in the admin CGI, but I suppose it could help.
Exactly which LDAPMemberships.py version do you have?
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan

On 06/05/2013 08:29 AM, Lennart Barfod wrote:
There seems to be a serious coding error in LDAPMemberships.py, version 0.63. Namely, at line 274-275, the code
def __ldap_get_members(self):
return self.__ldap_get_regularmembers() +
self.__ldap_get_digestmembers()
(watch out for wrapped line)
should be
def __ldap_get_members(self):
return self.__ldap_get_regular_members() +
self.__ldap_get_digest_members()
I wonder how many people are actually using this?
If you fix that and restart Mailman, I think you'll be OK.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan

On 06/05/2013 03:04 AM, Lennart Barfod wrote:
So know I want to use the LDAP Extension (https://bugs.launchpad.net/mailman/+bug/558106) to build my mailingliste in LDAP. After some problems with Python-ldap now i configured a mailinglist "test" and created a extend.py file in the Listfolder, like this:
[...]
It means something is broken in the installation. The actual error makes no sense. It shows that what is being executed is "return self.__ldap_get_regularmembers() + self.__ldap_get_digestmembers()", but then it is trying to get self._LDAPMemberships__ldap_get_regularmembers instead of self.__ldap_get_regularmembers().
Did you restart Mailman after installing LDAPMemberships.py and the extend.py file? This actually shouldn't be the problem because the error occurs in the admin CGI, but I suppose it could help.
Exactly which LDAPMemberships.py version do you have?
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan

On 06/05/2013 08:29 AM, Lennart Barfod wrote:
There seems to be a serious coding error in LDAPMemberships.py, version 0.63. Namely, at line 274-275, the code
def __ldap_get_members(self):
return self.__ldap_get_regularmembers() +
self.__ldap_get_digestmembers()
(watch out for wrapped line)
should be
def __ldap_get_members(self):
return self.__ldap_get_regular_members() +
self.__ldap_get_digest_members()
I wonder how many people are actually using this?
If you fix that and restart Mailman, I think you'll be OK.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
participants (3)
-
Chris Nulk
-
Lennart Barfod
-
Mark Sapiro