summaryrefslogtreecommitdiff
path: root/Mailman/MailList.py (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* As a safety measure, copy over the list config file to config.lastviega1998-05-311-1/+7
| | | | | | before we write out a new one. I got hosed once on my big list when the process got killed by some load dog software when it was in the middle of writing out the database.
* Inherit the gateway mixin, and do the right initialization.viega1998-05-311-1/+4
|
* Integrated Scott's cookie code into the distribution.viega1998-05-301-9/+11
| | | | | | Note that it does have one problem... If you have cookies off, you have to log in every time, plus your changes don't take effect! That definitely needs to be fixed.
* Remove RCS crudbwarsaw1998-05-261-3/+4
| | | | | | | Slight docstring rewrite MailList.__init__(): When raising an MMUnknownListError, include the given list name in the value.
* Fixed a typo in the zipcode.viega1998-05-261-2/+2
|
* Whoops - reminder_to_admins will cause "-admin" to be appended to themailman1998-05-261-3/+3
| | | | member's account name, not "-owner".
* .GetOptionsURL(): only use the unobscured addr when optional argmailman1998-05-261-4/+17
| | | | | | | | | | | "obscured" is set. (Turns out that this routine is so far used only in places where the unobscured URL is fine. mm_utils.ObscureEmail() is generally used when the obscured addr is needed.) reminders_to_admins: New list option that says to send the password reminders to the user's corresponding "-owner" address - this is for lists that have only other lists as members. This way, the reminders don't get posted.
* Added copyright notices to all source files where I am legally entitled to ↵viega1998-05-251-1/+18
| | | | | | | do so. Added a copy of the GNU GPL. Added information about mailman-users in README, and reworded some text in there (made the credits less verbose... perhaps they should move to a credits file?)
* Use more of the available space in the basic description for 'info'klm1998-05-241-2/+5
| | | | field to better explain where it is used.
* .DeleteMember(): Delete the option settings for the user (if any), asmailman1998-05-181-1/+3
| | | | well as the rest of the stuff.
* Essential cosmetic changes - one typo, and one missing comma (whichmailman1998-05-121-3/+3
| | | | | separates a detail elaboration from the brief description, so its lack made the two into a long brief description).
* Removed constant i added but didn't use (SUBJ_REGARDS_PREFIX).klm1998-05-031-4/+1
|
* On further thought, emphasize that case-changes only are acceptableklm1998-05-011-2/+2
| | | | for the real_name setting - in the brief description.
* Whoops, a trivial after-checkin phrasing refinement.klm1998-05-011-2/+2
|
* .GetConfigInfo(): Reenable web-based setting of web_page_url. Thisklm1998-05-011-15/+42
| | | | | | | | | | | | | | (together with the 'host_name' setting) is crucial for lists that use some alternate address of a host that has multiple identities. (I have to go through everything to make sure these addresses are utilized everwhere they ought to be, but this capability will be crucial for, eg, clients of ISP's that have their own client domains, and of course want to have their mailman setup reflect that domain!) .GetConfigInfo(): Added long descriptions for several variables that needed them, including particularly the real_name - have to make sure that people know they can change the case, but not anything else about it, and why.
* Strengthen admonition against setting reply_goes_to_list.klm1998-05-011-6/+10
|
* Using new X-beenthere message header for loop-detection, particularlyklm1998-04-271-1/+7
| | | | for reflection loops.
* Repaired minor typo in option description.mailman1998-04-231-2/+2
|
* .CheckVersion(): When version skew is detected, call the new versionklm1998-04-121-4/+7
| | | | | | rectification routine, versions.Update(). .Load(): Pass stored state into CheckVersion().
* ApprovedAddMember(): Add a no-acknowledement option, eg forklm1998-04-111-4/+5
| | | | subscription of one list to another.
* Track move of MESSAGE_DECORATION_NOTE from mm-defaults to mm_err.mailman1998-04-101-3/+3
|
* Preparing to package a distribution - add a module docstring andmailman1998-04-091-5/+3
| | | | __version__ info.
* Some more slight option-description refinement.klm1998-04-091-2/+2
|
* Cleaned up some phrasing.mailman1998-04-091-6/+9
|
* More refinement of help messages.mailman1998-04-091-29/+32
|
* Add a sub-section header to the privacy options.mailman1998-04-091-0/+2
|
* Refined a few long descriptions (now that i can look at them in aklm1998-04-081-13/+18
| | | | browser).
* Refine open-list option descr.klm1998-04-081-1/+2
|
* Refined organization of and included dividers in privacy optionsklm1998-04-081-46/+75
| | | | section.
* Using error-message vars from mm_err, instead of string literals, somailman1998-04-081-4/+4
| | | | | they can be recognized in post script, eg to avoid sending hold messages to spammers.
* A few checkins on the parrot side, in completing this batch ofmailman1998-04-071-0/+3
| | | | | | | checkins. .DoActualRemoval(): Fixed neglect in certain cases to initialize one of the reporting vars.
* Substantial refinement of the options mechanism:klm1998-04-071-98/+171
| | | | | | | | | | | | | | | | | | | | | | | | | | - An optional 6th field constitutes an elaboration of the option description. The idea is to have a 'help' link for each short descr that has a long one, which puts the long descr in a help browser. - The option list entry can be a simple string, consitituting a header to be included in the presentation. I refined all the descriptions so those needing the help elaboration got one. (Some of the brief descriptions got more brief, thereby.) I haven't yet put in the help links functionality, but have rectified the admin cgi script for the new format - in the process breaking the different sections from one long, unwieldy page into several subpages. Entirely Disabled "filter_prog" option. It was not implemented, anyway, and it does not seem like a good idea to offer maillist managers the ability to invoke arbitrary routines on the maillist server. Perhaps some repertoire of functions would make sense, dunno. welcome_msg, goodbye_msg initial values are '' instead of None, to be more congruent to the text widget null values. "bad_posters" => "forbidden_posters".
* .DeleteMember(): add optional argument indicating whence the deletionmailman1998-04-021-1/+5
| | | | | came, so we can log it - and log the deletion (in the "subscribe" log).
* Implement message "approved" line recognition (and stripping!).mailman1998-04-021-1/+15
| | | | | | Add .GetOptionsURL() method. Spell acceptable_aliases option correctly.
* Whoops - realized that a null regexp (from stripping the empty string)mailman1998-03-311-1/+2
| | | | | would make .HasExplicitDest() return true for every list with an empty acceptable_aliases - fixed.
* Added companion option for require_explicit_destination -klm1998-03-311-6/+21
| | | | | | | | acceptable_aliases, which designate alternate account names by which this system may be known. This will be useful for lists transitioning from old names (eg, currently happening jpython -> jpython-interest) and for cascading lists, ie lists that are legitemately included by others...
* Untangled subscription confirmation cases.klm1998-03-291-22/+28
|
* Do *not* sort the members (digest or non) in the list record - sortmailman1998-03-271-5/+5
| | | | | | | them before presenting an ordered list. Do not pad subject prefix with a trailing space - but prepare the default one with a trailng space.
* new .Locked() method.mailman1998-03-261-2/+8
| | | | | .ApprovedAddMember(): Do the .Save() before trying to send the subscribe ack.
* Tracked change of names of 'closed' and 'auto_subscribe' options. Seemailman1998-03-241-28/+13
| | | | | | | | concurrent mm_defaults.py checkin for details. Moved basic logger functionality to mm_utils.Logger() and particularly, .StampedLogger(), so it could be used outside of lists, as well as within them via the LogMessage() routine.
* Add __del__ to close the log_files that were retained across themailman1998-03-201-0/+4
| | | | | | maillist session. I was running out of file descriptors in the extensive map_maillist() type activities. Not sure if it's the log files, but it can't hurt.
* .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.
* 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.
* 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.
* 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.
* Checked-in mm_cfg.py moved to mm_cfg.py.dist, so it never clobbersmailman1998-03-051-1/+7
| | | | | site's customized version. New sites can use mm_cfg.py.dist as an example, conversely.
* 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 missing space to max_num_recipients config var description.mailman1998-03-041-2/+2
| | | | (And incidentally, first test of checkin after transition to cvs.)
* Refined some option text descriptions, increased length of filtermailman1998-02-271-11/+10
| | | | program input box.
* Prevent cascading subject-line list prefixes.mailman1998-02-261-38/+51
| | | | | | | | | | | | | Employ defaults from mm_cfg. Rearrange some of the options so, eg, the list descriptions options are together near the top. Create the retained-mail file, regardless of whether it will be used. (This way things won't blow when the option to use the file is selected after list init time.) Wrap some long lines.