summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* main(): Call MTA.create(None, ...) when no lists yet exist (as willbwarsaw2001-12-061-3/+6
| | | | | happen if you follow the README.POSTFIX instructions in a virgin installation).
* Updates to work better with virgin invocation.bwarsaw2001-12-061-23/+33
| | | | | | | | | | | | | | | | | _zapfile(), _zapdb(): Only truncate the file if it already exists (so we don't accidently create it before we're ready to). addlist(): Make this robust for when mlist == None, as it will when there are no lists yet, but we want the preamble and minimal aliases and aliases.db files to get created. Moved the YP_* key settings up before the predicate shortcircuit. do_create(): Do the hashopen() before the built-in open() so it gets created properly by bsddb when it doesn't yet exist. create(): Check for mlist == None before digging out more attributes. Also, rewrote the big comment at the top concerning locking.
* genaliases interface conformance:bwarsaw2001-12-061-1/+17
| | | | | | makelock(), clear(): no-ops create(): Add an optional (ignored) nolock argument.
* Fix interpolation variable. Closes SF bug #482089bwarsaw2001-11-303-3/+3
|
* Fix interpolation variable in Italian template. Closes SF bug #482089bwarsaw2001-11-301-1/+1
|
* makealiases(): Generate the new set of alias to script mappings.bwarsaw2001-11-301-10/+17
|
* In order to make the list alias -> script mapping more consistent,bwarsaw2001-11-306-259/+8
| | | | | | | | | | | | | | | | | | | we've renamed mailcmd to request and mailowner to owner (through some SF-assisted CVS repo magic). We've also moved scripts/auto to contrib/auto since it's an obsolete way of doing the auto-aliasing in Postfix. We need to update mail-wrapper.c for the new list of acceptable script names. Note that there are still two abberations: - messages posted to just `listname' go to the post script - messages posted to listname-admin go to the bounces script The latter, listname-admin may eventually go away. Note that this requires you to regenerate your aliases!
* show_post_requests(): cgi.escape() the full text of the messagebwarsaw2001-11-301-1/+2
| | | | | excerpt so that it can't sneak in table breaking HTML or evil Javascript. Fixes SF bug #486340. Patch and report by Greg Lindahl.
* main(): Move the setting of the language to up above the login page,bwarsaw2001-11-301-8/+19
| | | | | | | | so that the selected language is propagated from the listinfo page to the options login page. Also, grab the default language setting from the form field. loginpage(): Add a language selection widget.
* list_listinfo(): Code reorg.bwarsaw2001-11-301-1/+3
|
* FormatEditingOptions(): Let's actually /use/ the lang argument to addbwarsaw2001-11-301-14/+19
| | | | | | | | | | | | a hidden field so that the language choice can be propagated to the options page. RosterOption(): Same, for the roster page. GetLangSelectBox(): Factor out the creation of the language selection widget, since other code will need the same thing. GetStandardReplacements(): Use GetLangSelectBox().
* Fixed typo which caused hitting the "edit user option" button tobwarsaw2001-11-301-1/+1
| | | | attempt a subscription request. Closes SF bug # 487122.
* process(): Teach the scrubber about message/rfc822 types, which arebwarsaw2001-11-301-3/+41
| | | | | | | | | | | | | | | | | | | | not multipart, but don't contain a string payload. They have a single Message instance payload so they need to be scrubbed. I don't know whether what we do is the best thing, but we strip out the contained message, store it as an attachment (with very little processing), and include a link/info block of text with the subject, sender, date, size, and url. save_attachment(): When calculating an extension for an unknown type, default to .txt for message/rfc822 types and .bin for everything else. Also, if we're saving a message/rfc822 type as an attachment, all we do is take the raw text of the message, cgi.escape() it for safety, and store it in the attachment file. We could probably do better. Finally, adjust the baseurl for private archives so we don't get a double slash.
* Add bin/cleanarch to the list of scripts that get build and installed.bwarsaw2001-11-303-55/+59
|
* processUnixMailbox(): Add some useful diagnostics which only getbwarsaw2001-11-301-0/+4
| | | | | printed in VERBOSE mode (i.e. running bin/arch). Print out a message counter and the Message-ID: of the message being processed.
* New script for cleaning an .mbox file. This uses deeper heuristics tobwarsaw2001-11-300-0/+0
| | | | | | find lines that look like Unix-from delimiters but really aren't. It can be fooled, but it's not easy (you'd need a real Unix-from followed by real RFC 2822 headers embedded in the body of a message).
* intermediatebwarsaw2001-11-301-0/+163
|
* Forward port security patch from Mailman 2.0.8:bwarsaw2001-11-3010-29/+44
| | | | | | | | | | Fixes to prevent cross-site scripting exploits. See http://www.cert.org/advisories/CA-2000-02.html Reported by zeno@cgisecurity.com Fix is to cgi.escape() any strings regurgitated from the url back to the browser in the html response.
* ParseMailCommands(): Dang, this is /really/ the way to guarantee thatbwarsaw2001-11-271-1/+6
| | | | the thing we muck about with is a concrete list object.
* ParseMailCommands(): Work around a difference in email 1.0 and 0.96.bwarsaw2001-11-271-1/+1
| | | | | In Python 2.2, email 1.0, body_line_iterator() returns a generator, which has no insert() method, so be sure to turn it into a list.
* Dan Mick discovers we need to import LockFile.bwarsaw2001-11-271-0/+1
|
* Adjustments for the new Postfix module API, which should bebwarsaw2001-11-261-34/+10
| | | | | | | | | | | | translatable to other MTAs that need their aliases twiddled. Don't try to import bsddb3; actually don't import bsddb here either. That's handled in Postfix.py. _zapfile(): Gone. main(): Import the Mailman.MTA module named in mm_cfg.MTA, for generality.
* Much changes for better virtual domain support.bwarsaw2001-11-261-33/+88
| | | | | | | | | | | | | | - Import bsddb directly instead of dbhash - delete virtual_files() - _zapfile(), _zapdb(): New internal function - clear(): New public function for clearing out both the plain text files and the db files. - addlist(), and friends: better support for writing virtual alias entries based on the value of POSTFIX_STYLE_VIRTUAL_DOMAINS.
* POSTFIX_STYLE_VIRTUAL_DOMAINS: Describe new API for this variable.bwarsaw2001-11-261-5/+9
|
* Lots of updates describing how to set up virtual domain support with Postfix.bwarsaw2001-11-261-7/+133
|
* Support for Postfix-style virtual domains.bwarsaw2001-11-241-33/+105
| | | | | | | | | | | | | | | | | virtual_files(): Return the .db filename and text filename based on the host_name. addlist(): Some generalizations for the writing of the site list's loop entry. addvirtual(): Implements writing the virtual file plain text and dbhash files. do_create(), create(): Reorg to call both addlist() and addvirtual() if necessary. do_remove(), remove(): Reorg so that both the entries from the aliases file and the virtual file will be removed.
* POSTFIX_STYLE_VIRTUAL_DOMAINS: New flag to let Mailman/MTA/Postfix.pybwarsaw2001-11-241-7/+18
| | | | know whether to create virtual-<domain> files. Defaults to 0.
* zapfile(): Zero out a file without messing with the file permissions.bwarsaw2001-11-241-15/+21
| | | | | | main(): Collate lists first by host_name, zap the aliases file, and then each of the virtual files for each domain. Then we can just use Postfix.create() to write the appropriate entries to all the files.
* Handler module which sets the recips metadata to the list owners (plusbwarsaw2001-11-221-0/+23
| | | | the list moderators).
* Fixed some typos found by Dan Mick.bwarsaw2001-11-221-9/+10
|
* process(): When VERPing, blow away the Sender: and Errors-To: headersbwarsaw2001-11-211-2/+14
| | | | | so bouncing MTAs won't be tempted to delivery bounces there (and those headers won't contain the VERPed response address).
* The qrunner that consumes qfiles/bounce messages, which come from thebwarsaw2001-11-211-0/+136
| | | | listname-bounces alias.
* Added -s/--subproc switch which subtly, but usefully changes its exitbwarsaw2001-11-211-3/+19
| | | | | | | semantics. When run as a subproc, any ImportErrors caused by bogus qrunner names simply get logged, and the script exits with an error code == SIGTERM. This tells mailmanctl not to try to infinitely restart it.
* start_runner(): Pass the -s flag to the qrunner script, which tells itbwarsaw2001-11-211-1/+1
| | | | | to run as a mailmanctl subproc (subtly, but usefully changing it's exit semantics).
* Better support for Berkeley DB link problems (I hope). The problem isbwarsaw2001-11-211-6/+21
| | | | | | | | | | | if Python and Postfix have incompatible versions of BerkeleyDB, genaliases either will fail or will break Postfix. :( Because Robin Dunn's PyBSDDB3 should be compatible with the widest range of existing BDB libs, we try to import and use it first. Failing that, fallback to the standard bsddb module. In either case, we really don't need the dbhash module, which knows nothing about bsddb3.
* fix_url(): Calculate web_page_url from DEFAULT_URL_PATTERN andbwarsaw2001-11-211-1/+1
| | | | DEFAULT_URL_HOST.
* process(): Simplify by calling out to matches_p() to do the actualbwarsaw2001-11-211-9/+28
| | | | | | | | | match of the sender against the nonmember addresses. matches_p(): Implements the matching rules: - match literal addresses first - match re's next (they must start with a ^ which stays as part of the regular expression)
* hold_for_approval(): In setting up the initial interpolationbwarsaw2001-11-211-1/+1
| | | | dictionary, translate `reason' through i18n.
* GetConfigInfo(): Describe how the nonmember match rules can containbwarsaw2001-11-211-9/+28
| | | | | regular expressions, and provide a link to Python's re module documentation.
* get_item_gui_value(), get_valid_value(): Added EmailListEx widgetbwarsaw2001-11-211-3/+6
| | | | | | which is just like EmailList except that it also allows "extended email addresses", really just regular expressions, which must start with a ^ (otherwise it's taken as a literal address).
* ProcessConfirmCmd(): Need to define listname and url local vars forbwarsaw2001-11-211-1/+4
| | | | | | the i18n string interpolation. Also, rewrite the MMBadConfirmation message, since they may be confirming something other than a subscription request.
* I don't think we need to import Mailman.i18n anymore. Anybwarsaw2001-11-211-6/+6
| | | | | | translatable strings here just need to be marked as such, using the identity _() function. They'll always get translated before they're used.
* Added EmailListEx widget which is just like EmailList except that itbwarsaw2001-11-211-12/+15
| | | | | | also allows "extended email addresses", really just regular expressions, which must start with a ^ (otherwise it's taken as a literal address).
* Hungarian is iso-8859-2bwarsaw2001-11-211-1/+1
|
* Vizi Szilard's latest Hungarian catalogbwarsaw2001-11-212-1356/+1071
|
* Vizi Szilard's latest Hungarian templatesbwarsaw2001-11-2110-43/+33
|
* Update to reflect the changes in the english template.avalon2001-11-211-10/+10
|
* Latest Norwegian catalog. Corrected some typos.avalon2001-11-212-28/+15
|
* FR catalog updatedwilane2001-11-212-599/+849
|
* Testing perm suggested by Barry!wilane2001-11-201-2/+1
|