summaryrefslogtreecommitdiff
path: root/Mailman
Commit message (Collapse)AuthorAgeFilesLines
...
* ProcessConfirmation(): When doing a Pending.UNSUBSCRIPTION, set whencebwarsaw2002-10-251-1/+6
| | | | based on whether the context is a Message or not.
* create(): Restore a few lines that got accidently deleted in the lastbwarsaw2002-10-251-0/+2
| | | | checkin.
* maybe_forward(): Add a useful URL as suggested by Fil.bwarsaw2002-10-251-0/+4
|
* create(): Simply return when mlist is None.bwarsaw2002-10-231-5/+5
|
* process(): If the metadata has an `envsender' key, use that as thebwarsaw2002-10-231-4/+6
| | | | envelope sender, otherwise calculate it as before.
* OwnerNotification.__init__(): The signature of the OwnerNotificationbwarsaw2002-10-231-1/+21
| | | | | | | | | | | | constructor is changing. We no longer pass the sender in since that's calculated to be the site list's -bounces address to prevent mail loops when a list's owner bounces. Also, factor out the _enqueue() private method from the send() method. OwnerNotifications need to set the `envsender' key on the message's metadata. Problem diagnosed by Peer Heinlein.
* ApprovedDeleteMember(): The signature of the OwnerNotificationbwarsaw2002-10-231-8/+2
| | | | | | | | | | | constructor is changing. We no longer pass the sender in since that's calculated to be the site list's -bounces address to prevent mail loops when a list's owner bounces. ApprovedAddMember(): Change the UserNotification to an OwnerNotification for the admin_notif section. Problem diagnosed by Peer Heinlein.
* ForwardMessage(): The signature of the OwnerNotification constructorbwarsaw2002-10-231-2/+1
| | | | | | | | is changing. We no longer pass the sender in since that's calculated to be the site list's -bounces address to prevent mail loops when a list's owner bounces. Problem diagnosed by Peer Heinlein.
* process(): When holding non-member postings, either because they're onbwarsaw2002-10-221-6/+6
| | | | | | | hold_these_nonmembers or because the generic_nonmember_action is 1 (hold), hold them with NonMemberPost instead of ModeratedPost. Fixes SF #609692, as suggested by Les Niles and Tokio Kikuchi.
* LogStdErr(): I don't think we really wanted to tee the log output tobwarsaw2002-10-211-19/+21
| | | | | | | | | stdout, so much as tee it to stderr, so I've changed the name of the argument and implemented this as a tee to stderr. I don't think this breaks any code, but I'm not 100% sure yet. Also, whitespace normalization and pychecker fixes.
* send_response(): We have to pass the language into thebwarsaw2002-10-211-1/+2
| | | | UserNotification!
* pcre: Make the start line regexp even more liberal. Seems like any ofbwarsaw2002-10-211-1/+1
| | | | spaces or tabs can appear at the beginning of the line.
* maybe_forward(): Improve the grammatically anti-good message sent withbwarsaw2002-10-211-3/+3
| | | | | a forwarded bounce message. Complained upon by Daniel Buchmann, improved upon by Greg Ward. Further mungulated by Barry.
* GetConfigInfo(): Quick patch for invalid html by Daniel Buchmann.bwarsaw2002-10-211-2/+3
|
* Create(): include the full posting address in the error message forbwarsaw2002-10-201-2/+3
| | | | when the posting address is invalid.
* __getstate__(), __setstate__(): Get rid of the lock object attributebwarsaw2002-10-201-2/+13
| | | | on both pickling and unpickling, for legacy archive pickles.
* prefix_subject(): The charsets coming from headerbits can be stringsbwarsaw2002-10-201-0/+2
| | | | in some cases; coerce them to Charset instances.
* __getstate__(self): Never pickle the lock object! I believe thisbwarsaw2002-10-191-0/+6
| | | | fixes SF bug # 625516, but more testing needs to happen.
* Get rid of all the manipulations of the MailList object's lock file.bwarsaw2002-10-191-6/+2
| | | | HyperArch should have nothing to do with it.
* __writelog(): It turns out to be really helpful to print the stackbwarsaw2002-10-191-1/+4
| | | | trace when we do logging.
* prepare_message(): If the newsgroup is moderated, news_moderation is 1bwarsaw2002-10-191-1/+7
| | | | | | | or 2, and we remove any existing Approved header, replacing it for one of our own, pointing to the posting address. Also, a pychecker fix.
* ModeratedNewsgroup: New hold class.bwarsaw2002-10-191-5/+12
| | | | | | | | process(): If news_moderation == 2, then always hold the message for moderation, unless of course the message was pre-approved, via an Approved header. Also, whitespace normalization and some pychecker fixes.
* GetConfigInfo(): Added news_moderation variable, which is used tobwarsaw2002-10-191-12/+52
| | | | | select the moderation policy of the gated-to newsgroup. Also, re-arranged and cleaned up the interface by adding section headers.
* add_options_table_item(), get_item_gui_value(): Pass the `extra' bitbwarsaw2002-10-191-12/+15
| | | | | | | | of information in the gui item description tuple to get_item_gui_value(). This latter is usually ignored, but for radio buttons, can be a flag specifying whether horizontal or vertical buttons should be used. The default is 0 for backwards compatibility, signifying horizontal radio buttons.
* NewVars(): Pick up news_moderation.bwarsaw2002-10-191-0/+1
|
* Whitespace normalization.bwarsaw2002-10-191-3/+3
|
* DATA_FILE_VERSION: Bump to pick up news_moderation.bwarsaw2002-10-191-1/+1
|
* InitVars(): New config variable news_moderation, which is a 3-way flagbwarsaw2002-10-191-3/+6
| | | | | | | | | | | | | | | | | controlling how the mail->news gateway should handle moderation. This supplants MM2.0's SF patch #401270 in a much simpler way. Possible values are: - 0 means we're not gating to a moderated newsgroup - 1 means "open list, moderated group", essentially we just add an Approved header to the gated message, but do nothing else special - 2 means "moderated" which adds an additional hold criteria to the message. Once the message is approved, it gets an Approved header and is gated. Note: this was a top request by the FSF, and essential for python.org. I had a brainstorm about how to make this fairly simple to add so we're thawing the release for this one.
* Whitespace normalization.bwarsaw2002-10-191-4/+4
|
* SendSubscribeAck(), SendUnsubscribeAck(), MailUserPassword(): Sincebwarsaw2002-10-181-3/+3
| | | | | these messages are destined for one recipient anyway, we'll turn on VERP if VERP_PERSONALIZED_DELIVERIES is enabled.
* Add a work around for the default small stack size on MacOSX.bwarsaw2002-10-181-0/+19
| | | | | Apparently pipermail tickles a well-known bug on OSX related to deeply recursive regular expressions.
* Whitespace normalizationbwarsaw2002-10-181-3/+3
|
* intermediatebwarsaw2002-10-181-0/+47
|
* Whitespace normalization and pychecker fixes.bwarsaw2002-10-181-5/+7
|
* ScanMessages(): Added the Exchange (MS Exchange) recognizer.bwarsaw2002-10-181-3/+4
| | | | Also, whitespace normalization.
* send_digests(): Tokio Kikuchi patch of a bug reported by Chuq thatbwarsaw2002-10-181-5/+5
| | | | | caused a daily ratchet of the volume number. Also, one minor refactoring in the bump digest number conditional.
* prefix_subject(): Do byte string -> unicode string conversionbwarsaw2002-10-171-3/+5
| | | | | correctly, i.e. through the input_codec of the charset, not using the charset directly.
* process(): Two important fixes. First, when adding Cc headers tobwarsaw2002-10-161-16/+26
| | | | | | | | | | personalized messages, be RFC 2822 compliant in that a maximum of one Cc header is allowed. Fortunately we can use the same algorithm as we use for munging Reply-To. Second, make sure the Cc header adding goes in the "if not fasttrack" section so stuff like password reminders and confirmation messages don't get a Cc to the list tacked on. :-o
* Greg Ward and I trade spell checks. :)bwarsaw2002-10-151-1/+1
|
* ForwardMessage(): Typo. OwnerNotification's don't take a langbwarsaw2002-10-151-1/+0
| | | | | argument (since they can calculate that from the mlist argument). Found by Mentor Cana.
* process(): If the list is personalized, and the list's posting addressbwarsaw2002-10-151-8/+17
| | | | | | | | is not included in a Reply-To header, copy the posting address into a Cc header, otherwise there's no (easy) way a recipient could reply back to the list. Also, whitespace normalization, and a bit of code cleanup.
* pycheckerfiedbwarsaw2002-10-151-3/+3
|
* maybe_forward(): Use the new ForwardMessage() interface.bwarsaw2002-10-151-6/+4
|
* Remove a useless comment.bwarsaw2002-10-151-1/+0
|
* Whitespace normalized and pycheckerfied.bwarsaw2002-10-151-13/+12
|
* process(): I don't think that logging the short circuit to logs/vettebwarsaw2002-10-151-9/+12
| | | | | is very useful, so remove this syslog call. Also, rewrite the comments, whitespace normalize, and pycheckerfy.
* OwnerNotification: New convenience class, derives frombwarsaw2002-10-151-0/+15
| | | | | | | | | UserNotification but provides a different constructor. It calculates the recipients from the list's owners and, if the tomoderators flag is true (the default), includes the list's moderators. The ctor also munges the To header so that it looks like it's being sent to the list's -owner address.
* ApprovedDeleteMember(): Use the new OwnerNotification class to sendbwarsaw2002-10-151-3/+4
| | | | | | the admin_notify_mchanges notice. This also fixes the bug Chuq saw where the notification message was sent to the list owners via a roundtrip through the mta. We now send it directly to the owners.
* ForwardMessage(): Change the signature a bit to use the newbwarsaw2002-10-151-7/+6
| | | | | | OwnerNotification class in Message.py. We don't need the recips argument since we're always going to calculate that from self's owners and moderators (if the tomoderators flag is true).
* __init__(): Somehow the archiver was unlocking the list at an oddbwarsaw2002-10-151-1/+1
| | | | | time. I can't figure out why that's happening but defaulting unlock to false seemed to take care of the problem... for now. :(