Skip to content

Commit f870ceb

Browse files
committed
Fix the excludes rule for OS X Yosemite and OS X El Captain
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.
1 parent a389633 commit f870ceb

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

src/firewall.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -499,7 +499,7 @@ def do_pf(port, dnsport, family, subnets, udp):
499499
exclude_subnets = filter(lambda s:s[2], sorted(subnets, reverse=True))
500500
if exclude_subnets:
501501
tables.append('table <exclude_subnets> {%s}' % ','.join(["%s/%s" % (n[3], n[1]) for n in exclude_subnets]))
502-
filtering_rules.append('pass out route-to lo0 inet proto tcp to <exclude_subnets> keep state')
502+
filtering_rules.append('pass out quick proto tcp from any to <exclude_subnets> keep state')
503503

504504
if dnsport:
505505
nslist = resolvconf_nameservers()

0 commit comments

Comments
 (0)