diff --git a/fail2ban/server/banmanager.py b/fail2ban/server/banmanager.py index 2b2fd39a..46e717e0 100644 --- a/fail2ban/server/banmanager.py +++ b/fail2ban/server/banmanager.py @@ -270,20 +270,19 @@ class BanManager: return False finally: self.__lock.release() - - + ## # Get the size of the ban list. # # @return the size - + def size(self): try: self.__lock.acquire() return len(self.__banList) finally: self.__lock.release() - + ## # Check if a ticket is in the list. # diff --git a/fail2ban/server/failregex.py b/fail2ban/server/failregex.py index a7c3efdd..cbe8ebe3 100644 --- a/fail2ban/server/failregex.py +++ b/fail2ban/server/failregex.py @@ -94,7 +94,6 @@ class Regex: except ValueError: self._matchLineEnd = len(self._matchCache.string) - lineCount1 = self._matchCache.string.count( "\n", 0, self._matchLineStart) lineCount2 = self._matchCache.string.count( diff --git a/fail2ban/server/filter.py b/fail2ban/server/filter.py index 59070911..7b62fa2f 100644 --- a/fail2ban/server/filter.py +++ b/fail2ban/server/filter.py @@ -86,7 +86,6 @@ class Filter(JailThread): self.dateDetector.addDefaultTemplate() logSys.debug("Created %s" % self) - def __repr__(self): return "%s(%r)" % (self.__class__.__name__, self.jail) @@ -109,7 +108,6 @@ class Filter(JailThread): logSys.error(e) raise e - def delFailRegex(self, index): try: del self.__failRegex[index] @@ -395,7 +393,6 @@ class Filter(JailThread): return False - def processLine(self, line, date=None, returnRawHost=False, checkAllRegex=False): """Split the time portion from log msg and return findFailures on them @@ -581,7 +578,6 @@ class FileFilter(Filter): # to be overridden by backends pass - ## # Delete a log path # diff --git a/fail2ban/server/filtergamin.py b/fail2ban/server/filtergamin.py index e8473be4..66cab6de 100644 --- a/fail2ban/server/filtergamin.py +++ b/fail2ban/server/filtergamin.py @@ -61,7 +61,6 @@ class FilterGamin(FileFilter): fcntl.fcntl(fd, fcntl.F_SETFD, flags|fcntl.FD_CLOEXEC) logSys.debug("Created FilterGamin") - def callback(self, path, event): logSys.debug("Got event: " + repr(event) + " for " + path) if event in (gamin.GAMCreated, gamin.GAMChanged, gamin.GAMExists): @@ -70,7 +69,6 @@ class FilterGamin(FileFilter): self._process_file(path) - def _process_file(self, path): """Process a given file @@ -122,7 +120,6 @@ class FilterGamin(FileFilter): logSys.debug(self.jail.name + ": filter terminated") return True - def stop(self): super(FilterGamin, self).stop() self.__cleanup() diff --git a/fail2ban/server/filterpyinotify.py b/fail2ban/server/filterpyinotify.py index 784a7e53..fd1dff9f 100644 --- a/fail2ban/server/filterpyinotify.py +++ b/fail2ban/server/filterpyinotify.py @@ -73,7 +73,6 @@ class FilterPyinotify(FileFilter): self.__watches = dict() logSys.debug("Created FilterPyinotify") - def callback(self, event, origin=''): logSys.debug("%sCallback for Event: %s", origin, event) path = event.pathname @@ -95,7 +94,6 @@ class FilterPyinotify(FileFilter): self._process_file(path) - def _process_file(self, path): """Process a given file @@ -112,7 +110,6 @@ class FilterPyinotify(FileFilter): self.dateDetector.sortTemplate() self.__modified = False - def _addFileWatcher(self, path): wd = self.__monitor.add_watch(path, pyinotify.IN_MODIFY) self.__watches.update(wd) @@ -144,7 +141,6 @@ class FilterPyinotify(FileFilter): self._addFileWatcher(path) self._process_file(path) - ## # Delete a log path # @@ -163,7 +159,6 @@ class FilterPyinotify(FileFilter): self.__monitor.rm_watch(wdInt) logSys.debug("Removed monitor for the parent directory %s", path_dir) - ## # Main loop. # diff --git a/fail2ban/server/filtersystemd.py b/fail2ban/server/filtersystemd.py index 105c2623..d5c81b0e 100644 --- a/fail2ban/server/filtersystemd.py +++ b/fail2ban/server/filtersystemd.py @@ -61,7 +61,6 @@ class FilterSystemd(JournalFilter): # pragma: systemd no cover self.setDatePattern(None) logSys.debug("Created FilterSystemd") - ## # Add a journal match filters from list structure # diff --git a/fail2ban/server/jail.py b/fail2ban/server/jail.py index ef98c4b9..0c570ebb 100644 --- a/fail2ban/server/jail.py +++ b/fail2ban/server/jail.py @@ -116,7 +116,6 @@ class Jail: raise RuntimeError( "Failed to initialize any backend for Jail %r" % self.name) - def _initPolling(self): from filterpoll import FilterPoll logSys.info("Jail '%s' uses poller" % self.name) diff --git a/fail2ban/server/server.py b/fail2ban/server/server.py index 625730f8..2a24c380 100644 --- a/fail2ban/server/server.py +++ b/fail2ban/server/server.py @@ -71,7 +71,6 @@ class Server: self.setLogTarget("STDOUT") self.setSyslogSocket("auto") - def __sigTERMhandler(self, signum, frame): logSys.debug("Caught signal %d. Exiting" % signum) self.quit() @@ -144,7 +143,6 @@ class Server: finally: self.__loggingLock.release() - def addJail(self, name, backend): self.__jails.add(name, backend, self.__db) if self.__db is not None: @@ -520,7 +518,6 @@ class Server: def getDatabase(self): return self.__db - def __createDaemon(self): # pragma: no cover """ Detach a process from the controlling terminal and run it in the diff --git a/fail2ban/tests/actionstestcase.py b/fail2ban/tests/actionstestcase.py index 5991da6d..5d73d911 100644 --- a/fail2ban/tests/actionstestcase.py +++ b/fail2ban/tests/actionstestcase.py @@ -76,7 +76,6 @@ class ExecuteActions(LogCaptureTestCase): self.assertEqual(self.__actions.getBanTime(),127) self.assertRaises(ValueError, self.__actions.removeBannedIP, '127.0.0.1') - def testActionsOutput(self): self.defaultActions() self.__actions.start() @@ -89,7 +88,6 @@ class ExecuteActions(LogCaptureTestCase): self.assertEqual(self.__actions.status(),[("Currently banned", 0 ), ("Total banned", 0 ), ("Banned IP list", [] )]) - def testAddActionPython(self): self.__actions.add( "Action", os.path.join(TEST_FILES_DIR, "action.d/action.py"), diff --git a/fail2ban/tests/actiontestcase.py b/fail2ban/tests/actiontestcase.py index 2e826a8e..d2dad6cd 100644 --- a/fail2ban/tests/actiontestcase.py +++ b/fail2ban/tests/actiontestcase.py @@ -110,7 +110,6 @@ class CommandActionTest(LogCaptureTestCase): {'ipjailmatches': "some >char< should \< be[ escap}ed&\n"}), "some \\>char\\< should \\\\\\< be\\[ escap\\}ed\\&\n") - # Recursive aInfo["ABC"] = "" self.assertEqual( diff --git a/fail2ban/tests/clientreadertestcase.py b/fail2ban/tests/clientreadertestcase.py index 12362efd..9d9d567f 100644 --- a/fail2ban/tests/clientreadertestcase.py +++ b/fail2ban/tests/clientreadertestcase.py @@ -77,12 +77,10 @@ option = %s os.unlink("%s/%s" % (self.d, fname)) self.assertTrue(self.c.read('c')) # we still should have some - def _getoption(self, f='c'): self.assertTrue(self.c.read(f)) # we got some now return self.c.getOptions('section', [("int", 'option')])['option'] - def testInaccessibleFile(self): f = os.path.join(self.d, "d.conf") # inaccessible file self._write('d.conf', 0) @@ -97,7 +95,6 @@ option = %s # raise unittest.SkipTest("Skipping on %s -- access rights are not enforced" % platform) pass - def testOptionalDotDDir(self): self.assertFalse(self.c.read('c')) # nothing is there yet self._write("c.conf", "1") @@ -194,7 +191,6 @@ class JailReaderTest(LogCaptureTestCase): self.assertTrue(self._is_logged('Error in action definition joho[foo')) self.assertTrue(self._is_logged('Caught exception: While reading action joho[foo we should have got 1 or 2 groups. Got: 0')) - if STOCK: def testStockSSHJail(self): jail = JailReader('sshd', basedir=CONFIG_DIR, share_config = self.__share_cfg) # we are running tests from root project dir atm @@ -224,7 +220,6 @@ class JailReaderTest(LogCaptureTestCase): #self.assertRaises(ValueError, JailReader.extractOptions ,'mail-how[') - # Empty option option = "abc[]" expected = ('abc', {}) @@ -318,7 +313,6 @@ class FilterReaderTest(unittest.TestCase): output[-1][-1] = "5" self.assertEqual(sorted(filterReader.convert()), sorted(output)) - def testFilterReaderSubstitionDefault(self): output = [['set', 'jailname', 'addfailregex', 'to=sweet@example.com fromip=']] filterReader = FilterReader('substition', "jailname", {}) @@ -480,7 +474,6 @@ class JailsReaderTest(LogCaptureTestCase): self.assertTrue('Init' in actionReader.sections(), msg="Action file %r is lacking [Init] section" % actionConfig) - def testReadStockJailConf(self): jails = JailsReader(basedir=CONFIG_DIR, share_config=self.__share_cfg) # we are running tests from root project dir atm self.assertTrue(jails.read()) # opens fine @@ -607,7 +600,6 @@ class JailsReaderTest(LogCaptureTestCase): msg="Found no %s command among %s" % (target_command, str(commands)) ) - def testStockConfigurator(self): configurator = Configurator() configurator.setBaseDir(CONFIG_DIR) diff --git a/fail2ban/tests/databasetestcase.py b/fail2ban/tests/databasetestcase.py index 9665e322..b6646e41 100644 --- a/fail2ban/tests/databasetestcase.py +++ b/fail2ban/tests/databasetestcase.py @@ -317,7 +317,6 @@ class DatabaseTest(LogCaptureTestCase): actions._Actions__checkBan() self.assertTrue(self._is_logged("ban ainfo %s, %s, %s, %s" % (True, True, True, True))) - def testPurge(self): if Fail2BanDb is None: # pragma: no cover return diff --git a/fail2ban/tests/filtertestcase.py b/fail2ban/tests/filtertestcase.py index 0022dac9..de63c317 100644 --- a/fail2ban/tests/filtertestcase.py +++ b/fail2ban/tests/filtertestcase.py @@ -494,7 +494,6 @@ def get_monitor_failures_testcase(Filter_): self._sleep_4_poll() #print "D: started filter %s" % self.filter - def tearDown(self): tearDownMyTime() #print "D: SLEEPING A BIT" @@ -533,7 +532,6 @@ def get_monitor_failures_testcase(Filter_): self.assertTrue(self.isFilled(20)) # give Filter a chance to react _assert_correct_last_attempt(self, self.jail, failures, count=count) - def test_grow_file(self): # suck in lines from this sample log file self.assertRaises(FailManagerEmpty, self.filter.failManager.toBan) @@ -577,7 +575,6 @@ def get_monitor_failures_testcase(Filter_): skip=3, mode='w') self.assert_correct_last_attempt(GetFailures.FAILURES_01) - def test_move_file(self): # if we move file into a new location while it has been open already self.file.close() @@ -602,7 +599,6 @@ def get_monitor_failures_testcase(Filter_): self.assert_correct_last_attempt(GetFailures.FAILURES_01) self.assertEqual(self.filter.failManager.getFailTotal(), 6) - def _test_move_into_file(self, interim_kill=False): # if we move a new file into the location of an old (monitored) file _copy_lines_between_files(GetFailures.FILENAME_01, self.name, @@ -628,7 +624,6 @@ def get_monitor_failures_testcase(Filter_): self.assert_correct_last_attempt(GetFailures.FAILURES_01) self.assertEqual(self.filter.failManager.getFailTotal(), 9) - def test_move_into_file(self): self._test_move_into_file(interim_kill=False) @@ -637,7 +632,6 @@ def get_monitor_failures_testcase(Filter_): # to test against possible drop-out of the file from monitoring self._test_move_into_file(interim_kill=True) - def test_new_bogus_file(self): # to make sure that watching whole directory does not effect _copy_lines_between_files(GetFailures.FILENAME_01, self.name, n=100).close() @@ -650,7 +644,6 @@ def get_monitor_failures_testcase(Filter_): self.assertEqual(self.filter.failManager.getFailTotal(), 6) _killfile(None, self.name + '.bak2') - def test_delLogPath(self): # Smoke test for removing of the path from being watched @@ -863,7 +856,6 @@ class GetFailures(unittest.TestCase): self.testGetFailures01(filename=fname) _killfile(fout, fname) - def testGetFailures02(self): output = ('141.3.81.106', 4, 1124013539.0, [u'Aug 14 11:%d:59 i60p295 sshd[12365]: Failed publickey for roehl from ::ffff:141.3.81.106 port 51332 ssh2' @@ -922,8 +914,6 @@ class GetFailures(unittest.TestCase): filter_.getFailures(GetFailures.FILENAME_USEDNS) _assert_correct_last_attempt(self, filter_, output) - - def testGetFailuresMultiRegex(self): output = ('141.3.81.106', 8, 1124013541.0) diff --git a/fail2ban/tests/misctestcase.py b/fail2ban/tests/misctestcase.py index a682b63f..343a0fc1 100644 --- a/fail2ban/tests/misctestcase.py +++ b/fail2ban/tests/misctestcase.py @@ -154,7 +154,6 @@ class TestsUtilsTest(unittest.TestCase): self.assertFalse('>' in s, msg="'>' present in %r" % s) # There is only "fail2ban-testcases" in this case, no true traceback self.assertTrue(':' in s, msg="no ':' in %r" % s) - def testFormatterWithTraceBack(self): strout = StringIO() Formatter = FormatterWithTraceBack diff --git a/fail2ban/tests/samplestestcase.py b/fail2ban/tests/samplestestcase.py index 05182acd..4c9cb5da 100644 --- a/fail2ban/tests/samplestestcase.py +++ b/fail2ban/tests/samplestestcase.py @@ -125,7 +125,6 @@ def testSampleRegexsFactory(name): except ValueError: jsonTimeLocal = datetime.datetime.strptime(t, "%Y-%m-%dT%H:%M:%S.%f") - jsonTime = time.mktime(jsonTimeLocal.timetuple()) jsonTime += jsonTimeLocal.microsecond / 1000000 diff --git a/fail2ban/tests/servertestcase.py b/fail2ban/tests/servertestcase.py index aa2979f8..f9b92305 100644 --- a/fail2ban/tests/servertestcase.py +++ b/fail2ban/tests/servertestcase.py @@ -559,7 +559,6 @@ class Transmitter(TransmitterBase): ) ) - def testAction(self): action = "TestCaseAction" cmdList = [ diff --git a/fail2ban/tests/utils.py b/fail2ban/tests/utils.py index f94451b4..e1da03ad 100644 --- a/fail2ban/tests/utils.py +++ b/fail2ban/tests/utils.py @@ -191,7 +191,6 @@ def gatherTests(regexps=None, no_network=False): except Exception, e: # pragma: no cover logSys.warning("I: Skipping systemd backend testing. Got exception '%s'" % e) - # Server test for logging elements which break logging used to support # testcases analysis tests.addTest(unittest.makeSuite(servertestcase.TransmitterLogging))