summaryrefslogtreecommitdiff
path: root/modules
Commit message (Collapse)AuthorAgeFilesLines
...
* Just some long-line wraps.mailman1998-03-191-5/+5
|
* We're having a problem where mail command messages with undeliverablemailman1998-03-191-3/+5
| | | | | | | | "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.
* Remove my comment questioning FormatArchiveAnchor().mailman1998-03-191-5/+2
| | | | Wrap long line.
* Add MODERATED_LIST_MSG so it can be recognized across modules - inmailman1998-03-191-0/+2
| | | | | particular, so 'post' script can recognize when messages are being held for approval due to moderation.
* Reduce header and footer whitespace padding.mailman1998-03-191-3/+6
|
* Mime defaults.mailman1998-03-192-6/+8
|
* Remove use of '/tmp/bounce.log' file (which will knock over mailman ifmailman1998-03-191-18/+32
| | | | | | | it already exists and is unwritable), using safe .LogMsg() in the "bounce" category, instead. Rationalized the bounce reporting a bit.
* Archive base url's have a .html appended, for compat with pipermail'smailman1998-03-181-1/+4
| | | | (new) list.html index.
* Take additional info about the message subject in the 'post'mailman1998-03-181-17/+22
| | | | | | | | | | .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.
* .CheckValues(): New routine to normalize values as necessary, eg add amailman1998-03-181-16/+22
| | | | | | | | | | | 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.
* Must redefine MAILMAN_OWNER so it gets the site-specificmailman1998-03-181-1/+2
| | | | DEFAULT_HOST_NAME!
* Moved list_names() here from where i recently created it,mailman1998-03-131-2/+14
| | | | | | | maillist.py. Moved abstract description part of comment before ValidEmail in as a docstring. (We need more and decent docstrings in this code!!)
* Changed "fancy" to "mime" and respect change of EnableMime user optionmailman1998-03-131-8/+12
| | | | | | | | | | | | 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.
* Changed EnableMime user option to DisableMime, as part of making mimemailman1998-03-131-3/+22
| | | | | | | | | 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.
* Added periodic (with help of senddigest cron job) digest transmissionmailman1998-03-131-23/+48
| | | | | | | | | | | | | | | | | 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.
* We're just archiving to a flat file now, leaving the real work to anmailman1998-03-131-30/+54
| | | | | | | | | | | | | | | | | 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.
* Implement admin_immed_notify, where list admins can choose to havemailman1998-03-131-1/+45
| | | | | | | | | | 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.
* Added init of admin_immed_notify, so list admins can choose to havemailman1998-03-131-53/+45
| | | | | | | | | | | | | | | | | | | | 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.
* Changing over to external pipermail archive:mailman1998-03-132-18/+40
| | | | | | | | | | | | | | | | | | | | | | | - 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.
* Pluralize "member" accordingly.mailman1998-03-091-2/+4
|
* Whoops again - this shot got it right.mailman1998-03-091-3/+3
|
* Whoops, cut-and-paste mistake in last checkin rectified.klm1998-03-091-1/+1
|
* Indicate the number of concealed members at the end of each list, ifklm1998-03-091-1/+8
| | | | any.
* Resolving digest header and footer formats against list.__dict__ (justklm1998-03-081-6/+10
| | | | | | | | | | | | 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 default value for obscure_addresses - on!klm1998-03-082-12/+24
| | | | | | | | 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.
* Added obscure_addresses option, for thwarting web spiders fromklm1998-03-081-6/+17
| | | | | | | | | | | 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.
* Hmm - in at least one case (bounce options, automatically remove...),klm1998-03-081-2/+2
| | | | | | 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.
* RadioButtonArray.Format(): Somewhat cosmetic change, use cellspacing=5klm1998-03-081-9/+5
| | | | | | | | 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?)
* HTMLFormatter.FormatOneUser(): Use new ObscureEmail() routine to maskklm1998-03-081-1/+6
| | | | | | 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.
* ObscureEmail(), UnobscureEmail(): new routines for invertablyklm1998-03-081-1/+20
| | | | | | | | | | | | | | 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.
* Small formatting changes.klm1998-03-081-10/+16
|
* Minor message wording change.klm1998-03-081-2/+2
|
* DEFAULT_BOUNCE_MATCHING_HEADERS: New privacy (ant-spam) feature -klm1998-03-082-14/+18
| | | | | | | | | | 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.
* New error MMBadConfigError.klm1998-03-081-0/+1
|
* MakeDirTree(): Change default permission to 775 (was 774, previousklm1998-03-081-1/+1
| | | | 744) so group can get in created directories.
* ListAdmin.AddRequest(): Log all posting and membership requestsklm1998-03-081-1/+10
| | | | | | | | | | 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).
* New privacy (ant-spam) feature - bounce_matching_headers option takesklm1998-03-081-35/+161
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* MakeDirTree: use umask 774 rathern than 744, so group members doingklm1998-03-071-3/+8
| | | | | | | | 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.
* mm_cfg.py is site-specific, not part of distribution.mailman1998-03-051-0/+2
|
* Cosmetic change to flag the import of the distributed defaults.mailman1998-03-051-0/+3
|
* nohup.out *looks* like a fewmet of some experiment, not used by anything.mailman1998-03-051-0/+0
| | | | | | Q q dirs
* Checked-in mm_cfg.py moved to mm_cfg.py.dist, so it never clobbersmailman1998-03-052-35/+7
| | | | | site's customized version. New sites can use mm_cfg.py.dist as an example, conversely.
* Preparing to move mm_cfg.py to mm_cfg.py.dist, so a basline copy ismailman1998-03-052-18/+24
| | | | | distributed as an example, and with instructions in the file, but it never clobbers the sites configured version.
* Clarified spawns a bit.mailman1998-03-052-4/+10
|
* Moved default settings to mm_defaults, for distribution. mm_cfg.pymailman1998-03-052-224/+26
| | | | will be used for setting the site-specific values for these defaults.
* Moved default settings here, for distribution. mm_cfg.py will be usedmailman1998-03-052-0/+244
| | | | for setting the site-specific values for these defaults.
* Removed extraneous comma from digestable option.mailman1998-03-041-1/+1
|
* Use new mm_err exceptions to particularize list load failures.mailman1998-03-041-11/+17
| | | | | | 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.)
* Add errors MMUnknownListError and MMBadListError, so maillist.py canmailman1998-03-041-0/+3
| | | | express how list loads fail.
* Add neglected comma to digestable config var!mailman1998-03-041-1/+1
|