diff options
author | Bill Janssen <janssen@parc.com> | 2008-08-12 16:56:25 (GMT) |
---|---|---|
committer | Bill Janssen <janssen@parc.com> | 2008-08-12 16:56:25 (GMT) |
commit | 40a0f66e95e18bd7a76829ca312fce690d0c0747 (patch) | |
tree | bd6976fb719e59fe192918202d8a5820587d87bb /Lib/ssl.py | |
parent | 6aa2d1fec7debd8995b7ba0f3f27b6e532a91270 (diff) | |
download | cpython-40a0f66e95e18bd7a76829ca312fce690d0c0747.zip cpython-40a0f66e95e18bd7a76829ca312fce690d0c0747.tar.gz cpython-40a0f66e95e18bd7a76829ca312fce690d0c0747.tar.bz2 |
clean up ssl.py; expose unwrap and add test for it
Diffstat (limited to 'Lib/ssl.py')
-rw-r--r-- | Lib/ssl.py | 10 |
1 files changed, 9 insertions, 1 deletions
@@ -75,10 +75,10 @@ from _ssl import ( SSL_ERROR_INVALID_ERROR_CODE, ) -from socket import socket, AF_INET, SOCK_STREAM, error from socket import getnameinfo as _getnameinfo from socket import error as socket_error from socket import dup as _dup +from socket import socket, AF_INET, SOCK_STREAM import base64 # for DER-to-PEM translation import traceback @@ -296,6 +296,14 @@ class SSLSocket(socket): self._sslobj = None socket.shutdown(self, how) + def unwrap (self): + if self._sslobj: + s = self._sslobj.shutdown() + self._sslobj = None + return s + else: + raise ValueError("No SSL wrapper around " + str(self)) + def _real_close(self): self._sslobj = None # self._closed = True |