mirror of https://github.com/fail2ban/fail2ban
fixes DNS resolve related tests on systems without IPv6 support (considering that --no-network simulate resolving example.com via cache)
parent
f8622c6f92
commit
35af8b6d5d
|
@ -1889,7 +1889,7 @@ class GetFailures(LogCaptureTestCase):
|
||||||
_killfile(fout, fname)
|
_killfile(fout, fname)
|
||||||
|
|
||||||
def testGetFailuresUseDNS(self):
|
def testGetFailuresUseDNS(self):
|
||||||
unittest.F2B.SkipIfNoNetwork()
|
#unittest.F2B.SkipIfNoNetwork() ## without network it is simulated via cache in utils.
|
||||||
# We should still catch failures with usedns = no ;-)
|
# We should still catch failures with usedns = no ;-)
|
||||||
output_yes = (
|
output_yes = (
|
||||||
('93.184.216.34', 1, 1124013299.0,
|
('93.184.216.34', 1, 1124013299.0,
|
||||||
|
@ -1902,6 +1902,8 @@ class GetFailures(LogCaptureTestCase):
|
||||||
['Aug 14 11:54:59 i60p295 sshd[12365]: Failed publickey for roehl from example.com port 51332 ssh2']
|
['Aug 14 11:54:59 i60p295 sshd[12365]: Failed publickey for roehl from example.com port 51332 ssh2']
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
if not unittest.F2B.no_network and not DNSUtils.IPv6IsAllowed():
|
||||||
|
output_yes = output_yes[0:2]
|
||||||
|
|
||||||
output_no = (
|
output_no = (
|
||||||
('93.184.216.34', 1, 1124013539.0,
|
('93.184.216.34', 1, 1124013539.0,
|
||||||
|
@ -2096,6 +2098,12 @@ class DNSUtilsNetworkTests(unittest.TestCase):
|
||||||
super(DNSUtilsNetworkTests, self).setUp()
|
super(DNSUtilsNetworkTests, self).setUp()
|
||||||
#unittest.F2B.SkipIfNoNetwork()
|
#unittest.F2B.SkipIfNoNetwork()
|
||||||
|
|
||||||
|
## example.com IPs considering IPv6 support (without network it is simulated via cache in utils).
|
||||||
|
EXAMPLE_ADDRS = (
|
||||||
|
['93.184.216.34', '2606:2800:220:1:248:1893:25c8:1946'] if unittest.F2B.no_network or DNSUtils.IPv6IsAllowed() else \
|
||||||
|
['93.184.216.34']
|
||||||
|
)
|
||||||
|
|
||||||
def test_IPAddr(self):
|
def test_IPAddr(self):
|
||||||
ip4 = IPAddr('192.0.2.1')
|
ip4 = IPAddr('192.0.2.1')
|
||||||
ip6 = IPAddr('2001:DB8::')
|
ip6 = IPAddr('2001:DB8::')
|
||||||
|
@ -2157,16 +2165,16 @@ class DNSUtilsNetworkTests(unittest.TestCase):
|
||||||
def testUseDns(self):
|
def testUseDns(self):
|
||||||
res = DNSUtils.textToIp('www.example.com', 'no')
|
res = DNSUtils.textToIp('www.example.com', 'no')
|
||||||
self.assertSortedEqual(res, [])
|
self.assertSortedEqual(res, [])
|
||||||
#unittest.F2B.SkipIfNoNetwork()
|
#unittest.F2B.SkipIfNoNetwork() ## without network it is simulated via cache in utils.
|
||||||
res = DNSUtils.textToIp('www.example.com', 'warn')
|
res = DNSUtils.textToIp('www.example.com', 'warn')
|
||||||
# sort ipaddr, IPv4 is always smaller as IPv6
|
# sort ipaddr, IPv4 is always smaller as IPv6
|
||||||
self.assertSortedEqual(res, ['93.184.216.34', '2606:2800:220:1:248:1893:25c8:1946'])
|
self.assertSortedEqual(res, self.EXAMPLE_ADDRS)
|
||||||
res = DNSUtils.textToIp('www.example.com', 'yes')
|
res = DNSUtils.textToIp('www.example.com', 'yes')
|
||||||
# sort ipaddr, IPv4 is always smaller as IPv6
|
# sort ipaddr, IPv4 is always smaller as IPv6
|
||||||
self.assertSortedEqual(res, ['93.184.216.34', '2606:2800:220:1:248:1893:25c8:1946'])
|
self.assertSortedEqual(res, self.EXAMPLE_ADDRS)
|
||||||
|
|
||||||
def testTextToIp(self):
|
def testTextToIp(self):
|
||||||
#unittest.F2B.SkipIfNoNetwork()
|
#unittest.F2B.SkipIfNoNetwork() ## without network it is simulated via cache in utils.
|
||||||
# Test hostnames
|
# Test hostnames
|
||||||
hostnames = [
|
hostnames = [
|
||||||
'www.example.com',
|
'www.example.com',
|
||||||
|
@ -2177,13 +2185,14 @@ class DNSUtilsNetworkTests(unittest.TestCase):
|
||||||
res = DNSUtils.textToIp(s, 'yes')
|
res = DNSUtils.textToIp(s, 'yes')
|
||||||
if s == 'www.example.com':
|
if s == 'www.example.com':
|
||||||
# sort ipaddr, IPv4 is always smaller as IPv6
|
# sort ipaddr, IPv4 is always smaller as IPv6
|
||||||
self.assertSortedEqual(res, ['93.184.216.34', '2606:2800:220:1:248:1893:25c8:1946'])
|
self.assertSortedEqual(res, self.EXAMPLE_ADDRS)
|
||||||
else:
|
else:
|
||||||
self.assertSortedEqual(res, [])
|
self.assertSortedEqual(res, [])
|
||||||
|
|
||||||
def testIpToIp(self):
|
def testIpToIp(self):
|
||||||
# pure ips:
|
# pure ips:
|
||||||
for s in ('93.184.216.34', '2606:2800:220:1:248:1893:25c8:1946'):
|
for s in self.EXAMPLE_ADDRS:
|
||||||
|
#if DNSUtils.IPv6IsAllowed(): continue
|
||||||
ips = DNSUtils.textToIp(s, 'yes')
|
ips = DNSUtils.textToIp(s, 'yes')
|
||||||
self.assertSortedEqual(ips, [s])
|
self.assertSortedEqual(ips, [s])
|
||||||
for ip in ips:
|
for ip in ips:
|
||||||
|
@ -2353,10 +2362,11 @@ class DNSUtilsNetworkTests(unittest.TestCase):
|
||||||
)
|
)
|
||||||
|
|
||||||
def testIPAddr_CompareDNS(self):
|
def testIPAddr_CompareDNS(self):
|
||||||
#unittest.F2B.SkipIfNoNetwork()
|
#unittest.F2B.SkipIfNoNetwork() ## without network it is simulated via cache in utils.
|
||||||
ips = IPAddr('example.com')
|
ips = IPAddr('example.com')
|
||||||
self.assertTrue(IPAddr("93.184.216.34").isInNet(ips))
|
self.assertTrue(IPAddr("93.184.216.34").isInNet(ips))
|
||||||
self.assertTrue(IPAddr("2606:2800:220:1:248:1893:25c8:1946").isInNet(ips))
|
self.assertEqual(IPAddr("2606:2800:220:1:248:1893:25c8:1946").isInNet(ips),
|
||||||
|
"2606:2800:220:1:248:1893:25c8:1946" in self.EXAMPLE_ADDRS)
|
||||||
|
|
||||||
def testIPAddr_wrongDNS_IP(self):
|
def testIPAddr_wrongDNS_IP(self):
|
||||||
unittest.F2B.SkipIfNoNetwork()
|
unittest.F2B.SkipIfNoNetwork()
|
||||||
|
|
Loading…
Reference in New Issue