From 46a2b6e428c1e54293182b343ecb83eb2b5314d1 Mon Sep 17 00:00:00 2001 From: Steven Hiscocks Date: Sun, 24 Feb 2013 10:10:15 +0000 Subject: [PATCH] Fix up for client/server socket for python3 --- client/csocket.py | 12 +++++++++--- server/asyncserver.py | 10 ++++++++-- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/client/csocket.py b/client/csocket.py index 6e014e23..3963bbe5 100644 --- a/client/csocket.py +++ b/client/csocket.py @@ -29,11 +29,14 @@ __license__ = "GPL" #from cPickle import dumps, loads, HIGHEST_PROTOCOL from pickle import dumps, loads, HIGHEST_PROTOCOL -import socket +import socket, sys class CSocket: - END_STRING = "" + if sys.version_info >= (3,): + END_STRING = b"" + else: + END_STRING = "" def __init__(self, sock = "/var/run/fail2ban/fail2ban.sock"): # Create an INET, STREAMing socket @@ -52,7 +55,10 @@ class CSocket: #@staticmethod def receive(sock): - msg = '' + if sys.version_info >= (3,): + msg = b'' + else: + msg = '' while msg.rfind(CSocket.END_STRING) == -1: chunk = sock.recv(6) if chunk == '': diff --git a/server/asyncserver.py b/server/asyncserver.py index 64ec8f39..0e06a790 100644 --- a/server/asyncserver.py +++ b/server/asyncserver.py @@ -42,7 +42,10 @@ logSys = logging.getLogger("fail2ban.server") class RequestHandler(asynchat.async_chat): - END_STRING = "" + if sys.version_info >= (3,): + END_STRING = b"" + else: + END_STRING = "" def __init__(self, conn, transmitter): asynchat.async_chat.__init__(self, conn) @@ -62,7 +65,10 @@ class RequestHandler(asynchat.async_chat): def found_terminator(self): # Joins the buffer items. - message = loads("".join(self.__buffer)) + if sys.version_info >= (3,): + message = loads(b"".join(self.__buffer)) + else: + message = loads("".join(self.__buffer)) # Gives the message to the transmitter. message = self.__transmitter.proceed(message) # Serializes the response.