Message109379
This:
import socket, ssl
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
ssl_sock = ssl.wrap_socket(s)
ssl_sock.connect(('www.verisign.com', 443))
ssl_sock.close()
ssl_sock.read(1024)
raises:
Traceback (most recent call last):
File "/tmp/bug.py", line 10, in <module>
ssl_sock.read(1024)
File "/path/to/lib/python2.7/ssl.py", line 138, in read
return self._sslobj.read(len)
AttributeError: 'NoneType' object has no attribute 'read'
I would expect a socket.error instead, which mimics the way regular sockets behave. Indeed, this code:
import socket, ssl
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('www.verisign.com', 80))
s.close()
s.recv(1024)
raises:
Traceback (most recent call last):
File "/tmp/bug.py", line 6, in <module>
s.recv(1024)
File "/path/to/lib/python2.7/socket.py", line 170, in _dummy
raise error(EBADF, 'Bad file descriptor')
socket.error: [Errno 9] Bad file descriptor
I've tested on the latest trunks on both 2.7 and 3.2. I've also tested on 2.6 and 3.1.
I can write a patch that fixes it if the bug is accepted. |
|
Date |
User |
Action |
Args |
2010-07-06 09:53:00 | cbay | set | recipients:
+ cbay |
2010-07-06 09:53:00 | cbay | set | messageid: <1278409980.47.0.00506027612669.issue9177@psf.upfronthosting.co.za> |
2010-07-06 09:52:58 | cbay | link | issue9177 messages |
2010-07-06 09:52:57 | cbay | create | |
|