Issue 631683: https via httplib trips over IIS defect (original) (raw)
When attempting to make a connection via https to an IIS server, for example ssl.pgs.wcom.net deployed by VITAL, the VISAnet on line authorization host, the following exception is encountered:
File "./vitalmsg.py", line 130, in ssl_connect^M status, reason, header= hs.getreply()^M File "/usr/lib/python2.2/httplib.py", line 752, in getreply^M response = self._conn.getresponse()^M File "/usr/lib/python2.2/httplib.py", line 593, in getresponse^M response = self.response_class(self.sock)^M File "/usr/lib/python2.2/httplib.py", line 99, in __init__^M self.fp = sock.makefile('rb', 0)^M File "/usr/lib/python2.2/httplib.py", line 628, in makefile^M buf = self.__ssl.read()^M socket.sslerror: (5, 'EOF occurred in violation of protocol')^M
As nearly as I can determine, a protocol error has indeed been encountered. However it is unlikely indeed that Microsoft can be induced to correct this, nor that a correction is likely to be deployed by all who use IIS.
For reference, the headers returned by the server to a successful request using the attached patch are:
Server: Microsoft-IIS/4.0 Date: Tue, 29 Oct 2002 21:57:59 GMT Content-Type: x-data/xact-response
The attached patch allows python-2.2.2 to work with this server.