clean up ssl.py; expose unwrap and add test for it

This commit is contained in:
Bill Janssen 2008-08-12 16:56:25 +00:00
parent 6aa2d1fec7
commit 40a0f66e95
3 changed files with 69 additions and 4 deletions

View file

@ -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