]> granicus.if.org Git - python/commitdiff
Issue #11893: Remove obsolete internal wrapper class `SSLFakeFile` in the smtplib...
authorAntoine Pitrou <solipsis@pitrou.net>
Mon, 6 Jun 2011 17:17:09 +0000 (19:17 +0200)
committerAntoine Pitrou <solipsis@pitrou.net>
Mon, 6 Jun 2011 17:17:09 +0000 (19:17 +0200)
Patch by Catalin Iacob.

Lib/smtplib.py
Misc/NEWS

index f724b9f268f3884aa8bd72b9a649d7000712f691..3295d1477fcb468e192d2c54a54744c7ab52a31d 100755 (executable)
@@ -172,27 +172,6 @@ try:
 except ImportError:
     _have_ssl = False
 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
 
 
@@ -322,6 +301,7 @@ class SMTP:
         if self.debuglevel > 0:
             print('connect:', (host, port), file=stderr)
         self.sock = self._get_socket(host, port, self.timeout)
+        self.file = None
         (code, msg) = self.getreply()
         if self.debuglevel > 0:
             print("connect:", msg, file=stderr)
@@ -669,7 +649,7 @@ class SMTP:
                 self.sock = context.wrap_socket(self.sock)
             else:
                 self.sock = ssl.wrap_socket(self.sock, keyfile, certfile)
-            self.file = SSLFakeFile(self.sock)
+            self.file = None
             # RFC 3207:
             # The client MUST discard any knowledge obtained from
             # 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)
             else:
                 new_socket = ssl.wrap_socket(new_socket, self.keyfile, self.certfile)
-            self.file = SSLFakeFile(new_socket)
             return new_socket
 
     __all__.append("SMTP_SSL")
@@ -890,6 +869,7 @@ class LMTP(SMTP):
         # Handle Unix-domain sockets.
         try:
             self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
+            self.file = None
             self.sock.connect(host)
         except socket.error as msg:
             if self.debuglevel > 0:
index 650ae608c1e43fac91edbbfaa84cb92bd78bd49d..74387b0c9d74c52ff2ea76e2677f18fe4180f59a 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -187,6 +187,9 @@ Core and Builtins
 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
   to compute.