mirror of
https://github.com/fail2ban/fail2ban.git
synced 2026-03-11 08:55:31 +00:00
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iEYEABECAAYFAlGRBZ8ACgkQjRFFY3XAJMhqzwCgvUsrv6cSjo1d8YCQUA8Na0Kk 44QAoKk7X2sqFM+wvj2vK3stsHa/80qm =iBfR -----END PGP SIGNATURE----- Merge tag '0.8.9' into 0.9 (quite a bit of conflicts "resolved") Release 0.8.9 * tag '0.8.9': BF: add missing files to MANIFEST (I think we shoult not rely on sdist anyways -- 'git tag' tarballs are more thorough ;) ) All the (version) updates for the release of 0.8.9 BF: (travis) relax the test for needed to be presented installed directories -- allow new BF: (travis) if tests ran under coverage -- there is a traceback parts to report (thus > would be present) ENH: also print the failing traceback line in case of failure ENH: include explicit list of new files which should not be there upon "install --root" ENH: now we know that logging handlers closing was still buggy in 2.6.2 ENH: issue a warning if jail name is longer than 19 symbols (Close #222) DOC: inline commends with ';' are in effect only if ';' follows as space BF: Fix for filterpoll incorrectly checking for jailless state ENH: strengthen detection of working pyinotify ENH: use the same python executable for setup.py test ENH: actually tune up TraceBack to determine "unittest" portions of the stack across all python releases TST: Some primarily smoke tests for tests utils TST: cover few more lines in fail2banreader.py ENH: basic test for setup.py itself (when applicable, should greatly improve coverage ;) ) ENH: consistent operation of formatExceptionInfo + unittest for it ENH: point to the status of master branch on travis Conflicts: ChangeLog MANIFEST README.md fail2ban/version.py -- all of the above obvious version changes below files primarily needed just a bit of help in resolution config/jail.conf fail2ban/server/filterpoll.py fail2ban/server/server.py fail2ban/tests/servertestcase.py and following were more difficult -- git wasn't able to track renames/moves of the code fail2ban-testcases -- needed to introduce those changes to tests/utils.py testcases/clientreadertestcase.py -- manually applied patch from master testcases/utils.py -- manually applied patch from master
40 lines
1.5 KiB
Python
40 lines
1.5 KiB
Python
# emacs: -*- mode: python; py-indent-offset: 4; indent-tabs-mode: t -*-
|
|
# vi: set ft=python sts=4 ts=4 sw=4 noet :
|
|
|
|
# This file is part of Fail2Ban.
|
|
#
|
|
# Fail2Ban is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 2 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# Fail2Ban is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with Fail2Ban; if not, write to the Free Software
|
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
|
|
__author__ = "Cyril Jaquier, Arturo 'Buanzo' Busleiman"
|
|
__copyright__ = "Copyright (c) 2009 Cyril Jaquier"
|
|
__license__ = "GPL"
|
|
|
|
|
|
def formatExceptionInfo():
|
|
""" Author: Arturo 'Buanzo' Busleiman """
|
|
import sys
|
|
cla, exc = sys.exc_info()[:2]
|
|
excName = cla.__name__
|
|
try:
|
|
excArgs = exc.__dict__["args"]
|
|
# Assure that we always return a string, without unneeded
|
|
# 'decorations' with python <= 2.5 where args would be a tuple
|
|
if isinstance(excArgs, tuple) and len(excArgs) == 1:
|
|
excArgs = excArgs[0]
|
|
excArgs = str(excArgs)
|
|
except KeyError:
|
|
# And always provide a string output
|
|
excArgs = str(exc)
|
|
return (excName, excArgs)
|