| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
written by Ben Gertzfield, ported to MM2.1 by Marc MERLIN.
Specifically,
GLOBAL_PIPELINE: Add the AvoidDuplicates handler module.
DEFAULT_NEW_MEMBER_OPTIONS: The default value as a bitfield for the
new "new_member_options" attribute, which specifies the intial values
for various member-specific option flags.
DontReceiveDuplicates: Flag for control of the duplicate suppression
feature.
|
| |
|
|
|
|
|
| |
target for harvesters, and we have doubts as to how much this feature
is used.
Note: this does not change anything for existing lists.
|
| |
|
|
|
|
|
|
|
| |
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.*).
|
| |
|
|
|
|
| |
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.
|
| |
|
|
| |
directory.
|
| |
|
|
|
| |
sitedir to sys.path instead of appending it. This means our email
package will override the one in Python 2.2.
|
| |
|
|
|
|
| |
QRUNNER_SAVE_BAD_MESSAGES. The latter controls what Mailman should do
when it encounters a parse error on the email message (likely because
of bad MIME encapsulation, itself likely because it's a virus).
|
| |
|
|
|
| |
interpolation placeholder in the VERP_FORMAT, i.e. everything up to
the first + in the default format.
|
| |
|
|
|
|
|
|
| |
is take as the first argument, less the first domain part. E.g.
add_virtual('www.dom.ain')
uses 'dom.ain' as the emailaddr.
|
| |
|
|
|
| |
whether we'll issue site authentication cookies or not. Defaults to 0
(i.e. existing behavior).
|
| | |
|
| |
|
|
| |
by default, put new members on probation.
|
| |
|
|
| |
admindb.py pages.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(hopefully) managed to make this both more understandable and much
simpler. Simpler even than recent mailman-developer threads (and yet,
I still believe this will work :). The algorithm is explained in the
Mailman/Gui/Bounce.py, i.e. admin/bounce category, help string.
Specifically here,
Get rid of DEFAULT_MINIMUM_REMOVAL_DATE,
DEFAULT_MINIMUM_POST_COUNT_BEFORE_BOUNCE_ACTION,
DEFAULT_AUTOMATIC_BOUNCE_ACTION, and
DEFAULT_MAX_POSTS_BETWEEN_BOUNCES.
Add an explanation of the new bounce scoring algorithm. Add
DEFAULT_BOUNCE_SCORE_THRESHOLD, DEFAULT_BOUNCE_INFO_STALE_AFTER,
DEFAULT_BOUNCE_YOU_ARE_DISABLED_WARNINGS and
DEFAULT_BOUNCE_YOU_ARE_DISABLED_WARNINGS_INTERVAL.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Mailman to keep track of why (and when) delivery is disabled. New
list attribute delivery_status and new MemberAdaptor interface methods
are added. Delivery status has the following states: ENABLED, BYUSER
(disabled by user selection), BYADMIN (disabled by admin selection),
BYBOUNCE (disabled by excessive bouncing), UNKNOWN (legacy disable).
We no longer use the DisableDelivery user option. Also, for status
changes from <anything> -> <anything-but-ENABLED>, we record the
time.time(). This information gets thrown away when the delivery is
re-enabled.
Specific changes here:
Add a comment that DisableDelivery is obsolete.
|
| | |
|
| |
|
|
| |
know whether to create virtual-<domain> files. Defaults to 0.
|
| | |
|
| |
|
|
|
|
| |
also allows "extended email addresses", really just regular
expressions, which must start with a ^ (otherwise it's taken as a
literal address).
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
detection.
VERP_FORMAT: The string (with interpolations) that is used as the
format for VERP'd envelope senders.
VERP_REGEXP: The (unfortunately complex) regular expression which
decodes strings encoded with VERP_FORMAT. WIBNI Python had a scanf()
equivalent?
VERP_PASSWORD_REMINDERS: A flag which controls whether password
reminders are VERP'd. This is a golden opportunity because such
emails are already individualized.
VERP_PERSONALIZED_DELIVERIES: A flag which controls whether
personalized regular deliveries are VERP'd. This is another golden
opportunity because such emails are already individualized.
VERP_DELIVERY_INTERVAL: A variable which controls the frequency with
which to VERP regular, non-personalized deliveries. 0 means never
VERP these, 1 means to always VERP them, and a number > 1 means to
VERP every Nth delivery.
GLOBAL_PIPELINE: Move the ToUsenet handler up to just after the
ToArchive handler. Also, added some comments.
QRUNNERS: Alphabetize, and also add a BounceRunner now that we're
going to change the envelope sender address so that bounces always
come to listname-bounces@dom.ain. IOW, we're finally separating
administration from bounce processing, however this /will/ require
folks to regenerate their aliases. We'll make that easier for them.
|
| | |
|
| |
|
|
|
| |
text/html as attachments and not HTML-escaping them. (The obvious ==
4 value isn't possible given Pipermail's current implementation).
|
| |
|
|
|
| |
new, meaning "leave it inline but HTML-escape it). The default is 1,
but leave the lynx filter in commented out as an example.
|
| |
|
|
|
|
|
|
| |
hostname part interpolated from DEFAULT_URL_HOST (or the reverse
lookup of mlist.host_name in the VIRTUAL_HOSTS dictionary).
ARCHIVE_HTML_SANITIZER: A variable which describes what Pipermail
should do with text/html attachments.
|
| | |
|
| |
|
|
|
|
|
|
|
| |
committed to Pipermail. As this is a standard handler-style module
(i.e. it has a typical process() function), it could be used in a
pipeline to scrub messages headed to the list (i.e. a de-mimer).
Current drawback is that it's fairly hardcoded. Graft on a U/I
(easier said than done), and it could work.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
is sent when a user gets unsubscribed.
DEFAULT_UNSUBSCRIBE_POLICY: Default flag for whether unsubscriptions
require admin approval or not.
ALLOW_RFC2369_OVERRIDES: Site admin switch which, if true, will allow
list owners to suppress RFC 2369 List-* headers.
UNSUBSCRIBE: New ListAdmin request enum.
|
| |
|
|
| |
first_strip_reply_to.
|
| |
|
|
| |
BIN_DIR: New convenience variable (used by mailmanctl).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
module, so that sender-centric moderation can be performed before more
general content-based moderation.
DEFAULT_MODERATED: Removed
DEFAULT_DEFAULT_MEMBER_MODERATION: New flag which determines what the
default state of the member-moderation bit is for newly subscribed
members.
DEFAULT_FORWARD_AUTO_DISCARDS: New flag which describes the default
for whether auto-discards should include a forward to the list
administrator.
DEFAULT_GENERIC_NONMEMBER_ACTION: What is the default action for the
generic non-member filter?
DEFAULT_MEMBER_POSTING_ONLY: Removed
Moderate: New options flag implementing per-user moderate bit.
|
| |
|
|
|
|
|
|
|
|
|
| |
gets gated mail->news. Specifically,
NNTP_REMOVE_HEADERS: This is a list of headers to remove from the
message before posting to nntp.
NNTP_REWRITE_DUPLICATE_HEADERS: A list of headers that should get
moved if there are more than one in the message. Contains a tuple of
the original field name and the new field name.
|
| |
|
|
|
|
| |
which %(listname)s will be interpolated. This makes it possible to
set PUBLIC_ARCHIVE_URL to something that's appropriate for (hopefully)
any external archiver.
|
| |
|
|
| |
own category. Rearranged the two columns for better symmetry.
|
| | |
|
| |
|
|
| |
scripts/driver doesn't work.
|
| | |
|
| |
|
|
| |
translation.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
VIRTUAL_HOSTS is a dictionary mapping url base hostnames to email base
hostnames. E.g. "mail.python.org" -> "python.org". When a new list
is created, we attempt to ascertain the web host from the web request.
We use that for web_page_url and then we look it up in VIRTUAL_HOSTS
to find host_name. If not found, we use the same host for
web_page_url and host_name.
DEAFULT_EMAIL_HOST is now the preferred way to specify the default
email host_name. It is set by configure to @FQDN@.
DEFAULT_URL_HOST is now the preferred way to specify the default host
for web_page_url. It is set by configure to @URL@.
DEFAULT_URL_PATTERN is how to convert DEFAULT_URL_HOST to
web_page_url. It must contain a single %s expansion.
For backwards compatibility, DEFAULT_HOST_NAME = DEFAULT_EMAIL_HOST
and DEFAULT_URL = DEFAULT_URL_PATTERN % DEFAULT_URL_HOST.
Also, added another commented out MAILMAN_URL mirror.
|
| |
|
|
|
|
|
|
| |
This will hold the preferred and available language options.
Checkbox: New widget type.
Add the Hungarian/hu language (I'm assuming it's charset is iso-8859-1).
|
| |
|
|
|
|
| |
MAILMAN_SITE_LIST: Names the "master site list" which must exist, and
from which all site-related email appears to come from
(e.g. password reminders).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
admins can "personalize" their mailing lists. Personalization is a
new feature where each recipient gets their own copy of the message,
and the headers and footers can include additional information
specific to the user. Since this can impose a greater system burden,
it must be enabled by the site administrator in order for the list
admins to see or set the option.
Note that this currently only works for regular delivery.
GLOBAL_PIPELINE: Add the "Personalize" handler module, which actually
sets the messages up for personalization.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
to add each language so that it looks the same here as in a user's
mm_cfg.py file. Add the French and Japanese entries.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
depends on it).
ADMIN_CATEGORIES: Here's where we define the category names for the
admin ui.
Topics: A new widget type.
ReceiveNonmatchingTopics: New member option flag controlling whether a
user receives or ignores a message that does not matching any topics.
|
| |
|
|
|
|
|
|
|
| |
will calculate recipients based on the Urgent: header, while the
latter removes the Urgent: header from the original message (so it
wouldn't be there by the time CalcRecips see it!).
BOUNCEQUEUE_DIR: New variable in preparation for a separate bounce
processing queue.
|