[Mailman-Developers] small patch
Hello, I just upgraded to Mailman 2.1.16 and python 2.7 (I was still on MM 2.1.11 with python 2.3) = with a topics-enabled list, I had a few shunted files with this message : Nov 14 11:04:29 2013 (21875) Uncaught runner exception: change_header() got an unexpected keyword argument 'Delete' File /var/local/mailman/Mailman/Handlers/Tagger.py, line 74, in process mlist, msg, msgdata, Delete=False) so I modified this: http://bazaar.launchpad.net/~mailman-coders/mailman/2.1/view/head:/Mailman/Handlers/Tagger.py#L73 on line 74, use delete=False, instead of Delete=False -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org https://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://wiki.list.org/x/AgA3 Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: https://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://wiki.list.org/x/QIA9
Re: [Mailman-Developers] [Mailman GSoC] Archive UI Web Framework
Hi, you might want to take a look at arbrows, developed by Nahuel, that does about the same as what you're planning to do! http://www.arbrows.org/browser/src/arbrows see it in action at http://archives.rezo.net/ On Wed, Jun 22, 2011 at 8:10 PM, Dushyant Bansal cs5070...@cse.iitd.ac.in wrote: Hi all, I was looking for a web framework for Pipermail UI. I have decided to use Pylons. Anna and benste wanted to know the reasons for choosing pylons over Django (As benste is already using Django for mailman WebUI). So, I thought I should discuss it with all of you. Andrew is working on converting Pipermail to use Storm/SQLite instead of pickles to save data. So, the framework needs to have support for Storm ORM. Django has its own ORM and Storm cannot be used with it natively (Though storm is said to have support http://blogs.gnome.org/jamesh/2008/09/19/django-support-landed-in-storm/ for django, I could not find anything further to try/test Storm with Django). Pylons doesn't provide any ORM and I have tested a small application using Storm. Please give your feedback. Regards, Dushyant ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://wiki.list.org/x/AgA3 Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/fil%40rezo.net Security Policy: http://wiki.list.org/x/QIA9 -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://wiki.list.org/x/AgA3 Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://wiki.list.org/x/QIA9
Re: [Mailman-Developers] REST API docs?
The way I've been thinking about it has been that the REST interface currently in the core engine is essentially an unprotected administrative interface. I see... Another (interesting?) question is how do you encode data esp. if an email address or username contains a slash (/) character. -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://wiki.list.org/x/AgA3 Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://wiki.list.org/x/QIA9
Re: [Mailman-Developers] REST API docs?
How would I query members of list A? GET 'http://localhost:8001/3.0/members' + A ? If my mailing-list has thousands of members, how would I paginate the results? 'http://localhost:8001/3.0/members' + A + page=x ? -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://wiki.list.org/x/AgA3 Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://wiki.list.org/x/QIA9
[Mailman-Developers] REST API docs?
Hi all, I've been looking around for a description of the REST API in Mailman3. Fact is I couldn't wait more and started a REST API for Mailman2. So, I would like it to be as close as possible to the final stuff. -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://wiki.list.org/x/AgA3 Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://wiki.list.org/x/QIA9
Re: [Mailman-Developers] Orignal MySQL Member Adaptor - 1.71
It should according to the docs I found, provided I've applied them correctly, fix the non-ASCII character encoding problems (I've relied on the assertions about list members to cover that angle, and just checked encoding on the 'user supplied' parameters to various function calls). Hi Kev, I finally got the time to look at your character encoding problem and patch, and I was not able to make it work. I still getting the dreaded UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 1: ordinal not in range(128) On my version of MysqlMemberships.py there is a centralized function which does the escaping and is used on every sql request: def escape(self, value): # transforms accents into html entities (#233;) # TODO: find out which language is current (here: uses iso-8859-1) value = Utils.uncanonstr(value) # addslashes before and ' return MySQLdb.escape_string(value) I tried to add your unicode logic at this point, but to no avail. And BTW I also need the thing to be functional both with utf8 and iso-8859-1. For people who'd like to join in the conversation, the logic I'm refferring to is the following: # safe unicode strings encoded for mysql # http://effbot.org/pyfaq/what-does-unicodeerror-ascii-decoding-encoding-error-ordinal-not-in-range-128-mean.htm try: unicode(value, ascii) except UnicodeError: value = unicode(value, utf-8) else: # value was valid ASCII data pass -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://wiki.list.org/x/AgA3 Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://wiki.list.org/x/QIA9
Re: [Mailman-Developers] Orignal MySQL Member Adaptor - 1.71
I'm pretty sure I said I though it would work but hadn't actually tested it, anyways. Indeed I was warned :-) time to look at MM again for a while. My first priority would be to resolve the horrible performance problem without losing the name info as per a previous email, and then I might look at this, when I get started back on it again. I've re-read your email re: the names issue, and I don't understand what the problem is. getMembersMatching() does indeed only return the adresses of all users whose email OR name matches the regexp; then Cgi/admin.py displays no more than 50 of these, which results in maximum 50 calls to MySQL to fetch the name information. I assert that: * a search on a name returns the user, even if the search string does not appear in its email * the users' names ARE displayed in the resulting page. -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://wiki.list.org/x/AgA3 Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://wiki.list.org/x/QIA9
Re: [Mailman-Developers] Orignal MySQL Member Adaptor - 1.71
I was able to go a bit further with the script below. Unfortunately when that utf-8-encoded mysql-escaped string goes back up into MySQLdb I get hit by another encoding error inside MySQLdb. So my best for the moment is to stay with my current implementation which escapes all strings to html decimal entities. #!/usr/bin/python import os, sys import MySQLdb from types import StringType,UnicodeType a='\'André' try: b=unicode(a,'utf-8') except: b=unicode(a,'latin-1') print b.encode('latin-1') print b.encode('utf-8') print MySQLdb.escape_string(b.encode('utf-8')) -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://wiki.list.org/x/AgA3 Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://wiki.list.org/x/QIA9
Re: [Mailman-Developers] Orignal MySQL Member Adaptor - 1.71
OK I get something working with the following: def escape(self, value): try: b = unicode(value,'utf-8') except: try: b = unicode(value,'latin-1') except: b = value return unicode(MySQLdb.escape_string(b.encode('utf-8')),'utf-8') will try a little more and commit if it works ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://wiki.list.org/x/AgA3 Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://wiki.list.org/x/QIA9
Re: [Mailman-Developers] Orignal MySQL Member Adaptor - 1.71
Hi Kev, I've added the proper URLs in the README. As for further developments I'll have to pass, as I'll be switchwing to MM3 before I have time to develop more that small fixes to Mailman and/or this adapter. PS. Is Trac really as good as people seem to think it is? I've not started using it, but I certainly like the *look* of it? I do like SVN/trac, yes, I use it quite extensively with a few big projects and it's working great. -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://wiki.list.org/x/AgA3 Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://wiki.list.org/x/QIA9
Re: [Mailman-Developers] Orignal MySQL Member Adaptor - 1.71
Incidentally, since Fil seems to be taking all the credit for what I started I think he should actually put a proper credit in there for me, linking to my business website at http://www.orenet.co.uk/ rather than the vague passing mentions that are in the docs/code of his version of the system at the present time. I'm sorry if I did anything not appropriate. From what you see in the code http://trac.rezo.net/trac/rezo/browser/Mailman/MySQLMemberAdaptor/MysqlMemberships.py it seems that the mention you require is there. Please tell me how to make it better and I will correct it. More to the point, I fixed a few issues and added some features. Do you plan to take these into account in your version? If not we are necessarily forking this piece of code, regrettably, because I need my version in production. -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://wiki.list.org/x/AgA3 Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://wiki.list.org/x/QIA9
Re: [Mailman-Developers] Web UI
For HCS' own instance of Mailman, I went ahead and changed up the UI, integrating CSS and generally making pages look much more visually appealing, and themed. If anyone is interested in seeing the changes I was able to make, check out http://www.hcs.harvard.edu/~vsant/mm/mailman.html. Awesome ! -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://wiki.list.org/x/AgA3 Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://wiki.list.org/x/QIA9
Re: [Mailman-Developers] GNU Mailman Site Redesign
Hi Terri, this is neat and simple, I like it :-) I think the links color (light blue) is much too pale, and makes them difficult to read against the white background On Wed, Jun 25, 2008 at 10:17 PM, Terri Oda [EMAIL PROTECTED] wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 25-Jun-08, at 3:44 PM, Terri Oda wrote: Back in April, Err, my bad, it was actually March. Clearly we're overdue for some action on this. ;) Terri -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.7 (Darwin) iD8DBQFIYqfWnB1cG1wafMARAgyUAJ9UkpaCWPU5G22CjYT0zwzubjDRBwCeJm+B N7FIsexyRXEI6tX5CbqKgo0= =pSFU -END PGP SIGNATURE- ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/fil%40rezo.net Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showfile=faq01.027.htp -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://wiki.list.org/x/AgA3 Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://wiki.list.org/x/QIA9
Re: [Mailman-Developers] better logging of undiscernable bounces
'%s: bounce message w/no discernable addresses: %s' You are right it's more consistent The part I'm not sure about is adding the list name to the '(forwarding|discarding) unrecognized' messages. One or the other of these is always written immediately after the 'bounce message w/no discernable addresses' message, so the list name isn't really required since the list will be identifiable with the first change, and it may even seem redundant, but I think it's more consistent to include it on all the messages. I agree; it will make grepping a listname much easier -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showfile=faq01.027.htp
[Mailman-Developers] needs explanation of the interaction between site list and bounces
Hello, (sorry to post here; I've been trying to re-subscribe to mailman-users for two days, w/o luck, and I really need help -- can someone check why I still can't post there?) I'm looking for a description of the interactions between bounce processing and the site list ([EMAIL PROTECTED]) under 2.1.11rc1. It seems to me that there is a case when the bounce processor doesn't recognize a bounce, sends it to ??? which in turn generates an error like you are not allowed to post to the list [EMAIL PROTECTED] thanks -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showfile=faq01.027.htp
Re: [Mailman-Developers] bounce info not updating in MM 2.1.11rc1 + patch
See the attached Bouncer.patch.txt file for the current patch. Seems to have been functioning as I had this morning this kind of logs Jun 18 04:15:32 2008 (7299) listname: [EMAIL PROTECTED] current bounce score: 2.0 Jun 18 04:15:32 2008 (7299) listname: [EMAIL PROTECTED] disabling due to bounce score 2.0 = 2.0 Jun 18 04:15:32 2008 (7299) listname: [EMAIL PROTECTED] deleted after exhausting notices and those email addresses have been removed from the database -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showfile=faq01.027.htp
[Mailman-Developers] Bouncer
Hi, there are two things I don't like in bouncer.py algorithm 1. for a list that sends one message every week, it sortof fails as it gets clean days in between (I think) 2. instead of removing the address I'd prefer we disable it permanently (as an option) I can probably cook a patch for #2., but I'm not sure what to do about #1. -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showfile=faq01.027.htp
Re: [Mailman-Developers] bounce info not updating in MM 2.1.11rc1 + patch
That's all good, but we also want to see a score increment. Ideally, there would be a list with threshold greater than 2 and we would see the score set to 1, increment to 2 and then increment to 3. It seems that I have all kinds of results: xxx already scored a bounce for date 18-Jun-2008 xxx current bounce score: 4.0 (and I checked in the database that is it stored as bi_score=4) on that list where the threshold is set to 2, adresses have been removed if we follow one address we have Jun 15 22:51:45 2008 (5324) listname: [EMAIL PROTECTED] bounce score: 1.0 Jun 15 23:21:47 2008 (5324) listname: [EMAIL PROTECTED] already scored a bounce for date 15-Jun-2008 Jun 16 00:22:11 2008 (5324) listname: [EMAIL PROTECTED] current bounce score: 2.0 Jun 16 00:52:16 2008 (5324) listname: [EMAIL PROTECTED] current bounce score: 2.0 Jun 16 14:08:11 2008 (4700) listname: [EMAIL PROTECTED] current bounce score: 2.0 Jun 16 14:23:15 2008 (4700) listname: [EMAIL PROTECTED] already scored a bounce for date 16-Jun-2008 Jun 16 15:23:26 2008 (4700) listname: [EMAIL PROTECTED] already scored a bounce for date 16-Jun-2008 Jun 16 15:53:40 2008 (4700) listname: [EMAIL PROTECTED] already scored a bounce for date 16-Jun-2008 Jun 16 23:40:22 2008 (4700) listname: [EMAIL PROTECTED] already scored a bounce for date 16-Jun-2008 Jun 17 07:15:43 2008 (12778) listname: [EMAIL PROTECTED] current bounce score: 3.0 Jun 17 14:47:12 2008 (12778) listname: [EMAIL PROTECTED] already scored a bounce for date 17-Jun-2008 Jun 17 15:32:29 2008 (12778) listname: [EMAIL PROTECTED] already scored a bounce for date 17-Jun-2008 Jun 17 16:47:34 2008 (12778) listname: [EMAIL PROTECTED] already scored a bounce for date 17-Jun-2008 Jun 17 17:02:34 2008 (12778) listname: [EMAIL PROTECTED] already scored a bounce for date 17-Jun-2008 Jun 17 17:02:34 2008 (12778) listname: [EMAIL PROTECTED] already scored a bounce for date 17-Jun-2008 Jun 17 17:17:35 2008 (12778) listname: [EMAIL PROTECTED] already scored a bounce for date 17-Jun-2008 Jun 17 21:33:23 2008 (12778) listname: [EMAIL PROTECTED] already scored a bounce for date 17-Jun-2008 Jun 17 21:48:25 2008 (12778) listname: [EMAIL PROTECTED] already scored a bounce for date 17-Jun-2008 Jun 17 22:18:29 2008 (12778) listname: [EMAIL PROTECTED] already scored a bounce for date 17-Jun-2008 Jun 17 22:48:37 2008 (12778) listname: [EMAIL PROTECTED] already scored a bounce for date 17-Jun-2008 ** Mark's patch applied ** Jun 18 18:05:53 2008 (7299) listname: [EMAIL PROTECTED] current bounce score: 4.0 that list's bounce_score_threshold is 5.0 so we'll see what happens tomorrow :-) -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showfile=faq01.027.htp
Re: [Mailman-Developers] bounce info not updating in MM 2.1.11rc1 + patch
Thanks Fil. I'm sure it's good, but keep us posted. Someone just went through the threshold and got a delivery_status=4, so I guess we're all good. Thanks -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showfile=faq01.027.htp
Re: [Mailman-Developers] bounce info not updating in MM 2.1.11rc1 + patch
(always with MysqlMemberships.py) I noticed that my bounce info stays in the database at level 1, even when the logs say current bounce score: 2.0 In Mailman/Bouncer.py I think that two self.setBounceInfo(member, info) are missing: --- Mailman/Bouncer.save.py 2008-06-16 10:00:17.0 +0200 +++ Mailman/Bouncer.py 2008-06-16 10:00:43.0 +0200 @@ -137,6 +137,7 @@ class Bouncer: if lastbounce + self.bounce_info_stale_after now: # Information is stale, so simply reset it info.reset(weight, day, self.bounce_you_are_disabled_warnings) +self.setBounceInfo(member, info) syslog('bounce', '%s: %s has stale bounce info, resetting', self.internal_name(), member) else: @@ -144,6 +145,7 @@ class Bouncer: # score and take any necessary action. info.score += weight info.date = day +self.setBounceInfo(member, info) syslog('bounce', '%s: %s current bounce score: %s', self.internal_name(), member, info.score) # Continue to the check phase below Hello, After another day has passed, I can confirm that this patch allows MysqlMemberships.py to be notified of the bounce scores. -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showfile=faq01.027.htp
Re: [Mailman-Developers] bounce info not updating in MM 2.1.11rc1 + patch
See the attached Bouncer.patch.txt file for the current patch. patch applied; is there a way to accelerate time like in the vimeo movie... or do I have to read the next four days of logs? :) -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showfile=faq01.027.htp
Re: [Mailman-Developers] Transformation of non-ascii characters - was: bounce problem w/ 2.1.11rc1 and GMail
There may be an issue with your MemberAdaptor. With OldStyleMemberships.py, accented characters are accepted and stored as themselves in the usernames dictionary. Yes you are correct Mark, this escaping is done by MysqlMemberships.py def escape(self, value): # transforms accents into html entities (#233;) # TODO: find out which language is current (here: uses iso-8859-1) value = Utils.uncanonstr(value) # addslashes before and ' return MySQLdb.escape_string(value) the difficulty is that MySQLdb.escape_string crashes if given non-ascii text. So I'm modifying MysqlMemberships.py (rev. 94) so that we canonstr() back in getMemberName(). However it's a not ideal; I don't like that idea very much as it means that inside the db it is stored as #232;. Should probably be utf-8. -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showfile=faq01.027.htp
[Mailman-Developers] bounce info not updating in MM 2.1.11rc1 + patch
Hi, (always with MysqlMemberships.py) I noticed that my bounce info stays in the database at level 1, even when the logs say current bounce score: 2.0 In Mailman/Bouncer.py I think that two self.setBounceInfo(member, info) are missing: --- Mailman/Bouncer.save.py 2008-06-16 10:00:17.0 +0200 +++ Mailman/Bouncer.py 2008-06-16 10:00:43.0 +0200 @@ -137,6 +137,7 @@ class Bouncer: if lastbounce + self.bounce_info_stale_after now: # Information is stale, so simply reset it info.reset(weight, day, self.bounce_you_are_disabled_warnings) +self.setBounceInfo(member, info) syslog('bounce', '%s: %s has stale bounce info, resetting', self.internal_name(), member) else: @@ -144,6 +145,7 @@ class Bouncer: # score and take any necessary action. info.score += weight info.date = day +self.setBounceInfo(member, info) syslog('bounce', '%s: %s current bounce score: %s', self.internal_name(), member, info.score) # Continue to the check phase below -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showfile=faq01.027.htp
[Mailman-Developers] my branch of Cgi/admin.py is now uptodate with 2.1.11rc1
Hello, as some of you know (Barry at least) I have a modified version of Cgi/admin.py which allows me to use the web interface on a 200 000 members list. The standard admin.py break way below this point. I hadn't upgraded it for ages, but here is now a version that integrates all changes (security fixes) that have been made on the official branch. I've tried to use bzr but no luck, versions seems incompatible between the debian one (0.11) and the repo (0.15) , so I'm still doing it the old way: http://trac.rezo.net/trac/rezo/browser/Mailman/Cgi/admin.py revision 93 is the integration of the security patches revision 15 is my patch I also have this idea that the Membership API lacks a search method; it ain't good to query all addresses from the database and regexp them one by one when we could ask the database to extract only those that match. This is why I also have a modified MemberAdaptor.py -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showfile=faq01.027.htp
Re: [Mailman-Developers] my branch of Cgi/admin.py is now uptodate with 2.1.11rc1
as some of you know (Barry at least) I have a modified version of Cgi/admin.py which allows me to use the web interface on a 200 000 members list. The standard admin.py break way below this point. I And a reference to the documentation: http://mail.python.org/pipermail/mailman-developers/2005-November/018282.html -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showfile=faq01.027.htp
Re: [Mailman-Developers] bounce problem w/ 2.1.11rc1 and GMail
Bounce recognition in 2.1.11rc1 is the same as in all the 2.1.10 beta, candidate and final releases. Hi Mark, in fact I was living with 2.1.6b (ouch!) up till today, and I had disabled the bounce processors; I just upgraded tonight and am checking logs and stuff... If it is a real bounce, send it to me, and I'll update the recognizers. Seem real. I'm sending them to you. Also, reading the code, I understand that the .getDeliveryStatusChangeTime method is not used anywhere (except in bin/export.py and Mailman/Commands/cmd_set.py); wouldn't it be sensible to remove it altogether? -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showfile=faq01.027.htp
Re: [Mailman-Developers] Potential solution to protecting email addresses in archive...
http://mailhide.recaptcha.net/ excellent Da href=http://mailhide.recaptcha.net/d?k=01Qtvu7BFKxAunezLXAq0QPA==amp;c=QjjpEgddAt0UK7mq_dl1B-AnlzQr8HHSAY7jwMSGwJ0=; onclick=window.open('http://mailhide.recaptcha.net/d?k=01Qtvu7BFKxAunezLXAq0QPA==amp;c=QjjpEgddAt0UK7mq_dl1B-AnlzQr8HHSAY7jwMSGwJ0=','','toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=500,height=300'); return false; title=Reveal this e-mail address.../a@Newfield.org window.open(this.href) will do :-) -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showfile=faq01.027.htp
Re: [Mailman-Developers] Styling patch
CSS_FILES = ['/css/mailman.css', '/css/custom.css'] JS_FILES = ['/js/switcher.js', '/js/foo.js'] I like it too. And we can do marvels with jQuery. -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showfile=faq01.027.htp
Re: [Mailman-Developers] Should we move to Bazaar?
Hi Barry, when I tried to do some work on Mailman, a while ago (a few years, in fact), I was not put off by the (then) CVS system used, but more by the fact that it seemed very difficult to get write priviledges (I didn't insist enough either, though I got the GNU assignment papers); and by the fact that the GNU requirements are quite strict, which lead me to wonder what was really mine in the patch I would have liked to offer (as it was inspired in part by someone else's patch). The ticket system at Sourceforge is/was almost unusable. So, in the end, I have my own little patch on my personal SVN server, which of course almost no one has read, and which evidently got outdated, and, well, will stay in that state until I find the time to upgrade it again, compare all by hand and test. I'm not sure a new versioning system can help for this kind of problem, but if it can, I'm all for it (though I don't really fancy learning yet another versioning system, as I'm very happy with SVN for my developments). Not really an answer, and a bit off-topic, sorry. :) HTH anyway -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showfile=faq01.027.htp
Re: [Mailman-Developers] Pickles begone
tried to modify the list options thu the web ui and got SQLError: (OperationalError) attempt to write a readonly database 'UPDATE List data SET bounce_processing=? WHERE Listdata.list_id = ?' [0, 2] Who and what is the owner and permission of data/mailman.db. [EMAIL PROTECTED]:~$ ls -al /usr/local/mailman22/data/ total 24 drwxrwsr-x 2 rootmailman 4096 2007-01-03 15:38 . drwxrwsr-x 21 mailman mailman 4096 2007-01-03 15:02 .. -rw-r--r-- 1 rootmailman 9216 2007-01-03 15:38 mailman.db -rw-rw 1 mailman mailman6 2007-01-03 15:33 master-qrunner.pid so i guess it was the same persmission problem I had on logs/* Are you accessing web ui via wsgi (HTTPRunner) or classic cgi? wsgi on localhost -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showfile=faq01.027.htp
Re: [Mailman-Developers] Pickles begone
logs and data and other writable directiory and files should be owned by mailman. We should be able to check them with bin/check_perms. Yep, it works. I thought make install would have set the permissions correctly -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showfile=faq01.027.htp
Re: [Mailman-Developers] Pickles begone
How do I fetch the dev branch, what set of commands do I use to install it and migrate a few lists. Nothing fancy, but precise urls and commands. Take a look at http://wiki.list.org/x/ogI and let me know what you think. OK; I was able to follow the instructions to the point of doing configure; make; make install. Here are my first glance/field notes: I had to tweak permisions on logs/* to be able to launch bin/mailmanctl start, as they had been created with g-w (the logs/ dir is correctly g+sxw) then i was able to create a list by using bin/newlist; it did create a directory in lists/[EMAIL PROTECTED]/ (empty directory) I found a sqlite db in data/mailman.db (I understand that to use a MySQL db I just need to create it and change the SQLAlchemy variable to reflect this db??) the web server launched ok on port 2580 (I guess I'll have to ProxyPass to it from apache, which is fine). It broke however when I tried to connect to it (put the list admin passwd, and got : UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 207: ordinal not in range(128) maybe because I chose french as default language (I then switched to english, created another list, and got to the web ui) tried to modify the list options thu the web ui and got SQLError: (OperationalError) attempt to write a readonly database 'UPDATE List data SET bounce_processing=? WHERE Listdata.list_id = ?' [0, 2] I haven't tried yet to convert an older list to the new system. -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showfile=faq01.027.htp
Re: [Mailman-Developers] Pickles begone
BTW, I'm hoping there will be some adventurous folks willing to test out the trunk. Don't use it for anything you care about, but at this point you should be able to export your MM2.1 lists and import them into the trunk. A mini how-to would help me become adventurous again :) How do I fetch the dev branch, what set of commands do I use to install it and migrate a few lists. Nothing fancy, but precise urls and commands. -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showfile=faq01.027.htp
[Mailman-Developers] MySQLMemberships.py
Hello, I have upgraded the MysqlMemberships.py member adaptor, so that it uses only one connection for all lists, and not one connection per list (as it did before). Everything works fine (only one day of operation though), except when the mysql link is broken (I stopped mysqld to check that). Then I get this error: self._prodServerConnection() File /var/local/mailman/Mailman/MysqlMemberships.py, line 132, in _prodServerConnection mm_cfg.connexion.close() _mysql_exceptions . ProgrammingError : closing a closed connection I guess I could use help from someone who knows more python than me. If you want to have a look at the code it's here: http://trac.rezo.net/trac/rezo/browser/Mailman/MySQLMemberAdaptor/MysqlMemberships.py -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showfile=faq01.027.htp
Re: [Mailman-Developers] MySQLMemberships.py
I have upgraded MysqlMemberships.py member adaptor once again, this time solving (I think) the problem of disconnection/reconnection when the link to the SQL server has died. In my tests it works fine (reconnects) when I kill the link with mysqladmin kill NNN However I don't know what strategy is good when you need to reconnect and the server is really dead. Here I die (and Mailman shunts the message); but couldn't it try to unshunt when MySQL wakes up? As usual if you want to have a look at the code it's here: http://trac.rezo.net/trac/rezo/browser/Mailman/MySQLMemberAdaptor/MysqlMemberships.py -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showfile=faq01.027.htp
[Mailman-Developers] a picture, and a problem with the Debian package
Hello, here's a nice picture. The answer is in the mail http://www.flickr.com/photos/[EMAIL PROTECTED]/172609494/ More seriously (or, maybe, less), I've spent a few minutes trying to figure out a problem a user was having (on irc). The problem was that she had configured the list to be in Spanish, but it kept sending welcome messages in English. I finally traced it to the Debian installation, which has weird symlinks: /var/lib/mailman/templates - /etc/mailman ls -al /etc/mailman/ total 36 drwxr-xr-x 4 root list 4096 2006-04-22 19:46 . drwxr-xr-x 95 root root 8192 2006-06-21 10:41 .. drwxr-xr-x 2 root root 4096 2005-10-04 18:17 en drwxr-xr-x 2 root root 4096 2006-02-10 17:46 fr that's 2 languages only! whereas /usr/share/mailman/ contains all the templates (including es/, which she linked into /etc/mailman/ and solved the problem) For me, if this is confirmed and not a weird thing on my and her Debian installation, it's a problem that should be solved. -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showfile=faq01.027.htp
Re: [Mailman-Developers] archiving size issue
To continue this thread I decided to start splitting the big listname.mbox files into something like archives/private/listname.mbox/listname-2006-06.mbox This will enable compression of the older mboxes, and proper archival without copying the whole 5Gb of archive each night. The patch would be, in Archiver.py: +import time -self.internal_name() + '.mbox') +self.internal_name() + time.strftime('-%Y-%m') + '.mbox') Do you think there can be some unintended consequence? I don't allow downloading of the raw .mbox file. -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showfile=faq01.027.htp
[Mailman-Developers] archiving size issue
Hello, my server's drive is saturated now and my problem #1 is with the mailing-list archives. I have a total of 5GB of archives in .mbox format... which make a whopping 12GB when you add the html-generated archives. This makes me think that we might have room for improvement here... either to archive on another computer (using ssh maybe?), or to generate the archive HTML pages on the fly (with proper caching of the thread structure of course). It would also help a lot if the Message-Id were part of the url, I think. I'm not looking for a solution, but hints would already be great. -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showfile=faq01.027.htp
[Mailman-Developers] update to MysqlMemberAdaptor
Hi everybody, there was a bug in my version of MysqlAdaptor, in the changeMemberAddress method: it has been corrected @ http://trac.rezo.net/trac/rezo/changeset/75 -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showfile=faq01.027.htp
Re: [Mailman-Developers] Hooks for external archivers
@ Gareth McCaughan [EMAIL PROTECTED] : Suppose you're using Mailman with a separate archiving system such as Lurker or mod_mbox or something. Then there are a few Is there some kind of tutorial on mod_mbox somewhere? I had never heard about this project and find the example lists no less than excellent -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showfile=faq01.027.htp
Re: [Mailman-Developers] GNU FSF Assignment
can someone point me to the procedure/documents needed to assign copyright to Barry^H^H^H^H^H the FSF ? I can't find them on Google or on the GNU project pages (??). Well, if you assigning your changes to me, it would be simple ('cause I wouldn't ask for assignment in the first place ;). But to assign your changes to the FSF, AFAIK, you have to email [EMAIL PROTECTED] and ask for the appropriate form. They don't answer their email. This is so very cool. -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showfile=faq01.027.htp
Re: [Mailman-Developers] GNU FSF Assignment
Sorry, y'all -- the copyright clerk has been out sick several days the OK. My apologies for having been so gross :( -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showfile=faq01.027.htp
[Mailman-Developers] GNU FSF Assignment
Hello, can someone point me to the procedure/documents needed to assign copyright to Barry^H^H^H^H^H the FSF ? I can't find them on Google or on the GNU project pages (??). -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showfile=faq01.027.htp
Re: [Mailman-Developers] Logging issues on the trunk
Also, if you're interested in working on Mailman 2.2, let us know. I'd like to get more people involved! I am interested; there are parts of my MySQL plugin patches that are unrelated to MySQL, but permit to make the UI better for big lists. -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showfile=faq01.027.htp
Re: [Mailman-Developers] MysqlMemberships.py
Hello, I have updated the MysqlMembership extension http://trac.rezo.net/trac/rezo/browser/Mailman/MySQLMemberAdaptor/MysqlMemberships.py I would appreciate it if someone could verify that this patch indeed potentially fixes the TypeError bug we used to get on some SetBounceInfo: http://trac.rezo.net/trac/rezo/changeset/72 (it was, I think, a question of priority between the + and % operators) As usual see the readme file @ http://trac.rezo.net/trac/rezo/browser/Mailman/ -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showfile=faq01.027.htp
Re: [Mailman-Developers] Mysql MemberAdaptor and Mailman 2.1.6
Fatal error connecting to MySQL database mailman (1040): Too many connections Exception exceptions.AttributeError: MysqlMemberships instance has no attribute 'cursor' in bound method MysqlMemberships.__del__ of Mailman.MysqlMemberships.MysqlMemberships instance at 0xb7b3884c ignored To resolve this problem, I restarted the MySQL server (which resides on the same host as the Mailman and Postfix server). Below is a MySQL 'show processlist' of the processes running (?) when this error was displayed. I think I have solved this issue in my version of the MySQLMemberAdaptor; it is available at http://trac.rezo.net/trac/rezo/browser/Mailman/ -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showamp;file=faq01.027.htp
Re: [Mailman-Developers] [Mailman-i18n] A better way of doing templates?
Very cool. I've also heard requests to reduce the tarball size by separating the languages out into separate downloads. Does anybody think that's worth doing? This has also been checked in. I'm going to try hack the release script to separate the languages from the main tarball. I personnally dissent from this idea; one great strength of free software is its internationalization open to everyone both in participating to translations and using them. Making them optional is making the software weaker. If the need for smaller tarballs is real (which I doubt, given the bandwidth and diskspace you need to run Mailman :-) ), one option could be, on the contrary, to have a seperate download link for people who *want* a mono-lingual (supposedly US-English?) Mailman. -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showamp;file=faq01.027.htp
[Mailman-Developers] you are removed message
re- I'm a bit annoyed by the fact that the you have been removed message is a one-liner subject-only email. Or have I been missing something? -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showamp;file=faq01.027.htp
[Mailman-Developers] unknown-charset = shunting
Hi, I find it unfortunate when Mailman shunts messages with an unknown charset. In this case I have: admin(29184): [- Mailman Version: 2.1.6b2 -] admin(29184): [- Traceback --] admin(29184): Traceback (most recent call last): admin(29184): File /var/local/mailman/scripts/driver, line 102, in run_main admin(29184): sys.__stdout__.write(tempstdout.getvalue()) admin(29184): IOError: [Errno 32] Broken pipe admin(29184): [- Python Information -] Nov 30 12:02:29 2005 (9795) Uncaught runner exception: unknown encoding: iso-8859-8-i Nov 30 12:02:29 2005 (9795) Traceback (most recent call last): File /var/local/mailman/Mailman/Queue/Runner.py, line 111, in _oneloop self._onefile(msg, msgdata) File /var/local/mailman/Mailman/Queue/Runner.py, line 167, in _onefile keepqueued = self._dispose(mlist, msg, msgdata) File /var/local/mailman/Mailman/Queue/CommandRunner.py, line 241, in _dispose res.do_command('join') File /var/local/mailman/Mailman/Queue/CommandRunner.py, line 139, in do_command return handler.process(self, args) File /var/local/mailman/Mailman/Commands/cmd_subscribe.py, line 88, in process h = make_header(decode_header(realname)) File /var/local/mailman/pythonlib/email/Header.py, line 144, in make_header h.append(s, charset) File /var/local/mailman/pythonlib/email/Header.py, line 272, in append ustr = unicode(s, incodec, errors) LookupError: unknown encoding: iso-8859-8-i -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showamp;file=faq01.027.htp
Re: [Mailman-Developers] MysqlMemberships.py
What sort of setting does the MySQL server you are running have for timing out idle connections? Could it be that you aren't hitting it often enough? In which case, going away a lot is normal. Right. It's optimized for apache (short connexions), so I guess it's normal :) -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showamp;file=faq01.027.htp
Re: [Mailman-Developers] MysqlMemberships.py
Unfortunately this still doesn't succeed reconnecting to the server: I get this traceback: File /var/local/mailman/Mailman/MysqlMemberships.py, line 141, in _prodServerConnection if self.connection.ping() == 0: OperationalError: (2006, 'MySQL server has gone away') A little bit of hacking makes this problem less painful, but I'm sure I got it wrong, or it is that my MySQL server goes away quite a lot. I don't know for sure, anyway, but if you're currently trying my version of MysqlMemberships.py you might want to update the patch is @ http://trac.rezo.net/trac/rezo/changeset/59 -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showamp;file=faq01.027.htp
Re: [Mailman-Developers] MysqlMemberships.py [was: Informal MEPprocess, anyone? [was: PHP Wrappers?]]
@ Fil [EMAIL PROTECTED] : I'm running the patch as is, and there's trouble. Here is the error log: OK, good. A quick fix is to add on line 153 self.cursor = self.connection.cursor() The correct fix would be to isolate the connection/reconnection procedure in a unique function, but that'll be for later. Unfortunately this still doesn't succeed reconnecting to the server: I get this traceback: File /var/local/mailman/Mailman/MysqlMemberships.py, line 141, in _prodServerConnection if self.connection.ping() == 0: OperationalError: (2006, 'MySQL server has gone away') -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showamp;file=faq01.027.htp
Re: [Mailman-Developers] MysqlMemberships.py [was: Informal MEPprocess, anyone? [was: PHP Wrappers?]]
I'm running the patch as is, and there's trouble. Here is the error log: OK, good. A quick fix is to add on line 153 self.cursor = self.connection.cursor() The correct fix would be to isolate the connection/reconnection procedure in a unique function, but that'll be for later. -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showamp;file=faq01.027.htp
Re: [Mailman-Developers] Informal MEP process, anyone? [was: PHP Wrappers?]
I'll admit I've been on the scene for only a few weeks, and I'd not like to speak for fil or Kev Green, but the MySqlMemberAdaptor they developed works fairly easily with the intended design of MemberAdaptor. You are spot on that they have a works for me flavor, and I look forward to more MemberAdaptors coming out. Well, it currently has a works *not* for me flavor and I'd appreciate som help on the two outstanding bugs I still have (in my version, but I guess Kev's version has them too). 1) if the DB connection dies or fades away, ping() is never called. I suspect this is due to the fact that the function self._prodServerConnection is not called with parenthesis. However if I add the parenthesis, I get bumped by an error because the function ping() itself does not exist at this point. 2) There's an issue with the bounce daemon not properly calling the __init__ sequence (or so it seems), and I get failures when I activate this daemon. In both cases, I'd appreciate feedback, a hint to documentation, plain tests or even a full patch :) *** As for the main topic of this thread, I think the issues of building a developers' community are very similar in many projects. In brief, you need to be familiar with the code to enter the community, and at the same time you almost need to belong to the developers' community to (have the incentive to) get familiar with the code. This kind of loop has plagued my main pet project for years, and we're trying to solve it by opening parts of the development, in two directions: 1) modular code (MemberAdaptors are a good idea, in this sense) 2) a common and open development platform for modules (imho SourceForge sucks) where people test each other's patches and cooperate a lot. -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showamp;file=faq01.027.htp
Re: [Mailman-Developers] Another take at MysqlMemberAdaptor + a migration utility
else feels like testing it, I have fairly silently uploaded the latest version (1.69) of it to the oRe Net Opensource pages, although that has only been tested to the point of a python syntax check pass. Thanks! I have upgraded my version (which is still very different from yours, as you notice), with those patches @ http://trac.rezo.net/trac/rezo/changeset/17 * Figure out how to make passwords work. Currently using ! as the default password, so that things don't barf, but that is probably not the right way to go about it. What is the Mailman equivalent of No password, etc? I guess you have to add a new random password. That is, something like self.setMemberPassword(user, Utils.MakeRandomPassword()) * PRIORITY: Database escaping, need to work out how to to this with the Python MYSQLdb module, after all it would only take a well-crafted email to raise merry hell as things are at the moment. I'm not sure what your're referring to. The MemberAdaptor is only called when the list exists, isn't it? So the only way to hack into the database would be to have weird chars in either the address (which is properly escaped, from what I saw), or the bi_cookie (which isn't, but I guess Mailman is crafting this one, isn't it?) * MYSQL_MEMBER_DB_WHERE so you can specify a WHERE x = y on all the queries in the database. ??? Like in WHERE home_made_delivery_status = 'enabled'? It could be useful in some situations, but probably on a list-per-list basis, not a global setting like this (well of course you can always set MYSQL_MEMBER_DB_WHERE from extend.py) There was another suggestion recently (on irc) to allow for lists of subscribers taken on the fly from a SQL query on any table; but then no subscriptions, no bounce processing and so on... This would add a lot of complexity. -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showamp;file=faq01.027.htp
[Mailman-Developers] Another take at MysqlMemberAdaptor + a migration utility
implemented, so it's more a design decision to be made by Barry and al. For some reason, I was biten by a weird bug that could only be solved by adding in Mailman/MailList.py the following line: @@ -385,6 +385,7 @@ class MailList(HTMLFormatter, Deliverer, +self.nonmember_rejection_notice = '' this might be due to the fact that I'm based on 2.1.6b and not the final version, or that I made an error during my hacking nights :) Anyway it might be worth a check. A trick --- The best (and only?) way to test this on a production server is to use the extend.py mechanism. In your test list directory (~mailman/lists/test/), just drop this file named extend.py: # import the MySQL stuff from Mailman.MysqlMemberships import MysqlMemberships # override the default for this list def extend(mlist): mlist._memberadaptor = MysqlMemberships(mlist) It's also immensely useful if you want to switch back and forth, for instance to use the migrate_to_mysql script, check the results, then go back to oldstyle to remove the oldstyle subscriptions. Finally --- I'd love to see this integrated in Mailman's standard distribution. I think Barry or Tokio must check all the changes, and discuss which ones might not be acceptable, and resolve copyright issues. I don't know why Kev Green's patch was left as is on SourceForge for a long while, as it's a common requirement to have a MySQL backend for Mailman. I hope this work will contribute to this issue. There was also a discussion lately on the list, about Kev's MysqlMemberAdaptor and bounces handling. The issues that were raised might continue (or not) to apply to my version of this Adaptor, and might call for a few more changes. Please read it, try it, and tell me. As everyone knows the SF site is not really easy to use for contributors as well as for readers; so I'm temporarily uploading the files on my SVN server; if someone wants to join and contribute I'll be happy to open write access. Everything is at: svn co svn://trac.rezo.net/rezo/Mailman/ and the web interface: http://trac.rezo.net/trac/rezo/browser/Mailman/ Enjoy! -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showamp;file=faq01.027.htp
Re: [Mailman-Developers] a patch to scale Cgi/admin.py
What it sounds like you really want in order to minimize database I/O is to implement an in-memory caching system on top of the various methods of the MemberAdaptor. So you'd have per MySQLMemberAdaptor object a dictionary keyed the same as the database table with dictionaries for the various fields per subscriber. If there is a KeyError when trying to access the dictionary, hit the database. If the database returns no rows, then you raise NotAMemberError or return whatever may be appropriate. I'd love to see it happen, but you also have to be careful (speaking of scaling, not for my own uses which are served at 300 k lists) of not reaching a memory limit. If your lists have 10 million subscribers (say), you don't want to load the whole list in memory just to retreive one address. This is the DB's job (ie MySQL itself, or OldStyleMemberAdaptor.py when using the usual db), not Mailman's job per se. In parallel I have another idea that could be somehow faster for the members page: instead of splitting the list into buckets, and restricting the display to a chunk of a bucket, just get rid of buckets, and chunk wherever in the list. And, in order to get the functionality of buckets back, just add the initial letters in the list of links to the different chunks. The links to a specific chunk would be styled as /members/[EMAIL PROTECTED] and the display test would be if ( addr = start ) { prepare the display } Not sure if my English makes sense, I'll just post the code when I'm done pythonizing the idea. I don't even know how to compare two strings in python, so it might take a little while :-D Note that this would lose no functionality: it may even be a bit more useful as UI for medium-sized lists of ~100 subscribers -- currently if your list holds 2 addresses starting by a, two by b and so on, you have to check 26 pages of subscribers, whereas you really need just two (the first 40, and the last 12). -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showamp;file=faq01.027.htp
Re: [Mailman-Developers] a patch to scale Cgi/admin.py
- 1) add a getMembersMatching(regexp) method (best, I think, as it can leverage foreign search methods, i.e. MySQL's SELECT WHERE name LIKE %s) I have implemented this for the MySQLMemberAdaptor, and it's a fabulous speed improvement. My question to Barry would be now: do I need to make this a compulsory method for the MemberAdaptor class (and declare this function in MemberAdaptor.py), like: def getMembersMatching(self, regexp): Get all the members who match regexp raise NotImplementedError or is it enough to just fall back to the previous algorithm in case this method doesn't exist (and then I need patch only admin.py and MySQLMemberAdaptor, which I have done)? -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showamp;file=faq01.027.htp
Re: [Mailman-Developers] Mysql MemberAdaptor 1.61 and Mailman 2.1.6
We are currently two on irc on the #mailman channel trying to install this patch on our respective systems. Could anyone drop by and/or tell us where to find the latest series of updated files? thanks in advance -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showamp;file=faq01.027.htp
Re: [Mailman-Developers] Mysql MemberAdaptor 1.61 and Mailman 2.1.6
There is an issue with the flat mode, when you create the db according to the README file and choose PRIMARY KEY (listname, address) MySQL brings up the following error : ERROR 1071: Specified key was too long. Max key length is 500 So in fact the initial definitions of address varchar(255) NOT NULL, listname varchar(255) NOT NULL, do not work, you need to get under the 500 limit (I chose to kepp 255 for the address, and 100 for the listname) -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showamp;file=faq01.027.htp
Re: [Mailman-Developers] Mysql MemberAdaptor 1.61 and Mailman 2.1.6
Okay I found out how to install this stuff for just one list (test list): use extend.py mechanism with: lists/test/extend.py containing the following lines: # import the MySQL stuff from Mailman.MysqlMemberships import MysqlMemberships # override the default for this list def extend(mlist): mlist._memberadaptor = MysqlMemberships(mlist) hope this helps -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showamp;file=faq01.027.htp
Re: [Mailman-Developers] Mysql MemberAdaptor 1.61 and Mailman 2.1.6
A lot of good work on this MySQLMemberAdaptor! If you think it can make things easier and faster I'm willing to open a subversion repository to develop Mailman patches and plugins. Please tell. (I already have one running multiple projects on my server, so one more cannot hurt. It uses trac as a web frontend) -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showamp;file=faq01.027.htp
Re: [Mailman-Developers] Mysql MemberAdaptor 1.61 and Mailman 2.1.6
As an aside question I would ask: do you notice speed improvement by switching to MySQL-based membership? I have a big list of ~180k subscribers and unfortunately it is now *very* difficult to use the web interface to unsubscribe people. Right now I have to resort to command-line instructions and it's not very practical. I wonder if I should not go the MySQL way, but I'm a bit worried about taking this risk to my databases (I'd hate to reconstruct 70+ lists from a backup). Especially if the switch does not bring a solution. I'd be happy to get advice and maybe even some help if things turn bad, from people who know this piece of patch. -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showamp;file=faq01.027.htp
Re: [Mailman-Developers] Patch for Mail Archive mirroring
I would see it that way, in the Archiving section of admin : Archiving on a foreign system : --- prevent archiving on foreign systems yes [] no [x] (adds a X-NO-Archive: header) if no, send all mails to archive on the following address(es): [ ] e.g. [EMAIL PROTECTED], [EMAIL PROTECTED], and so on see http://mail.org/foreign_archives/ for more information With this (and proper wording), I think you get the best of the functionality without the political problems. -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showamp;file=faq01.027.htp
Re: [Mailman-Developers] Patch for Mail Archive mirroring
The sequence of prevent no if no can be confusing. You are not wrong! Indeed! I can't disagree :) -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showamp;file=faq01.027.htp
Re: [Mailman-Developers] Mailman Usability
Same here. I am considering writing a wrapper in front of the admin pages, with _lots_ of buttons removed. (Don't hold your breath for that, though.) Perhaps a newbie/expert toggle on the interface would be helpful. Lots of listadmins at the site here are overwhelmed by the sheer _amount_ of buttons. Most people don't care about options. On my site I have tried to streamline the registration process: there is a popup window where you can type in your email, and sub/unsub (whether you are or not already subscribed). See for instance http://listes.rezo.net/popup/ (click on the first link). But the second most important place for usability is the welcome message, which is loaded with options and jargon. I have replaced it with (in French): -- %(welcome)s Votre adresse est inscrite sur la liste %(real_name)[EMAIL PROTECTED](host_name)s Merci. -- Pour vous désabonner, une page vous est réservée %(optionsurl)s %(umbrella)s Ce mot de passe empêchera quiconque de vous désabonner contre votre gré : %(password)s. Autres informations sur la liste %(real_name)s : %(listinfo_url)s But I still find it too complex; we should get rid of the password thing. People just nedd to know where they can see more options. As for the web interface, from what I've seen I think GoogleGroups has got the slickest interface for the moment. -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showamp;file=faq01.027.htp
[Mailman-Developers] bug in mailman 2.1.6b2
Hi, I just installed Mailman from CVS two days ago, and on a new list I just created I'm hit by a bug : http://listes.rezo.net/mailman/admin/spip-trac/privacy/sender Bug in Mailman version 2.1.6b2 We're sorry, we hit a bug! Please inform the webmaster for this site of this problem. Printing of traceback and other system information has been explicitly inhibited, but the webmaster can find this information in the Mailman error logs. the error log is attached -- Fil Feb 16 00:38:40 2005 admin(27737): admin(27737): [- Mailman Version: 2.1.6b2 -] admin(27737): [- Traceback --] admin(27737): Traceback (most recent call last): admin(27737): File /var/local/mailman/scripts/driver, line 101, in run_main admin(27737): main() admin(27737): File /var/local/mailman/Mailman/Cgi/admin.py, line 196, in main admin(27737): show_results(mlist, doc, category, subcat, cgidata) admin(27737): File /var/local/mailman/Mailman/Cgi/admin.py, line 520, in show_results admin(27737): form.AddItem(show_variables(mlist, category, subcat, cgidata, doc)) admin(27737): File /var/local/mailman/Mailman/Cgi/admin.py, line 569, in show_variables admin(27737): add_options_table_item(mlist, category, subcat, table, item) admin(27737): File /var/local/mailman/Mailman/Cgi/admin.py, line 584, in add_options_table_item admin(27737): val = get_item_gui_value(mlist, category, kind, varname, params, extra) admin(27737): File /var/local/mailman/Mailman/Cgi/admin.py, line 623, in get_item_gui_value admin(27737): value = getattr(mlist, varname) admin(27737): File /var/local/mailman/Mailman/MailList.py, line 145, in __getattr__ admin(27737): raise AttributeError, name admin(27737): AttributeError: nonmember_rejection_notice admin(27737): [- Python Information -] admin(27737): sys.version = 2.3.4 (#2, Dec 3 2004, 13:53:17) [GCC 3.3.5 (Debian 1:3.3.5-2)] admin(27737): sys.executable = /usr/bin/python admin(27737): sys.prefix = /usr admin(27737): sys.exec_prefix = /usr admin(27737): sys.path= /usr admin(27737): sys.platform= linux2 admin(27737): [- Environment Variables -] admin(27737): HTTP_REFERER: http://listes.rezo.net/mailman/admin/spip-trac/privacy/spam admin(27737): SERVER_SOFTWARE: Apache/1.3.33 (Debian GNU/Linux) PHP/4.3.10-2 admin(27737): SCRIPT_NAME: /mailman/admin admin(27737): SERVER_SIGNATURE: admin(27737): REQUEST_METHOD: GET admin(27737): PATH_INFO: /spip-trac/privacy/sender admin(27737): SERVER_PROTOCOL: HTTP/1.1 admin(27737): QUERY_STRING: admin(27737): HTTP_USER_AGENT: Mozilla/5.0 (Macintosh; U; PPC Mac OS X; fr-fr) AppleWebKit/125.5.6 (KHTML, like Gecko) Safari/125.12 admin(27737): HTTP_CONNECTION: keep-alive admin(27737): HTTP_COOKIE: site=280200695b87124273280034646330633934396138376235383136346131633865303236393031656439393238613838336637 admin(27737): SERVER_NAME: listes.rezo.net admin(27737): REMOTE_ADDR: 130.238.5.5 admin(27737): PATH_TRANSLATED: /var/shim/listes/Web/spip-trac/privacy/sender admin(27737): SERVER_PORT: 80 admin(27737): SERVER_ADDR: 217.24.84.2 admin(27737): DOCUMENT_ROOT: /var/shim/listes/Web admin(27737): PYTHONPATH: /var/local/mailman admin(27737): SCRIPT_FILENAME: /var/local/mailman/cgi-bin/admin admin(27737): SERVER_ADMIN: [EMAIL PROTECTED] admin(27737): SCRIPT_URI: http://listes.rezo.net/mailman/admin/spip-trac/privacy/sender admin(27737): HTTP_HOST: listes.rezo.net admin(27737): SCRIPT_URL: /mailman/admin/spip-trac/privacy/sender admin(27737): REQUEST_URI: /mailman/admin/spip-trac/privacy/sender admin(27737): HTTP_ACCEPT: */* admin(27737): GATEWAY_INTERFACE: CGI/1.1 admin(27737): REMOTE_PORT: 46927 admin(27737): HTTP_ACCEPT_LANGUAGE: fr-fr, ja;q=0.14, en-us;q=0.93, en;q=0.90, de-de;q=0.86, de;q=0.83, nl-nl;q=0.79, nl;q=0.76, it-it;q=0.72, it;q=0.69, es-es;q=0.66, es;q=0.62, da-dk;q=0.59, da;q=0.55, fi-fi;q=0.52, fi;q=0.48, ko-kr;q=0.45, ko;q=0.41, no-no;q=0.38 admin(27737): HTTP_ACCEPT_ENCODING: gzip, deflate;q=1.0, identity;q=0.5, *;q=0 admin(27737): UNIQUE_ID: QhKIANkYVAIAAGmh0DY ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showamp;file=faq01.027.htp
Re: [Mailman-Developers] bug in mailman 2.1.6b2
Looks like MailList.InitVars() is missing self.nonmember_rejection_notice = '' Thank you Mark and sorry for the inconvenience Fil. No problem; that's what betas are for :)) -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showamp;file=faq01.027.htp
Re: [Mailman-Developers] bug in mailman 2.1.6b2
Looks like MailList.InitVars() is missing self.nonmember_rejection_notice = '' If anyone else gets biten, here's how to fix the list: [EMAIL PROTECTED] bin/withlist -l spip-trac Loading list spip-trac (locked) The variable `m' is the spip-trac MailList instance m.nonmember_rejection_notice = '' m.Save() ^D -- Fil ___ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=showamp;file=faq01.027.htp
Re: [Mailman-Developers] locking and big lists
In fact mailman (CVS) will not send probes if VERP_PROBES = No. :-) What's weird now is that it processes things just as if it was sending probes, but indeed, in fact it doesn't send them. That's not solving my problem of CPU/lock :-) logs/bounce is full of: Oct 29 09:41:59 2004 (21355) [EMAIL PROTECTED]: info-diplo current bounce score: 3.0 Oct 29 09:41:59 2004 (21355) sending info-diplo list probe to: [EMAIL PROTECTED] (score 3.0 = 3.0) Are you sure you restart mailman qrunners ? Yes. But I hadn't updated the CVS :-) Sorry for the trouble -- Fil ___ Mailman-Developers mailing list [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/mailman-developers Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org
[Mailman-Developers] locking and big lists
Hello, I have had a big problem with Mailman yesterday and today: two or three hours after I sent out my big list message (150 000 subscribers), Mailman started to spend all its time using CPU, for ages. In fact, it was the bounce runner that had started to send out the probe messages, one by one, making VirginRunner lock the list repeatedly, and holding the lock for 15s each time. Meanwhile the web admin interface was unreachable (for that list), and other scripts waited and failed. I finally looked everywhere to find out what was happening, and cleaned up the qfiles/virgin/ queue of all the probes, and waited another two hours for the qflies/command/ queue to empty... not very good. As I have a very big server (4 CPUs, 6Gbytes of RAM), I suppose that only a MySQL-backed Mailman would answer this problem. How far is it from being usable? -- Fil ___ Mailman-Developers mailing list [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/mailman-developers Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org
Re: [Mailman-Developers] locking and big lists
You may want to disable VERP_PROBES by update your mailman to the latest CVS. It was introduced in 2.1.5 but made optional for backward compatibility. I remember you have updated around 16 Oct but CVS commit was done 22 for this fix. (Remember you need specify Release_2_1-maint) In fact I would like to disable probes altogether, on all lists. Is this with a cron job, or with the bounce runner ? -- Fil ___ Mailman-Developers mailing list [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/mailman-developers Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org
Re: [Mailman-Developers] locking and big lists
Have you put your entire spool filesystem on solid-state disk, or at least very high capacity multi-spindle RAID 1+0 arrays with high speed battery-backed controllers with large quantities of write-back cache? I don't understand this language, sorry. We have just upgraded the I/O capacity of the server, and it's working fine with every other piece of software, no problem with postfix handling tons of emails for example. But still when we're talking about a 15-60 seconds lock for each subscriber, even if we could have the hardware go twice faster, it's way too slow. That's why I believe only the database backend can help (or any other software modification). What's especially wierd is that probe sending is very costly, but personalization or VERP-delivery is not that costly. -- Fil ___ Mailman-Developers mailing list [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/mailman-developers Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org
[Mailman-Developers] this mail-gid problem
Hi, there is something really nasty about the way postfix chooses its UID/GID (recall: it's based on the UID of the alias file where the alias has been taken from). So if you have a somewhat complex configuration, you can have postfix invoke the mailman command from two different aliases files (/etc/aliases and /var/local/mailman/data/aliases), which don't necessarily have the same UID. And then you're toast by Mailman gid check. I would like to know if this check can be expanded to list all GID that mailman will accept? Or if I should just be more carful in setting up my system? :) The question is really a FAQ, but the answer is not fully satisfying. README.POSTFIX says: - When you configure Mailman, use the --with-mail-gid=mailman switch (actually, this will be the default if you configured Mailman after adding the `mailman' owner). Because the owner of the aliases.db file is `mailman', Postfix will execute Mailman's wrapper program as uid and gid mailman. I'd like to have either the possibility of configuring: --with-mail-gid=mailman,nogroup or an update in the README.POSTFIX file saying, more explicitly, that all mailman calls from postfix should be done through aliases files that all belong to the same user (mailman) that has the mailman GID... but I'm not sure of the wording that should be used - so weird is this. -- Fil ___ Mailman-Developers mailing list [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/mailman-developers Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org
[Mailman-Developers] get_sender ?
I've just upgraded my system to CVS, and I get this: Oct 16 11:26:36 2004 (19525) Uncaught runner exception: 'str' object has no attribute 'get_sender' Oct 16 11:26:36 2004 (19525) Traceback (most recent call last): File /var/local/mailman/Mailman/Queue/Runner.py, line 111, in _oneloop self._onefile(msg, msgdata) File /var/local/mailman/Mailman/Queue/Runner.py, line 159, in _onefile sender = msg.get_sender() AttributeError: 'str' object has no attribute 'get_sender' -- Fil ___ Mailman-Developers mailing list [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/mailman-developers Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org
Re: [Mailman-Developers] get_sender ? + .get ?
I've just upgraded my system to CVS, and I get this: Oct 16 11:26:36 2004 (19525) Uncaught runner exception: 'str' object has no attribute 'get_sender' Oct 16 11:26:36 2004 (19525) Traceback (most recent call last): File /var/local/mailman/Mailman/Queue/Runner.py, line 111, in _oneloop self._onefile(msg, msgdata) File /var/local/mailman/Mailman/Queue/Runner.py, line 159, in _onefile sender = msg.get_sender() AttributeError: 'str' object has no attribute 'get_sender' I have corrected this by removeing the offending line (which selects the user language)... and now Mailman is processing old bounce files and I get lots of the following: keepqueued = self._dispose(mlist, msg, msgdata) File /var/local/mailman/Mailman/Queue/BounceRunner.py, line 182, in _dispose if msg.get('to', '') == Utils.get_site_email(extra='owner'): AttributeError: 'str' object has no attribute 'get' -- Fil ___ Mailman-Developers mailing list [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/mailman-developers Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org
[Mailman-Developers] small scubber issue
I've just tried the scrubber, and Apple's Mail does a bad job parsing the message's scrubbed URL (that is followed with the signature), so the hits went to Oct 16 15:02:44 2004 (29099) Private archive file not found: /var/local/mailman/archives/private/listes/attachments/20041016/3557b8e1/villaasen.jpg___ The underscores are the signature's first line -- Fil ___ Mailman-Developers mailing list [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/mailman-developers Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org
Re: [Mailman-Developers] Piping Mailman's HTML through PHP
Right now I moved all the programs in /usr/local/mailman/cgi-bin to /usr/local/mailman/cgi-bin.orig, then created shell scripts in cgi-bin that look like this: --- start file: listinfo --- #!/bin/sh ../cgi-bin.orig/listinfo | /usr/bin/php --- end file: listinfo --- That's all there is to it. Now I can add PHP directives in Mailman's HTML code, and they get parsed. And what if I send an HTML file to your list with php code included? You get a security issue here. Better way in my view is to write a wrapper script in php, that does the graphics and such things, then pushes the web page. You get the wrapper to work in lieu of the cgi by configuring Apache to do so (RewriteRule, or Alias). -- Fil ___ Mailman-Developers mailing list [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/mailman-developers Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org
Re: [Mailman-Developers] Piping Mailman's HTML through PHP
Better way in my view is to write a wrapper script in php, that does the graphics and such things, then pushes the web page. You get the wrapper to work in lieu of the cgi by configuring Apache to do so (RewriteRule, or Alias). This is an idea. Frames is another. But if you want to have access to the Mailman substitution tags as well as PHP then these ideas don't work. Oh yes it can work: just use ?php $page = file('http://localhost/cgi/pipermail.'); ? and you'll get (through http) the file processed by Mailman's CGI, which you can then process by php. I do that, for example, to generate the list of lists at http://listes.rezo.net/listes.php -- Fil ___ Mailman-Developers mailing list [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/mailman-developers Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org
[Mailman-Developers] interface dreams
As a list admin, I dream of a roster interface that would help me go fast when I have 10 people to subscribe and 10 to remove because they don't know better than Reply-ing to me. I can make it up with php, with a box for search, another for add users, another for remove users, and so on (change address). However there's something that could be very useful, that would be search fuzzy matches, for instance if [EMAIL PROTECTED] writes to me saying that he needs to be unsubscribed, I can't easily locate his subscription if it's under [EMAIL PROTECTED]. Any idea on how to do this? -- Fil ___ Mailman-Developers mailing list [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/mailman-developers Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org
Re: [Mailman-Developers] Alternate user (and admin) interfaces
these, and is rather overwhelming as a result. Since I haven't found other people making these interfaces, I'm guessing: (a) I'm not looking in the right places, (b) people are doing this but not sharing their results, (c) and it's so easy they don't even need to ask public questions about it, (d) or it's so hard they give up quickly, (e) or it's easy but fragile, and people create lots of prototypes but nothing serious, (e) or everyone lacks the imagination or interest to try. I'd say (d). Personnaly I've made a php subscribe/unsuscribe popup page for my site, check it out at http://listes.rezo.net/popup/ -- Fil ___ Mailman-Developers mailing list [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/mailman-developers Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org
Re: [Mailman-Developers] VERPing: ouch!
I think there's a small design flaw with the once-in-a-wile VERPing scheme. My biggest list is 180k subscribers, and I've set up Mailman to VERP once every 10th message. Well, it happened today that the big list was hit by its VERP time, and it's a bit awful - it looks like the list has taken control of Mailman, and no other mail can pass through it. In fact I bragged: it's only 152991 subs :) Here's the smtp log line: Jul 13 02:05:22 2004 (435) [EMAIL PROTECTED] smtp for 152991 recips, completed in 31782.241 seconds At 02:05 suddenly all the other messages that were waiting to be sent were sent, and the server went into unstable mode (my graphics logs did panic for a while), then everything reverted to normal. In any case, 2 seconds per VERP message for such a big list is too costly, so I'll just disable VERPing the normal messages for now - with the price of not being able to clean the list as efficiently as I could with the occasional VERP. I hope this feedback can be useful, if you have scalability in mind for MM3. -- Fil ___ Mailman-Developers mailing list [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/mailman-developers Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org
Re: [Mailman-Developers] VERPing: ouch!
for 152991 recips, completed in 31782.241 seconds How does this compare to a normal, non-VERPed delivery for this list? grep -E 1. recips logs/smtp May 27 16:43:46 2004 (440) [EMAIL PROTECTED] smtp for 151942 recips, completed in 1231.438 seconds Jun 11 19:05:45 2004 (440) [EMAIL PROTECTED] smtp for 152333 recips, completed in 649.634 seconds Jun 30 15:39:26 2004 (435) [EMAIL PROTECTED] smtp for 152717 recips, completed in 428.891 seconds Jul 13 02:05:22 2004 (435) [EMAIL PROTECTED] smtp for 152991 recips, completed in 31782.241 seconds I ask because Chuq Von Rospach has done some calculations on what should theoretically happen to your performance if you enable VERP, but I don't know of anyone who has actually timed the performance difference on large lists. Usually the sending (mailman to postfix to 90% of users) takes a bit more than two hours ; yesterday it took about 6 hours. But more importantly, the Mailman - postfix thing took 5 hours instead of ~ 15 minutes. This is really more of an MTA limitation, although there might be some things we can do to try to work around it with Mailman. For example, it might be faster/lower overall load on the server if we had the MTA do the VERPing for us -- we're pretty sure that's supported by some MTAs (e.g., at least some versions of Exim), and we know it's faster for at least some of them (e.g., Exim). Probably, yes. I don't konw if postfix can do it on demand, though there is http://www.postfix.org/VERP_README.html -- Fil ___ Mailman-Developers mailing list [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/mailman-developers Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org
Re: [Mailman-Developers] VERPing: ouch!
For example, it might be faster/lower overall load on the server if we had the MTA do the VERPing for us -- we're pretty sure that's supported by some MTAs (e.g., at least some versions of Exim), and we know it's faster for at least some of them (e.g., Exim). Sorry, for postfix indeed it might be much easier to do it this way: http://www.postfix.org/VERP_README.html#smtp the only change between non-verp and verp call to the SMTP server is to replace MAIL FROM:[EMAIL PROTECTED] by MAIL FROM:[EMAIL PROTECTED] XVERP=+= -- Fil ___ Mailman-Developers mailing list [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/mailman-developers Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org
Re: [Mailman-Developers] VERPing: ouch!
Here's the smtp log line: Jul 13 02:05:22 2004 (435) [EMAIL PROTECTED] smtp for 152991 recips, completed in 31782.241 seconds .../... In any case, 2 seconds per VERP message for such a big list is too costly, Someone kindly told me this makes only 0.2s /message, not 2 seconds -- Fil ___ Mailman-Developers mailing list [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/mailman-developers Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org
Re: [Mailman-Developers] VERPing: ouch!
But more importantly, the Mailman - postfix thing took 5 hours instead of ~ 15 minutes. What system metrics spiked during this time? None! 160K/5 hours is a delivery rate of less than 600 per minute. That's one message every 10+ seconds which is quite slow. Even if you double that (receipt and transmission) that's only 1,200 per minute which is still dawdling territory. Your MTA should have been able to keep that spool empty while twiddling its thumbs. Yes, the MTA *was* twiddling its thumbs, and the system too... and as Mailman's daemon was sending one VERP msg at a time, it was not processing the usual incoming stuff, and not delivering the other lists. I got a nice spike at the end of the 5 hour period, when all the msgs that were kept waiting suddenly jumped in :-) -- Fil ___ Mailman-Developers mailing list [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/mailman-developers Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org
Re: [Mailman-Developers] VERPing: ouch!
Yes, the MTA *was* twiddling its thumbs, and the system too... and as Mailman's daemon was sending one VERP msg at a time, it was not processing the usual incoming stuff, and not delivering the other lists. v2.x or v1.x? version 2.1.5b1 I thought v2 chunked the queue processing... Hurm, if it doesn't it should and that's an easy enough fix. From what I read we're in SMTPDirect.py : def process(mlist, msg, msgdata): this function does process all recipients (in chunks if not VERP) consecutively, before exiting. We spent 5 hours in its main loop for that one message. -- Fil ___ Mailman-Developers mailing list [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/mailman-developers Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org
Re: [Mailman-Developers] VERPing: ouch!
Sorry, for postfix indeed it might be much easier to do it this way: http://www.postfix.org/VERP_README.html#smtp the only change between non-verp and verp call to the SMTP server is to replace MAIL FROM:[EMAIL PROTECTED] by MAIL FROM:[EMAIL PROTECTED] XVERP=+= I don't know what this would do for performance with postfix (relative to having Mailman do the VERPing), but it would certainly be interesting to find out. Can you modify your code so as to generate this modified string, and see what happens? It's not so easy for me: it's a production server, and I'm bad at python :) Moreover, and more importantly, what needs to be done is first to test the presence of XVERP in the SMTPd server we connect to. Postfix does not enable it by default. Then check if the message wants to be VERP (but not decorated). Then only ask XVERP from the MTA. Too ambitious for me... -- Fil ___ Mailman-Developers mailing list [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/mailman-developers Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org
[Mailman-Developers] VERPing: ouch!
Hi, I think there's a small design flaw with the once-in-a-wile VERPing scheme. My biggest list is 180k subscribers, and I've set up Mailman to VERP once every 10th message. Well, it happened today that the big list was hit by its VERP time, and it's a bit awful - it looks like the list has taken control of Mailman, and no other mail can pass through it. I think it might be wiser to say every 10th recipient is VERPed at each sending, than what we have now. Of course, it needs rotating things, or randomizing them, so it's not a two-lines of code I guess. Meanwhile I'll just have to disable VERP for this list (or for the whole server). -- Fil ___ Mailman-Developers mailing list [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/mailman-developers Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org
Re: [Mailman-Developers] subzero?
...mailing list has -1 request(s) waiting for your consideration at: That's kinda funny... now how am I supposed to approve -1 messages? Just refuse +1 message :) I have the same bug. The -1 disappears once you go click on the view the -1 messages on the admin page. -- Fil ___ Mailman-Developers mailing list [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/mailman-developers Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org
[Mailman-Developers] trad-lang
Hi, a while ago we talked about the translation script we develop and use for SPIP (www.spip.net); there was some interest on this list, so here's a small update: trad-lang now has its own webpage, at http://eledo.com/download/trad_lang but the best news is that there's a demo: http://www.eledo.com/demo-trad-lang/trad-lang/trad_lang.php log in as demo/demodemo The next release will be able to export files in any format (.po among others). -- Fil ___ Mailman-Developers mailing list [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/mailman-developers Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org
Re: [Mailman-Developers] Re: [Mailman-Users] external archiver
pipermail or mbox, both or none of these. The mbox file is stored at $ARCHIVE_PATH/private/mylist.mbox/mylist.mbox, is this correct? Yes ; and it's a pity that it's not stored in a Maildir format, which would ease many things, especially backups and web-scripts to tap the archives (the static mhonarc-like thing is really old-fashioned). -- Fil ___ Mailman-Developers mailing list [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/mailman-developers Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org
Re: [Mailman-Developers] Mailman + postfix + amavisd-new HOWTO
This'd be a great thing to have linked in the FAQ (as well as our Thanks. I've put in in section 6 (integration issues). There are still some things to check: for example, if you look carefully the regexp I use, it is too simple, as you can send viruses and spam to the address [EMAIL PROTECTED] by abusing the + delimiter, such as in: [EMAIL PROTECTED] And I still have no clue if the number of amavis processes is right. Today I sent out 4 emails, and the pipe was clogged for about 15 minutes. Will try next month with a bit more :-) If I understand correctly, this FAQ is editable by anyone? So feel free to update and annotate the file, but in that case please email me. -- Fil ___ Mailman-Developers mailing list [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/mailman-developers Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org
[Mailman-Developers] Mailman + postfix + amavisd-new HOWTO
Mailman + postfix + amavisd-new HOWTO - by Fil fil AT rezo.net 8/04/2004 - This is a first draft. Comments are welcome. This file is released under the GNU Free Documentation License (FDL, see below). INTRODUCTION: Installing the antispam/antivirus amavisd-new on a mailing-list server poses a serious performance issue: when the server sends out thousands of emails to the mailing-list subscribers, some of these subscribers return bounce messages, which can number in the hundreds and might clog the antivirus daemon if you're not careful. Here's how we do it on http://listes.rezo.net/ 1) Before all, make sure you run postfix v2.x, otherwise the FILTER feature will not be here. Configure postfix so that it accepts scanned messages from amavisd-new on localhost:10025 Add to /etc/postfix/master.cf the following lines: localhost:10025 inet n - n - - smtpd -o content_filter= -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_restriction_classes= -o smtpd_client_restrictions= -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o mynetworks=127.0.0.0/8 -o strict_rfc821_envelopes=yes -o smtpd_error_sleep_time=0 -o smtpd_soft_error_limit=1001 -o smtpd_hard_error_limit=1000 2) Configure amavisd-new the usual way, so that it accepts incoming mail on localhost:10024 (or any other port you choose) and sends it back into the mail queue via localhost:10025; this is very standard, but I guess the settings is as follows, in /etc/amavis/amavis.log: $inet_socket_port = 10024; @inet_acl = qw( 127.0.0.1 ); $max_servers = 2; # two servers max at the same time 3) Define a smtp-amavis service on postfix, so that it can be invoked later: Add to /etc/postfix/master.cf: smtp-amavis unix - - n - 2 lmtp -o smtp_data_done_timeout=1200 Note here that the maximum number of processes running in parallel (2) is the same as in the amavisd-new configuration. You can increase both a bit if you experience delays in delivery because of amavis, but that's out of the scope of this HOWTO. 2 is fine for us, with a daily average of 10 emails to check per minute (and a powerful computer). 4) Test your filter by sending messages locally through SMTP:10024 5) Configure postfix to send all emails through the filter EXCEPT those messages that are only addressed to a list-bounces address : Create the address regexp in /etc/postfix/amavis_check (do 'man regexp_table' to get more information): !/-bounces@(my\.domain\.tld|other\.domain\.net)$/i FILTER smtp-amavis:[127.0.0.1]:10024 Modify /etc/postfix/main.cf to have the check_recipient_access use this regexp table: smtpd_recipient_restrictions = permit_mynetworks check_client_access hash:$config_directory/access reject_unauth_destination check_recipient_access regexp:$config_directory/amavis_check # other UCE checks here 6) You're done. Check your log files and enjoy an almost spam- and virus-free server. 7) Now you can focus on the viruses and politics that kill people in the real world, and read Global Aids: Myths and Facts by Alec Irwin and Joyce Millen, published by South End Press. REFERENCES: Amavisd-new: http://www.amavis.org/ Mailman: http://www.list.org/ postfix: http://www.postfix.org/ Copyright (c) 2004 PHILIPPE RIVIERE. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. ___ Mailman-Developers mailing list [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/mailman-developers Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org
Re: [Mailman-Developers] How to remove X-Confirm-Reading requests from mail headers distributed by Mailman?
Is there any way to setup mailman to stop distributing X-Confirm-Reading- To requests sent by some list users? I would do it inside postfix header_checks filters, with a line like /^X-Confirm-Reading-To: / IGNORE If you're using some other MTA, or want this setting to be only for Mailman, I don't know. -- Fil ___ Mailman-Developers mailing list [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/mailman-developers Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org
Re: [Mailman-Developers] sleep() after sending a chunk?
I'd really love to add somme sleep() function just after the deliveryfunc() call, something that would set Mailman to sleep about 1/10th of a second per recipient. I just don't see the point of this. You may have stopped a large list inject being so aggressive on CPU usage, but you have increased the lifetime of processes by a factor of 30 or so (on your figures), and so increased the memory pressure and likelihood of swapping etc due to processes being just as fat but lasting longer. The process we're talking about is OutgoingRunner, which is always in memory. I don't mind keeping the whole list in RAM -- I have 3 Gb, and the list (and chunks) probably eat up something like twice the size of the config.pck file, so about 44Mb. The only problem I see is if the list were locked during all that time, but I don't think (from what I understand from the code) that it is. Your users may notice the big lists getting much slower - and having deliveries smeared over a much longer period. Well that's already the case as postfix (my MTA) has 150 K messages to deliver, isn't it? But right now Mailman injects everything into postfix w/o considering that it might explode the load and system hit. It's brutal, with the load going to 25, and CPU to 70% (and I have a very nice machine, a brand new quadri-processor thing :-] ). You may find you have made things less efficient by having 2 deliveries to a single list slowed down so that different messages to the same recipient can no longer be put in the same SMTP session (if your MTA does that). I'm not sure postfix does that, no. And it's not really relevant in this case, as I really only have ONE big list with ONE message to send (and alot of small lists and normal emails to try to sneak through if possible). For that matter can multiple deliveries be made against the same list at the same time? Why not just run the cron jobs under nice instead? What cron jobs? Sure I can renice the OutgoingRunner, but it won't change much (except that it will get swapped first if something needs to get swapped). -- Fil ___ Mailman-Developers mailing list [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/mailman-developers Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org
Re: [Mailman-Developers] sleep() after sending a chunk?
If it's 150,000 recipients, with SMTP_MAX_RCPTS = 900, then that's really just 167 messages, each addressed to multiple recipients (up to 900). For the record, I must admit it was a huge mistake, because the SMTP connexion is reset after 15 minutes. So Mailman backs off, and waits, and almost nothing comes out. After 5 hours, I had to stop the whole thing, and kill the mail. Now I'm cleaning :( -- Fil ___ Mailman-Developers mailing list [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/mailman-developers Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org
[Mailman-Developers] ouch !
Mar 29 17:43:45 2004 (13635) [EMAIL PROTECTED] smtp for 150082 recips, completed in 570.064 seconds The strange thing is that my settings should not allow 150 0882 recips (which is the total number of subscribers), as I have set SMTP_MAX_RCPTS = 900 Is it a logging feature ? -- Fil ___ Mailman-Developers mailing list [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/mailman-developers Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org
[Mailman-Developers] sleep() after sending a chunk?
OK, I've located the SMTP thing in SMTPDirect.py, lines while chunks: chunk = chunks.pop() msgdata['recips'] = chunk try: deliveryfunc(mlist, msg, msgdata, envsender, refused, conn) I'd really love to add somme sleep() function just after the deliveryfunc() call, something that would set Mailman to sleep about 1/10th of a second per recipient. I don't know any python, but I guess it would be something like while chunks: chunk = chunks.pop() msgdata['recips'] = chunk try: deliveryfunc(mlist, msg, msgdata, envsender, refused, conn) sleep(sizeof(chunk)/10) Can someone help with the code? I'll test the concept :) -- Fil ___ Mailman-Developers mailing list [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/mailman-developers Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org
[Mailman-Developers] bug in sync_members ?
Hi, when I try to sync_members with a certain file, I get hundreds of these: File /var/local/mailman/pythonlib/email/_parseaddr.py, line 242, in getaddress returnlist = returnlist + self.getaddress() fooowed by: File /var/local/mailman/pythonlib/email/_parseaddr.py, line 320, in getaddrspec return EMPTYSTRING.join(aslist) + self.getdomain() File /var/local/mailman/pythonlib/email/_parseaddr.py, line 338, in getdomain sdlist.append(self.getatom()) RuntimeError: maximum recursion depth exceeded -- Fil ___ Mailman-Developers mailing list [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/mailman-developers Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org