Server-side SSL and certificate validation, by Bill Janssen.
While cleaning up Bill's C style, I may have cleaned up some code
he didn't touch as well (in _ssl.c).
diff --git a/Lib/socket.py b/Lib/socket.py
index 45a122f..48bb4f6 100644
--- a/Lib/socket.py
+++ b/Lib/socket.py
@@ -68,11 +68,10 @@
_realsocket = socket
if _have_ssl:
- _realssl = ssl
def ssl(sock, keyfile=None, certfile=None):
- if hasattr(sock, "_sock"):
- sock = sock._sock
- return _realssl(sock, keyfile, certfile)
+ import ssl as realssl
+ return realssl.sslwrap_simple(sock, keyfile, certfile)
+ __all__.append("ssl")
# WSA error codes
if sys.platform.lower().startswith("win"):