diff --git a/shadowsocks/tcprelay.py b/shadowsocks/tcprelay.py index dbc428a..2687a73 100644 --- a/shadowsocks/tcprelay.py +++ b/shadowsocks/tcprelay.py @@ -596,9 +596,12 @@ class TCPRelayHandler(object): server_info = self._protocol.get_server_info() server_info.buffer_size = self._recv_buffer_size connecttype, remote_addr, remote_port, header_length = header_result - common.connect_log('%s connecting %s:%d via port %d by UID %d' % - ((connecttype == 0) and 'TCP' or 'UDP', - common.to_str(remote_addr), remote_port, self._server._listen_port, self._user_id)) + if connecttype != 0: + common.connect_log('UDP over TCP by user %d' % + (self._user_id, )) + else: + common.connect_log('TCP request %s:%d by user %d' % + (common.to_str(remote_addr), remote_port, self._user_id)) self._remote_address = (common.to_str(remote_addr), remote_port) self._remote_udp = (connecttype != 0) # pause reading @@ -746,6 +749,10 @@ class TCPRelayHandler(object): pass # always goto here else: raise e + addr, port = self._remote_sock.getsockname()[:2] + common.connect_log('TCP connecting %s(%s):%d from %s:%d by user %d' % + (self._remote_address[0], remote_addr, remote_port, addr, port, self._user_id)) + self._loop.add(remote_sock, eventloop.POLL_ERR | eventloop.POLL_OUT, self._server)