diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..e655e7c1 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,11 @@ +# vim ft=yaml +# travis-ci.org definition for Fail2Ban build +language: python +python: + - "2.5" + - "2.6" + - "2.7" +install: + - "pip install pyinotify" +script: + - python ./fail2ban-testcases diff --git a/ChangeLog b/ChangeLog index 1d79aa02..eabd6e81 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,9 +4,41 @@ |_| \__,_|_|_/___|_.__/\__,_|_||_| ================================================================================ -Fail2Ban (version 0.8.7) 2012/07/31 +Fail2Ban (version 0.8.8) 2012/12/06 ================================================================================ +ver. 0.8.8 (2012/12/06) - stable +---------- +- Fixes: + Alan Jenkins + * [8c38907] Removed 'POSSIBLE BREAK-IN ATTEMPT' from sshd filter to avoid + banning due to misconfigured DNS. Close gh-64 + Yaroslav Halchenko + * [83109bc] IMPORTANT: escape the content of (if used in + custom action files) since its value could contain arbitrary + symbols. Thanks for discovery go to the NBS System security + team + * [0935566,5becaf8] Various python 2.4 and 2.5 compatibility fixes. Close gh-83 + * [b159eab] do not enable pyinotify backend if pyinotify < 0.8.3 + * [37a2e59] store IP as a base, non-unicode str to avoid spurious messages + in the console. Close gh-91 +- New features: + David Engeset + * [2d672d1,6288ec2] 'unbanip' command for the client + avoidance of touching + the log file to take 'banip' or 'unbanip' in effect. Close gh-81, gh-86 + Yaroslav Halchenko +- Enhancements: + * [2d66f31] replaced uninformative "Invalid command" message with warning log + exception why command actually failed + * [958a1b0] improved failregex to "support" auth.backend = "htdigest" + * [9e7a3b7] until we make it proper module -- adjusted sys.path only if + system-wide run + * [f52ba99] downgraded "already banned" from WARN to INFO level. Closes gh-79 + * [f105379] added hints into the log on some failure return codes (e.g. 0x7f00 + for this gh-87) + * Various others: travis-ci integration, script to run tests + against all available Python versions, etc + ver. 0.8.7.1 (2012/07/31) - stable ---------- diff --git a/DEVELOP b/DEVELOP index feb4249f..7a6a7b9b 100644 --- a/DEVELOP +++ b/DEVELOP @@ -7,18 +7,18 @@ How to develop for Fail2Ban ================================================================================ -Fail2Ban uses GIT (http://git-scm.com/) distributed source control. This gives -each developer their own complete copy of the entire repository. Developers can -add and switch branches and commit changes when ever they want and then ask a +Fail2Ban uses GIT (http://git-scm.com/) distributed source control. This gives +each developer their own complete copy of the entire repository. Developers can +add and switch branches and commit changes when ever they want and then ask a maintainer to merge their changes. -Fail2Ban uses GitHub (https://github.com/fail2ban/fail2ban) to manage access to -the Git repository. GitHub provides free hosting for open-source projects as +Fail2Ban uses GitHub (https://github.com/fail2ban/fail2ban) to manage access to +the Git repository. GitHub provides free hosting for open-source projects as well as a web-based Git repository browser and an issue tracker. -If you are familiar with Python and you have a bug fix or a feature that you -would like to add to Fail2Ban, the best way to do so it to use the GitHub Pull -Request feature. You can find more details on the Fail2Ban wiki +If you are familiar with Python and you have a bug fix or a feature that you +would like to add to Fail2Ban, the best way to do so it to use the GitHub Pull +Request feature. You can find more details on the Fail2Ban wiki (http://www.fail2ban.org/wiki/index.php/Get_Involved) Testing @@ -26,7 +26,7 @@ Testing Existing tests can be run by executing `fail2ban-testcases`. -Documentation about creating tests (when tests are required and some guidelines +Documentation about creating tests (when tests are required and some guidelines for creating good tests) will be added soon. Coding Standards @@ -58,18 +58,20 @@ one):: RF-Note just a note which might be useful to address while doing RF JailThread -> Filter -> FileFilter -> {FilterPoll, FilterPyinotify, ...} - | | * FileContainer - | + FailManager - | + DateDetector - \- -> Actions - * Actions - + BanManager - + | * FileContainer + + FailManager + + DateDetector + + Jail (provided in __init__) which contains this Filter + (used for passing tickets from FailManager to Jail's __queue) Server + Jails * Jail - + Filter + + Filter (in __filter) * tickets (in __queue) + + Actions (in __action) + * Action + + BanManager + failmanager.py ~~~~~~~~~~~~~~ @@ -147,7 +149,7 @@ one way or another provide except FailManagerEmpty: self.failManager.cleanup(MyTime.time()) -thus channeling "ban tickets" from their failManager to a +thus channeling "ban tickets" from their failManager to the corresponding jail. action.py diff --git a/README b/README index bc365482..db97aa8b 100644 --- a/README +++ b/README @@ -4,7 +4,7 @@ |_| \__,_|_|_/___|_.__/\__,_|_||_| ================================================================================ -Fail2Ban (version 0.8.7) 2012/07/31 +Fail2Ban (version 0.8.8) 2012/07/31 ================================================================================ Fail2Ban scans log files like /var/log/pwdfail and bans IP that makes too many @@ -31,8 +31,8 @@ Optional: To install, just do: -> tar xvfj fail2ban-0.8.7.tar.bz2 -> cd fail2ban-0.8.7 +> tar xvfj fail2ban-0.8.8.tar.bz2 +> cd fail2ban-0.8.8 > python setup.py install This will install Fail2Ban into /usr/share/fail2ban. The executable scripts are diff --git a/common/protocol.py b/common/protocol.py index db2b07eb..2f8ffa6c 100644 --- a/common/protocol.py +++ b/common/protocol.py @@ -64,6 +64,7 @@ protocol = [ ["set bantime