summaryrefslogtreecommitdiff
path: root/Mailman/pythonlib/getpass.py (unfollow)
Commit message (Collapse)AuthorFilesLines
1999-04-21Added Khris' logobwarsaw1-1/+6
1999-04-21Bump version number to 1.0b11+bwarsaw1-1/+1
1999-04-21Catch Errors.MMNoSuchUserError when unsubscribing, so that alreadyhmeland1-3/+11
unsubscribed addresses doesn't generate tracebacks. Failed unsubscribes are listed on the top of the admin page generated after submitting.
1999-04-16Added some documentation about upgrading really old versionsbwarsaw1-0/+7
1999-04-16Post(): When the sender does not want copies of their messages, andbwarsaw1-1/+7
has delivery disabled, they won't be on the recipients list. Catch and ignore the failure in .remove().
1999-04-16Post(): New policy for message loops (e.g. messages that show up atbwarsaw2-17/+25
the mailing list that have a matching X-BeenThere header). Instead of holding such messages for approval, an MMLoopingPost error is raised. This is caught by the post CGI script, which logs this occurance and sends a notice (containing the original message) to the list admin. This way, the admin knows there's a problem and can track the loop down, but isn't so inconvenienced to go the the Web page just to discard the message (the usual disposition).
1999-04-16LogStdErr(): category was being ignored. Instead, use it as the firstbwarsaw1-1/+1
argument to StampedLogger().
1999-04-16LOOPING_POST => MMLoopingPostbwarsaw1-1/+1
1999-04-14Don't truncate "Subject line ignored" linesbwarsaw1-1/+2
1999-04-12slightly different takebwarsaw1-4/+4
1999-04-12HTML-ified question 7bwarsaw1-4/+4
1999-04-09run_script(): When filtering out PYTHONPATH from environment, wrongbwarsaw1-1/+1
indices were used. Found by Alexander (Leo) Bergolth <leo@strike.wu-wien.ac.at>
1999-04-09HandlePostRequest(): Quote %'s in the Subject: header too!bwarsaw1-8/+10
1999-04-07Changes by Per Cederquist and The Dragon.guido1-49/+118
Per writes: """ The application where Signum Support uses smtplib needs to be able to report good error messages to the user when sending email fails. To help in diagnosing problems it is useful to be able to report the entire message sent by the server, not only the SMTP error code of the offending command. A lot of the functions in sendmail.py unfortunately discards the message, leaving only the code. The enclosed patch fixes that problem. The enclosed patch also introduces a base class for exceptions that include an SMTP error code and error message, and make the code and message available on separate attributes, so that surrounding code can deal with them in whatever way it sees fit. I've also added some documentation to the exception classes. The constructor will now raise an exception if it cannot connect to the SMTP server. The data() method will raise an SMTPDataError if it doesn't receive the expected 354 code in the middle of the exchange. According to section 5.2.10 of RFC 1123 a smtp client must accept "any text, including no text at all" after the error code. If the response of a HELO command contains no text self.helo_resp will be set to the empty string (""). The patch fixes the test in the sendmail() method so that helo_resp is tested against None; if it has the empty string as value the sendmail() method would invoke the helo() method again. The code no longer accepts a -1 reply from the ehlo() method in sendmail(). [Text about removing SMTPRecipientsRefused deleted --GvR] """ and also: """ smtplib.py appends an extra blank line to the outgoing mail if the `msg' argument to the sendmail method already contains a trailing newline. This patch should fix the problem. """ The Dragon writes: """ Mostly I just re-added the SMTPRecipientsRefused exception (the exeption object now has the appropriate info in it ) [Per had removed this in his patch --GvR] and tweaked the behavior of the sendmail method whence it throws the newly added SMTPHeloException (it was closing the connection, which it shouldn't. whatever catches the exception should do that. ) I pondered the change of the return values to tuples all around, and after some thinking I decided that regularizing the return values was too much of the Right Thing (tm) to not do. My one concern is that code expecting an integer & getting a tuple may fail silently. (i.e. if it's doing : x.somemethod() >= 400: expecting an integer, the expression will always be true if it gets a tuple instead. ) However, most smtplib code I've seen only really uses the sendmail() method, so this wouldn't bother it. Usually code I've seen that calls the other methods usually only calls helo() and ehlo() for doing ESMTP, a feature which was not in the smtplib included with 1.5.1, and thus I would think not much code uses it yet. """
1999-04-05Added entry for posixfile.py problem.bwarsaw1-10/+20
1999-04-05Updated question #9bwarsaw1-5/+10
1999-04-05USE_ENVELOPE_SENDER: Set the default to 0 now and for the finalbwarsaw1-1/+1
release.
1999-04-04isAuthenticated(): Catch MMNotAMemberError and return 0bwarsaw1-1/+2
1999-04-02Update for 1.0b11 releasebwarsaw2-3/+3
1999-04-02LogMsg(): small efficiency hackbwarsaw1-1/+1
1999-04-02DeliverToList(): Also get rid of duplicate errors-to headersbwarsaw1-1/+2
1999-04-02PollNewsGroup(): Synthesize unixfrom header ("From ") forbwarsaw1-0/+7
interoperability with Pipermail.
1999-04-02Thanks to Gerhard Gonter, who corrected the logic intended to obtain aklm1-1/+1
public list to serve as the sender of the password notifications. (This arrangement is still ad-hoc, as my previous mailpasswds checkin message suggests.)
1999-03-31DeliverToList(): Strip off any duplicate Sender: headers, leaving justbwarsaw1-0/+2
the one pointing to the list-admin.
1999-03-31deliver shouldn't be ignored!bwarsaw1-1/+0
1999-03-31HandlePostRequest(): Need to "strquote" (e.g. replace % with %%) inbwarsaw1-6/+12
string read from Web text box.
1999-03-31Load(): Include the exception details when marshal.load() failsbwarsaw1-2/+3
1999-03-31ProcessWhoCmd(): Be sure not to truncate the list of members!bwarsaw1-2/+2
1999-03-30Updated for 1.0b11bwarsaw1-0/+7
1999-03-30Bumping version number to 1.0b11bwarsaw1-1/+1
1999-03-30Post(): when not including sender in recipients, remove address in abwarsaw1-12/+2
case-preserving way.
1999-03-29Make sure list_name is not an empty string or None (a.k.a. "false")bwarsaw1-2/+5
1999-03-29Load(): Verify that the unmarshaled config information is of typebwarsaw1-3/+6
DictType.
1999-03-29UpdateOldVars(): Fixed a lurking buglet. If the mlist.members andbwarsaw1-18/+41
mlist.digest_members dictionaries have already been converted to lowercase-only keys, any key with a case-preserved value would have been lost by being overwritten with 0. :-( UpdateOldUsers(): Implement the mlist.passwords constraints fix. The keys of this dictionary are now guaranteed to be lowercased.
1999-03-29Bump VERSION to 1.0b10+bwarsaw1-2/+2
Bump DATA_FILE_VERSION to 14 to trigger mlist.passwords dictionary fix in versions.py
1999-03-29Sweeping changes to hopefully and finally (for 1.0 at least) make sanebwarsaw7-46/+96
address case matching. These changes require the DATA_FILE_VERSION to be bumped, which should auto-update your config.db files. I sure hope this works correctly! Details of changes: MailList.GetUserSubscribedAddress(): New method. If the address is a member, this returns the case-preserved address the user is subscribed with. If not a member, None is returned. MailList.GetUserCanonicalAddress(): New method. If the address is a member, this returns the lowercased address the user is subscribed with. If not a member, None is returned. MailList.FindUser(): Wrote down, in a big comment, the constraints for the dictionaries self.members, self.digest_members, self.passwords. This wasn't always followed, but now it should be. FindUser() is now also guaranteed to return the lowercased version of the subscribed email address. This wasn't always the case. FindUser() also provides a shortcut for the common case. ApprovedAddMember(): Guarantee that passwords stored in self.passwords are keyed off the lowercased address. Deliverer.MailUserPassword(): Find the user's password using the lowercased version of their address. However, be sure to use their case-preserved address for the recipient of the password email. Digester.SetUserDigest(): Fixed a fairly old bug where a user switching from regular to digest membership (or vice versa) would get their case-preserved address blown away. I don't think there's any way to recover this information, but at least now we properly save it. SecurityManager.ConfirmUserPassword(): Simplified address matching stuff, since we now guarantee that FindUser() will return a lowercased address, and that the passwords dictionary has lowercased keys. FindUser() will return None if the address isn't found, and it also has a built-in shortcut so that the more expensive FindMatchingAddresses() isn't called in the common case. I eliminated the case-insensitive password comparision that Ken rightly questioned in his comment. admin.py: In the list of members, display a member's case-preserved address instead of their lowercased address. Also, obscure the URL in the hyperlink (probably not terribly necessary). handle_opts.py: When the password can't be found (when emailing it), put the address we tried to find in the result message. Makes for better debugging. options.py: Use a better mechanism for finding if the member has a case-preserved address different from their lowercased address.
1999-03-29Patch by Per Cederqvist, who writes:guido1-6/+15
""" - It needlessly used the makefile() method for each response that is read from the SMTP server. - If the remote SMTP server closes the connection unexpectedly the code raised an IndexError. It now raises an SMTPServerDisconnected exception instead. - The code now checks that all lines in a multiline response actually contains an error code. """ The Dragon approves.
1999-03-29Added `withlist' script to install targetbwarsaw1-1/+1