Skip to content

Commit

Permalink
Made source port tests actually work
Browse files Browse the repository at this point in the history
  • Loading branch information
Jeff Copeland Jr committed Apr 27, 2015
1 parent 2e4843a commit a73b868
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 20 deletions.
30 changes: 12 additions & 18 deletions test/integration/port_filter_test.py
Expand Up @@ -8,32 +8,26 @@

tests = [
# Tests src_port filtering
('BlockLocalSrcHTTP', TCPConnectionTest('test/integration/block_local_src_web.json', 80, expected_num_connections=0)),
('TCPUnregSrcPort1', TCPConnectionTest('test/integration/block_unreg_src_ports.json', 49151, expected_num_connections=0)),
('TCPUnregSrcPort2', TCPConnectionTest('test/integration/block_unreg_src_ports.json', 49152, expected_num_connections=0)),
('TCPUnregSrcPort3', TCPConnectionTest('test/integration/block_unreg_src_ports.json', 65535, expected_num_connections=0)),
('BlockLocalSrcDNS', UDPConnectionTest('test/integration/block_local_src_web.json', 53, expected_num_connections=0)),
('UDPUnregSrcPort1', UDPConnectionTest('test/integration/block_unreg_src_ports.json', 49151, expected_num_connections=0)),
('UDPUnregSrcPort2', UDPConnectionTest('test/integration/block_unreg_src_ports.json', 49152, expected_num_connections=0)),
('UDPUnregSrcPort3', UDPConnectionTest('test/integration/block_unreg_src_ports.json', 65535, expected_num_connections=0)),
('TCPUnregSrcPort1', TCPConnectionTest('test/integration/block_unreg_src_ports.json', 49151, src_port=49251, expected_num_connections=0)),
('TCPUnregSrcPort2', TCPConnectionTest('test/integration/block_unreg_src_ports.json', 49152, src_port=49252, expected_num_connections=0)),
('TCPUnregSrcPort3', TCPConnectionTest('test/integration/block_unreg_src_ports.json', 65535, src_port=65435, expected_num_connections=0)),
('UDPUnregSrcPort1', UDPConnectionTest('test/integration/block_unreg_src_ports.json', 49151, src_port=49251, expected_num_connections=0)),
('UDPUnregSrcPort2', UDPConnectionTest('test/integration/block_unreg_src_ports.json', 49152, src_port=49252, expected_num_connections=0)),
('UDPUnregSrcPort3', UDPConnectionTest('test/integration/block_unreg_src_ports.json', 65535, src_port=64535, expected_num_connections=0)),

# Tests dst_port filters
('BlockLocalDstHTTP', TCPConnectionTest('test/integration/block_local_dst_web.json', 80, expected_num_connections=0)),
('TCPUnregDstPort1', TCPConnectionTest('test/integration/block_unreg_dst_ports.json', 49151, expected_num_connections=0)),
('TCPUnregDstPort2', TCPConnectionTest('test/integration/block_unreg_dst_ports.json', 49152, expected_num_connections=0)),
('TCPUnregDstPort3', TCPConnectionTest('test/integration/block_unreg_dst_ports.json', 65535, expected_num_connections=0)),
('BlockLocalDstDNS', UDPConnectionTest('test/integration/block_local_dst_web.json', 53, expected_num_connections=0)),
('UDPUnregDstPort1', UDPConnectionTest('test/integration/block_unreg_dst_ports.json', 49151, expected_num_connections=0)),
('UDPUnregDstPort2', UDPConnectionTest('test/integration/block_unreg_dst_ports.json', 49152, expected_num_connections=0)),
('UDPUnregDstPort3', UDPConnectionTest('test/integration/block_unreg_dst_ports.json', 65535, expected_num_connections=0)),

# Tests combo dst/src_port filters
('BlockLocalHTTP', TCPConnectionTest('test/integration/block_local_web.json', 80, expected_num_connections=0)),
('TCPUnregPort1', TCPConnectionTest('test/integration/block_unreg_ports.json', 49151, expected_num_connections=0)),
('TCPUnregPort2', TCPConnectionTest('test/integration/block_unreg_ports.json', 49152, expected_num_connections=0)),
('TCPUnregPort3', TCPConnectionTest('test/integration/block_unreg_ports.json', 65535, expected_num_connections=0)),
('BlockLocalDNS', UDPConnectionTest('test/integration/block_local_web.json', 53, expected_num_connections=0)),
('UDPUnregPort1', UDPConnectionTest('test/integration/block_unreg_ports.json', 49151, expected_num_connections=0)),
('UDPUnregPort2', UDPConnectionTest('test/integration/block_unreg_ports.json', 49152, expected_num_connections=0)),
('UDPUnregPort3', UDPConnectionTest('test/integration/block_unreg_ports.json', 65535, expected_num_connections=0))
('TCPUnregPort1', TCPConnectionTest('test/integration/block_unreg_ports.json', 49151, src_port=49251, expected_num_connections=0)),
('TCPUnregPort2', TCPConnectionTest('test/integration/block_unreg_ports.json', 49152, src_port=49252, expected_num_connections=0)),
('TCPUnregPort3', TCPConnectionTest('test/integration/block_unreg_ports.json', 65535, src_port=65435, expected_num_connections=0)),
('UDPUnregPort1', UDPConnectionTest('test/integration/block_unreg_ports.json', 49151, src_port=49251, expected_num_connections=0)),
('UDPUnregPort2', UDPConnectionTest('test/integration/block_unreg_ports.json', 49152, src_port=49252, expected_num_connections=0)),
('UDPUnregPort3', UDPConnectionTest('test/integration/block_unreg_ports.json', 65535, src_port=65435, expected_num_connections=0)),
]
6 changes: 5 additions & 1 deletion test/integration/tcp_connection_test.py
Expand Up @@ -6,15 +6,19 @@


class TCPConnectionTest(PyWallTestCase):
def __init__(self, config_filename, port, client_timeout=1, server_timeout=5, expected_num_connections=1):
def __init__(self, config_filename, port, src_port=None, client_timeout=1,
server_timeout=5, expected_num_connections=1):
self.port = port
self.src_port = src_port
self.timeout = client_timeout
PyWallTestCase.__init__(self, config_filename,
TCPServerProcess(port, server_timeout, expected_num_connections))

def client_request(self):
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.settimeout(self.timeout)
if self.src_port:
s.bind(('', self.src_port))
try:
s.connect(('localhost', self.port))
except socket.timeout:
Expand Down
6 changes: 5 additions & 1 deletion test/integration/udp_connection_test.py
Expand Up @@ -6,14 +6,18 @@


class UDPConnectionTest(PyWallTestCase):
def __init__(self, config_filename, port, client_timeout=1, server_timeout=5, expected_num_connections=1):
def __init__(self, config_filename, port, src_port=None, client_timeout=1,
server_timeout=5, expected_num_connections=1):
self.port = port
self.src_port = src_port
self.timeout = client_timeout
PyWallTestCase.__init__(self, config_filename,
UDPServerProcess(port, server_timeout, expected_num_connections))

def client_request(self):
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
if self.src_port:
s.bind(('', self.src_port))
s.sendto("hi!", ('localhost', self.port))
s.close()

Expand Down

0 comments on commit a73b868

Please sign in to comment.