Message88253
| Author |
j.l.caceres |
| Recipients |
ajaksu2, j.l.caceres, kalevi, loewis, marcin.bachry, miwa, r.david.murray, toastedrobot |
| Date |
2009年05月23日.22:34:32 |
| SpamBayes Score |
0.0019626652 |
| Marked as misclassified |
No |
| Message-id |
<1243118075.87.0.403207318838.issue5259@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
There is a similar problem that I found with encode_cram_md5 in
smtplib.py, SMTP.login() method. I used the solution proposed by miwa,
both for PLAIN and CRAM MD5 authentication. Additionally, for the last
one, I had to introduce a second correction and byte encode the
password string when passing it to hmac.HMAC.
I do not know if I did things correctly, but just in case it can help
here is the complete patch that I used and worked well with the two
AUTH methods. I keep the original and modified lines for clarity.
def encode_cram_md5(challenge, user, password):
challenge = base64.decodestring(challenge)
#response = user + " " + hmac.HMAC(password,
challenge).hexdigest()
response = user + " " + hmac.HMAC(password.encode(),
challenge).hexdigest()
#return encode_base64(response)
return encode_base64((response).encode('ascii'), eol='')
def encode_plain(user, password):
#return encode_base64("0円%s0円%s" % (user, password))
return encode_base64(("0円%s0円%s" % (user, password)).encode
('ascii'), eol='') |
|