summaryrefslogtreecommitdiffstats
path: root/sshuttle/tests/client/test_methods_nat.py
diff options
context:
space:
mode:
Diffstat (limited to 'sshuttle/tests/client/test_methods_nat.py')
-rw-r--r--sshuttle/tests/client/test_methods_nat.py63
1 files changed, 32 insertions, 31 deletions
diff --git a/sshuttle/tests/client/test_methods_nat.py b/sshuttle/tests/client/test_methods_nat.py
index 84b4f85..b18c05e 100644
--- a/sshuttle/tests/client/test_methods_nat.py
+++ b/sshuttle/tests/client/test_methods_nat.py
@@ -1,6 +1,7 @@
import pytest
from mock import Mock, patch, call
import socket
+from socket import AF_INET, AF_INET6
import struct
from sshuttle.helpers import Fatal
@@ -18,7 +19,7 @@ def test_get_supported_features():
def test_get_tcp_dstip():
sock = Mock()
sock.getsockopt.return_value = struct.pack(
- '!HHBBBB', socket.ntohs(socket.AF_INET), 1024, 127, 0, 0, 1)
+ '!HHBBBB', socket.ntohs(AF_INET), 1024, 127, 0, 0, 1)
method = get_method('nat')
assert method.get_tcp_dstip(sock) == ('127.0.0.1', 1024)
assert sock.mock_calls == [call.getsockopt(0, 80, 16)]
@@ -84,10 +85,10 @@ def test_setup_firewall(mock_ipt_chain_exists, mock_ipt_ttl, mock_ipt):
with pytest.raises(Exception) as excinfo:
method.setup_firewall(
1024, 1026,
- [(10, u'2404:6800:4004:80c::33')],
- 10,
- [(10, 64, False, u'2404:6800:4004:80c::', 0, 0),
- (10, 128, True, u'2404:6800:4004:80c::101f', 80, 80)],
+ [(AF_INET6, u'2404:6800:4004:80c::33')],
+ AF_INET6,
+ [(AF_INET6, 64, False, u'2404:6800:4004:80c::', 0, 0),
+ (AF_INET6, 128, True, u'2404:6800:4004:80c::101f', 80, 80)],
True,
None)
assert str(excinfo.value) \
@@ -99,10 +100,10 @@ def test_setup_firewall(mock_ipt_chain_exists, mock_ipt_ttl, mock_ipt):
with pytest.raises(Exception) as excinfo:
method.setup_firewall(
1025, 1027,
- [(2, u'1.2.3.33')],
- 2,
- [(2, 24, False, u'1.2.3.0', 8000, 9000),
- (2, 32, True, u'1.2.3.66', 8080, 8080)],
+ [(AF_INET, u'1.2.3.33')],
+ AF_INET,
+ [(AF_INET, 24, False, u'1.2.3.0', 8000, 9000),
+ (AF_INET, 32, True, u'1.2.3.66', 8080, 8080)],
True,
None)
assert str(excinfo.value) == 'UDP not supported by nat method_name'
@@ -112,49 +113,49 @@ def test_setup_firewall(mock_ipt_chain_exists, mock_ipt_ttl, mock_ipt):
method.setup_firewall(
1025, 1027,
- [(2, u'1.2.3.33')],
- 2,
- [(2, 24, False, u'1.2.3.0', 8000, 9000),
- (2, 32, True, u'1.2.3.66', 8080, 8080)],
+ [(AF_INET, u'1.2.3.33')],
+ AF_INET,
+ [(AF_INET, 24, False, u'1.2.3.0', 8000, 9000),
+ (AF_INET, 32, True, u'1.2.3.66', 8080, 8080)],
False,
None)
assert mock_ipt_chain_exists.mock_calls == [
- call(2, 'nat', 'sshuttle-1025')
+ call(AF_INET, 'nat', 'sshuttle-1025')
]
assert mock_ipt_ttl.mock_calls == [
- call(2, 'nat', '-A', 'sshuttle-1025', '-j', 'REDIRECT',
+ call(AF_INET, 'nat', '-A', 'sshuttle-1025', '-j', 'REDIRECT',
'--dest', u'1.2.3.0/24', '-p', 'tcp', '--dport', '8000:9000',
'--to-ports', '1025'),
- call(2, 'nat', '-A', 'sshuttle-1025', '-j', 'REDIRECT',
+ call(AF_INET, 'nat', '-A', 'sshuttle-1025', '-j', 'REDIRECT',
'--dest', u'1.2.3.33/32', '-p', 'udp',
'--dport', '53', '--to-ports', '1027')
]
assert mock_ipt.mock_calls == [
- call(2, 'nat', '-D', 'OUTPUT', '-j', 'sshuttle-1025'),
- call(2, 'nat', '-D', 'PREROUTING', '-j', 'sshuttle-1025'),
- call(2, 'nat', '-F', 'sshuttle-1025'),
- call(2, 'nat', '-X', 'sshuttle-1025'),
- call(2, 'nat', '-N', 'sshuttle-1025'),
- call(2, 'nat', '-F', 'sshuttle-1025'),
- call(2, 'nat', '-I', 'OUTPUT', '1', '-j', 'sshuttle-1025'),
- call(2, 'nat', '-I', 'PREROUTING', '1', '-j', 'sshuttle-1025'),
- call(2, 'nat', '-A', 'sshuttle-1025', '-j', 'RETURN',
+ call(AF_INET, 'nat', '-D', 'OUTPUT', '-j', 'sshuttle-1025'),
+ call(AF_INET, 'nat', '-D', 'PREROUTING', '-j', 'sshuttle-1025'),
+ call(AF_INET, 'nat', '-F', 'sshuttle-1025'),
+ call(AF_INET, 'nat', '-X', 'sshuttle-1025'),
+ call(AF_INET, 'nat', '-N', 'sshuttle-1025'),
+ call(AF_INET, 'nat', '-F', 'sshuttle-1025'),
+ call(AF_INET, 'nat', '-I', 'OUTPUT', '1', '-j', 'sshuttle-1025'),
+ call(AF_INET, 'nat', '-I', 'PREROUTING', '1', '-j', 'sshuttle-1025'),
+ call(AF_INET, 'nat', '-A', 'sshuttle-1025', '-j', 'RETURN',
'--dest', u'1.2.3.66/32', '-p', 'tcp', '--dport', '8080:8080')
]
mock_ipt_chain_exists.reset_mock()
mock_ipt_ttl.reset_mock()
mock_ipt.reset_mock()
- method.restore_firewall(1025, 2, False, None)
+ method.restore_firewall(1025, AF_INET, False, None)
assert mock_ipt_chain_exists.mock_calls == [
- call(2, 'nat', 'sshuttle-1025')
+ call(AF_INET, 'nat', 'sshuttle-1025')
]
assert mock_ipt_ttl.mock_calls == []
assert mock_ipt.mock_calls == [
- call(2, 'nat', '-D', 'OUTPUT', '-j', 'sshuttle-1025'),
- call(2, 'nat', '-D', 'PREROUTING', '-j', 'sshuttle-1025'),
- call(2, 'nat', '-F', 'sshuttle-1025'),
- call(2, 'nat', '-X', 'sshuttle-1025')
+ call(AF_INET, 'nat', '-D', 'OUTPUT', '-j', 'sshuttle-1025'),
+ call(AF_INET, 'nat', '-D', 'PREROUTING', '-j', 'sshuttle-1025'),
+ call(AF_INET, 'nat', '-F', 'sshuttle-1025'),
+ call(AF_INET, 'nat', '-X', 'sshuttle-1025')
]
mock_ipt_chain_exists.reset_mock()
mock_ipt_ttl.reset_mock()