Skip to content

Commit

Permalink
merge manyuser
Browse files Browse the repository at this point in the history
udp ipv6 bug fix
  • Loading branch information
breakwa11 committed Jun 16, 2015
1 parent f167499 commit d065dba
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions shadowsocks/tcprelay.py
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,7 @@ def _write_to_sock(self, data, sock):
if addrs:
af, socktype, proto, canonname, server_addr = addrs[0]
data = data[header_length:]
sock.sendto(data, server_addr)
sock.sendto(data, (server_addr[0], dest_port))

except Exception as e:
trace = traceback.format_exc()
Expand Down Expand Up @@ -352,8 +352,14 @@ def _handle_stage_addr(self, data):
self.destroy()

def _create_remote_socket(self, ip, port):
addrs = None
if self._remote_udp:
addrs = socket.getaddrinfo(ip, port, 0, socket.SOCK_DGRAM, socket.SOL_UDP)
try:
addrs = socket.getaddrinfo("::", 0, 0, socket.SOCK_DGRAM, socket.SOL_UDP)
except Exception as e:
pass
if addrs is None:
addrs = socket.getaddrinfo("0.0.0.0", 0, 0, socket.SOCK_DGRAM, socket.SOL_UDP)
else:
addrs = socket.getaddrinfo(ip, port, 0, socket.SOCK_STREAM, socket.SOL_TCP)
if len(addrs) == 0:
Expand Down

0 comments on commit d065dba

Please sign in to comment.