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.
This icons are using scale independent PDF template images which make menu item
icon look great on both Yosemite light & dark theme. Also adding new flatter
and higher resolution app icon.
Importing everything (*) from AppKit takes a while, since we got 3 scripts
doing that, startup could take up to few seconds. This change makes script
import only what they need, improving startup time to fraction of second.
Otherwise the package is only installable on current Ubuntu releases
and neither on future Ubuntu releases (which will use systemd) nor on
Debian and other Debian derivatives (where the administrator can
decided which init system is used).
There were still a few conditions under some OSes that would cause
firewall.py to terminate without cleaning up the firewall settings. 'pkill
sshuttle' was one of them. Ignore a couple more signals to further ensure a
correct cleanup.
(This only affects sshuttle --firewall, which is a subprocess of the main
sshuttle process. The firewall is supposed to exit automatically whenever
the client exits, and so far that part seems to work reliably.)