Source: dansguardian
Version: 2.10.1.1-5.1
Severity: important
Tags: patch

The patch attached lets python-clamav compile against clamav from
experimental (it does not compile unstable anymore).

Sebastian
From: Sebastian Andrzej Siewior <sebast...@breakpoint.cc>
Date: Wed, 30 Jan 2019 23:53:48 +0100
Subject: [PATCH] dansguardian: Add clamav 0.101.0 support

Signed-off-by: Sebastian Andrzej Siewior <sebast...@breakpoint.cc>
---
 src/contentscanners/clamav.cpp | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/src/contentscanners/clamav.cpp b/src/contentscanners/clamav.cpp
index cb5e5be1b3fc..55ad90fdb13d 100644
--- a/src/contentscanners/clamav.cpp
+++ b/src/contentscanners/clamav.cpp
@@ -131,6 +131,7 @@ int clamavinstance::scanMemory(HTTPHeader * requestheader, HTTPHeader * docheade
 	const char *vn = NULL;
 	int fd;
 	std::string fname;
+	struct cl_scan_options scan_options;
 
 #ifdef HAVE_CLAMAV_SHM
 	if (use_shm) {
@@ -172,7 +173,11 @@ int clamavinstance::scanMemory(HTTPHeader * requestheader, HTTPHeader * docheade
 	}
 
 #ifdef CL_INIT_DEFAULT
-	rc = cl_scandesc(fd, &vn, NULL, engine, CL_SCAN_STDOPT);
+	memset(&scan_options, 0, sizeof(scan_options));
+	scan_options.general = CL_SCAN_GENERAL_ALLMATCHES;
+	scan_options.parse = ~0;
+
+	rc = cl_scandesc(fd, NULL, &vn, NULL, engine, &scan_options);
 #else
 	rc = cl_scandesc(fd, &vn, NULL, engine, &limits, CL_SCAN_STDOPT);
 #endif
@@ -201,7 +206,13 @@ int clamavinstance::scanFile(HTTPHeader * requestheader, HTTPHeader * docheader,
 	lastmessage = lastvirusname = "";
 	const char *vn = NULL;
 #ifdef CL_INIT_DEFAULT
-	int rc = cl_scanfile(filename, &vn, NULL, engine, CL_SCAN_STDOPT );
+	struct cl_scan_options scan_options;
+	int rc;
+
+	memset(&scan_options, 0, sizeof(scan_options));
+	scan_options.general = CL_SCAN_GENERAL_ALLMATCHES;
+	scan_options.parse = ~0;
+	rc = cl_scanfile(filename, &vn, NULL, engine, &scan_options);
 #else
 	int rc = cl_scanfile(filename, &vn, NULL, engine, &limits, CL_SCAN_STDOPT );
 #endif
-- 
2.11.0

Reply via email to