diff --git a/ChangeLog b/ChangeLog index 1ff60891..03adcabc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -69,9 +69,14 @@ TODO: implementing of options resp. other tasks from PR #1346 - `` - failure identifier (if raw resp. failures without IP address) - `` - PTR reversed representation of IP address - `` - host name of the IP address + - `` - ban count of this offender if known as bad (started by 1 for unknown) + - `` - current ban-time of the ticket (prolongation can be retarded up to 10 sec.) - `` - interpolates to the corresponding filter group capture `...` - `` - fully-qualified name of host (the same as `$(hostname -f)`) - `` - short hostname (the same as `$(uname -n)`) +* Introduced new action command `actionprolong` to prolong ban-time (e. g. set new timeout if expected); + Several actions (like ipset, etc.) rewritten using net logic with `actionprolong`. + Note: because ban-time is dynamic, it was removed from jail.conf as timeout argument (check jail.local). * Allow to use filter options by `fail2ban-regex`, example: fail2ban-regex text.log "sshd[mode=aggressive]" * Samples test case factory extended with filter options - dict in JSON to control diff --git a/fail2ban/server/action.py b/fail2ban/server/action.py index ad0d0304..f1983d1e 100644 --- a/fail2ban/server/action.py +++ b/fail2ban/server/action.py @@ -149,7 +149,7 @@ class CallingMap(MutableMapping, object): def __len__(self): return len(self.data) - def copy(self): # pargma: no cover + def copy(self): # pragma: no cover return self.__class__(_merge_copy_dicts(self.data, self.storage)) diff --git a/fail2ban/server/actions.py b/fail2ban/server/actions.py index 1241c7f5..f940bb45 100644 --- a/fail2ban/server/actions.py +++ b/fail2ban/server/actions.py @@ -324,7 +324,7 @@ class Actions(JailThread, Mapping): self.immutable = immutable self.data = data - def copy(self): # pargma: no cover + def copy(self): # pragma: no cover return self.__class__(self.__ticket, self.__jail, self.immutable, self.data.copy()) def _getBanTime(self): diff --git a/fail2ban/server/utils.py b/fail2ban/server/utils.py index 58363ff0..613f623d 100644 --- a/fail2ban/server/utils.py +++ b/fail2ban/server/utils.py @@ -102,7 +102,7 @@ class Utils(): def unset(self, k): try: del self._cache[k] - except KeyError: # pragme: no cover + except KeyError: # pragma: no cover pass @@ -330,7 +330,7 @@ class Utils(): return e.errno == errno.EPERM else: return True - else: # pragma : no cover (no windows currently supported) + else: # pragma: no cover (no windows currently supported) @staticmethod def pid_exists(pid): import ctypes