Package: havp Version: 0.92a-2 Severity: grave 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. I've set the severity to grave since havp can't be used without clamav.
Sebastian
>From 45b1edab07d76fc331c4dc0a47d8ecc3a5438a27 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <sebast...@breakpoint.cc> Date: Wed, 2 Jul 2014 21:12:37 +0200 Subject: [PATCH] update to current (0.94.4) clamav As of 0.94.4 version of clamav it is required to invoke cl_initialize_crypto() before doing any kind of clamav-related operations _or_ the whole thing fails. The required API should be exported as of the upcomming debian clamav release. Signed-off-by: Sebastian Andrzej Siewior <sebast...@breakpoint.cc> --- debian/control | 2 +- havp/scanners/clamlibscanner.cpp | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/debian/control b/debian/control index 5bb21a5..826ad2f 100644 --- a/debian/control +++ b/debian/control @@ -2,7 +2,7 @@ Source: havp Section: net Priority: optional Maintainer: Rene Mayrhofer <rene.mayrho...@gibraltar.at> -Build-Depends: debhelper (>= 4.0.0), autotools-dev, libssl-dev, libclamav-dev, dpatch, docbook-to-man, po-debconf +Build-Depends: debhelper (>= 4.0.0), autotools-dev, libssl-dev, libclamav-dev (>= 0.98.4+dfsg-2), dpatch, docbook-to-man, po-debconf Standards-Version: 3.8.1 Package: havp diff --git a/havp/scanners/clamlibscanner.cpp b/havp/scanners/clamlibscanner.cpp index f851552..6d19bd9 100644 --- a/havp/scanners/clamlibscanner.cpp +++ b/havp/scanners/clamlibscanner.cpp @@ -27,6 +27,8 @@ bool ClamLibScanner::InitDatabase() if (LL>2) cl_debug(); #ifdef CL_INIT_DEFAULT + cl_initialize_crypto(); + if ( (ret = cl_init(CL_INIT_DEFAULT)) != CL_SUCCESS ) { printf("ClamAV: cl_init() error: %s\n", cl_strerror(ret)); @@ -246,6 +248,7 @@ void ClamLibScanner::FreeDatabase() { LogFile::ErrorMessage("ClamAV: cl_engine_free() failed: %s\n", cl_strerror(ret)); } + cl_cleanup_crypto(); #else cl_free(engine); #endif -- 1.7.10.4