summaryrefslogtreecommitdiff
path: root/Mailman
Commit message (Collapse)AuthorAgeFilesLines
...
* process(): Correct typo: "multipart" -> "multipart/alternative".bwarsaw2002-08-151-5/+1
| | | | | reset_payload(): Don't hack on the trailing newline here. Probably do it in Decorate.py instead.
* GetConfigInfo(): Add a note that you probably will want to addbwarsaw2002-08-151-1/+5
| | | | | | `multipart' to the pass filter. We still won't set DEFAULT_PASS_MIME_TYPES = ['multipart'] because we want to leave the pass filter empty by default.
* NewVars(): pass_mime_types needs to get its value from the mm_cfgbwarsaw2002-08-151-1/+1
| | | | default.
* InitVars(): Added pass_mime_types.bwarsaw2002-08-151-9/+10
| | | | Also, whitespace normalization.
* DEFAULT_PASS_MIME_TYPES: Default value for pass_mime_types.bwarsaw2002-08-151-5/+8
| | | | Also, whitespace normalization.
* DATA_FILE_VERSION: Bump to pick up pass_mime_types.bwarsaw2002-08-152-8/+8
| | | | | | NewVars(): Add pass_mime_types if missing. Also, whitespace normalization and PyChecker cleanup.
* process(): Add support for a whitelisting feature contributed by Danbwarsaw2002-08-151-32/+58
| | | | | | | | | | | | | | | Mick, hacked by Barry (so any bugs are my fault). The idea is that after the filter_mime_types pass is made, if there are any pass_mime_types defined, only parts that match these types are allowed through. reset_payload(): New function, factorization. filter_parts(): Add passtypes to the argument list and do the passtypes filtering. Also, use the new .get_content_type() / .get_content_maintype() interface everywhere.
* Whitespace normalization.bwarsaw2002-08-151-3/+3
|
* GetConfigInfo(): Rewrite large portions of this text to give morebwarsaw2002-08-151-18/+51
| | | | | | | | | | | | | background on the content filtering process, make descriptions more consistent, and hopefully more useful. Also, added a description of the pass_mime_types variable. This is a whitelisting feature contributed by Dan Mick, hacked by Barry (so any bugs are my fault). The idea is that after the filter_mime_types pass is made, if there are any pass_mime_types defined, only parts that match these types are allowed through. _setValue(), getValue(): Add support for pass_mime_types.
* handleForm(): A `return' should have been a `continue'. This fixesbwarsaw2002-08-141-1/+1
| | | | value setting when submitting an option's details page.
* options_help(): When displaying a variable detail, use the humanbwarsaw2002-08-141-1/+2
| | | | readable category name in the "return to <category> page" text.
* VERSION: Set to 2.1b3+bwarsaw2002-08-131-1/+1
|
* Rework the directory layout for attachments. There were two problemsbwarsaw2002-08-131-40/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | with the old approach, as pointed out by Michael Meltzer: - it was broken <wink> - it was still susceptible to inode overload The fixes are to put attachments one more directory level down, where the path is archives/private/<listname>/attachments/<YYYYMMDD>/<msgidhash> where YYYYMMDD is the date of the message encoded as 8 digits, and the msgidhash is the first 2 and last 2 octets of the sha hash of the outer message's Message-ID. Any name collisions inside that directory (e.g. a message that contains two images with the same filename), are resolved by finding a unique filebase extension. Specific changes include: calculate_attachments_dir(): Factor out the calculate of the attachments directory so that e.g. Michael can use it in his MimeDel.py hacks. process(): Be sure to pass the appropriate arguments to save_attachment() based on its new signature. makedirs(): Factor out the creation and mod settings of the attachment dir, and all subdirs. save_attachment(): Pass the attachments directory in the arguments. Fix calculation of the url and the saving of the attachment data.
* process(): Mentor Cana reports a crash when the subject header is anbwarsaw2002-08-101-10/+4
| | | | | | | | | | | email.Header.Header instance; it won't have a .startswith() method. The real problem is that the attempt to send back the original, non-prefixed header was way too naive. Fortunately, the msgdata will contain the original subject if it was munged, so just use that. Question: should we try to send back the decoded header?
* prefix_subject(): Elaborate a comment.bwarsaw2002-08-091-1/+3
|
* encode_p(): New helper function.bwarsaw2002-08-091-3/+29
| | | | | | prefix_subject(): Only encode the subject prefix if it's necessary because it contains non-ASCII characters, or the list owner has requested to do so (via encode_ascii_prefixes).
* GetConfigInfo(): Add description of encode_ascii_prefixes.bwarsaw2002-08-091-0/+25
|
* NewVars(): Add encode_ascii_prefixes if missing.bwarsaw2002-08-091-0/+6
|
* DATA_FILE_VERSION: Bump to pick up encode_ascii_prefixes.bwarsaw2002-08-091-1/+1
|
* InitVars(): Set the new config variable encode_ascii_prefixes whichbwarsaw2002-08-091-0/+6
| | | | | controls whether the Subject: prefix gets encoded when it's ASCII and the list's preferred language uses a non-ASCII character set.
* Get ready for 2.1b3 release.bwarsaw2002-08-091-2/+2
|
* subscription_prompt(): Don't provide the choice of digests orbwarsaw2002-08-091-3/+6
| | | | | non-digests unless the subscriber actually has a choice! Closes SF bug # 563091 (not the u/i part).
* __oneloop(): Renamed to _oneloop() -- i.e. single leading underscore,bwarsaw2002-08-091-6/+6
| | | | so that it can be overridden in derived classes.
* makealiases(): Renamed _makealiases_mailprog() for classic mailbwarsaw2002-08-091-1/+25
| | | | | | | | | | program based delivery _makealiases_maildir(): New function for returning the aliases used for the experimental maildir based delivery. makealias: Choose between the above two based on the value of USE_MAILDIR.
* OWNER_PIPELINE: Moved to here from scripts/owner.bwarsaw2002-08-091-3/+23
| | | | | | | | USE_MAILDIR: New configuration variable to select between classic mailprog delivery of incoming messages and experimental maildir delivery. MAILDIR_DIR: The directory for maildir incoming messages.
* intermediatebwarsaw2002-08-091-0/+184
|
* Make Pychecker happy and do some whitespace normalization.bwarsaw2002-08-081-2/+2
|
* SENDER_HEADERS: The list of headers that Message.get_senders()bwarsaw2002-08-061-0/+7
| | | | consults to find a member's address.
* get_senders(): Move the list of headers to consult to Defaults.py.inbwarsaw2002-08-061-1/+1
| | | | to aid in debugging.
* bulkdeliver(): I forgot to check this in. Fixes a problem whenbwarsaw2002-08-041-1/+2
| | | | | connection to the smtpd fails with a socket error during the sendmail() call.
* process(): If the metadata already has a `verp' flag set, preservebwarsaw2002-08-041-1/+6
| | | | | it. This ensures that VERP_PASSWORD_REMINDERS is propagated to the outgoing queue.
* FormatDisabledNotice(): Include in bounce reasons, the date of thebwarsaw2002-08-021-1/+5
| | | | last received bounce.
* sendNextNotification(): Include in bounce reasons, the date of thebwarsaw2002-08-021-5/+11
| | | | last received bounce.
* UpdateOldVars(): Rewrite how the old variables `moderated', `posters',bwarsaw2002-08-011-40/+94
| | | | | | | | and `member_posting_only' get translated into the new variables `generic_nonmember_action', `default_member_moderation', `accept_these_nonmembers', and member Moderate flags. This (hopefully) closes SF bug #573071.
* Allow postings gatewayed to Usenet to inhibit the Subject: fieldbwarsaw2002-07-311-0/+6
| | | | | | | | | munging, separate from the mail list. This actually restores the original Subject: field which is stashed away in the metadata when it's munged in CookHeaders. Closes SF patch #573508. prepare_message(): Restore the original Subject: header if news_prefix_subject_too is false.
* Allow postings gatewayed to Usenet to inhibit the Subject: fieldbwarsaw2002-07-311-1/+1
| | | | | | | | munging, separate from the mail list. This actually restores the original Subject: field which is stashed away in the metadata when it's munged in CookHeaders. Closes SF patch #573508. process(): We have to enqueue the message metadata too!
* Allow postings gatewayed to Usenet to inhibit the Subject: fieldbwarsaw2002-07-311-2/+3
| | | | | | | | | munging, separate from the mail list. This actually restores the original Subject: field which is stashed away in the metadata when it's munged in CookHeaders. Closes SF patch #573508. prefix_subject(): Stash the original Subject: header in the metadata under the 'origsubj' key.
* Allow postings gatewayed to Usenet to inhibit the Subject: fieldbwarsaw2002-07-311-1/+11
| | | | | | | | munging, separate from the mail list. This actually restores the original Subject: field which is stashed away in the metadata when it's munged in CookHeaders. Closes SF patch #573508. GetConfigInfo(): Describe the news_prefix_subject_too attribute.
* Allow postings gatewayed to Usenet to inhibit the Subject: fieldbwarsaw2002-07-311-0/+1
| | | | | | | | munging, separate from the mail list. This actually restores the original Subject: field which is stashed away in the metadata when it's munged in CookHeaders. NewVar(): Add the news_prefix_subject_too attribute if it's missing.
* Allow postings gatewayed to Usenet to inhibit the Subject: fieldbwarsaw2002-07-311-1/+1
| | | | | | | | | munging, separate from the mail list. This actually restores the original Subject: field which is stashed away in the metadata when it's munged in CookHeaders. Bump the DATA_FILE_VERSION to pick up the news_prefix_subject_too attribute.
* Allow postings gatewayed to Usenet to inhibit the Subject: fieldbwarsaw2002-07-311-0/+1
| | | | | | | | | munging, separate from the mail list. This actually restores the original Subject: field which is stashed away in the metadata when it's munged in CookHeaders. InitVars(): New attribute news_prefix_subject_too which controls this feature. Hard code the default.
* Brazilian Portuguese <> Portguese Portuguese.bwarsaw2002-07-301-1/+1
| | | | | Move `pt' to pt_BR for Brazilian Portuguese, reserving pt_PT for later.
* Added pt, Portuguesebwarsaw2002-07-261-0/+1
|
* subscription_prompt(): Slightly better alignment of buttons inbwarsaw2002-07-261-2/+1
| | | | response to SF bug #574240.
* __handlepost(): It's possible that the forward-to field in the admindbbwarsaw2002-07-261-5/+17
| | | | | | | | | | | | page has a comma separated list of addresses. Do a better job of splitting this field up and forwarding a copy to each address. One nit: if the forward to address is a single member address, we try to set the language to that member's preference. If we're looking at a list of addresses though, it think it makes most sense to use the list's preferred language. Closes SF bug #577919.
* __setstate__(): If you had messages in your qfiles directory betweenbwarsaw2002-07-261-1/+11
| | | | | | | | | | | updates from email 2.1 and email 2.2, you're a bit screwed. Message objects grew a _default_type attribute which is *probably* text/plain but that's not guaranteed. Unfortunately at the time __setstate__() is called, we can't know for sure what _default_type ought to be, since it depends on whether this object is contained in a multipart/digest and we have no reference to the container. This is the best we can do.
* subject_prefix(): We're using email 2.2 now so we can remove thebwarsaw2002-07-261-3/+0
| | | | crufty workaround.
* _dispose(): Two fixes, related to Daniel Buchmann's report about SFbwarsaw2002-07-251-13/+17
| | | | | | | | | | | bug # 571634. First, catch any ValueError coming from the mktime_tz() call to calculate wildely out of date Date: headers. If we get the ValueError it's likely because the year is insane <wink> and the Date: should be clobbered. The second fix narrows the region where the list gets locked to just the .ArchiveMail() and .Save() calls. No wonder Daniel was getting AlreadyLockedErrors here -- this was clearly broken.
* _postValidate(): Ensure that if gatewaying (in either direction) isbwarsaw2002-07-241-0/+16
| | | | | enabled, that both the nntp_host and linked_newsgroup fields are filled in. Closes SF bug #579285.
* Authenticate(): SF bug # 585776 complains that crypt.crypt() can raisebwarsaw2002-07-241-2/+14
| | | | | | | | | a TypeError if its second argument contains null bytes. I have a hard time understanding how that could happen, but it must be related to a MM2.0.x upgrade. This patch should fix the problem by catching and ignoring the TypeError, which is equivalent to a failed challenge.