diff options
author | Brian May <brian@linuxpenguins.xyz> | 2015-12-05 20:21:36 +1100 |
---|---|---|
committer | Brian May <brian@linuxpenguins.xyz> | 2015-12-05 20:21:36 +1100 |
commit | a3fbf860ff0d676fe0cb73325b4487ba3ca31d78 (patch) | |
tree | f660a4d142bb33ecb7cad5362b5befdef9cd6bbc /sshuttle/methods/pf.py | |
parent | 7a9e36d211bdc76c08353774df515ae4ce1c65ac (diff) |
Fix more MacOSX/Python3.5 issues.
Diffstat (limited to 'sshuttle/methods/pf.py')
-rw-r--r-- | sshuttle/methods/pf.py | 35 |
1 files changed, 20 insertions, 15 deletions
diff --git a/sshuttle/methods/pf.py b/sshuttle/methods/pf.py index 8b68101..e988531 100644 --- a/sshuttle/methods/pf.py +++ b/sshuttle/methods/pf.py @@ -186,29 +186,34 @@ class Method(BaseMethod): # definition for f, swidth, sexclude, snet in sorted( subnets, key=lambda s: (s[1], s[2]), reverse=True): - includes.append("%s%s/%s" % - ("!" if sexclude else "", snet, swidth)) + includes.append(b"%s%s/%d" % + (b"!" if sexclude else b"", + snet.encode("ASCII"), + swidth)) - tables.append('table <forward_subnets> {%s}' % ','.join(includes)) + tables.append( + b'table <forward_subnets> {%s}' % b','.join(includes)) translating_rules.append( - 'rdr pass on lo0 proto tcp ' - 'to <forward_subnets> -> 127.0.0.1 port %r' % port) + b'rdr pass on lo0 proto tcp ' + b'to <forward_subnets> -> 127.0.0.1 port %r' % port) filtering_rules.append( - 'pass out route-to lo0 inet proto tcp ' - 'to <forward_subnets> keep state') + b'pass out route-to lo0 inet proto tcp ' + b'to <forward_subnets> keep state') if dnsport: - tables.append('table <dns_servers> {%s}' % ','.join( - [ns[1] for ns in nslist])) + tables.append( + b'table <dns_servers> {%s}' % + b','.join([ns[1].encode("ASCII") for ns in nslist])) translating_rules.append( - 'rdr pass on lo0 proto udp to ' - '<dns_servers> port 53 -> 127.0.0.1 port %r' % dnsport) + b'rdr pass on lo0 proto udp to ' + b'<dns_servers> port 53 -> 127.0.0.1 port %r' % dnsport) filtering_rules.append( - 'pass out route-to lo0 inet proto udp to ' - '<dns_servers> port 53 keep state') + b'pass out route-to lo0 inet proto udp to ' + b'<dns_servers> port 53 keep state') - rules = '\n'.join(tables + translating_rules + filtering_rules) \ - + '\n' + rules = b'\n'.join(tables + translating_rules + filtering_rules) \ + + b'\n' + assert isinstance(rules, bytes) pf_status = pfctl('-s all')[0] if b'\nrdr-anchor "sshuttle" all\n' not in pf_status: |