| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |
|
| |
|
|
|
|
|
|
| |
"Sender:" lines are being bounced to the -request addr, and then being
treated as a bad request. This needs to be examined and solved, but
in the meanwhile i'm adding some info (the subject line) to the
"subject line ignored" line, so we get some more cues to go on when
things go awry.
|
| |
|
|
| |
Wrap long line.
|
| |
|
|
|
| |
particular, so 'post' script can recognize when messages are being
held for approval due to moderation.
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
it already exists and is unwritable), using safe .LogMsg() in the
"bounce" category, instead.
Rationalized the bounce reporting a bit.
|
| |
|
|
| |
(new) list.html index.
|
| |
|
|
|
|
|
|
|
|
| |
.AddRequest(), for admin notices.
Stop inhibiting sending of request refusal for moderated messages! (I
think this was confused with sending of request queuing, which should
be suppressed, and now is in the ../scripts/post script.)
Refined various notice's text a bit, including adding more info.
|
| |
|
|
|
|
|
|
|
|
|
| |
trailing '/' to web_page_url if not already there. (Only one, so far.)
.Load(): call CheckValues() just before CheckVersion().
Add the subject line to the info passed to 'post' .AddRequest(), so it
is available for the administrator notification and summary.
Remove some debugging prints.
|
| |
|
|
| |
DEFAULT_HOST_NAME!
|
| |
|
|
|
|
|
| |
maillist.py.
Moved abstract description part of comment before ValidEmail in as a
docstring. (We need more and decent docstrings in this code!!)
|
| |
|
|
|
|
|
|
|
|
|
|
| |
to DisableMime, as part of making mime mode the default for digests.
Response to 'lists' command now sorts the lists, and formats the
name/request addr/descr on two lines instead of sequeezing them onto
one too-long line.
Using _base_archive_url for FormatArchiveAnchor, instead of
GetScriptURL("archives"), which assumes the archives are in the
mailman hierarchy.
|
| |
|
|
|
|
|
|
|
| |
mode the default for digests. Added .Format{Mime,Plain}DigestsButton
methods.
Using _base_archive_url for FormatArchiveAnchor, instead of
GetScriptURL("archives"), which assumes the archives are in the
mailman hierarchy.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
in addition to size-threshhold triggering, and periodic mechanism
enabled by new option DEFAULT_DIGEST_SEND_PERIODIC - by default,
active. New methods SendDigestOnSize() and SendDigestIfAny() - the
latter used by new script (in ../cron dir) senddigests.
Made mime mode the default for digests. New option digest_is_default
allows moderator change. (Took a lot of changes all over, since
the user options are much more abstruse than the list options, and
weren't formerly hooked up with a list option.)
Some reduction of text added to mime formatted messages (i might say
clutter:) - some whitespace, and particularly the "** Message %d:..."
... "** End of message..." message body brackets - mime maillists i
use don't include that kind of thing and look quite fine.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
externally running pipermail. (Andrew and i are working together to
get easy hookup, and we should be able to relaese something of
pipermail along with the near release of mailman.)
Moved the creation of the archive file hear, when it's openned, and
protected the open so it doesn't bomb the system if it fails - and a
'system' error is logged to the mailman logs in that situation.
The archive (mbox) file is created in either the
PUBLIC_ARCHIVE_FILE_DIR or PRIVATE_ARCHIVE_FILE_DIR dependig on the
setting of DEFAULT_ARCHIVE_PRIVATE (typically 0, 1 for private
archives). Pipermail will be set to look in the private and public
archive dirs and do the right thing - with easy means to hook up the
mailman password mechanism for the private archives.
|
| |
|
|
|
|
|
|
|
|
| |
notices sent whenever a new admin request (vetted subscriptions or
list postings) arrives, in addition to daily notice.
Repair what is logged (was using list. instead of self.).
Relocate message body texts to "constants" just after imports, at the
least so they don't screw up emacs tracking of indentation levels.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
notices sent whenever a new admin request (vetted subscriptions or
list postings) arrives, in addition to daily notice.
Accommodate comments in header-match expr. And log bad header-match
exprs, rather than raising an error.
Moved header-prefix prepend to before digest and archive saves.
Moved list_names() to mm_utils.
Changed text of goodbye_msg var so to *not* imply that unsubscribe
acknowldgements are *not* sent when the goodbye_msg is empty.
Include list name in __repr__!
Whoops - last checkin had missing comma, put that sucker back in
immediately.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- new vars {PUBLIC,PRIVATE}_ARCHIVE_FILE_DIR,
DEFAULT_ARCHIVE_PRIVATE, specify the location of the dirs for the
public and private archives, and the choice of which is to be used
- public is default.
- Retired archive_update_frequency stuff, retain_text_copy option
(that's now all that we retain, in the archive dir
Providing option for administrator to received immediate notice of new
pending queued requests - DEFAULT_ADMIN_IMMED_NOTIFY - defaults to
true.
Added periodic (with help of senddigest cron job) digest transmission
in addition to size-threshhold triggering, and periodic mechanism
enabled by new option DEFAULT_DIGEST_SEND_PERIODIC, by default *on*.
Enabled bounce processing by default.
Added comments to bounce_matching_headers expr, incliding a comment
explaining them in the template.
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
any.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
before posting).
Getting digest header and footer from (new) default settings.
Changed subject of footer message from "Reminder" to "Digest Footer".
(NOTE that the mime seems to be kinda funky - my mua, a fairly current
version of Unix pine, does not recognize it as mime, and it tends to
be pretty good about that kind of thing.)
|
| |
|
|
|
|
|
|
| |
Added list address to default message footer layout, and lengthened
"horizonal rule".
Added a setting for default digest header and footer, dependent on
regular message header and footer.
|
| |
|
|
|
|
|
|
|
|
|
| |
recognizing and collecting email addrs.
Make the expansion of the message headers and footers during message
post, rather than during message setting. This will enable two things.
Most importantly, list administrators can employ the format
variables from the web interface (but they need to find out what the
various keys are - via the to-be-done help system). Also, dynamically
changing values could be referenced.
|
| |
|
|
|
|
| |
it's much clearer which button goes with which label when the buttons
are on the right. If the other cases, where the labels don't wrap to
a second line, it's not so clear, and still a bit ambiguous sometimes.
|
| |
|
|
|
|
|
|
| |
to get the whitespace between entries, instead of the (ugly, in some
cases) kludge i implemented before. Ideally we would group each
name/button pair together in an individual table cell, but i haven't
scoped out the html format mechanism well enough to do that, yet.
(John, are you listening?)
|
| |
|
|
|
|
| |
the email address from web spiders, to thwart spam address scrapers.
The url passed to the options script is always transfored, but the id
presented textually only is when list.obscure_addresses is set.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
transforming email addresses so they're not apparent to web spiders,
therefore not scrapable by spammers.
The UnobscureEmail transformation should work like an identity
function on already-unobscured addresses, so it can be used with
impunity.
The routines should be used as functional interface to address
obscuring, so the scheme can be changed transparently to the rest of
the system, just by changing the routines. This should make it easy
to up the ante in the thwarting of spammers, if this catches on.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
bounce_matching_headers option takes a string with "field: matchexp"
lines, and, if set, messages with header fields matching matchexp are
held for approval. Leading whitespace in matchex is ignored.
new LOG_DIR setting for dir to contain log files.
removed MAIL_LOG - i also think it isn't used any more.
|
| | |
|
| |
|
|
| |
744) so group can get in created directories.
|
| |
|
|
|
|
|
|
|
|
| |
pending approval in 'vette' log file (using new MailList.LogMsg()
method).
ListAdmin.HandleAddMemberRequest(): Handle (new) detection of
subscription approval of already subscribed members (eg, when
duplicate subscription requests were blanket approved in a single
subscription vetting).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
a string with "field: matchexp" lines, and, if set, messages with
header fields matching matchexp are held for approval.
MailList.parse_matching_header_opt separates the header and matchexp
using the first ':' (and trims leading whitespace off of the
matchexp), and MailList.HasMatchingHeader() does the check. And of
course, MailList.Post() does the check,
MailList.LogMsg(): given the log category, add an entry to the log
file for that category. Files all situated in setting of (new) config
opt, LOG_DIR. (Stored the open files on a list, potentially useful
when running as a long running daemon...)
MailList.ApprovedAddMember(): gets a check for existing membership -
possible when more than one subscription for the same address is
okayed from the same pending batch of subscription requests - before
it was creating multiple subscriptions, and things blew up when
attempts were made to revoke the subscriptions...
Bracketed all potentially file-creating 'open()'s
(MailList.CreateFiles(), .Save(), .Lock(), .LogMsg()) in os.umask
suspension/resumption, so that the files are created with the intended
permissions.
Added a repr which indicates the lock state of the file. (Helpful for
my exploratory programming.)
Reworded some option descriptions.
|
| |
|
|
|
|
|
|
| |
development have access, also. More importantly, zero the umask
before actually creating the dir (and restore it afterwards), so the
permissions are exactly as specified,
Also wrapped a long line.
|
| | |
|
| | |
|
| |
|
|
|
|
| |
Q
q
dirs
|
| |
|
|
|
| |
site's customized version. New sites can use mm_cfg.py.dist as an
example, conversely.
|
| |
|
|
|
| |
distributed as an example, and with instructions in the file, but it
never clobbers the sites configured version.
|
| | |
|
| |
|
|
| |
will be used for setting the site-specific values for these defaults.
|
| |
|
|
| |
for setting the site-specific values for these defaults.
|
| | |
|
| |
|
|
|
|
| |
Move the msg_header and msg_footer defs back into the non-digest
options section. (The defaults values are good enough so that the
options don't have to be brought to the admin's attention.)
|
| |
|
|
| |
express how list loads fail.
|
| | |
|