summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Porting from the 2.1 maint branch (please double check, not sure I gotbwarsaw2003-02-082-20/+12
| | | | this right!).
* Porting from 2.1 maint branch.bwarsaw2003-02-081-1/+1
|
* Application of patch #682573 by Matthias Juchem.bwarsaw2003-02-081-1/+2
|
* Another updatebwarsaw2003-02-081-0/+50
|
* Another namebwarsaw2003-02-081-0/+1
|
* Application of patch #664611 by Ed Lau.bwarsaw2003-02-081-9/+62
|
* Whitespace normalizationbwarsaw2003-02-071-6/+6
|
* Fixed the "unpack tuple of wrong size" bug when moving a MM2.0 list tobwarsaw2003-02-071-19/+25
| | | | | | | | MM2.1. Specifically, __opendb(): The on-the-fly conversion of db entries had two bugs: First, it was comparing the id instead of the entry type. Second, it wasn't aware of len==4 SUBSCRIPTION entries.
* oneline(): Whoops! Typo fix.bwarsaw2003-02-071-1/+1
|
* Tokio Kikuchi's SF patch #674401 to fix some issues with i18n in thebwarsaw2003-02-071-15/+20
| | | | | | | | | | | | digests. Specifically, lheader() -> oneline(): Also, get rid of **kws since we're not going to use these. Catch any LookupError or UnicodeError that may occur, but do the .encode() with 'replace' for a better chance to succeed. send_i18n_digests(): Use Utils.wrap() to wrap the subject headers, and also in the kept headers in plain text digests. Eliminate the blank line between subjects in the ToC.
* Restore the resumable pipeline code.bwarsaw2003-02-051-5/+11
| | | | | | | | | | | _dispose(): Set the msgdata's pipeline attribute to the pipeline list before calling _dopipeline(). If there's no more to do, delete this attribute. This way, if one of the modules throws an exception, we'll resume the next delivery attempt at that module. (E.g. if we unshunt it later). _dopipeline(): Add a bare except which pushes the failing module back on the front of the pipeline list, then re-raises the exception.
* verpdeliver(): Use the copy module's deepcopy() function instead doingbwarsaw2003-02-051-1/+2
| | | | a round trip through flattening.
* prefix_subject(): If the subject is a Header instead of a string,bwarsaw2003-02-051-1/+4
| | | | stringify it before calling .splitlines().
* Defuzzied 4 strings for recent user->safeuser changespioppo2003-02-042-48/+26
|
* parsecookie(): Be defensive about bogus cookie data.bwarsaw2003-02-041-2/+6
|
* do_command(): The __import__() can raise a ValueError too if the cmdbwarsaw2003-02-041-2/+3
| | | | has dots in it, so treat this the same as an ImportError.
* verpdeliver(): If we find a non-fully qualified recipient address whenbwarsaw2003-02-041-0/+8
| | | | | calculating the verp header, we log a message and skip this recipient, because we can't possibly deliver to this person via verp.
* Updates, including a simple fix to the Russian catalog.bwarsaw2003-02-0433-6450/+7541
|
* Updatesbwarsaw2003-02-044-11/+21
|
* check_for_site_list(), main(): Complain loudly and refuse to start ifbwarsaw2003-02-041-1/+15
| | | | the site list doesn't exist.
* main(): Patch # 680000 by Jon Parise to restore the check of thebwarsaw2003-02-041-0/+4
| | | | user's SuppressPasswordReminder flag.
* guess_type(): Compatibility function for Python 2.1/2.2, the formerbwarsaw2003-02-031-1/+10
| | | | | | | which does not accept the strict flag to mimetypes.guess_type(). main(): If guess_type() returns None, use text/html so that the private archive summary page displays correctly.
* CheckCookie(), __checkone(), parsecookie(): A fix for the MM2.0/MM2.1bwarsaw2003-01-311-12/+22
| | | | | | | | cookie problem. We can't use the Cookie module to parse the cookie because it's too strict in what it accepts. Parse it ourselves using re.split(). Should close SF bug # 664466.
* Some small fixes on Translation.gleydson2003-01-301-5/+5
|
* Updates by Christian Reis <kiko@async.com.br>gleydson2003-01-301-17/+18
|
* prefix_subject(): Supply default argument '' to the get of the subjectbwarsaw2003-01-291-1/+1
| | | | text. You can't splitlines None.
* French updates from Pascal GEORGE.bwarsaw2003-01-289-34/+20
|
* Updatesbwarsaw2003-01-282-4/+6
|
* %'s in the attributes need to be doubled (escaped)bwarsaw2003-01-281-2/+2
|
* maketext(): If a TypeError or ValueError crashed the templatebwarsaw2003-01-281-1/+3
| | | | | interpolation, log a message to logs/error so it's a little easier to debug.
* main(): Sanity check the language cgi variable.bwarsaw2003-01-274-23/+27
|
* subscription_confirm(): Sanity check the language cgi variable.bwarsaw2003-01-271-7/+9
|
* change_options(): Sanity check the user's selected language to be surebwarsaw2003-01-271-2/+2
| | | | it's one of the valid language.
* IsLanguage(): New function.bwarsaw2003-01-271-0/+3
|
* *** empty log message ***pheinlein2003-01-272-4/+4
|
* Fix for options.py xss patch.tkikuchi2003-01-272-209/+213
|
* Fixes for the cross-site scripting bugbwarsaw2003-01-261-14/+23
| | | | | | | | | | | | | | | | | | | | | | http://online.securityfocus.com/archive/1/308154 Closes SF bug # 674533 by Tokio Kikuchi Specifically, main(), loginpage(): Check the `user' cgi var for validity and print an innocuous (and non-privacy leaking) message if it fails that test. Don't pass the entire cgidata object to loginpage; instead give just the language argument which is all the latter function uses. Also, be sure to use `safeuser' everywhere we print a message to the results page. safeuser is the escaped version of the `user' cgi var. Unrelated: main(): Sanity check the `language' cgi variable and use the mailing lists's preferred language if it is deliberately invalid.
* makedirs(): Only twiddle the attachment directory permissions if webwarsaw2003-01-241-5/+5
| | | | successfully called makedirs().
* I18n fixes for the digester, based on Tokio Kikuchi's patch #668819.bwarsaw2003-01-241-43/+65
| | | | | | | | | | | | | | | | | | | | | | | | | I've modified it though, so any brokenness is my fault. Specifically, KEEP: Removed in favor of Default.py.in's MIME_DIGEST_KEEP_HEADERS. process(): Use Generator.flatten() instead of the deprecated __call__ syntax. send_i18n_digest(): Make sure things like the Subject headers in the toc are coerced to the language the digest is being sent in (i.e. the list's preferred language). Make sure the masthead, header and footer attachments also get the right matching charset attribute. Make sure that the username extracted from the From header is also in the right character set. Use the Header object for proper wrapping of the Subject lines in the toc, not Utils.wrap() which was broken and not i18n aware. Add a blank line between entries in the toc (might be controversial). Send messages in the plain text digest through the scrubber so attachments (and their MIME goo) don't mess up the plain text digests. lheader(): New convenience function.
* Some fixes to retain the continuation whitespace on Subject: linesbwarsaw2003-01-241-4/+10
| | | | | | | | | | | | even after adding the prefix. Specifically, uheader(): Accepts a continuation_ws parameter which is passed straight through to the Header constructor call. prefix_subject(): Split the pre-prefixed Subject: header into lines and get the continuation_ws character from the first continuation line (it won't matter if there is no continuation line). Pass this to uheader().
* DEFAULT_PLAIN_DIGEST_KEEP_HEADERS: This wasn't actually used anywhere,bwarsaw2003-01-241-4/+19
| | | | | | | | so I've renamed it to PLAIN_DIGEST_KEEP_HEADERS. MIME_DIGEST_KEEP_HEADERS: Added this for use in ToDigest.py -- it's essentially a copy of the KEEP module global from that module (which will be removed).
* *** empty log message ***pheinlein2003-01-203-17/+19
|
* main(), content_type(): Removed the latter; mimetyes.guess_type() doesbwarsaw2003-01-201-15/+8
| | | | | | this better. Whitespace normalization.
* A few minor refinements to the previous patch.bwarsaw2003-01-201-6/+10
| | | | | | | | | | | | guess_all_extensions(): Python 2.1 doesn't have mimetypes.common_types. guess_extension(): all could be empty. process(): Need separate try/except clauses for the conversion to unicode, and the conversion to 8-bit strings. Also, use endswith() instead of t[-1] to be more robust against empty strings.
* Fixes for bug #669081. Based on Tokio Kikuchi's patch, but extendedbwarsaw2003-01-201-18/+56
| | | | | | | | | | | | | | | | to fix the other scrubber bugs, and use better Message API. Specifically, guess_extension(): Use mimetypes.guess_all_extensions() to try to find a match between the claimed extension and the claimed content-type. If they match, then just believe it, otherwise, use the first extension guessed. We can still get weird ones because mimetypes has no notion of a priority of mappings from extension to type. process(): Everywhere we set a part's payload to the "scrubbed" message text, first delete the Content-Type header, allowing set_payload() with a character set to set the header, along with the proper charset parameter.
* ScriptURL(): Use s.endswith() where appropriate. Also whitespacebwarsaw2003-01-191-9/+9
| | | | normalization.
* save_attachment(): Use Message.get_content_type() instead of thebwarsaw2003-01-191-4/+5
| | | | deprecated .get_type() method.
* volNameToDate(): Catch failures in time.mktime() which can happen ifbwarsaw2003-01-191-15/+18
| | | | the year is weird (e.g. 1969). Also, code cleanup.
* *** empty log message ***pheinlein2003-01-152-58/+36
|
* Some fixes from Andreas Gleis. <a.gleis@lwl.org>pheinlein2003-01-143-14/+23
|