Exemplo n.º 1
0
 def test_match_ip_address_ipv6_ip(self):
     matcher = NetfilterMatchIPAddress('2001:0db8:0:f101::1/128')
     context = NetfilterContext(addr=IPv6Address('TCP', '2001:db8:0:f101::1', 1234))
     self.assertTrue(matcher.match(context))
     context = NetfilterContext(addr=IPv6Address('TCP', '2001:db8::8a2e:370:7334', 1234))
     self.assertFalse(matcher.match(context))
     context = NetfilterContext(addr=IPv6Address('TCP', '2001:db8:0:f101:2::7334', 1234))
     self.assertFalse(matcher.match(context))
Exemplo n.º 2
0
 def test_match_ip_address_ipv4_ip(self):
     matcher = NetfilterMatchIPAddress('192.168.0.1/32')
     context = NetfilterContext(addr=IPv4Address('TCP', '192.168.0.1', 1234))
     self.assertTrue(matcher.match(context))
     context = NetfilterContext(addr=IPv4Address('TCP', '192.168.0.10', 1234))
     self.assertFalse(matcher.match(context))
     context = NetfilterContext(addr=IPv4Address('TCP', '', 1234))
     self.assertFalse(matcher.match(context))
Exemplo n.º 3
0
    def test_factory(self):
        pre_conn = get_table('filter').get_chain('pre_conn')

        match = NetfilterMatchIPAddress('192.168.0.1/32')
        rule = NetfilterRule(match, NetfilterReject())
        pre_conn.add_rule(rule)

        wrapped_factory = HathorServerFactory('testnet',
                                              PeerId(),
                                              node=None,
                                              use_ssl=False)
        factory = NetfilterFactory(connections=None,
                                   wrappedFactory=wrapped_factory)

        ret = factory.buildProtocol(IPv4Address('TCP', '192.168.0.1', 1234))
        self.assertIsNone(ret)

        ret = factory.buildProtocol(IPv4Address('TCP', '192.168.0.2', 1234))
        self.assertIsNotNone(ret)
Exemplo n.º 4
0
 def test_match_ip_address_empty_context(self):
     matcher = NetfilterMatchIPAddress('192.168.0.0/24')
     context = NetfilterContext()
     self.assertFalse(matcher.match(context))
Exemplo n.º 5
0
 def test_match_ip_address_ipv6_ipv4(self):
     matcher = NetfilterMatchIPAddress('2001:0db8:0:f101::1/128')
     context = NetfilterContext(addr=IPv4Address('TCP', '192.168.0.1', 1234))
     self.assertFalse(matcher.match(context))
Exemplo n.º 6
0
 def test_match_ip_address_ipv6_unix(self):
     matcher = NetfilterMatchIPAddress('2001:0db8:0:f101::1/128')
     context = NetfilterContext(addr=UNIXAddress('/unix.sock'))
     self.assertFalse(matcher.match(context))
Exemplo n.º 7
0
 def test_match_ip_address_ipv6_hostname(self):
     matcher = NetfilterMatchIPAddress('2001:0db8:0:f101::1/128')
     context = NetfilterContext(addr=HostnameAddress('hathor.network', 80))
     self.assertFalse(matcher.match(context))
Exemplo n.º 8
0
 def test_match_ip_address_ipv4_ipv6(self):
     matcher = NetfilterMatchIPAddress('192.168.0.1/32')
     context = NetfilterContext(addr=IPv6Address('TCP', '2001:db8::', 80))
     self.assertFalse(matcher.match(context))
     context = NetfilterContext(addr=IPv6Address('TCP', '', 80))
     self.assertFalse(matcher.match(context))
Exemplo n.º 9
0
 def test_match_ip_address_ipv4_unix(self):
     matcher = NetfilterMatchIPAddress('192.168.0.1/32')
     context = NetfilterContext(addr=UNIXAddress('/unix.sock'))
     self.assertFalse(matcher.match(context))
Exemplo n.º 10
0
 def test_match_ip_address_ipv4_hostname(self):
     matcher = NetfilterMatchIPAddress('192.168.0.1/32')
     context = NetfilterContext(addr=HostnameAddress('hathor.network', 80))
     self.assertFalse(matcher.match(context))