|
11 | 11 | import ssyslog |
12 | 12 | import sys |
13 | 13 | from ssnet import SockWrapper, Handler, Proxy, Mux, MuxWrapper |
14 | | -from helpers import log, debug1, debug2, debug3, Fatal, islocal |
| 14 | +from helpers import log, debug1, debug2, debug3, Fatal, islocal, \ |
| 15 | + resolvconf_nameservers |
15 | 16 |
|
16 | 17 | recvmsg = None |
17 | 18 | try: |
@@ -277,18 +278,17 @@ def print_listening(self, what): |
277 | 278 | class FirewallClient: |
278 | 279 |
|
279 | 280 | def __init__(self, port_v6, port_v4, subnets_include, subnets_exclude, |
280 | | - dnsport_v6, dnsport_v4, ns_hosts, method, udp): |
| 281 | + dnsport_v6, dnsport_v4, nslist, method, udp): |
281 | 282 | self.auto_nets = [] |
282 | 283 | self.subnets_include = subnets_include |
283 | 284 | self.subnets_exclude = subnets_exclude |
284 | | - self.ns_hosts = ns_hosts |
285 | 285 | argvbase = ([sys.argv[1], sys.argv[0], sys.argv[1]] + |
286 | 286 | ['-v'] * (helpers.verbose or 0) + |
287 | 287 | ['--firewall', str(port_v6), str(port_v4), |
288 | 288 | str(dnsport_v6), str(dnsport_v4), |
289 | 289 | method, str(int(udp))]) |
290 | 290 | if dnsport_v4 or dnsport_v6: |
291 | | - argvbase += ['--ns-hosts', ns_hosts] |
| 291 | + argvbase += ['--ns-hosts', ' '.join([ip for _, ip in nslist])] |
292 | 292 | if ssyslog._p: |
293 | 293 | argvbase += ['--syslog'] |
294 | 294 | argv_tries = [ |
@@ -602,7 +602,7 @@ def onhostlist(hostlist): |
602 | 602 |
|
603 | 603 |
|
604 | 604 | def main(listenip_v6, listenip_v4, |
605 | | - ssh_cmd, remotename, python, latency_control, dns, ns_hosts, |
| 605 | + ssh_cmd, remotename, python, latency_control, dns, nslist, |
606 | 606 | method, seed_hosts, auto_nets, |
607 | 607 | subnets_include, subnets_exclude, syslog, daemon, pidfile): |
608 | 608 |
|
@@ -698,9 +698,9 @@ def main(listenip_v6, listenip_v4, |
698 | 698 | udp_listener.print_listening("UDP redirector") |
699 | 699 |
|
700 | 700 | bound = False |
701 | | - if dns or ns_hosts: |
| 701 | + if dns or nslist: |
702 | 702 | if dns: |
703 | | - ns_hosts += resolvconf_nameservers() |
| 703 | + nslist += resolvconf_nameservers() |
704 | 704 | # search for spare port for DNS |
705 | 705 | debug2('Binding DNS:') |
706 | 706 | ports = xrange(12300, 9000, -1) |
@@ -740,10 +740,9 @@ def main(listenip_v6, listenip_v4, |
740 | 740 | dnsport_v6 = 0 |
741 | 741 | dnsport_v4 = 0 |
742 | 742 | dns_listener = None |
743 | | - ns_hosts = [] |
744 | 743 |
|
745 | 744 | fw = FirewallClient(redirectport_v6, redirectport_v4, subnets_include, |
746 | | - subnets_exclude, dnsport_v6, dnsport_v4, ns_hosts, |
| 745 | + subnets_exclude, dnsport_v6, dnsport_v4, nslist, |
747 | 746 | method, udp) |
748 | 747 |
|
749 | 748 | if fw.method == "tproxy": |
|
0 commit comments