summaryrefslogtreecommitdiff
path: root/Mailman
Commit message (Collapse)AuthorAgeFilesLines
...
* membership_options(): We need to prep the user's full name into a charsetbwarsaw2002-09-171-3/+4
| | | | | | | | | | appropriate for the web page we're spitting out. Take the unicode name string and uncanonstr() it so that it'll either be a string encoded in the charset of the page, or an ascii string containing html &#XYZ; entities. change_options(): Take the full name string received in the web form and canonstr() it so that we get a unicode string.
* canonstr(): New helper function which will take a string from a webbwarsaw2002-09-171-0/+58
| | | | | | | | | | | | | page, which possibly could contain &#XYZ; entities, and convert the string to a Unicode string using the charset of the language provided in the argument list. As a practical kludge, if the charset is us-ascii, we'll use iso-8859-1 instead (which allows a larger number of non-ASCII names in English lists). uncanonstr(): The opposite (sorta) of canonstr(), this takes a Unicode string and returns the encoded string in the charset of the provided language. If a strict conversion fails, then 8-bit characters are converted to their &#XYZ; entities.
* getMemberName(), addNewMember(), setMemberName(): Update the commentsbwarsaw2002-09-171-6/+10
| | | | | to make it clear that the full name (not RealName) will be a Python Unicode string if it contains non-ASCII characters.
* ParseTags(): Python will barf when trying to string-join a sequence ifbwarsaw2002-09-171-1/+8
| | | | | | | all the strings aren't properly encoded. To make life as easy as possible, make sure that all the items in the split sequence are 8-bit strings, encoded if necessary in the charset of the language given in the argument list.
* show_post_requests(): The default rejection notice wasn't gettingbwarsaw2002-09-131-3/+2
| | | | | translated. Closes SF bug #596361 by Tokio Kikuchi, albeit with a slightly different patch.
* _UpdateRecords(): Fixed typo, mlist -> self. Closes SF bug #605263 bybwarsaw2002-09-131-1/+1
| | | | Les Niles.
* GetDirectories(): Remove. We were only using this to get the list ofbwarsaw2002-09-131-5/+0
| | | | language keys, but we already have that information in LC_DESCRIPTIONS.
* GetConfigInfo(): Using GetDirectories() makes Mailman vulnerable tobwarsaw2002-09-131-1/+1
| | | | | | problems where stray directories are added to $prefix/templates. We already know all the acceptable language codes from LC_DESCRIPTIONS so use that instead. Closes SF bug #605557 reported by Emilio Delgado.
* request_creation(): Using GetDirectories() makes Mailman vulnerable tobwarsaw2002-09-131-1/+1
| | | | | | problems where stray directories are added to $prefix/templates. We already know all the acceptable language codes from LC_DESCRIPTIONS so use that instead. Closes SF bug #605557 reported by Emilio Delgado.
* subscription_prompt(): The moderator only approves requests whenbwarsaw2002-09-131-1/+3
| | | | | subscribe_policy is 2 or 3. Fixes bug #605933 reported by Ron Jarrell.
* change_options(): Handle the problem of when an invited user isbwarsaw2002-09-131-1/+4
| | | | already a member. Fixes bug #605933 reported by Ron Jarrell.
* Global.__nonzero__(): Fixed typo, missing return. Closes SF bugbwarsaw2002-09-111-1/+1
| | | | 607469 by John Parise.
* __init__(): Don't try to run the extend() function from extend.py ifbwarsaw2002-09-051-1/+3
| | | | | it's not there. It could be that all the interesting bits get executed as a side effect of the execfile().
* main(): Cute hack by Donn Cave to optimize the option settings when nobwarsaw2002-09-051-2/+5
| | | | | | global opts are requested. This adds a __nonzero__() method to class Global and tests for truth before doing the gmlist loop. Closes SF patch #602084.
* KEEP: In digests, keep Reply-To header also.bwarsaw2002-09-051-1/+1
|
* listinfo_overview(): Actually, use wording similar to admin.pybwarsaw2002-08-291-2/+2
|
* listinfo_overview(): Fixed typo reported by Greg Ward.bwarsaw2002-08-291-1/+1
|
* Authenticate(): Checking in a change discussed a while ago onbwarsaw2002-08-291-8/+6
| | | | | | | | mailman-developers. There's an inconsistent use of the MemberAdaptor API -- authenticateMember() is never called. This change seems to work just fine. Also: whitespace normalization.
* Some fixes for problems identified by Peer Heinlein. It is possiblebwarsaw2002-08-291-4/+7
| | | | | | | | | | | | | that the digest may contain unparseable messages, e.g. with missing start boundaries. Instead of crashing, such messages should simply be ignored. If lax parsing can't grok it, it has a high likelihood of being spam. Specific changes here: send_i18n_digests(): The end case is now that "msg is None", not false, and if msg is the empty string, it was unparseable and we should skip it.
* processUnixMailbox(): We don't need to catch MessageParseError sincebwarsaw2002-08-291-9/+5
| | | | | | the base class's .next() method will never raise them (it's factory masks them). However, the end condition is now that "m is None" instead of m being false.
* Some fixes for problems identified by Peer Heinlein. It is possiblebwarsaw2002-08-291-3/+13
| | | | | | | | | | | | | | | | | | | | that the digest may contain unparseable messages, e.g. with missing start boundaries. Instead of crashing, such messages should simply be ignored. If lax parsing can't grok it, it has a high likelihood of being spam. Specific changes here: _safeparser(): New helper factory for PortableUnixMailbox, which returns the empty string if a MessageParseError occurs. Note that '' is used instead of None because the latter will stop the Mailbox's default iterator (in Python 2.2). Mailbox.__init__(): Use the _safeparser() function instead of email.message_from_file(). scrubber(): We can use _safeparser() here and simply not scrub the empty string return value.
* GetConfigInfo(): Rearrange some options to reduce confusion. Thebwarsaw2002-08-272-10/+20
| | | | | | | anonymous_list option is moved to General->General list personality. Also, in the Privacy section, a new "Recipient filter" subcategory is added, into which is moved require_explicit_destination, acceptable_aliases, and max_num_recipients.
* as_html(): Patch #546362 by Nicholas Russo to include the Subject: andbwarsaw2002-08-231-0/+2
| | | | | In-Reply-To: information in archive mailto urls. Closes bug #443952 reported by Stig Hackvan.
* ProcessConfirmation(): Fixed SF bug #596456, similar problem tobwarsaw2002-08-231-2/+2
| | | | | #593454 in that typed_subpart_iterator must be converted to a sequence #for subscripting.
* Patch set for SF bug #596565. Use symbolic user/group names insteadbwarsaw2002-08-231-8/+12
| | | | | | | | | | of numeric ids. Initial idea and patch by Todd Vierling, fleshed out by Barry. Specific changes here: checkperms(): Use MAILMAN_USER instead of MAILMAN_UID and getpwnam() and getgrnam() where appropriate.
* Patch set for SF bug #596565. Use symbolic user/group names insteadbwarsaw2002-08-231-2/+2
| | | | | | | | | | of numeric ids. Initial idea and patch by Todd Vierling, fleshed out by Barry. Specific changes here: MAILMAN_UID -> MAILMAN_USER MAILMAN_GID -> MAILMAN_GROUP
* GLOBAL_PIPELINE: Reordering the modules so that Hold comes beforebwarsaw2002-08-231-1/+1
| | | | Moderate.
* heldmsg_prompt(): Must unpack the data before trying to use the senderbwarsaw2002-08-231-2/+3
| | | | information. Closes SF bug #599112 by Peer Heinlein.
* GetConfigInfo(): Fixed links to RFC 2369 as reported by PieterB in SFbwarsaw2002-08-221-2/+2
| | | | bug #597242.
* subscription_prompt(): Some u/i changes suggested by PieterB in SF bugbwarsaw2002-08-221-8/+11
| | | | #597407.
* processUnixMailbox(): When an uncaught exception occurs duringbwarsaw2002-08-221-0/+6
| | | | | iteration, provide some more useful information in the logs/error file.
* process(): Fix for SF bug #598844 reported by Patrick Finnerty wherebwarsaw2002-08-221-1/+4
| | | | | | | a particular base64 attachment caused a binascii.Error. This makes sure that before we try to web-safe-ify the html attachment, we decode it first. But we need to update the Content-Transfer-Encoding: header too.
* Typo discovered by Dale Newfield.bwarsaw2002-08-201-2/+2
|
* Whitespace normalizationbwarsaw2002-08-201-5/+4
|
* typobwarsaw2002-08-201-1/+1
|
* set_show(): Added some missing markup, according to SF bug #553385 bybwarsaw2002-08-171-3/+3
| | | | Daniel Buchman.
* GetConfigInfo(): Fix typo described in SF bug #553385 found by Danielbwarsaw2002-08-171-1/+1
| | | | Buchmann.
* prepare_message(): In Python 2.2 and beyond,bwarsaw2002-08-161-1/+2
| | | | | | | | email.Iterators.body_line_iterator() will return a generator, which isn't len()'able directly, so we need to convert it to a list first, and then get the resulting len. Closes SF bug #593454.
* heldmsg_prompt(): Watch out for situations when the list administratorbwarsaw2002-08-161-7/+16
| | | | | has already disposed of a message that the user is now trying to confirm/cancel. Closes SF bug #594703 reported by Garey Mills.
* Fix typo in last checkin. Thanks Ousmane!bwarsaw2002-08-161-1/+1
|
* __sendAdminBounceNotice(): Applied Simone Piunno's patch to fix thebwarsaw2002-08-161-1/+2
| | | | | bounce notification's charset to match the list's preferred language charset. Closes SF bug #596055.
* registerBounce(): The last patch wasn't quite right, so backing outbwarsaw2002-08-151-6/+4
| | | | | | most of it. The real fix is simply to provide bounce_you_are_disabled_warnings to the noticesleft in the .reset() call.
* Fix a nasty bug that could cause disabled members to be deleted frombwarsaw2002-08-151-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | the list too early! This scenario: - a member starts bouncing and gets an initial bounce score, but isn't yet disabled - their mail starts working again for a while - we start getting bounces for them again, but now their old info is stale, so we reset it The bug was that when we reset the info, we actually didn't reset their bounce score, we reset their "notifications-left" value! That means that if they accumulated more bounce scores and got disabled, they'd immediate get removed from the list because they'd have no bounce notifications left! Ouch. The fix is to enshrine the reset semantics in default arguments for _BounceInfo.reset(): default for score is 0, default for date is None (meaning use Day 1), default for notices left is None, is basically a placeholder. registerBounce(): If we're going to reset stale bounce info, use the defaults, except for noticesleft, which gets its value from bounce_you_are_disabled_warnings. Thanks to Danny Terweij for being the guinea pig. ;)
* process(): Make sure the help.txt template comes from the currentlybwarsaw2002-08-151-1/+1
| | | | | | active language, which will be the sender's preferred language if they are a member, or the list's preferred language otherwise. The currently active language is available in the message metadata.
* Add `sv' language code for Swedish.bwarsaw2002-08-151-0/+1
|
* membership_options(): Searching for a member should match against thebwarsaw2002-08-151-3/+6
| | | | full name too.
* save_attachment(): Strip leading dots off the filename.bwarsaw2002-08-151-0/+4
|
* process(): Dan Mick points out we probably shouldn't add separators ifbwarsaw2002-08-151-2/+2
| | | | there's no header (or footer).
* process(): Might as well add a link to the member's preferences page.bwarsaw2002-08-151-1/+2
|
* process(): If we're adding the header and footer by stringbwarsaw2002-08-151-1/+7
| | | | concatenation, make sure there's a newline separating each part.