summaryrefslogtreecommitdiff
path: root/Mailman
Commit message (Collapse)AuthorAgeFilesLines
...
* InitVars(): Added include_list_post_header which controls whetherbwarsaw2002-04-191-0/+1
| | | | | List-Post: is added or not. Announce-only lists should set this to "No".
* ALLOW_RFC2369_OVERRIDES: I give up. Set this default to 1 to allowbwarsaw2002-04-191-20/+6
| | | | | | | list owners to override RFC 2369 headers. Also, now that we're using the JapaneseCodecs 1.4.5 package, I don't think we need to do the registration ourselves.
* handleForm(): GACK! Remove a debugging call. Thanks Ron!bwarsaw2002-04-191-1/+0
|
* CheckValues(): Watch for bad patterns in topics and discard them ifbwarsaw2002-04-181-1/+11
| | | | | found. The Topics gui will catch these for newly defined patterns, but there may be some legacy topic patterns in the list config.
* handleForm(): Don't allow a topic with a pattern which is an illegalbwarsaw2002-04-181-0/+11
| | | | regular expression to be added to the list of topics.
* _dispose(): In the SomeRecipientsFailed handler, be sure to set thebwarsaw2002-04-181-2/+3
| | | | | msgdata's "recips" key to the list of recipients that were rejected, otherwise lots of folks on the list will get duplicates!
* process(), to_plaintext(): If the message gets modified, add an X-bwarsaw2002-04-181-1/+12
| | | | header to indicate a change has been made.
* intermediatebwarsaw2002-04-141-0/+155
|
* Port of Les Niles' patch to do de-mime. Specifically,bwarsaw2002-04-141-0/+1
| | | | Add the ContentFilter gui component.
* intermediatebwarsaw2002-04-141-0/+85
|
* Port of Les Niles' patch to do de-mime. Specifically,bwarsaw2002-04-141-0/+4
| | | | | NewVars(): Add attributes filter_mime_types, filter_content, and convert_html_to_plaintext if they are missing.
* Port of Les Niles' patch to do de-mime. Specifically,bwarsaw2002-04-141-1/+1
| | | | | DATA_FILE_VERSION: Bump to pick up the new content filtering attributes.
* Port of Les Niles' patch to do de-mime. Specifically,bwarsaw2002-04-141-0/+4
| | | | | InitVars(): Add attributes filter_mime_types, filter_content, and convert_html_to_plaintext.
* Port of Les Niles' patch to do de-mime. Specifically,bwarsaw2002-04-141-3/+25
| | | | | | | | | | | | | | | | | | | | | | HTML_TO_PLAIN_TEXT_COMMAND: A command invoked through os.popen() which can convert from html to plain text. The default is to use lynx -dump. GLOBAL_PIPELINE: Add the MimeDel handler. ADMIN_CATEGORIES: Add the contentfilter category just before the topics category. DEFAULT_FILTER_CONTENT: A flag which sets the system-wide default for whether lists will filter MIME content or not. Defaults to 0 (until this is tried-and-true). DEFAULT_FILTER_MIME_TYPES: A list of strings of format maintype/subtype or maintype which are the MIME types to filter. By default, it's empty. DEFAULT_CONVERT_HTML_TO_PLAINTEXT: A flag which specifies whether, after normal content filtering is done, text/html parts should be converted to text/plain.
* Typo found by Jon Parise.bwarsaw2002-04-121-1/+1
|
* main(): When calling addrchange_prompt(), catch NotAMemberErrors thatbwarsaw2002-04-111-1/+9
| | | | | may occur if the address requesting a change has been removed before the change was confirmed. This closes SF bug #445961.
* intermediatebwarsaw2002-04-111-0/+47
|
* Liberalize some of these tests so international Yahoo! accounts arebwarsaw2002-04-111-2/+4
| | | | still caught. Inspired by SF patch # 538983 by David Abrahams.
* Removed some debugging syslog() calls -- thanks Ron!bwarsaw2002-04-111-2/+0
|
* Ron Jarrell noted that the tagger logic was broken when messages startbwarsaw2002-04-111-6/+62
| | | | | | | | | | | | | | | with indented text. Fixes, process(): Fix short-circuit test for mlist.topics_enabled instead of mlist.topics. scanbody(): We don't need to do much more than filter out the blank lines when creating a mini-message to look for Subject: and Keywords: fields in the body. We /do/ need to create a subclassed _ForgivingParser which simply stops processing instead of throwing exceptions when it hits a line that's neither a header nor a continuation. WIBNI if we didn't have to cut-n-paste the bulk fo the _parseheaders() method?
* do_topic_filters(): Rearrange if clauses for clarity.bwarsaw2002-04-111-18/+17
|
* GetStandardReplacements(): If there's just one choice of language,bwarsaw2002-04-111-1/+1
| | | | return the lang description as a non-selectable string.
* _dispose(): There are reports of None's showing up in the addrs. Notbwarsaw2002-04-111-0/+4
| | | | sure why that is, but let's filter them out anyway.
* _postValidate(): New method which is called after all the formbwarsaw2002-04-111-8/+12
| | | | | | | | | | | attributes have been processed. This allows for the gui component to do sanity checks across inter-dependent values. Default is no-op. handleForm(): We don't need the `tag' arguments to addError() since the default is 'Error: '. Also, rearrange the exception logic so that the _setValue() call happens in an else and the except clauses don't need to return. This allows the gui component to still get a chance at _postValidate(), even if there were errors.
* _postValidate(): New method which checks that the combination ofbwarsaw2002-04-111-2/+11
| | | | | | | reply_to_address and reply_goes_to_list is valid, resetting and spitting out an error if not. _setValue(): Don't use <p> tags in the error message.
* CheckValues(): It's possible that some how the following bogusbwarsaw2002-04-111-0/+11
| | | | | | | | situation got set: there's an empty (after stripping) reply_to_address, and reply_goes_to_list is set to "explicit address". This isn't a legal combination (but could have gotten this way through legacy settings or bad bin/withlist manners), so reset both values.
* process(): When doing the the TooManyRecipients test, use >= as thebwarsaw2002-04-111-1/+1
| | | | | | | comparison. The online help says: If a posting has this number, or more, of recipients, it is held for admin approval. Use 0 for no ceiling.
* process(): In the multipart/mixed stanza, don't provide a charset namebwarsaw2002-04-111-1/+1
| | | | | in the set_payload() call. multipart/*'s never need a charset parameter.
* process(): We need to clean up the base archive url in two ways:bwarsaw2002-04-111-1/+4
| | | | | first, remove any trailing slash, second surround the url in angle brackets.
* verpdeliver(): dump_address_pair() -> formataddr().bwarsaw2002-04-111-1/+1
|
* ApprovedAddMember(): dump_address_pair() -> formataddr().bwarsaw2002-04-111-2/+2
|
* hold_for_approval(): Mentor Cana notices that we need to use attach()bwarsaw2002-04-111-3/+3
| | | | for the deprecated add_payload().
* process(): As Mentor Cana points out, dump_address_pair() isbwarsaw2002-04-111-1/+1
| | | | deprecated in favor of formataddr().
* send_i18n_digests(): Get rid of the add_payload() calls; these arebwarsaw2002-04-101-7/+7
| | | | | | deprecated in email 2.0. For calls on the mimemsg, change them into attach() calls. For calls on the rfc1153msg, change them into set_payload() calls.
* process(): Port to the email package. Message objects no longer havebwarsaw2002-04-101-2/+3
| | | | | | | | | | | | a `body' attribute, but we're already getting the flat string of the message, so we just need to record it's length (since this is all that we log. These changes are untested, although they should be correct. Sendmail.py is highly discouraged anyway, so I don't intend to do any testing of it. Closes SF bug #511020
* _dispose(): Catch socket.errors that can come from the underlyingbwarsaw2002-04-101-0/+19
| | | | | | | | | delivery module (i.e. SMTPDirect) when it couldn't connect to the smtp server. When this happens, log an error message, but only do it once so we don't fill up logs/error with a message-per-second. We keep a self.__logged flag which is set when we log the error and reset in the class constructor, and when the process() function returned successfully.
* An adaptation of Marc MERLIN's fixes to actually honorbwarsaw2002-04-101-3/+6
| | | | | | | | | | | | | | | | | | SMTP_MAX_SESSIONS_PER_CONNECTION. Specifically, sendmail(): We can't return directly from the try-clause because then the decrement of __numsessions won't be executed. Instead, stash the results in a local variable, twiddle numsessions, and then return the results. process(): When doing bulkdeliver, be sure to only decorate the message once. This prevents multiple headers and footers if the message is requeued because of some temporary delivery problem. Note: we don't need to do this for verpdeliver because each message is crafted uniquely anyway. Also, get rid of an unused local variable.
* Add some Japanese encoding aliases as recommended by Martin vonbwarsaw2002-04-101-0/+15
| | | | | | Loewis. This is necessary because the Japanese codecs are provided by third parties, and don't integrate themselves correctly in earlier Pythons.
* CanonicalizeUserOptions(): If the key isn't a member (as we'rebwarsaw2002-04-091-0/+1
| | | | | | trolling through user_options), we must continue after deleting the entry in user_options, otherwise the subsequent getMemberOption() call will fail.
* CheckVersion(): We have to force a reload of the database even if ourbwarsaw2002-04-091-1/+3
| | | | timestamp implies we're up-to-date. Otherwise our state gets zapped!
* process(), prefix_subject(): Ben Gertzfield's patch (refactored bybwarsaw2002-04-081-13/+44
| | | | | Barry) which correctly checks for the prefix in encoded Subject: headers.
* send(): Add `reduced_list_headers' so CookHeaders knows not to add thebwarsaw2002-04-081-0/+1
| | | | List-Post: et al headers.
* process(): In response to bug #223533, we're changing when the RFCbwarsaw2002-04-081-9/+16
| | | | | | | | | | | | 2919 and 2369 headers are added. - List-Id: is always added - List-Post:, List-Help:, List-Subscribe:, List-Unsubscribe:, and List-Archive: are only added to posting messages. - X-List-Administrivia: is only added to message Mailman creates and sends out of its own accord.
* is_administrivia(): Do the same test on the Subject: field that we dobwarsaw2002-04-051-10/+8
| | | | | on body lines. Also, add `confirm' as an administrivia test. Closes SF bug #454857.
* get_senders(): If there's no envelope, get_unixfrom() will returnbwarsaw2002-04-051-1/+2
| | | | None, which obviously can't be .split(). This is more robust.
* __load(): Big dummy, os.path.getmtime() can raise an OSError if thebwarsaw2002-04-051-5/+12
| | | | file doesn't exist. Need to catch that.
* process_request(): When trying to find the mapping from url-host tobwarsaw2002-04-051-1/+2
| | | | | email host name, if there is no mapping in the VIRTUAL_HOSTS table, use DEFAULT_EMAIL_HOST instead of the url-host. Closes SF bug #530949.
* __handlepost(): Preserved messages should be written out as plainbwarsaw2002-04-041-2/+16
| | | | text, not as pickles.
* processUnixMailbox(): Ignore any MessageParseErrors in either thebwarsaw2002-04-031-0/+7
| | | | | skipping or processing loops. They usually mean MIME boundary problems, which legit email rarely has.
* __handlepost(): Fix the composition of the forwarded message, so thatbwarsaw2002-04-011-1/+2
| | | | | | | | | the copy of the Message instance doesn't get passed to UserNotification's constructor via the `text' argument. Instead, it should get attached via set_payload() after the Content-Type: is set to message/rfc822. Bug reported by Ron Jarrell.