diff --git a/shadowsocks/eventloop.py b/shadowsocks/eventloop.py index b20ccf8..746e728 100644 --- a/shadowsocks/eventloop.py +++ b/shadowsocks/eventloop.py @@ -220,7 +220,7 @@ class EventLoop(object): addr = sock.getpeername()[:2] logging.error('exception peer name %s:%d' % (addr[0], addr[1])) except: - pass + logging.error('no peer name') now = time.time() if asap or now - self._last_time >= TIMEOUT_PRECISION: for callback in self._periodic_callbacks: diff --git a/shadowsocks/tcprelay.py b/shadowsocks/tcprelay.py index 866cda9..c0afadb 100644 --- a/shadowsocks/tcprelay.py +++ b/shadowsocks/tcprelay.py @@ -768,22 +768,24 @@ class TCPRelayHandler(object): logging.debug('got local error') if self._local_sock: logging.error(eventloop.get_sock_error(self._local_sock)) + logging.error("exception from %s:%d" % (self._client_address[0], self._client_address[1])) try: - addr = self._local_sock.getpeername()[:2] + addr = self._local_sock.getpeername() logging.error('local exception peer name %s:%d' % (addr[0], addr[1])) except: - pass + logging.error('no peer name') self.destroy() def _on_remote_error(self): logging.debug('got remote error') if self._remote_sock: logging.error(eventloop.get_sock_error(self._remote_sock)) + logging.error("exception from %s:%d" % (self._client_address[0], self._client_address[1])) try: - addr = self._remote_sock.getpeername()[:2] + addr = self._remote_sock.getpeername() logging.error('remote exception peer name %s:%d' % (addr[0], addr[1])) except: - pass + logging.error('no peer name') self.destroy() def handle_event(self, sock, event):