* master: (26 commits)
DOC: added a note that coverage script is python-coverage on Debian systems
Fixed typos
Added additional Transmitter tests, and some associated fixes
TODO: test filters/examples files
add corresponding ChangeLog entry
do catch all exception
ENH: typo + head -1 has been deprecated for 10+ years.
ENH: add help command
BF: allow more than single word for command action[start,stop,ban,unban,check] and for setcinfo too
BF: general Exception catch was excessive. Only IOError and OSError are possible and has different meanings
Add development documentation and framework for code coverage measurement
FSF address changes missing from previous
refresh generated manpages (since 0.8.2 state)
Downgrade log rotation detection message to DEBUG level from INFO. Closes: gh-129
BF: do not shutdown logging until all jails stop -- so move into Server.quit()
BF: safeguard closing of log handlers + close in reverse order
Added transmitter get cinfo option for action
Fix for missing value in transmitter delaction
Rewrite and enable server testcase for Transmitter
ENH: adding more of diagnostic messages into -client while starting the daemon
...
* github_kwirk_fail2ban/multi-line:
Revert changes to man/fail2ban-client.1
Removed "common.local" include for FilterReader test
Added 'maxlines' option to fail2ban-regex
Regex get(Un)MatchedLines now returns whole lines only
Added FilterReader test
Added multiregex test for multi-line filter
ignoreregex now functions correctly with multiline
Minor typo in server/failregex.py
Added <SKIPLINES> regex applicable for multi-line
Sanitise testcase log 04
Changed multi-line test to provided example
Filter for multi-line now stores last time match
Simplify and change some filter line buffer
Initial changes and test for multi-line filtering
Ignore regexs are now only compared to lines that match the failregex.
Supporting test also added for multiline regex and overlapping
multiline regex matches.
Before, it would first do stable sort followed with explicit reverse.
Now reverse is given as an argument to sort, and it results in actually
preserving the order in case of e.g. no sorting needed
Otherwise it might lead to spurious characters dumped into the
terminal at few places, unless casted upon every use in the logs. To
prevent those issues in the source, store IP as a basic string if it
is a string at all
* all of the *Filters had too much of common logic in their *LogPath
methods, which is now handled by FileFilter and derived classes only
add custom actions in corresponding _(add|del)LogPath methods
pyinotify:
* upon CREATE event:
- unknown files should not be handled at all
- "watcher" for the monitored files should be recreated.
Lead to adding _(add|del)FileWatcher helper methods
* callback now obtains full event to judge what to do