sanitize server at the interface level (follow up to issue #1330)
This commit is contained in:
parent
0ac3aebb88
commit
604d5d432c
|
@ -72,6 +72,7 @@ class TcpInterface(threading.Thread):
|
||||||
# parse server
|
# parse server
|
||||||
self.server = server
|
self.server = server
|
||||||
self.host, self.port, self.protocol = self.server.split(':')
|
self.host, self.port, self.protocol = self.server.split(':')
|
||||||
|
self.host = str(self.host)
|
||||||
self.port = int(self.port)
|
self.port = int(self.port)
|
||||||
self.use_ssl = (self.protocol == 's')
|
self.use_ssl = (self.protocol == 's')
|
||||||
|
|
||||||
|
|
|
@ -301,12 +301,11 @@ class Network(util.DaemonThread):
|
||||||
def set_proxy(self, proxy):
|
def set_proxy(self, proxy):
|
||||||
self.proxy = proxy
|
self.proxy = proxy
|
||||||
if proxy:
|
if proxy:
|
||||||
self.print_error("setting proxy", proxy)
|
|
||||||
proxy_mode = proxy_modes.index(proxy["mode"]) + 1
|
proxy_mode = proxy_modes.index(proxy["mode"]) + 1
|
||||||
socks.setdefaultproxy(proxy_mode, proxy["host"], int(proxy["port"]))
|
socks.setdefaultproxy(proxy_mode, proxy["host"], int(proxy["port"]))
|
||||||
socket.socket = socks.socksocket
|
socket.socket = socks.socksocket
|
||||||
# prevent dns leaks, see http://stackoverflow.com/questions/13184205/dns-over-proxy
|
# prevent dns leaks, see http://stackoverflow.com/questions/13184205/dns-over-proxy
|
||||||
socket.getaddrinfo = lambda *args: [(socket.AF_INET, socket.SOCK_STREAM, 6, '', (str(args[0]), args[1]))]
|
socket.getaddrinfo = lambda *args: [(socket.AF_INET, socket.SOCK_STREAM, 6, '', (args[0], args[1]))]
|
||||||
else:
|
else:
|
||||||
socket.socket = socket._socketobject
|
socket.socket = socket._socketobject
|
||||||
socket.getaddrinfo = socket._socket.getaddrinfo
|
socket.getaddrinfo = socket._socket.getaddrinfo
|
||||||
|
|
Loading…
Reference in New Issue