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

Guido van Rossum gvanrossum@users.sourceforge.net
Thu, 22 Mar 2001 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)