]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
asyncio: Fix an SSL warning in StreamReaderProtocol.eof_received
authorYury Selivanov <yselivanov@sprymix.com>
Fri, 20 May 2016 15:31:40 +0000 (11:31 -0400)
committerYury Selivanov <yselivanov@sprymix.com>
Fri, 20 May 2016 15:31:40 +0000 (11:31 -0400)
Lib/asyncio/streams.py

index 0345a3d3918cc33787b3905abb3bf8b4fe824852..6f465afde2e65c28cb4f9ed2fedd2da34bca253c 100644 (file)
@@ -225,9 +225,11 @@ class StreamReaderProtocol(FlowControlMixin, protocols.Protocol):
         self._stream_reader = stream_reader
         self._stream_writer = None
         self._client_connected_cb = client_connected_cb
+        self._over_ssl = False
 
     def connection_made(self, transport):
         self._stream_reader.set_transport(transport)
+        self._over_ssl = transport.get_extra_info('sslcontext') is not None
         if self._client_connected_cb is not None:
             self._stream_writer = StreamWriter(transport, self,
                                                self._stream_reader,
@@ -252,6 +254,11 @@ class StreamReaderProtocol(FlowControlMixin, protocols.Protocol):
 
     def eof_received(self):
         self._stream_reader.feed_eof()
+        if self._over_ssl:
+            # Prevent a warning in SSLProtocol.eof_received:
+            # "returning true from eof_received()
+            # has no effect when using ssl"
+            return False
         return True