summaryrefslogtreecommitdiffstats
path: root/Lib/asyncio/sslproto.py
Commit message (Collapse)AuthorAgeFilesLines
* Revert "[3.5] bpo-29406: asyncio SSL contexts leak sockets after calling ↵Yury Selivanov2017-06-111-23/+1
| | | | | close with certain servers (GH-409) (#2063)" (#2113) This reverts commit 1395c58ef7b98f087d1d5d50962fe7a8c032f34d.
* [3.5] bpo-29406: asyncio SSL contexts leak sockets after calling close with ↵Yury Selivanov2017-06-101-1/+23
| | | | | | | | | | | | | | | certain servers (GH-409) (#2063) * bpo-29406: asyncio SSL contexts leak sockets after calling close with certain servers (#409) (cherry picked from commit a608d2d5a7f1aabe9bcbfc220135c5e126189390) * [3.5] bpo-29406: asyncio SSL contexts leak sockets after calling close with certain servers (GH-409) * asyncio SSL contexts leak sockets after calling close with certain servers * cleanup _shutdown_timeout_handle on _fatal_error. (cherry picked from commit a608d2d5a7f1aabe9bcbfc220135c5e126189390)
* Break circular references when closing SSLTransport objects (#981) (#2048)Yury Selivanov2017-06-091-4/+6
|
* Closing transport during handshake process leaks socket (#480) (#2045)Yury Selivanov2017-06-091-2/+5
|
* bpo-29742: asyncio get_extra_info() throws exception (#525) (#646)Yury Selivanov2017-03-121-1/+3
|
* Issue #28990: Fix SSL hanging if connection is closed before handshake ↵Yury Selivanov2016-12-161-0/+1
| | | | completed.
* asyncio: Add "call_connection_made" arg to SSLProtocol.__init__Yury Selivanov2016-10-051-2/+5
| | | | | | | | | Issue #23749: With this change it's possible to implement starttls as a separate package on PyPI, or even by copying/pasting a small snipped of code in your project. It's expected that we'll figure out the API design for starttls during 3.6, so that we can add it in 3.7.
* asyncio: Add set_protocol / get_protocol methods to TransportsYury Selivanov2016-09-121-0/+6
|
* asyncio: Fix NameError in sslproto _fatal_error()Yury Selivanov2016-06-281-0/+1
| | | | Patch by Richard Walker.
* Issue #27076: Doc, comment and tests spelling fixesMartin Panter2016-05-261-1/+1
| | | | Most fixes to Doc/ and Lib/ directories by Ville Skyttä.
* asyncio: Don't log ConnectionAbortedErrorVictor Stinner2016-04-011-1/+1
| | | | | Issue #26509: In fatal error handlers, don't log ConnectionAbortedError which occur on Windows.
* asyncio: Add Transport.is_closing()Yury Selivanov2015-11-161-0/+3
| | | | See https://github.com/python/asyncio/pull/291 for details.
* Issue #25523: Further a-to-an corrections.Serhiy Storchaka2015-11-021-1/+1
|
* Issue #25114, asyncio: add ssl_object extra info to SSL transportsVictor Stinner2015-09-211-0/+4
| | | | | | This info is required on Python 3.5 and newer to get specific information on the SSL object, like getting the binary peer certificate (instead of getting it as text).
* asyncio: Make sure BaseException is re-raised in SSLProtocolYury Selivanov2015-08-051-1/+6
|
* asyncio: Sync with upstream (compat module)Yury Selivanov2015-08-041-2/+2
|
* Issue #23243, asyncio: Emit a ResourceWarning when an event loop or a transportVictor Stinner2015-01-291-0/+13
| | | | is not explicitly closed. Close also explicitly transports in test_sslproto.
* asyncio: SSL transports now clear their reference to the waiterVictor Stinner2015-01-281-7/+13
| | | | | | | * Rephrase also the comment explaining why the waiter is not awaken immediatly. * SSLProtocol.eof_received() doesn't instanciate ConnectionResetError exception directly, it will be done by Future.set_exception(). The exception is not used if the waiter was cancelled or if there is no waiter.
* asyncio: Fix SSLProtocol.eof_received()Victor Stinner2015-01-281-0/+4
| | | | Wake-up the waiter if it is not done yet.
* asyncio: sync with TulipVictor Stinner2015-01-271-1/+0
| | | | | | | | | | * Remove unused SSLProtocol._closing attribute * test_sslproto: skip test if ssl module is missing * Python issue #23208: Don't use the traceback of the current handle if we already know the traceback of the source. The handle may be more revelant, but having 3 tracebacks (handle, source, exception) becomes more difficult to read. The handle may be preferred later but it requires more work to make this choice.
* SSLProtocol: set the _transport attribute in the constructorVictor Stinner2015-01-151-0/+1
|
* Issue #22560: Fix typo: call -> call_soonVictor Stinner2015-01-151-1/+1
|
* Issue #22560: Fix SSLProtocol._on_handshake_complete()Victor Stinner2015-01-151-2/+6
| | | | | | Don't call immediatly self._process_write_backlog() but schedule the call using call_soon(). _on_handshake_complete() can be called indirectly from _process_write_backlog(), and _process_write_backlog() is not reentrant.
* Issue #23197, asyncio: On SSL handshake failure, check if the waiter isVictor Stinner2015-01-141-2/+3
| | | | | | | cancelled before setting its exception. * Add unit tests for this case. * Cleanup also sslproto.py
* Issue #22560: New SSL implementation based on ssl.MemoryBIOVictor Stinner2015-01-131-0/+640
The new SSL implementation is based on the new ssl.MemoryBIO which is only available on Python 3.5. On Python 3.4 and older, the legacy SSL implementation (using SSL_write, SSL_read, etc.) is used. The proactor event loop only supports the new implementation. The new asyncio.sslproto module adds _SSLPipe, SSLProtocol and _SSLProtocolTransport classes. _SSLPipe allows to "wrap" or "unwrap" a socket (switch between cleartext and SSL/TLS). Patch written by Antoine Pitrou. sslproto.py is based on gruvi/ssl.py of the gruvi project written by Geert Jansen. This change adds SSL support to ProactorEventLoop on Python 3.5 and newer! It becomes also possible to implement STARTTTLS: switch a cleartext socket to SSL.