summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* InitVars(), ArchiveMail(): The start of some cleanups flagged bybwarsaw2002-02-111-4/+0
| | | | Pychecker. Removed some unused local variables.
* ParseMailCommands(): When creating the UserNotification messagebwarsaw2002-02-111-10/+4
| | | | | | | object, pass in the language that the message should be in. This allows us to get the character set and header encodings right. Patch by Ben Gertzfield, with modifications by Barry.
* __handlepost(), HoldSubscription(): When creating the UserNotificationbwarsaw2002-02-111-11/+20
| | | | | | | | | | | message object, pass in the language that the message should be in. This allows us to get the character set and header encodings right. Note that in the former method, we try to set the language to the forwarding address, if it is a member of the list. If not, the list's preferred language will be used. Patch by Ben Gertzfield, with modifications by Barry.
* SendSubscribeAck(), SendUnsubscribeAck(), MailUserPassword(): Whenbwarsaw2002-02-111-4/+5
| | | | | | | | creating the UserNotification message object, pass in the language that the message should be in. This allows us to get the character set and header encodings right. Patch by Ben Gertzfield.
* __sendAdminBounceNotice(), sendNextNotification(), BounceMessage():bwarsaw2002-02-111-5/+7
| | | | | | | | When creating the UserNotification message object, pass in the language that the message should be in. This allows us to get the character set and header encodings right. Patch by Ben Gertzfield.
* AddMember(), ApprovedAddMember(), ApprovedDeleteMember(): Whenbwarsaw2002-02-111-6/+3
| | | | | | | | creating the UserNotification message object, pass in the language that the message should be in. This allows us to get the character set and header encodings right. Patch by Ben Gertzfield.
* UserNotification.__init__(): Add a `lang' optional argument so thatbwarsaw2002-02-111-3/+10
| | | | | | | charset information can be propagated into the headers, if necessary. Use the new mimelib/email package's Charset and Header classes. Patch by Ben Gertzfield. Requires email 0.97.
* Massive simplification to avoid making all the BerkeleyDB callsbwarsaw2002-02-091-155/+62
| | | | | | | | | | | | | | | | | | | | | ourselves. Given the incompatible state of BDB libraries on most modern Linux distros, and given the sorry state of affairs in Python's BDB wrappers, this is the only sensible solution. Essentially, I've kept all the plain text (data/aliases and data/virtual-mailman) update code, and then we just call postalias and postmap on the files to get the .db counterparts regenerated. This should be foolproof since only Postfix itself needs to use consistent libraries -- attempting to match Postfix and Python would be a nightmare. I don't believe we're opening ourselves up to any vulnerabilities by using os.system() in this case. Also: all functions which are not meant to be part of the public MTA interface are now prefixed by a single underscore. I'm too tired to give detailed changes...
* POSTFIX_ALIAS_CMD, POSTFIX_MAP_CMD: External commands for convertingbwarsaw2002-02-091-0/+7
| | | | | | 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.
* test_remove_member_clears(): New test to make sure that removing abwarsaw2002-02-091-1/+45
| | | | | | | member clears the bounce and delivery status information for a member. test_bounce_info(): Make sure that the case invariants are upheld.
* setBounceInfo(): Dan Mick recognized that set/getBounceInfo() weren'tbwarsaw2002-02-091-0/+1
| | | | | operating case insensitively w.r.t. the member key. Coerce the member argument to lower case before it's used.
* Latest Spanish updates from Juan Carlos Rey Anaya.bwarsaw2002-02-082-633/+352
|
* Updated norwegian binary catalog.avalon2002-02-061-0/+0
|
* Updated norwegian catalog.avalon2002-02-061-44/+67
|
* French catalogs updates.wilane2002-02-062-76/+128
|
* GetStandardReplacements(): Be sure to pass the lang argument to thebwarsaw2002-02-051-2/+2
| | | | | | GetLangSelectBox() call for the <mm-list-langs> replacement, otherwise a user's option page will always reset the user's language to the list's preferred language.
* removeMember(): Untested patch to clean up bounce_info andbwarsaw2002-02-051-2/+1
| | | | | delivery_status attributes when deleting a member. Don't call setBounceInfo() directly.
* sendNextNotification(): Remove the call to setBounceInfo() sincebwarsaw2002-02-051-1/+0
| | | | | | removeMember() -- which is eventually called by ApprovedDeleteMember() should to any necessary cleanup of the bounce info. Found by Dan Mick.
* Japanese updates from Tokio Kikuchibwarsaw2002-02-0510-327/+354
|
* Spanish updates from Juan Carlos Rey Anayabwarsaw2002-02-055-986/+1846
|
* Newly generated mailman.pot template file. Merged w/ languagebwarsaw2002-02-031-0/+15
| | | | | | | | catalogs and .mo files generated. Spanish and German translators take note: there were a bunch of duplicate entries which I had to manually delete before msgfmt would complete successfully. Please verify!
* Newly generated mailman.pot template file. Merged w/ languagebwarsaw2002-02-0319-7420/+9740
| | | | | | | | catalogs and .mo files generated. Spanish and German translators take note: there were a bunch of duplicate entries which I had to manually delete before msgfmt would complete successfully. Please verify!
* update from Dmitry Fedoseevmss2002-02-031-21/+26
|
* main(): Several fixes:bwarsaw2002-02-021-5/+15
| | | | | | | | | | | | | | | | - When Errors.EmailAddressError is raised, the translatable string in the print statement was illegal. - If an email address showed up twice in the sync file, a dry-run would have shown that address to be addable, even if it was already a member of the list. - If there were legacy illegal address in the user database (e.g. aperson@@dom.ain), then ApprovedDeleteMember() would fail on it with an MMNoSuchUserError, because parseaddr() in the former method would return some bogus address like "aperson@". In that case, use a lower level routine to delete the bogus record from the member database.
* Slightly better contrast to the letters.bwarsaw2002-02-011-0/+0
|
* note to myself: ispell is a friend of minemss2002-01-313-5/+5
|
* made sure the FILES variable gets the proper valuemss2002-01-311-1/+1
|
* put the correct contact informationmss2002-01-311-39/+43
|
* fixed the install target; added two informational targets; got rid of ↵mss2002-01-311-2/+10
| | | | unnecessary stuff on the screen
* added a simple commentmss2002-01-311-0/+2
|
* Typo fix.bwarsaw2002-01-311-1/+1
|
* Sigh. Copyright years.bwarsaw2002-01-301-1/+1
|
* install: Install the misc/mailman startup script into $prefix/scripts.bwarsaw2002-01-301-1/+3
|
* Terri Oda's favicon contribution, with two modifications:bwarsaw2002-01-301-0/+0
| | | | | | - Background was made grey to (I think) improve contrast - gif -> png
* Document.Format(): Add support for optional favicon.bwarsaw2002-01-301-0/+3
|
* SHORTCUT_ICON: New variable holding name of favicon in IMAGE_LOGOSbwarsaw2002-01-301-0/+3
| | | | directory.
* __handlesubscription(): Don't allow an empty comment in subscriptionbwarsaw2002-01-301-1/+3
| | | | refusal messages. Use the same default as in __handlepost().
* reset(): Dan Mick discovered a cut-n-paste error! info. -> self.bwarsaw2002-01-291-4/+4
|
* main(): Add a sweep & cull step before sending disabled notifications.bwarsaw2002-01-291-1/+30
| | | | | | | Here, we're looking for members who are not yet disabled, but who have a bounce score >= the threshold. This can happen if the list owner lowers the threshold. There's no sense in waiting until another bounce is received on the member before we disable them.
* Restore Ken M's favorite feature <wink>.bwarsaw2002-01-291-24/+51
| | | | | Added a --all / -a flag which says to run the callable against every list in the system. Must be used w/ -r / --run.
* CheckCookie(): If the SimpleCookie constructor throws a CookieError,bwarsaw2002-01-291-1/+4
| | | | catch it and return false.
* Urg. Bump copyright years.bwarsaw2002-01-291-1/+1
|
* getBouncingMembers(): New interface method to return the list ofbwarsaw2002-01-292-0/+12
| | | | | | members with bounce info. This overlaps w/ getDeliveryStatusMembers() since it will return members who have bounced, but have not yet reached the disable threshold.
* To better support a patched email package w/ Python 2.2, prependbwarsaw2002-01-291-4/+5
| | | | | sitedir to sys.path instead of appending it. This means our email package will override the one in Python 2.2.
* Several fixes to improve the bounce score testing when thebwarsaw2002-01-291-22/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | administrator has adjusted the threshold (inspired by Dan Mick). Specifically, ZEROHOUR_PLUSONEDAY: New constant that is supposed to represent the day containing the first midnight after the epoch. We'll add (0,)*6 to this tuple to get a value appropriate for time.mktime(). _BounceInfo.reset(): New method to encapsulate resetting stale bounce scores. Also used in the constructor. registerBounce(): Implement refined rules for setting and checking the bounce score. As described in a message to mailman-developers: 1) are we a member? No, return 2) do we have previous bounces? No, register it, skip to step 7 3) is the member disabled? yes, return 4) is the bounce info from today? yes, don't increment, skip to step 7 5) is the info stale? yes, reset it and skip to step 7 6) increment score for today's bounce 7) is score > threshold? yes, disable 'em. disableBouncingMember(): Refactor since cron/disabled can call this method too now. __sendAdminBounceNotice(): msg argument can now be a Message instance or a string. Wrap in a MIME* instance as appropriate.
* A bunch of updatesbwarsaw2002-01-284-246/+232
|
* getMemberPassword(): Donal Hunt notices that this didn't end in abwarsaw2002-01-261-0/+1
| | | | "raise NotImplemented".
* An addition.bwarsaw2002-01-261-0/+1
|
* A couple of new entries for 2.1b1bwarsaw2002-01-261-0/+8
|
* LANGUAGES: Add Russian.bwarsaw2002-01-262-4/+4
|