Barry Finkel 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 /etc/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.
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? -- Mark Sapiro <m...@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan ------------------------------------------------------ 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