mirror of https://github.com/fail2ban/fail2ban
code review
parent
8dbc04aa06
commit
46a8899f20
|
@ -244,7 +244,7 @@ class Actions(JailThread, Mapping):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def __getBansMerged(self, mi, idx):
|
def __getBansMerged(self, mi, idx):
|
||||||
"""Helper for lamda to get bans merged once
|
"""Gets bans merged once, a helper for lambda(s), prevents stop of executing action by any exception inside.
|
||||||
|
|
||||||
This function never returns None for ainfo lambdas - always a ticket (merged or single one)
|
This function never returns None for ainfo lambdas - always a ticket (merged or single one)
|
||||||
and prevents any errors through merging (to guarantee ban actions will be executed).
|
and prevents any errors through merging (to guarantee ban actions will be executed).
|
||||||
|
@ -274,6 +274,8 @@ class Actions(JailThread, Mapping):
|
||||||
mi[idx] = jail.database.getBansMerged(ip=ip)
|
mi[idx] = jail.database.getBansMerged(ip=ip)
|
||||||
elif idx == 'jail':
|
elif idx == 'jail':
|
||||||
mi[idx] = jail.database.getBansMerged(ip=ip, jail=jail)
|
mi[idx] = jail.database.getBansMerged(ip=ip, jail=jail)
|
||||||
|
else: # pragma: no cover
|
||||||
|
raise ValueError("Unknown value %r for idx" % (idx,))
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logSys.error(
|
logSys.error(
|
||||||
"Failed to get %s bans merged, jail '%s': %s",
|
"Failed to get %s bans merged, jail '%s': %s",
|
||||||
|
|
|
@ -817,10 +817,12 @@ class LoggingTests(LogCaptureTestCase):
|
||||||
prev_exchook = sys.__excepthook__
|
prev_exchook = sys.__excepthook__
|
||||||
x = []
|
x = []
|
||||||
sys.__excepthook__ = lambda *args: x.append(args)
|
sys.__excepthook__ = lambda *args: x.append(args)
|
||||||
badThread = _BadThread()
|
try:
|
||||||
badThread.start()
|
badThread = _BadThread()
|
||||||
badThread.join()
|
badThread.start()
|
||||||
self.assertTrue(self._is_logged("Unhandled exception"))
|
badThread.join()
|
||||||
sys.__excepthook__ = prev_exchook
|
self.assertTrue(self._is_logged("Unhandled exception"))
|
||||||
|
finally:
|
||||||
|
sys.__excepthook__ = prev_exchook
|
||||||
self.assertEqual(len(x), 1)
|
self.assertEqual(len(x), 1)
|
||||||
self.assertEqual(x[0][0], RuntimeError)
|
self.assertEqual(x[0][0], RuntimeError)
|
||||||
|
|
Loading…
Reference in New Issue