|
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