mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 21:51:50 +00:00 
			
		
		
		
	Hoepeful fix for SF bug #123924: Windows - using OpenSSL, problem with
socket in httplib.py. The bug reports that on Windows, you must pass sock._sock to the socket.ssl() call. But on Unix, you must pass sock itself. (sock is a wrapper on Windows but not on Unix; the ssl() call wants the real socket object, not the wrapper.) So we see if sock has an _sock attribute and if so, extract it. Unfortunately, the submitter of the bug didn't confirm that this patch works, so I'll just have to believe it (can't test it myself since I don't have OpenSSL on Windows set up, and that's a nontrivial thing I believe).
This commit is contained in:
		
							parent
							
								
									0705028076
								
							
						
					
					
						commit
						0aee7220db
					
				
					 1 changed files with 4 additions and 1 deletions
				
			
		|  | @ -613,7 +613,10 @@ def connect(self): | |||
| 
 | ||||
|         sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) | ||||
|         sock.connect((self.host, self.port)) | ||||
|         ssl = socket.ssl(sock, self.key_file, self.cert_file) | ||||
|         realsock = sock | ||||
|         if hasattr(sock, "_sock"): | ||||
|             realsock = sock._sock | ||||
|         ssl = socket.ssl(realsock, self.key_file, self.cert_file) | ||||
|         self.sock = FakeSocket(sock, ssl) | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Guido van Rossum
						Guido van Rossum