Package: dansguardian
Version: 2.10.1.1-5
Severity: serious
Tags: patch

Since the last clamav update (0.94.4) the ABI of the library changed and
all users are now required to invoke cl_initialize_crypto() otherwise
the signature database can't be loaded and thus libclamav library
remains useless.
This affects the "plugname = 'clamav'" method of the package.

Sebastian
>From 75bf67fe1568ffcbb488f4e7026883b39dd1a3eb Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <sebast...@breakpoint.cc>
Date: Wed, 2 Jul 2014 22:06:30 +0200
Subject: [PATCH] update dansguardian

Signed-off-by: Sebastian Andrzej Siewior <sebast...@breakpoint.cc>
---
 debian/control                               |    2 +-
 debian/patches/00list                        |    1 +
 debian/patches/51_clamav098.4_support.dpatch |   21 +++++++++++++++++++++
 3 files changed, 23 insertions(+), 1 deletion(-)
 create mode 100644 debian/patches/51_clamav098.4_support.dpatch

diff --git a/debian/control b/debian/control
index 3a329b1..1bbe80e 100644
--- a/debian/control
+++ b/debian/control
@@ -6,7 +6,7 @@ Build-Depends: autotools-dev,
                debhelper (>= 9),
                dh-autoreconf,
                dpatch (>= 2.0.32~),
-               libclamav-dev (>= 0.90),
+               libclamav-dev (>= 0.98.4+dfsg-2),
                libpcre3-dev,
                zlib1g-dev
 Standards-Version: 3.9.2
diff --git a/debian/patches/00list b/debian/patches/00list
index b4abadc..61a9396 100644
--- a/debian/patches/00list
+++ b/debian/patches/00list
@@ -2,6 +2,7 @@
 07_fix_config_paths.dpatch
 11_FixOptionContainer.cpp_on_arm.dpatch
 50_clamav095_support.dpatch
+51_clamav098.4_support.dpatch
 60_add_gcc4.4_support.dpatch
 65-fix_clamdsocket.dpatch
 70-gcc4.6.dpatch
diff --git a/debian/patches/51_clamav098.4_support.dpatch b/debian/patches/51_clamav098.4_support.dpatch
new file mode 100644
index 0000000..3034807
--- /dev/null
+++ b/debian/patches/51_clamav098.4_support.dpatch
@@ -0,0 +1,21 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 51_clamav098.4_support.dpatch by Sebastian Andrzej Siewior <sebast...@breakpoint.cc>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Adds support for clamav 0.98.4, there were some ABI changes.
+## DP: It is now required to invoke cl_initialize_crypto() before the lib is
+## DP: and it should be invoked before any threads are created
+
+@DPATCH@
+diff --git a/src/contentscanners/clamav.cpp b/src/contentscanners/clamav.cpp
+index 80915d5..2499334 100644
+--- a/src/contentscanners/clamav.cpp
++++ b/src/contentscanners/clamav.cpp
+@@ -266,6 +266,7 @@ int clamavinstance::init(void* args)
+ #endif
+ 
+ #ifdef CL_INIT_DEFAULT
++	cl_initialize_crypto();
+ 	if ( (rc = cl_init(CL_INIT_DEFAULT)) != CL_SUCCESS ) {
+ 		return DGCS_ERROR;
+     	}
-- 
1.7.10.4

Reply via email to