mirror of https://github.com/fail2ban/fail2ban
- Added helper module in common.
- Moved formatExceptionInfo by Buanzo to common/helpers.py. git-svn-id: https://fail2ban.svn.sourceforge.net/svnroot/fail2ban/branches/FAIL2BAN-0_8@740 a942ae1a-1317-0410-a47c-b1dcaea8d605_tent/ipv6_via_aInfo
parent
81e2fe8306
commit
b88956e898
1
MANIFEST
1
MANIFEST
|
@ -53,6 +53,7 @@ testcases/files/testcase04.log
|
||||||
setup.py
|
setup.py
|
||||||
setup.cfg
|
setup.cfg
|
||||||
common/__init__.py
|
common/__init__.py
|
||||||
|
common/helpers.py
|
||||||
common/version.py
|
common/version.py
|
||||||
common/protocol.py
|
common/protocol.py
|
||||||
config/jail.conf
|
config/jail.conf
|
||||||
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
# 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
|
||||||
|
# Author: Cyril Jaquier
|
||||||
|
# Author: Arturo 'Buanzo' Busleiman
|
||||||
|
#
|
||||||
|
# $Revision: 711 $
|
||||||
|
|
||||||
|
__author__ = "Cyril Jaquier"
|
||||||
|
__version__ = "$Revision: 567 $"
|
||||||
|
__date__ = "$Date: 2007-03-26 23:17:31 +0200 (Mon, 26 Mar 2007) $"
|
||||||
|
__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"]
|
||||||
|
except KeyError:
|
||||||
|
excArgs = str(exc)
|
||||||
|
return (excName, excArgs)
|
|
@ -25,24 +25,12 @@ __copyright__ = "Copyright (c) 2004 Cyril Jaquier"
|
||||||
__license__ = "GPL"
|
__license__ = "GPL"
|
||||||
|
|
||||||
from pickle import dumps, loads, HIGHEST_PROTOCOL
|
from pickle import dumps, loads, HIGHEST_PROTOCOL
|
||||||
|
from common import helpers
|
||||||
import asyncore, asynchat, socket, os, logging, sys
|
import asyncore, asynchat, socket, os, logging, sys
|
||||||
|
|
||||||
# Gets the instance of the logger.
|
# Gets the instance of the logger.
|
||||||
logSys = logging.getLogger("fail2ban.server")
|
logSys = logging.getLogger("fail2ban.server")
|
||||||
|
|
||||||
# we should move this to some sort of helper functions module
|
|
||||||
|
|
||||||
def formatExceptionInfo():
|
|
||||||
""" Author: Arturo 'Buanzo' Busleiman """
|
|
||||||
import sys
|
|
||||||
cla, exc = sys.exc_info()[:2]
|
|
||||||
excName = cla.__name__
|
|
||||||
try:
|
|
||||||
excArgs = exc.__dict__["args"]
|
|
||||||
except KeyError:
|
|
||||||
excArgs = str(exc)
|
|
||||||
return (excName, excArgs)
|
|
||||||
|
|
||||||
##
|
##
|
||||||
# Request handler class.
|
# Request handler class.
|
||||||
#
|
#
|
||||||
|
@ -82,7 +70,7 @@ class RequestHandler(asynchat.async_chat):
|
||||||
self.close_when_done()
|
self.close_when_done()
|
||||||
|
|
||||||
def handle_error(self):
|
def handle_error(self):
|
||||||
e1,e2 = formatExceptionInfo()
|
e1,e2 = helpers.formatExceptionInfo()
|
||||||
logSys.error("Unexpected communication error: "+e2)
|
logSys.error("Unexpected communication error: "+e2)
|
||||||
logSys.error(traceback.format_exc().splitlines())
|
logSys.error(traceback.format_exc().splitlines())
|
||||||
self.close()
|
self.close()
|
||||||
|
|
Loading…
Reference in New Issue