diff --git a/MANIFEST b/MANIFEST index 7d8a722dd..eb03723f6 100644 --- a/MANIFEST +++ b/MANIFEST @@ -53,6 +53,7 @@ testcases/files/testcase04.log setup.py setup.cfg common/__init__.py +common/helpers.py common/version.py common/protocol.py config/jail.conf diff --git a/common/helpers.py b/common/helpers.py new file mode 100644 index 000000000..95a7c1038 --- /dev/null +++ b/common/helpers.py @@ -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) diff --git a/server/asyncserver.py b/server/asyncserver.py index 0714513d7..edcd9bbc0 100644 --- a/server/asyncserver.py +++ b/server/asyncserver.py @@ -25,24 +25,12 @@ __copyright__ = "Copyright (c) 2004 Cyril Jaquier" __license__ = "GPL" from pickle import dumps, loads, HIGHEST_PROTOCOL +from common import helpers import asyncore, asynchat, socket, os, logging, sys # Gets the instance of the logger. 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. # @@ -82,7 +70,7 @@ class RequestHandler(asynchat.async_chat): self.close_when_done() def handle_error(self): - e1,e2 = formatExceptionInfo() + e1,e2 = helpers.formatExceptionInfo() logSys.error("Unexpected communication error: "+e2) logSys.error(traceback.format_exc().splitlines()) self.close()