mirror of https://github.com/fail2ban/fail2ban
changelog update / typos fixed
parent
1842f30359
commit
17a03ebc11
|
@ -69,9 +69,14 @@ TODO: implementing of options resp. other tasks from PR #1346
|
||||||
- `<fid>` - failure identifier (if raw resp. failures without IP address)
|
- `<fid>` - failure identifier (if raw resp. failures without IP address)
|
||||||
- `<ip-rev>` - PTR reversed representation of IP address
|
- `<ip-rev>` - PTR reversed representation of IP address
|
||||||
- `<ip-host>` - host name of the IP address
|
- `<ip-host>` - host name of the IP address
|
||||||
|
- `<bancount>` - ban count of this offender if known as bad (started by 1 for unknown)
|
||||||
|
- `<bantime>` - current ban-time of the ticket (prolongation can be retarded up to 10 sec.)
|
||||||
- `<F-...>` - interpolates to the corresponding filter group capture `...`
|
- `<F-...>` - interpolates to the corresponding filter group capture `...`
|
||||||
- `<fq-hostname>` - fully-qualified name of host (the same as `$(hostname -f)`)
|
- `<fq-hostname>` - fully-qualified name of host (the same as `$(hostname -f)`)
|
||||||
- `<sh-hostname>` - short hostname (the same as `$(uname -n)`)
|
- `<sh-hostname>` - 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:
|
* Allow to use filter options by `fail2ban-regex`, example:
|
||||||
fail2ban-regex text.log "sshd[mode=aggressive]"
|
fail2ban-regex text.log "sshd[mode=aggressive]"
|
||||||
* Samples test case factory extended with filter options - dict in JSON to control
|
* Samples test case factory extended with filter options - dict in JSON to control
|
||||||
|
|
|
@ -149,7 +149,7 @@ class CallingMap(MutableMapping, object):
|
||||||
def __len__(self):
|
def __len__(self):
|
||||||
return len(self.data)
|
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))
|
return self.__class__(_merge_copy_dicts(self.data, self.storage))
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -324,7 +324,7 @@ class Actions(JailThread, Mapping):
|
||||||
self.immutable = immutable
|
self.immutable = immutable
|
||||||
self.data = data
|
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())
|
return self.__class__(self.__ticket, self.__jail, self.immutable, self.data.copy())
|
||||||
|
|
||||||
def _getBanTime(self):
|
def _getBanTime(self):
|
||||||
|
|
|
@ -102,7 +102,7 @@ class Utils():
|
||||||
def unset(self, k):
|
def unset(self, k):
|
||||||
try:
|
try:
|
||||||
del self._cache[k]
|
del self._cache[k]
|
||||||
except KeyError: # pragme: no cover
|
except KeyError: # pragma: no cover
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
@ -330,7 +330,7 @@ class Utils():
|
||||||
return e.errno == errno.EPERM
|
return e.errno == errno.EPERM
|
||||||
else:
|
else:
|
||||||
return True
|
return True
|
||||||
else: # pragma : no cover (no windows currently supported)
|
else: # pragma: no cover (no windows currently supported)
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def pid_exists(pid):
|
def pid_exists(pid):
|
||||||
import ctypes
|
import ctypes
|
||||||
|
|
Loading…
Reference in New Issue