]> granicus.if.org Git - python/commit
[3.7] bpo-24334: Cleanup SSLSocket (GH-5252) (#5857)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Sat, 24 Feb 2018 20:51:56 +0000 (12:51 -0800)
committerChristian Heimes <christian@python.org>
Sat, 24 Feb 2018 20:51:56 +0000 (21:51 +0100)
commit8fa8478ddeba0870da1152f0a2985c8a7eeb9fd1
tree9fc2bd2ae1dc5505d2f44f489b7deb7394f6530c
parentd24c5a068c1831a8579a5915f44ae3b4344aba43
[3.7] bpo-24334: Cleanup SSLSocket (GH-5252) (#5857)

* The SSLSocket is no longer implemented on top of SSLObject to
  avoid an extra level of indirection.
* Owner and session are now handled in the internal constructor.
* _ssl._SSLSocket now uses the same method names as SSLSocket and
  SSLObject.
* Channel binding type check is now handled in C code. Channel binding
  is always available.

The patch also changes the signature of SSLObject.__init__(). In my
opinion it's fine. A SSLObject is not a user-constructable object.
SSLContext.wrap_bio() is the only valid factory.
(cherry picked from commit 141c5e8c2437a9fed95a04c81e400ef725592a17)

Co-authored-by: Christian Heimes <christian@python.org>
Lib/ssl.py
Lib/test/test_ssl.py
Misc/NEWS.d/next/Library/2018-01-20-23-17-25.bpo-24334.GZuQLv.rst [new file with mode: 0644]
Modules/_ssl.c
Modules/clinic/_ssl.c.h