| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
of the year).
|
|
|
|
|
|
| |
and admin cgi process size by not keeping the entire mlist object
alive through a reference in the advertised list. Only the
information used in the overview is kept.
|
|
|
|
|
|
| |
listinfo and admin cgi process size by not keeping the entire mlist
object alive through a reference in the advertised list. Only the
information used in the overview is kept.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
archive bloat by deleting the html_body attribute on Article objects.
Closes SF bug #835332. This is a stub in the base class.
_update_thread_index(): Call finished_update_article() when done.
store_article(): squirrel away the html_body value when pickling the
article.
This only reduces bloat on new articles. See bin/rb-archfix to clean
up older archives.
|
|
|
|
|
|
|
|
| |
archive bloat by deleting the html_body attribute on Article objects.
Closes SF bug #835332.
This only reduces bloat on new articles. See bin/rb-archfix to clean
up older archives.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
process(): Reworked the way we calculate the List-Id header in the
face of i18n descriptions which may need to be quoted (if ASCII and
containing RFC 2822 special chars).
What we do now is RFC 2047 encode just the description part, if there
is one, then use formataddr() to combine that with the email
address-like list identification.
|
|
|
|
|
|
|
|
|
| |
message is originally received and the time the digest is sent. If
the configuration changes by setting ARCHIVE_HTML_SANITIZER to 0, a
DiscardMessage exception can occur during the scrubbing. Catch this
error.
Closes SF #860135 with basic solution by Martin Pool.
|
|
|
|
|
| |
in case there are any special characters (in the RFC 2822) in the
description.
|
| |
|
|
|
|
| |
Mueller.
|
| |
|
|
|
|
|
| |
HeaderParseError, so if that happens just ignore the Subject header for
command purposes.
|
| |
|
|
|
|
| |
header_filter_rules.
|
|
|
|
|
|
| |
process(): When we encode the text, catch ValueError along with UnicodeError
and LookupError. The ValueError can be raised if the charset is the empty
string. Closes SF bug # 834486.
|
|
|
|
|
|
| |
process(): When we encode the text, catch ValueError along with UnicodeError
and LookupError. The ValueError can be raised if the charset is the empty
string. Closes SF bug # 834486.
|
| |
|
|
|
|
| |
handleForm(): Close a very minor, potential CSS hole.
|
|
|
|
|
| |
collects regular expression rules to match against the message's outer
headers, along with the action to take when a match occurs.
|
|
|
|
| |
in the Privacy.py file.
|
|
|
|
| |
when the wrong admin password is given in a confirmation message.
|
|
|
|
| |
Closes SF bug # 816410.
|
|
|
|
|
|
|
|
| |
build the interface from header_filter_rules. Here you can specify a set of
regular expressions to test against a message's (outer) headers. You can also
specify the action to take when a rule matches.
These are available on Privacy->Spam Filters page.
|
|
|
|
| |
a link to the mbox file.
|
|
|
|
|
|
|
| |
InitVars(): Fix the permissions on the empty archive index. Fixes SF bug
#835012.
CheckHTMLArchiveDir(): Only make the mbox link public if PUBLIC_MBOX is true.
|
| |
|
|
|
|
| |
Also bump DATA_FILE_VERSION to pick up the new header_filter_rules variable.
|
| |
|
| |
|
|
|
|
| |
database.
|
|
|
|
|
|
|
|
|
| |
filters.
ProcessConfirmation(): A fix for bug # 833384, where the incorrect admin
password given in a the response to a hold message's confirm attachment would
end up discarding the message. Now, an error message is returned to the
sender and the held message is re-pended.
|
|
|
|
| |
rejection message, make sure it ends with at least two newlines.
|
|
|
|
|
|
| |
access to all list mbox files (this is not a per-list configuration).
HeaderFilter: a new widget type to support the expanded spam filtering.
|
|
|
|
|
| |
LC_DESCRIPTIONS. This is mostly useful for debugging since I
occasionally add languages for testing and then disable them.
|
|
|
|
|
| |
(Note that Croatian is added but not yet supported. I'm still waiting
for Nino Katic to give me a blessed translation.)
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
described here:
http://mail.python.org/pipermail/mailman-developers/2003-November/016119.html
The issue is that if we get an SMTPResponseException with a permanent
error code, we don't want to add all the recipients to the failures
dict, otherwise they'll all score a bounce. That's not appropriate
because the message is being rejected by the local smtpd for reasons
having to do with the content of the message, not because there's some
delivery problem to the recipient.
Log all problems now to logs/smtp-failure.
|
|
|
|
|
|
|
|
| |
address globally, it is possible the new address is already a member
of this (or one of the other) lists. In that case, the old address is
removed.
Closes SF # 835036.
|
|
|
|
|
| |
the valid postingaddr. If not given (the default), use
DEFAULT_EMAIL_HOST as before.
|
|
|
|
|
|
|
|
|
|
| |
calculated host name, and if VIRTUAL_HOST_OVERVIEW is true, that host
name must match one of our known virtual hosts. Otherwise we'll
refuse to create the list. If VIRTUAL_HOST_OVERVIEW is false, we'll
do no checking (meaning the old behavior of being able to create a
list with a non-fqdn hostname still exists).
Also, pass the email host name into the MailList.Create() call.
|
| |
|
|
|
|
|
|
|
|
| |
fix for SF bug # 846681, where the confirmation cookie emailed in a
bounce disabled notification was always out of date. The problem was
that we created the cookie at the time of the first bounce. This is
very likely more than three days before the time of the last bounce,
which is when we should have (and now do) create the cookie.
|
| |
|
|
|
|
| |
value to the whence argument.
|
|
|
|
| |
ApprovedAddMember().
|
|
|
|
|
|
|
|
|
|
|
| |
descriptive string explaining where the member got added from.
Improves subscription logging.
AddMember(): Pass 'remote' to ApprovedAddMember()'s whence argument.
ProcessConfirmation(): We know whether the confirmation came from
email or via the web, so pass this information to
ApprovedAddMember()'s whence argument.
|
| |
|