diff -r 93291649202b python2/httplib2/__init__.py --- a/python2/httplib2/__init__.py Tue Mar 26 14:17:48 2013 -0400 +++ b/python2/httplib2/__init__.py Tue Apr 23 10:32:15 2013 +0300 @@ -1030,7 +1030,7 @@ raise CertificateHostnameMismatch( 'Server presented certificate that does not match ' 'host %s: %s' % (hostname, cert), hostname, cert) - except ssl_SSLError, e: + except (ssl_SSLError, CertificateHostnameMismatch), e: if sock: sock.close() if self.sock: @@ -1040,7 +1040,7 @@ # to get at more detailed error information, in particular # whether the error is due to certificate validation or # something else (such as SSL protocol mismatch). - if e.errno == ssl.SSL_ERROR_SSL: + if hasattr(e, 'errno') and e.errno == ssl.SSL_ERROR_SSL: raise SSLHandshakeError(e) else: raise