diff --git a/setup.py b/setup.py index edf955c..8c0415e 100755 --- a/setup.py +++ b/setup.py @@ -43,7 +43,7 @@ except: setuptools.setup( name='warcprox', - version='2.4.17', + version='2.4.18', description='WARC writing MITM HTTP/S proxy', url='https://github.com/internetarchive/warcprox', author='Noah Levitt', diff --git a/warcprox/mitmproxy.py b/warcprox/mitmproxy.py index 69d2c63..6a7ce4c 100644 --- a/warcprox/mitmproxy.py +++ b/warcprox/mitmproxy.py @@ -276,6 +276,8 @@ class MitmProxyHandler(http_server.BaseHTTPRequestHandler): host=self.hostname, port=int(self.port), scheme='http', pool_kwargs={'maxsize': 12, 'timeout': self._socket_timeout}) + remote_ip = None + self._remote_server_conn = self._conn_pool._get_conn() if is_connection_dropped(self._remote_server_conn): if self.onion_tor_socks_proxy_host and self.hostname.endswith('.onion'): @@ -291,6 +293,7 @@ class MitmProxyHandler(http_server.BaseHTTPRequestHandler): self._remote_server_conn.sock.connect((self.hostname, int(self.port))) else: self._remote_server_conn.connect() + remote_ip = self._remote_server_conn.sock.getpeername()[0] # Wrap socket if SSL is required if self.is_connect: @@ -312,6 +315,11 @@ class MitmProxyHandler(http_server.BaseHTTPRequestHandler): "consider upgrading to python 2.7.9+ or 3.4+", self.hostname) raise + except ssl.SSLError as e: + self.logger.error( + 'error connecting to %s (%s) port %s: %s', + self.hostname, remote_ip, self.port, e) + raise return self._remote_server_conn.sock def _transition_to_ssl(self):