Commit Graph

85 Commits

Author SHA1 Message Date
Felix Dreissig
0ed5ef9a97 Fix argument splitting for multi-word arguments
By just splitting at spaces, multi-word arguments are torn apart even if
quoted. In case of custom ssh-cmd, this makes it practically impossible
to set certian options through `ssh -o`.
shlex splits arguments like a shell and e.g. respects quotes.
2016-10-04 18:19:59 +11:00
vieira
8520ea2787 Use == instead of is to compare with AF_INET 2016-07-27 23:18:25 +00:00
vieira
1cfd9eb9d7 Be more specific and consistent in some pf rules 2016-07-27 22:15:47 +00:00
vieira
f8d58fa4f0 IPv6 support for BSD and OSX
Adds IPv6 support for OpenBSD and OSX.
2016-07-24 22:04:29 +00:00
João Vieira
f876c5db5e Add <forward_subnets> to divert rule in OpenBSD
Fixes bug where all traffic routed to loopback would end up being diverted to the same port.
2016-06-16 22:34:19 +01:00
Huiqiang Liu
2e1beefc9a Hack pf to enable multiple instances in Mac OS X 10.10 and above 2016-06-16 12:31:02 +08:00
Brian May
8fad282bfd Ensure locale is set to C for external commands
Otherwise the output can vary and confuse our attempts to parse it.

Fixes: 93
2016-04-23 12:53:45 +10:00
vieira
cedc8dc146 Add support for OpenBSD 2016-03-02 18:50:37 +11:00
vieira
fae4cb1dbf Override the skip on lo that ends up in the chain
In some cases (see #43) it seems that some network configurations may
end up setting a skip on lo. As sshuttle adds rules that rely on
filtering/translating packets on lo, this causes problem. This fix
overrides the skip and makes the rules be applied again.
Should fix at least some of the problems reported on #43.
2016-03-02 18:36:14 +11:00
vieira
7d8309ef05 Refactor OS specific portions of PF
This will make it easier to support other platforms/versions in the
future, e.g., OpenBSD.
2016-03-02 18:04:43 +11:00
Nathan Aclander
fc5545ccde Remove a print from tproxy used for debug
Closes: #61
2016-01-13 19:00:08 +11:00
vieira
11838d65c2 Adds support for FreeBSD PF
The PF firewall that is included in the FreeBSD base system does not
have exactly the same data structures as the OSX version. This commit
fixes the offsets and some field types that are also different. Tested
with FreeBSD 10.2 and OSX 10.11.2.
2016-01-05 18:00:57 +11:00
Brian May
90654b4fb9 Simplify selection of features 2015-12-15 11:40:55 +11:00
Brian May
6b4e36c528 Declare DNS support as feature 2015-12-14 21:00:31 +11:00
Brian May
eed917f062 Don't declare udp feature without recvmsg 2015-12-14 20:59:26 +11:00
Brian May
74f2d9ca7e Ensure Fatal errors are really Fatal 2015-12-14 20:51:49 +11:00
Brian May
e63e121354 Print PF rules used.
Also support multiline debug output better.
2015-12-14 09:21:15 +11:00
Brian May
2b235331d0 Split setup_firewall method.
* setup_firewall sets the firewall up.
* restore_firewall restores the firewall to initial state.
2015-12-13 11:56:18 +11:00
Brian May
1ae4fce6b3 Fix logging with pf method and Python 3.5 2015-12-07 13:16:47 +11:00
Brian May
118171af7f Fix get_tcp_dstip with MacOSX/Python3.5 2015-12-07 07:14:26 +11:00
Brian May
3367124e6b Fix more brokenness. 2015-12-06 11:45:49 +11:00
Brian May
aaa6062329 Remove IPFW support.
This is no longer used by modern MacOSX and not getting tested.

It also required a do_wait() function which was a complication for
sshuttle as a whole.

Can get resurrected if required.
2015-12-06 11:33:52 +11:00
Brian May
12d4b304c3 Fix another MacOSX/Python3.5 issue. 2015-12-06 11:24:11 +11:00
Brian May
a3fbf860ff Fix more MacOSX/Python3.5 issues. 2015-12-05 20:21:36 +11:00
Brian May
7a9e36d211 Fix MacOSX/Python3.5 issues.
Closes: #36.
2015-12-05 16:41:33 +11:00
Brian May
50a6e87237 Don't use Xtoken if not set 2015-12-05 14:12:57 +11:00
Brian May
ed0a92e714 Remove reference to obsolete global 2015-12-05 14:12:24 +11:00
Brian May
2c2ee12e58 Formatting change. 2015-11-25 12:59:48 +11:00
Brian May
256ed7d244 Fix reversed debug messages. 2015-11-25 12:59:17 +11:00
Brian May
eaad54f68b Add FIXME comment. 2015-11-18 20:08:15 +11:00
Brian May
6ebf76a5d8 Avoid hardcoding packed address lengths. 2015-11-18 20:07:41 +11:00
Brian May
51eb7862c4 Fix tests under PyPy. 2015-11-18 20:07:03 +11:00
Brian May
75b6865a1d Tests for pf method. 2015-11-17 20:52:31 +11:00
Brian May
e3a1c56e54 Add more methods tests.
Fix bug in tproxy recv_udp() method.
2015-11-17 17:55:30 +11:00
Brian May
ac723694bf Restructure code
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?
2015-11-16 18:55:56 +11:00