diff --git a/linkcheck/plugins/viruscheck.py b/linkcheck/plugins/viruscheck.py
index 5b6d3b2b..aa452708 100644
--- a/linkcheck/plugins/viruscheck.py
+++ b/linkcheck/plugins/viruscheck.py
@@ -87,11 +87,11 @@ class ClamdScanner (object):
"""Return a connected socket for sending scan data to it."""
port = None
try:
- self.sock.sendall("STREAM")
+ self.sock.sendall(b"STREAM")
port = None
for dummy in range(60):
data = self.sock.recv(self.sock_rcvbuf)
- i = data.find("PORT")
+ i = data.find(b"PORT")
if i != -1:
port = int(data[i+5:])
break
@@ -118,10 +118,10 @@ class ClamdScanner (object):
self.wsock.close()
data = self.sock.recv(self.sock_rcvbuf)
while data:
- if "FOUND\n" in data:
- self.infected.append(data)
- if "ERROR\n" in data:
- self.errors.append(data)
+ if b"FOUND\n" in data:
+ self.infected.append(data.decode('UTF-8', 'replace'))
+ if b"ERROR\n" in data:
+ self.errors.append(data.decode('UTF-8', 'replace'))
data = self.sock.recv(self.sock_rcvbuf)
self.sock.close()
diff --git a/tests/test_clamav.py b/tests/test_clamav.py
index 82b51c82..7bf4fb8d 100644
--- a/tests/test_clamav.py
+++ b/tests/test_clamav.py
@@ -29,7 +29,7 @@ class TestClamav (unittest.TestCase):
@need_clamav
def testClean (self):
- data = ""
+ data = b""
infected, errors = clamav.scan(data, self.clamav_conf)
self.assertFalse(infected)
self.assertFalse(errors)
@@ -37,24 +37,26 @@ class TestClamav (unittest.TestCase):
@need_clamav
def testInfected (self):
# from the clamav test direcotry: the clamav test file as html data
- data = 't'
+ data = (
+ b't'
+ )
infected, errors = clamav.scan(data, self.clamav_conf)
# different versions of clamav report different responses, apparently
acceptable_responses = (
- ['stream: ClamAV-Test-File(2d1206194bd704385e37000be6113f73:781) FOUND\n'],
- ['stream: Clamav.Test.File-6(aa15bcf478d165efd2065190eb473bcb:544) FOUND\n'],
+ [u'stream: ClamAV-Test-File(2d1206194bd704385e37000be6113f73:781) FOUND\n'],
+ [u'stream: Clamav.Test.File-6(aa15bcf478d165efd2065190eb473bcb:544) FOUND\n'],
)
self.assertIn(infected, acceptable_responses)
self.assertFalse(errors)