Example #1
0
class IgnoreIP(LogCaptureTestCase):
    def setUp(self):
        """Call before every test case."""
        LogCaptureTestCase.setUp(self)
        self.jail = DummyJail()
        self.filter = FileFilter(self.jail)

    def testIgnoreIPOK(self):
        ipList = "127.0.0.1", "192.168.0.1", "255.255.255.255", "99.99.99.99"
        for ip in ipList:
            self.filter.addIgnoreIP(ip)
            self.assertTrue(self.filter.inIgnoreIPList(ip))

    def testIgnoreIPNOK(self):
        ipList = "", "999.999.999.999", "abcdef", "192.168.0."
        for ip in ipList:
            self.filter.addIgnoreIP(ip)
            self.assertFalse(self.filter.inIgnoreIPList(ip))

    def testIgnoreIPCIDR(self):
        self.filter.addIgnoreIP('192.168.1.0/25')
        self.assertTrue(self.filter.inIgnoreIPList('192.168.1.0'))
        self.assertTrue(self.filter.inIgnoreIPList('192.168.1.1'))
        self.assertTrue(self.filter.inIgnoreIPList('192.168.1.127'))
        self.assertFalse(self.filter.inIgnoreIPList('192.168.1.128'))
        self.assertFalse(self.filter.inIgnoreIPList('192.168.1.255'))
        self.assertFalse(self.filter.inIgnoreIPList('192.168.0.255'))

    def testIgnoreIPMask(self):
        self.filter.addIgnoreIP('192.168.1.0/255.255.255.128')
        self.assertTrue(self.filter.inIgnoreIPList('192.168.1.0'))
        self.assertTrue(self.filter.inIgnoreIPList('192.168.1.1'))
        self.assertTrue(self.filter.inIgnoreIPList('192.168.1.127'))
        self.assertFalse(self.filter.inIgnoreIPList('192.168.1.128'))
        self.assertFalse(self.filter.inIgnoreIPList('192.168.1.255'))
        self.assertFalse(self.filter.inIgnoreIPList('192.168.0.255'))

    def testIgnoreInProcessLine(self):
        self.filter.addIgnoreIP('192.168.1.0/25')
        self.filter.addFailRegex('<HOST>')
        self.filter.processLineAndAdd('Thu Jul 11 01:21:43 2013 192.168.1.32')
        self.assertTrue(self._is_logged('Ignore 192.168.1.32'))

    def testIgnoreAddBannedIP(self):
        self.filter.addIgnoreIP('192.168.1.0/25')
        self.filter.addBannedIP('192.168.1.32')
        self.assertFalse(self._is_logged('Ignore 192.168.1.32'))
        self.assertTrue(
            self._is_logged(
                'Requested to manually ban an ignored IP 192.168.1.32. User knows best. Proceeding to ban it.'
            ))

    def testIgnoreCommand(self):
        self.filter.setIgnoreCommand("testcases/files/ignorecommand.py <ip>")
        self.assertTrue(self.filter.inIgnoreIPList("10.0.0.1"))
        self.assertFalse(self.filter.inIgnoreIPList("10.0.0.0"))
Example #2
0
class IgnoreIP(LogCaptureTestCase):

	def setUp(self):
		"""Call before every test case."""
		LogCaptureTestCase.setUp(self)
		self.jail = DummyJail()
		self.filter = FileFilter(self.jail)

	def testIgnoreIPOK(self):
		ipList = "127.0.0.1", "192.168.0.1", "255.255.255.255", "99.99.99.99"
		for ip in ipList:
			self.filter.addIgnoreIP(ip)
			self.assertTrue(self.filter.inIgnoreIPList(ip))

	def testIgnoreIPNOK(self):
		ipList = "", "999.999.999.999", "abcdef", "192.168.0."
		for ip in ipList:
			self.filter.addIgnoreIP(ip)
			self.assertFalse(self.filter.inIgnoreIPList(ip))

	def testIgnoreIPCIDR(self):
		self.filter.addIgnoreIP('192.168.1.0/25')
		self.assertTrue(self.filter.inIgnoreIPList('192.168.1.0'))
		self.assertTrue(self.filter.inIgnoreIPList('192.168.1.1'))
		self.assertTrue(self.filter.inIgnoreIPList('192.168.1.127'))
		self.assertFalse(self.filter.inIgnoreIPList('192.168.1.128'))
		self.assertFalse(self.filter.inIgnoreIPList('192.168.1.255'))
		self.assertFalse(self.filter.inIgnoreIPList('192.168.0.255'))

	def testIgnoreIPMask(self):
		self.filter.addIgnoreIP('192.168.1.0/255.255.255.128')
		self.assertTrue(self.filter.inIgnoreIPList('192.168.1.0'))
		self.assertTrue(self.filter.inIgnoreIPList('192.168.1.1'))
		self.assertTrue(self.filter.inIgnoreIPList('192.168.1.127'))
		self.assertFalse(self.filter.inIgnoreIPList('192.168.1.128'))
		self.assertFalse(self.filter.inIgnoreIPList('192.168.1.255'))
		self.assertFalse(self.filter.inIgnoreIPList('192.168.0.255'))

	def testIgnoreInProcessLine(self):
		self.filter.addIgnoreIP('192.168.1.0/25')
		self.filter.addFailRegex('<HOST>')
		self.filter.processLineAndAdd('Thu Jul 11 01:21:43 2013 192.168.1.32')
		self.assertTrue(self._is_logged('Ignore 192.168.1.32'))

	def testIgnoreAddBannedIP(self):
		self.filter.addIgnoreIP('192.168.1.0/25')
		self.filter.addBannedIP('192.168.1.32')
		self.assertFalse(self._is_logged('Ignore 192.168.1.32'))
		self.assertTrue(self._is_logged('Requested to manually ban an ignored IP 192.168.1.32. User knows best. Proceeding to ban it.'))

	def testIgnoreCommand(self):
		self.filter.setIgnoreCommand("testcases/files/ignorecommand.py <ip>")
		self.assertTrue(self.filter.inIgnoreIPList("10.0.0.1"))
		self.assertFalse(self.filter.inIgnoreIPList("10.0.0.0"))