| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
| |
replacement for the function in the admin.py module. This makes it
much easier for gui component HandleForm() methods to add an error or
warning to the admin page.
TextArea.__init__(): Add a `readonly' argument, which translates to
the TEXTAREA tag getting a READONLY attribute. We'll use this to turn
the header and body excerpt text boxes in the admindb pages to
read-only (avoiding the common misperception that you can edit the
message before it's approved).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
they have a _charset attribute, adding a default one if not. This
should fix a problem I think Dan Mick had, which I believe is caused
by a Message object being pickled w/ version 0.96 of the email
package, and unpickled by 0.97/1.1 of the email package.
Why doesn't this go into email.Message.Message? Because I don't want
to clutter its code up with something that should both be transient
and assumes that Message is pickled. Mailman seems more responsible
for the pickle consistency (if every Python class that grew an
attribute had to have such schema migration code, we'd be up sh*ts
creek).
|
| |
|
|
|
| |
Mailman/pythonlib subdirectory in favor of an alternate location
when/if necessary.
|
| | |
|
| |
|
|
|
|
| |
our Mailman/pythonlib version. We don't use the extra hack in our
version anyway, AFAICT (i.e. the addition of a seek() method which
just deferred to the underlying file object).
|
| |
|
|
| |
suffix like all the others.
|
| | |
|
| | |
|
| |
|
|
| |
treated like all the other scripts now.
|
| |
|
|
| |
compatibility.
|
| |
|
|
|
| |
mail program. The installation procedure will copy the bounces script
to the admin script. This is for backwards compatibility.
|
| |
|
|
| |
2.1.
|
| |
|
|
|
| |
we path-hack before we try to import any email module. We'll need to
do an audit of all the command line scripts.
|
| |
|
|
|
|
|
|
|
| |
run(): After once through the loop, look at the freshen flag and if
true, clear the cache. Thus all subsequent MailList objects will get
updated state, but we'll gain the performance benefits of the cache
for each iteration the the big loop.
_open_list(): Return this function to its original state.
|
| |
|
|
|
| |
_open_list(): If we've pulled the list object from the cache, then
freshen the state by re-Load()-ing it.
|
| |
|
|
|
|
|
|
| |
class knows to reload the state when pulling the object from the
cache. Hmm, why do we even have a cache now?
_dispose(): Don't do the `verp' key calculation here; it's done
earlier and better in the ToOutgoing.py handler.
|
| |
|
|
|
|
|
| |
and VERP_DELIVERY_INTERVAL. We used to do this in OutgoingRunner, but
that was inconvenient due to the latter never freshing the state of
MailList objects (that's fixed, but this is still a better place to
set this key).
|
| |
|
|
|
|
|
|
| |
in Defaults.py, we need to arrange for this script to import paths.py
to pick up the correct site-packages prefixed sys.path.
Because we do this, we can delete the sys.path.insert() call, which
was redundant.
|
| |
|
|
|
|
|
|
|
| |
from Defaults.py.in. The problem is that even for Python 2.2, we need
site-packages to appear /before/ the standard library so that we can
pick up the newer version of the email package. Defaults.py/mm_cfg.py
is usually imported too late in the game to work, but paths.py is
about right (although we'll have to audit the command line scripts to
make sure they import paths.py before they import email.*).
|
| |
|
|
|
|
|
|
|
| |
paths.py.in file. The problem is that even for Python 2.2, we need
site-packages to appear /before/ the standard library so that we can
pick up the newer version of the email package. Defaults.py/mm_cfg.py
is usually imported to late in the game to work, but paths.py is about
right (although we'll have to audit the command line scripts to make
sure they import paths.py before they import email.*).
|
| | |
|
| |
|
|
|
|
|
|
| |
language for the email message that's sent out. Then do the
translation and UserNotification generation, then reset the language
context and send the message.
Patch by Ben Gertzfield, modified by Barry.
|
| |
|
|
|
|
|
|
| |
list's preferred language for the email message that's sent out. Then
do the translation and UserNotification generation, then reset the
language context and send the message.
Patch by Ben Gertzfield, modified by Barry.
|
| |
|
|
|
|
|
| |
the language that the message should be in. This allows us to get the
character set and header encodings right.
Patch by Ben Gertzfield.
|
| |
|
|
|
|
|
|
| |
UserNotification message object, pass in the language that the message
should be in. This allows us to get the character set and header
encodings right.
Patch by Ben Gertzfield.
|
| |
|
|
| |
character sets.
|
| |
|
|
|
|
|
| |
pass in the language that the message should be in. This allows us to
get the character set and header encodings right.
Patch by Ben Gertzfield.
|
| |
|
|
| |
Pychecker. Removed some unused local variables.
|
| |
|
|
|
|
|
| |
object, pass in the language that the message should be in. This
allows us to get the character set and header encodings right.
Patch by Ben Gertzfield, with modifications by Barry.
|
| |
|
|
|
|
|
|
|
|
|
| |
message object, pass in the language that the message should be in.
This allows us to get the character set and header encodings right.
Note that in the former method, we try to set the language to the
forwarding address, if it is a member of the list. If not, the list's
preferred language will be used.
Patch by Ben Gertzfield, with modifications by Barry.
|
| |
|
|
|
|
|
|
| |
creating the UserNotification message object, pass in the language
that the message should be in. This allows us to get the character
set and header encodings right.
Patch by Ben Gertzfield.
|
| |
|
|
|
|
|
|
| |
When creating the UserNotification message object, pass in the
language that the message should be in. This allows us to get the
character set and header encodings right.
Patch by Ben Gertzfield.
|
| |
|
|
|
|
|
|
| |
creating the UserNotification message object, pass in the language
that the message should be in. This allows us to get the character
set and header encodings right.
Patch by Ben Gertzfield.
|
| |
|
|
|
|
|
| |
charset information can be propagated into the headers, if necessary.
Use the new mimelib/email package's Charset and Header classes.
Patch by Ben Gertzfield. Requires email 0.97.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ourselves. Given the incompatible state of BDB libraries on most
modern Linux distros, and given the sorry state of affairs in Python's
BDB wrappers, this is the only sensible solution.
Essentially, I've kept all the plain text (data/aliases and
data/virtual-mailman) update code, and then we just call postalias and
postmap on the files to get the .db counterparts regenerated. This
should be foolproof since only Postfix itself needs to use consistent
libraries -- attempting to match Postfix and Python would be a
nightmare.
I don't believe we're opening ourselves up to any vulnerabilities by
using os.system() in this case.
Also: all functions which are not meant to be part of the public MTA
interface are now prefixed by a single underscore.
I'm too tired to give detailed changes...
|
| |
|
|
|
|
| |
the plain text aliases and virtual-mailman files to their .db
counterparts. This will be /much/ less fragile than direct BerkeleyDB
hacking. See accompanying change to Postfix.py.
|
| |
|
|
|
|
|
| |
member clears the bounce and delivery status information for a
member.
test_bounce_info(): Make sure that the case invariants are upheld.
|
| |
|
|
|
| |
operating case insensitively w.r.t. the member key. Coerce the member
argument to lower case before it's used.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
GetLangSelectBox() call for the <mm-list-langs> replacement, otherwise
a user's option page will always reset the user's language to the
list's preferred language.
|
| |
|
|
|
| |
delivery_status attributes when deleting a member. Don't call
setBounceInfo() directly.
|
| |
|
|
|
|
| |
removeMember() -- which is eventually called by ApprovedDeleteMember()
should to any necessary cleanup of the bounce info. Found by Dan
Mick.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
catalogs and .mo files generated.
Spanish and German translators take note: there were a bunch of
duplicate entries which I had to manually delete before msgfmt would
complete successfully. Please verify!
|
| |
|
|
|
|
|
|
| |
catalogs and .mo files generated.
Spanish and German translators take note: there were a bunch of
duplicate entries which I had to manually delete before msgfmt would
complete successfully. Please verify!
|
| | |
|