Barry Finkel
Wed, 03 Feb 2010 07:53:00 -0800
I wrote: >>I think I may have uncovered a bug in Mailman 2.1.13. I have not >>completed my research. I have a script that refreshes the subscriber >>list via: >> >>/usr/lib/mailman/bin/sync_members -w=no -g=no -d=no -a=no \ >> -f /e tc/mailman/generated_lists/LISTNAME LISTNAME >> >>where >> >> /etc/mailman/generated_lists/LISTNAME >> >>is a file that contains a possibly updated mailing list. In that file >>there is a line: >> >> ssm...@example.com (XYZ, 012345, Smith, S.A. (Sam)) >> >>and after I run the sync_members, every line below this one is >>ignored; the e-mail addresses in those lines are unsubscribed from >>the list. This has happened with two lists since I installed >>Mailman 2.1.13 (replacing 2.1.11 - I never installed 2.1.12 in >>production). The third list that contains this e-mail address has >>a different format: >> >> ssm...@example.com (Smith, S.A. (Sam) :012345) >> >>and that list has no problems. I have not yet checked for changes in >>the sync_members source from 2.1.11 to 2.1.12 to 2.1.13.
And Mark Sapiro replied:
>There are no changes in sync_members. What has changed is in 2.1.11,
>Mailman used its own email package (version 2.5.8) installed in
>Mailman's pythonlib directory. Beginning with 2.1.12, Mailman uses the
>email package of the installed Python which depends on version.
>
>The difference is almost certainly in email.Utils.getaddresses() which
>is used to parse the lines of the input into 'address' and 'display
>name + comment' parts.
>
>I think the problem is that the addresses
>
>ssm...@example.com (XYZ, 012345, Smith, S.A. (Sam))
>
>and
>
>ssm...@example.com (Smith, S.A. (Sam) :012345)
>
>contain comments within comments and email.Utils.parseaddr() used by
>email.Utils.getaddresses() can be confused by this. However, email
>4.0.1 which is in most recent Python versions parses those into
>
>name: 'XYZ, 012345, Smith, S.A. Sam', address: 'ssm...@example.com'
>
>and
>
>name: 'Smith, S.A. Sam :012345', address: 'ssm...@example.com'
>
>respectively, so that should be OK. Also email 3.0+ from python 2.4.2
>gives the same result.
>
>In any case, I am surprised at the result. If sync_members finds any
>member addresses in the input file that appear invalid, it reports
>these and quits before doing anything to the list, and if it throws an
>exception while updating the list, it quits without saving the updated
>list.
>
>What's in Mailman's error log? What's in the output from sync_members?
I ran a test with a test list on my test virtual machine, and this is
what is happening. The line in the "-f" file for sync_members
bsf-cr...@example.com (New 1 (zzz))
is causing all of the succeeding lines in that file to be treated as
part of the parenthesized "name-comments" field for this new
bsf-crane entry. The command
python -v
produces, in part,
Python 2.4.3 (#2, Jul 31 2008, 21:53:26)
The Python packages installed on this Ubuntu dapper system are
python
python-dev
python-minimal
python2.4
python2.4-dev
python2.4-minimal
and the e-mail piece is found in
/usr/lib/python2.4/email
and
__init__.py
has
__version__ = '3.0.1'
I will have to check if there is a newer Python package for dapper.
----------------------------------------------------------------------
Barry S. Finkel
Computing and Information Systems Division
Argonne National Laboratory Phone: +1 (630) 252-7277
9700 South Cass Avenue Facsimile:+1 (630) 252-4601
Building 240, Room 5.B.8 Internet: bsfin...@anl.gov
Argonne, IL 60439-4828 IBMMAIL: I1004994
------------------------------------------------------
Mailman-Users mailing list Mailman-Users@python.org
http://mail.python.org/mailman/listinfo/mailman-users
Mailman FAQ: http://wiki.list.org/x/AgA3
Security Policy: http://wiki.list.org/x/QIA9
Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/
Unsubscribe:
http://mail.python.org/mailman/options/mailman-users/archive%40jab.org