[Python-checkins] CVS: python/dist/src/Lib socket.py,1.9,1.10

Guido van Rossum gvanrossum@users.sourceforge.net
2001年3月22日 14:12:19 -0800


Update of /cvsroot/python/python/dist/src/Lib
In directory usw-pr-cvs1:/tmp/cvs-serv10021
Modified Files:
	socket.py 
Log Message:
Add a wrapper function for ssl() on Windows. Inspired by SF patch
# 409287, ssl fix when using _socketobject, by Robin Dunn.
I took the opportunity to improve the way it deals with reload(socket)
for the socket function as well.
Index: socket.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/socket.py,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -r1.9 -r1.10
*** socket.py	2001年03月18日 19:53:21	1.9
--- socket.py	2001年03月22日 22:12:17	1.10
***************
*** 46,50 ****
 import _socket
 __all__.extend(os._get_exports_list(_socket))
- del _socket
 
 if (sys.platform.lower().startswith("win")
--- 46,49 ----
***************
*** 52,63 ****
 or (sys.platform=="RISCOS")):
 
! # be sure this happens only once, even in the face of reload():
! try:
! _realsocketcall
! except NameError:
! _realsocketcall = socket
 
 def socket(family, type, proto=0):
 return _socketobject(_realsocketcall(family, type, proto))
 
 
--- 51,68 ----
 or (sys.platform=="RISCOS")):
 
! _realsocketcall = _socket.socket
 
 def socket(family, type, proto=0):
 return _socketobject(_realsocketcall(family, type, proto))
+ 
+ try:
+ _realsslcall = _socket.ssl
+ except AttributeError:
+ pass # No ssl
+ else:
+ def ssl(sock, keyfile=None, certfile=None):
+ if hasattr(sock, "_sock"):
+ sock = sock._sock
+ return _realsslcall(sock, keyfile, certfile) 
 
 

AltStyle によって変換されたページ (->オリジナル) /