Pull out firewall methods code into seperate files.
Fix problems starting with method=='auto'; we were making decisions
based on the method, before the method had been finalized by the
firewall.
Only very basic testing so far. What could go wrong?
Add resolvconf_nameservers to the list of functions imported from
helpers.
Fixed an instance where the method client.main was being called with
ns_hosts (string obtained from optional argument --ns-hosts) instead of
nslist (list of tuples that was already being passed to other methods).
Should fix issue #24.
By default, the --dns flag configures the firewall to only intercept
queries made to the nameservers defined in resolvconf. This flag enables
the user to explicitly specify the nameservers which queries will be
redirected. This can be useful when the local nameserver forwards
queries to some domains to a nameserver on the remote site of the
tunnel.
I looks like building the app UI for OS X has been broken since
9eced8d049
due to the sources.list.do file still referencing the old .png images.
Without this fix the build will stop at:
do chicken-tiny.png
do: Users/elasticdog/sshuttle/src/ui-macos/chicken-tiny.png: no .do file
do: Sshuttle VPN.app: got exit code 1
do: Sshuttle VPN.app.zip: got exit code 1
do: dist: got exit code 1
do: ui-macos/all: got exit code 1
do: all: got exit code 1
Without this fix, the rdr rule is executed sending the packages that
should be excluded to the ssh tunnel.
What I did was make sure that the packages that are going to the
excluded subnets are processed first and only after that, the remaining
packages will be sent to the ssh tunnel.
Thanks Warr1024 on #openssh channel in freenode for telling me about
the quick keyword and the rest of guys in the channel who tried to help.
When using Options parser within a unittest.TextTestRunner with buffering enabled (buffer=True), it fails with:
AttributeError: StringIO instance has no attribute 'fileno'
This change will prevent this kind of error.