summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* A nimda example.bwarsaw2002-01-261-0/+1050
|
* Script for easier command line injection of a message into a Mailmanbwarsaw2002-01-260-0/+0
| | | | queue.
* intermediatebwarsaw2002-01-261-0/+103
|
* do_output(): Make the MMListError error message consistent with otherbwarsaw2002-01-261-3/+3
| | | | scripts.
* Add the `inject' script.bwarsaw2002-01-261-2/+2
|
* get_switchboard(): Code cleanup. _sbcache does not need to bebwarsaw2002-01-261-2/+1
| | | | declared global.
* dequeue(): Handle the case when the email package throws abwarsaw2002-01-261-1/+17
| | | | | | | | | | MessageParseError during parsing of the message. Most likely cause is because of bad MIME encapsulation. /That's/ likely caused by the message being a virus <wink>. Disposition depends on QRUNNER_SAVE_BAD_MESSAGES. When true, the message text is saved in qfiles/bad. When false, it is discarded. We always log the error.
* _dispose(): The mlist.Save() call should be in the try: block, sincebwarsaw2002-01-261-1/+1
| | | | | not making it to the end of the try ought to be morally equivalent to an aborted transaction.
* inject(): Extend the signature of the function so that we can pass inbwarsaw2002-01-261-4/+6
| | | | the queue directory to inject to, defaulting to qfiles/in.
* Added new configuration variables BADQUEUE_DIR andbwarsaw2002-01-261-0/+8
| | | | | | QRUNNER_SAVE_BAD_MESSAGES. The latter controls what Mailman should do when it encounters a parse error on the email message (likely because of bad MIME encapsulation, itself likely because it's a virus).
* Add the bin/inject script.bwarsaw2002-01-262-2/+4
|
* Binary message catalog for Russian translation.bwarsaw2002-01-251-0/+0
|
* preliminary russian translation for templatesmss2002-01-2537-0/+1389
|
* changed the versionmss2002-01-250-0/+0
|
* first cut for the russian messagesmss2002-01-251-0/+6839
|
* Update to reflect the change in the english template.avalon2002-01-231-3/+6
|
* scanbody(): In Python 2.2, email.Iterators.body_line_iterator() willbwarsaw2002-01-231-2/+2
| | | | | return a generator, which doesn't have a pop() method. Always convert it to a concrete list object first.
* Sigh. This template has to change to reflect the new sematics for thebwarsaw2002-01-231-7/+10
| | | | | | interpolation variables that are allowed in headers and footers. Translators: this needs updating.
* decorate(): It's simply too easy to write %(foo)s strings that canbwarsaw2002-01-231-6/+19
| | | | | | trick Python into potentially revealing too much information. So instead of using the MailList's __dict__ and removing known sensitive entries, we create a whitelisted dict with only known safe entries.
* Updates to module docstring.bwarsaw2002-01-231-2/+2
|
* Some added robustness for corruption of the requests.db file.bwarsaw2002-01-231-3/+16
| | | | | | | | __opendb(): Catch EOFError that marshal.load() could throw. In that case, log the error and blow away the old database. __closedb(): A more robust save of the requests.db file. Save to a temp file first and then atomically os.rename() it to the real file.
* main(): Don't check for `request_login' in the cgi form data, becausebwarsaw2002-01-221-1/+1
| | | | that key is obsolete.
* main(), change_options(): Don't check for `request_login' in the cgibwarsaw2002-01-221-13/+4
| | | | | form data, because that key is obsolete. In change_options(), removed Scott's way old comment since I think it's no longer applicable.
* Remove some recently added features.bwarsaw2002-01-211-18/+4
|
* Add an entry about the new moderated member options.bwarsaw2002-01-211-0/+5
|
* GetConfigInfo(): Add list configuration attributesbwarsaw2002-01-211-2/+26
| | | | | member_moderation_action and member_moderation_notice. Also, add a separator for "Member filters" vs. "Non-member filters".
* NewVars(): Pick up new list attributes member_moderation_action andbwarsaw2002-01-211-0/+4
| | | | member_moderation_notice.
* DATA_FILE_VERSION: Bump to pick up new list attributesbwarsaw2002-01-211-1/+1
| | | | member_moderation_action and member_moderation_notice.
* InitVars(): Add new list attributes: member_moderation_action andbwarsaw2002-01-211-0/+5
| | | | member_moderation_notice.
* Some elaboration of the member moderation flag semantics. Now it'sbwarsaw2002-01-211-2/+25
| | | | | | | | | | | | | | | possible to assign an action to the flag, which ought to work better for e.g. announce-only lists. Specifically, process(): If we're looking at a member and that member has their moderation flag turned on, then we look at mlist.member_moderation_action. This is a 3-way selector specifying whether the message should be held for approval, rejected (bounced), or discarded. There's also a member_moderation_notice attribute which includes text to send back to the member when their posting is automatically rejected (WIBNI we could include that text in any held or discard notification? Too much code disruption to do that right now).
* _dopipeline(): When discarding a message, log its Message-ID: to logs/vettebwarsaw2002-01-211-1/+3
|
* Latest Spanish templates from Juan Carlos Rey Anayabwarsaw2002-01-182-24/+16
|
* Updatesbwarsaw2002-01-184-12/+34
|
* getDeliveryStatusMembers(): Fixed docstring, given by Dan Mick.bwarsaw2002-01-181-2/+2
|
* Latest Spanish updates from Juan Carlos Rey Anaya.bwarsaw2002-01-182-4/+62
|
* VERP_REGEXP: Include a named group corresponding to the `bounces'bwarsaw2002-01-171-4/+4
| | | | | interpolation placeholder in the VERP_FORMAT, i.e. everything up to the first + in the default format.
* __verpbounce(): Add some robustness for broken MTAs. We know of atbwarsaw2002-01-171-4/+20
| | | | | | | | | | | | least one in the wild (reported by Dan Mick) that leaves the To: header empty or useless, while the useful VERP'd bounce information ends up in a Delivered-To: header. Note that there can be multiple Delivered-To: headers so we need to search them all (and we don't worry about false positives for forwarded email, because only one should match VERP_REGEXP). Also try Apparently-To: if neither of the others yields a hit.
* Give Message class an __repr__() since apparently the pretty printerbwarsaw2002-01-171-0/+4
| | | | | module pprint uses repr() instead of str(). This aids in debugging with bin/dumpdb.
* Added -i / --interactive flag so that you don't need to run thisbwarsaw2002-01-171-18/+39
| | | | | script as "python -i ..." to get a prompt after the primary processing is done. I'd forgotten about the code.InteractiveConsole class!
* Fixed a bug in delivery status disable/enable globally. Specifically,bwarsaw2002-01-171-17/+16
| | | | | | | | | | | | lists_of_member(): Change the signature to take a MailList object as the first argument, not a string hostname. This allows lists_of_member() to filter out the current mailing list, which should update its attribute the "normal" way. main(): Use the new lists_of_member() signature where appropriate. global_options(): The global_enable argument will contain the value for the setDeliveryStatus() call. I.e. it won't be a boolean flag.
* NewVars(), CanonicalizeUserOptions(): Don't set the delivery_statusbwarsaw2002-01-161-1/+1
| | | | | | | | attribute in the latter function, only do it in the former function. Otherwise every time the DATA_FILE_VERSION gets updated, all your users' nomail options will be cleared. Arrrggghh! Thanks to Dan Mick for enduring the pain.
* copyright yearsbwarsaw2002-01-151-1/+1
|
* registerBounce(): Fix for bug when resetting bounce info due to stalebwarsaw2002-01-151-1/+6
| | | | | | information. We don't need to create a new _BounceInfo instance, just update some of the existing one's attribute values. Noticed by Dan Mick.
* show_pending_subs(), show_pending_unsubs(): Sort lexigraphically thebwarsaw2002-01-121-0/+14
| | | | email addresses requesting subscription or unsubscription.
* HoldUnsubscription(): Fix typo. mlist.preferred_language ->bwarsaw2002-01-121-1/+1
| | | | self.preferred_language.
* add_virtual(): Second argument is now optional. If omitted, then itbwarsaw2002-01-121-2/+11
| | | | | | | | is take as the first argument, less the first domain part. E.g. add_virtual('www.dom.ain') uses 'dom.ain' as the emailaddr.
* makealiases(): Apply patch by Jason Mastaler to fix SF bug #502419.bwarsaw2002-01-121-2/+2
| | | | There was a missing quote in the aliases string.
* "import Cookie" instead of "from Cookie import SimpleCookie as Cookie"bwarsaw2002-01-111-12/+9
| | | | | | | | | | | | | The latter broke the upgrade script when upgrading from MM2.1a2 to current cvs. This is because bin/update imports Mailman.MailList which imports Mailman.SecurityManager which, if /that/ tries to from...import...as will fail with an import error since there's still a residual old Cookie.py laying around that doesn't have a SimpleCookie class. Once bin/update does its thing and gets rid of Mailman/Cookie.py{,c} we're safe, but for now this is the best way to worm around the problem.
* A bunch of new names.bwarsaw2002-01-111-0/+3
|
* send(): RFC 2822 requires the Date: header, and not all MTAs insertbwarsaw2002-01-111-1/+4
| | | | | | | one if it's missing (most notably qmail). It's easy and correct for us to add a compliant one. SF patch #500670 by Jason Mastaler.