From 1aa6b0c5d6d53c680a615baadca619a25bc9f064 Mon Sep 17 00:00:00 2001 From: Noah Levitt Date: Fri, 16 Aug 2019 18:31:35 +0000 Subject: [PATCH] log remote host/ip/port on SSLError --- setup.py | 2 +- warcprox/mitmproxy.py | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) 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):