| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
| |
happen if you follow the README.POSTFIX instructions in a virgin
installation).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
_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.
|
| |
|
|
|
|
| |
makelock(), clear(): no-ops
create(): Add an optional (ignored) nolock argument.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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!
|
| |
|
|
|
| |
excerpt so that it can't sneak in table breaking HTML or evil
Javascript. Fixes SF bug #486340. Patch and report by Greg Lindahl.
|
| |
|
|
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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().
|
| |
|
|
| |
attempt a subscription request. Closes SF bug # 487122.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
|
| |
printed in VERBOSE mode (i.e. running bin/arch). Print out a
message counter and the Message-ID: of the message being processed.
|
| |
|
|
|
|
| |
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).
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
| |
the thing we muck about with is a concrete list object.
|
| |
|
|
|
| |
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.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
| |
know whether to create virtual-<domain> files. Defaults to 0.
|
| |
|
|
|
|
| |
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.
|
| |
|
|
| |
the list moderators).
|
| | |
|
| |
|
|
|
| |
so bouncing MTAs won't be tempted to delivery bounces there (and those
headers won't contain the VERPed response address).
|
| |
|
|
| |
listname-bounces alias.
|
| |
|
|
|
|
|
| |
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.
|
| |
|
|
|
| |
to run as a mailmanctl subproc (subtly, but usefully changing it's
exit semantics).
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
| |
DEFAULT_URL_HOST.
|
| |
|
|
|
|
|
|
|
| |
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)
|
| |
|
|
| |
dictionary, translate `reason' through i18n.
|
| |
|
|
|
| |
regular expressions, and provide a link to Python's re module
documentation.
|
| |
|
|
|
|
| |
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).
|
| |
|
|
|
|
| |
the i18n string interpolation. Also, rewrite the MMBadConfirmation
message, since they may be confirming something other than a
subscription request.
|
| |
|
|
|
|
| |
translatable strings here just need to be marked as such, using the
identity _() function. They'll always get translated before they're
used.
|
| |
|
|
|
|
| |
also allows "extended email addresses", really just regular
expressions, which must start with a ^ (otherwise it's taken as a
literal address).
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|