Issue #11893: Remove obsolete internal wrapper class `SSLFakeFile` in the smtplib module.
Patch by Catalin Iacob.
This commit is contained in:
parent
e67b1eab32
commit
f068ab8304
|
@ -172,27 +172,6 @@ try:
|
||||||
except ImportError:
|
except ImportError:
|
||||||
_have_ssl = False
|
_have_ssl = False
|
||||||
else:
|
else:
|
||||||
class SSLFakeFile:
|
|
||||||
"""A fake file like object that really wraps a SSLObject.
|
|
||||||
|
|
||||||
It only supports what is needed in smtplib.
|
|
||||||
"""
|
|
||||||
def __init__(self, sslobj):
|
|
||||||
self.sslobj = sslobj
|
|
||||||
|
|
||||||
def readline(self):
|
|
||||||
str = b""
|
|
||||||
chr = None
|
|
||||||
while chr != b"\n":
|
|
||||||
chr = self.sslobj.read(1)
|
|
||||||
if not chr:
|
|
||||||
break
|
|
||||||
str += chr
|
|
||||||
return str
|
|
||||||
|
|
||||||
def close(self):
|
|
||||||
pass
|
|
||||||
|
|
||||||
_have_ssl = True
|
_have_ssl = True
|
||||||
|
|
||||||
|
|
||||||
|
@ -322,6 +301,7 @@ class SMTP:
|
||||||
if self.debuglevel > 0:
|
if self.debuglevel > 0:
|
||||||
print('connect:', (host, port), file=stderr)
|
print('connect:', (host, port), file=stderr)
|
||||||
self.sock = self._get_socket(host, port, self.timeout)
|
self.sock = self._get_socket(host, port, self.timeout)
|
||||||
|
self.file = None
|
||||||
(code, msg) = self.getreply()
|
(code, msg) = self.getreply()
|
||||||
if self.debuglevel > 0:
|
if self.debuglevel > 0:
|
||||||
print("connect:", msg, file=stderr)
|
print("connect:", msg, file=stderr)
|
||||||
|
@ -669,7 +649,7 @@ class SMTP:
|
||||||
self.sock = context.wrap_socket(self.sock)
|
self.sock = context.wrap_socket(self.sock)
|
||||||
else:
|
else:
|
||||||
self.sock = ssl.wrap_socket(self.sock, keyfile, certfile)
|
self.sock = ssl.wrap_socket(self.sock, keyfile, certfile)
|
||||||
self.file = SSLFakeFile(self.sock)
|
self.file = None
|
||||||
# RFC 3207:
|
# RFC 3207:
|
||||||
# The client MUST discard any knowledge obtained from
|
# The client MUST discard any knowledge obtained from
|
||||||
# the server, such as the list of SMTP service extensions,
|
# the server, such as the list of SMTP service extensions,
|
||||||
|
@ -853,7 +833,6 @@ if _have_ssl:
|
||||||
new_socket = self.context.wrap_socket(new_socket)
|
new_socket = self.context.wrap_socket(new_socket)
|
||||||
else:
|
else:
|
||||||
new_socket = ssl.wrap_socket(new_socket, self.keyfile, self.certfile)
|
new_socket = ssl.wrap_socket(new_socket, self.keyfile, self.certfile)
|
||||||
self.file = SSLFakeFile(new_socket)
|
|
||||||
return new_socket
|
return new_socket
|
||||||
|
|
||||||
__all__.append("SMTP_SSL")
|
__all__.append("SMTP_SSL")
|
||||||
|
@ -890,6 +869,7 @@ class LMTP(SMTP):
|
||||||
# Handle Unix-domain sockets.
|
# Handle Unix-domain sockets.
|
||||||
try:
|
try:
|
||||||
self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
|
self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
|
||||||
|
self.file = None
|
||||||
self.sock.connect(host)
|
self.sock.connect(host)
|
||||||
except socket.error as msg:
|
except socket.error as msg:
|
||||||
if self.debuglevel > 0:
|
if self.debuglevel > 0:
|
||||||
|
|
|
@ -187,6 +187,9 @@ Core and Builtins
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- Issue #11893: Remove obsolete internal wrapper class ``SSLFakeFile`` in the
|
||||||
|
smtplib module. Patch by Catalin Iacob.
|
||||||
|
|
||||||
- Issue #12080: Fix a Decimal.power() case that took an unreasonably long time
|
- Issue #12080: Fix a Decimal.power() case that took an unreasonably long time
|
||||||
to compute.
|
to compute.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue