clamavin yeni versiyonunda libclamav api sinde bazi fonksiyonlarda
degisiklik yaptilar. Clamavin bir onceki versiyonu kurabilirsiniz yada
asagidaki yamayi deneyebilirsiniz
Not:BU PATCH unofficial patch degil !!!
----
--- dansguardian-2.9.8.2.orig/src/contentscanners/clamav.cpp 2006-01-23
14:06:49.000000000 -0200
+++ dansguardian-2.9.8.2/src/contentscanners/clamav.cpp 2007-03-08
03:29:20.000000000 -0300
@@ -64,7 +64,11 @@
private:
// virus database root node
- struct cl_node *root;
+#ifdef CL_SCAN_ALGORITHMIC
+ struct cl_engine *engine;
+#else
+ struct cl_node *engine;
+#endif
// archive limit options
struct cl_limits limits;
@@ -95,7 +99,7 @@
// destroy plugin
int clamavinstance::quit()
{
- cl_free(root);
+ cl_free(engine);
return DGCS_OK;
}
@@ -159,7 +163,7 @@
}
//int rc = cl_scanbuff(object, objectsize - 1, &vn, root);
- rc = cl_scandesc(fd, &vn, NULL, root, &limits, CL_SCAN_STDOPT);
+ rc = cl_scandesc(fd, &vn, NULL, engine, &limits, CL_SCAN_STDOPT);
close(fd);
#ifdef __CLAMAV_SHM
@@ -184,7 +188,7 @@
{
lastmessage = lastvirusname = "";
const char *vn = "";
- int rc = cl_scanfile(filename, &vn, NULL, root, &limits,
CL_SCAN_STDOPT
+ int rc = cl_scanfile(filename, &vn, NULL, engine, &limits,
CL_SCAN_STDOPT
/*CL_ARCHIVE | CL_OLE2 | CL_MAIL | CL_OLE2 | CL_SCAN_PE |
CL_SCAN_BLOCKBROKEN | CL_SCAN_HTML */ );
return doRC(rc, vn);
}
@@ -251,7 +255,7 @@
#endif
// set file, recursion and compression ratio limits for scanning
archives
- root = NULL;
+ engine = NULL;
limits.maxfiles = cv["maxfiles"].toInteger();
if (limits.maxfiles < 1) {
limits.maxfiles = 1000;
@@ -272,9 +276,14 @@
// load virus database
unsigned int virnum = 0;
- int rc = cl_loaddbdir(cl_retdbdir(), &root, &virnum);
+#ifdef CL_SCAN_ALGORITHMIC
+ unsigned int dboptions = CL_DB_STDOPT;
+ int rc = cl_load(cl_retdbdir(), &engine, &virnum, dboptions);
+#else
+ int rc = cl_loaddbdir(cl_retdbdir(), &engine, &virnum);
+#endif
#ifdef DGDEBUG
- std::cout << "root: " << root << " virnum: " << virnum <<
std::endl;
+ std::cout << "engine: " << engine << " virnum: " << virnum <<
std::endl;
#endif
if (rc != 0) {
if (!is_daemonised)
@@ -282,7 +291,7 @@
syslog(LOG_ERR, "Error loading clamav db: %s",
cl_strerror(rc));
return DGCS_ERROR;
}
- rc = cl_build(root);
+ rc = cl_build(engine);
if (rc != 0) {
if (!is_daemonised)
std::cerr << "Error building clamav db: " <<
cl_strerror(rc) << std::endl;
----
mrb,
freebsd 6.2 sistem üzerine squid 2.6.9 clamav 0.90 ve dansguardian 2.9.8.2 kurmaya çalisiyorum squid ve clamavi kurdum problemsiz olarak çalisiyor fakat dansguardiani
enable clamd ve Enable ClamAV library support (libclamav) seklinde kurmaya çalistigimda asagidaki hatayi aliyorum. yanliz enable clamd seklinde kurarsam bir problem yok enable clamav library de eklersem hata aliyorum.
contentscanners/clamav.cpp: In member function `virtual int
clamavinstance::init(void*)':
contentscanners/clamav.cpp:275: error: `cl_loaddbdir' was not declared in this
scope
*** Error code 1
Stop in /usr/ports/www/dansguardian-devel/work/dansguardian-2.9.8.2/src.
*** Error code 1
Stop in /usr/ports/www/dansguardian-devel/work/dansguardian-2.9.8.2.
*** Error code 1
Stop in /usr/ports/www/dansguardian-devel/work/dansguardian-2.9.8.2.
*** Error code 1
Stop in /usr/ports/www/dansguardian-devel.
*** Error code 1
Stop in /usr/ports/www/dansguardian-devel.
saygilar
veysi gümüs
Gökhan ALKAN
---------------------------
http://ipucu.enderunix.org
http://www.enderunix.org
---------------------------------------------------------------------
Listeye soru sormadan once lutfen http://ipucu.enderunix.org sitesine bakiniz.
Cikmak icin, e-mail: [EMAIL PROTECTED]
Liste arsivi: http://lists.enderunix.org
Turkiye'nin ilk FreeBSD kitabi: http://www.acikakademi.com/catalog/freebsd