Issue #23779: imaplib raises TypeError if authenticator tries to abort.
Patch from Craig Holmquist.
This commit is contained in:
parent
30f1f67248
commit
5ccc18f298
@ -1306,7 +1306,7 @@ class _Authenticator:
|
|||||||
def process(self, data):
|
def process(self, data):
|
||||||
ret = self.mech(self.decode(data))
|
ret = self.mech(self.decode(data))
|
||||||
if ret is None:
|
if ret is None:
|
||||||
return '*' # Abort conversation
|
return b'*' # Abort conversation
|
||||||
return self.encode(ret)
|
return self.encode(ret)
|
||||||
|
|
||||||
def encode(self, inp):
|
def encode(self, inp):
|
||||||
|
@ -325,6 +325,25 @@ class BaseThreadedNetworkedTests(unittest.TestCase):
|
|||||||
self.assertEqual(ret, "OK")
|
self.assertEqual(ret, "OK")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@reap_threads
|
||||||
|
def test_aborted_authentication(self):
|
||||||
|
|
||||||
|
class MyServer(SimpleIMAPHandler):
|
||||||
|
|
||||||
|
def cmd_AUTHENTICATE(self, tag, args):
|
||||||
|
self._send_textline('+')
|
||||||
|
self.response = yield
|
||||||
|
|
||||||
|
if self.response == b'*\r\n':
|
||||||
|
self._send_tagged(tag, 'NO', '[AUTHENTICATIONFAILED] aborted')
|
||||||
|
else:
|
||||||
|
self._send_tagged(tag, 'OK', 'MYAUTH successful')
|
||||||
|
|
||||||
|
with self.reaped_pair(MyServer) as (server, client):
|
||||||
|
with self.assertRaises(imaplib.IMAP4.error):
|
||||||
|
code, data = client.authenticate('MYAUTH', lambda x: None)
|
||||||
|
|
||||||
def test_linetoolong(self):
|
def test_linetoolong(self):
|
||||||
class TooLongHandler(SimpleIMAPHandler):
|
class TooLongHandler(SimpleIMAPHandler):
|
||||||
def handle(self):
|
def handle(self):
|
||||||
|
@ -592,6 +592,7 @@ Gerrit Holl
|
|||||||
Shane Holloway
|
Shane Holloway
|
||||||
Rune Holm
|
Rune Holm
|
||||||
Thomas Holmes
|
Thomas Holmes
|
||||||
|
Craig Holmquist
|
||||||
Philip Homburg
|
Philip Homburg
|
||||||
Naofumi Honda
|
Naofumi Honda
|
||||||
Jeffrey Honig
|
Jeffrey Honig
|
||||||
|
@ -66,6 +66,9 @@ Core and Builtins
|
|||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- Issue #23779: imaplib raises TypeError if authenticator tries to abort.
|
||||||
|
Patch from Craig Holmquist.
|
||||||
|
|
||||||
- Issue #23319: Fix ctypes.BigEndianStructure, swap correctly bytes. Patch
|
- Issue #23319: Fix ctypes.BigEndianStructure, swap correctly bytes. Patch
|
||||||
written by Matthieu Gautier.
|
written by Matthieu Gautier.
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user