2007-02-09 [paul] 2.7.2cvs37
authorPaul Mangan <paul@claws-mail.org>
Fri, 9 Feb 2007 16:19:10 +0000 (16:19 +0000)
committerPaul Mangan <paul@claws-mail.org>
Fri, 9 Feb 2007 16:19:10 +0000 (16:19 +0000)
* src/plugins/clamav/clamav_plugin.c
fix for the upstream changes in libclamav

ChangeLog
PATCHSETS
configure.ac
src/plugins/clamav/clamav_plugin.c

index 6b97b91..3cd6b05 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2007-02-09 [paul]      2.7.2cvs37
+
+       * src/plugins/clamav/clamav_plugin.c
+               fix for the upstream changes in libclamav
+
 2007-02-09 [paul]      2.7.2cvs36
 
        * src/main.c
index ce12b2c..b042483 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.382.2.358 -r 1.382.2.359 src/compose.c;  cvs diff -u -r 1.1.2.19 -r 1.1.2.20 src/prefs_other.c;  cvs diff -u -r 1.1.2.14 -r 1.1.2.15 src/prefs_send.c;  cvs diff -u -r 1.5.2.52 -r 1.5.2.53 src/gtk/gtkutils.c;  ) > 2.7.2cvs34.patchset
 ( cvs diff -u -r 1.5.10.17 -r 1.5.10.18 src/addrgather.c;  cvs diff -u -r 1.17.2.30 -r 1.17.2.31 src/alertpanel.c;  cvs diff -u -r 1.8.2.20 -r 1.8.2.21 src/editldap.c;  cvs diff -u -r 1.105.2.85 -r 1.105.2.86 src/prefs_account.c;  cvs diff -u -r 1.52.2.37 -r 1.52.2.38 src/prefs_folder_item.c;  cvs diff -u -r 1.5.2.12 -r 1.5.2.13 src/prefs_gtk.h;  cvs diff -u -r 1.43.2.53 -r 1.43.2.54 src/prefs_matcher.c;  cvs diff -u -r 1.1.2.23 -r 1.1.2.24 src/prefs_message.c;  cvs diff -u -r 1.1.2.31 -r 1.1.2.32 src/prefs_msg_colors.c;  cvs diff -u -r 1.1.2.37 -r 1.1.2.38 src/prefs_summaries.c;  cvs diff -u -r 1.1.2.49 -r 1.1.2.50 src/wizard.c;  cvs diff -u -r 1.2.2.22 -r 1.2.2.23 src/gtk/inputdialog.c;  cvs diff -u -r 1.1.2.20 -r 1.1.2.21 src/plugins/bogofilter/bogofilter_gtk.c;  ) > 2.7.2cvs35.patchset
 ( cvs diff -u -r 1.115.2.135 -r 1.115.2.136 src/main.c;  cvs diff -u -r 1.274.2.172 -r 1.274.2.173 src/mainwindow.c;  cvs diff -u -r 1.1.2.20 -r 1.1.2.21 src/prefs_other.c;  cvs diff -u -r 1.150.2.91 -r 1.150.2.92 src/procmsg.c;  cvs diff -u -r 1.60.2.41 -r 1.60.2.42 src/procmsg.h;  ) > 2.7.2cvs36.patchset
+( cvs diff -u -r 1.13.2.30 -r 1.13.2.31 src/plugins/clamav/clamav_plugin.c;  ) > 2.7.2cvs37.patchset
index defae6f..232e255 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=7
 MICRO_VERSION=2
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=36
+EXTRA_VERSION=37
 EXTRA_RELEASE=
 EXTRA_GTK2_VERSION=
 
index e582ab0..74a6796 100644 (file)
@@ -62,12 +62,12 @@ static PrefParam param[] = {
        {NULL, NULL, NULL, P_OTHER, NULL, NULL, NULL}
 };
 
-static struct cl_node *cl_database;
+static struct cl_engine *engine;
 struct scan_parameters {
        gboolean is_infected;
 
        struct cl_limits limits;
-       struct cl_node *root;
+       struct cl_engine *engine;
        gboolean scan_archive;
 };
 
@@ -85,7 +85,7 @@ static gboolean scan_func(GNode *node, gpointer data)
                g_warning("Can't get the part of multipart message.");
        else {
                debug_print("Scanning %s\n", outfile);
-               if ((ret = cl_scanfile(outfile, &virname, &size, params->root
+               if ((ret = cl_scanfile(outfile, &virname, &size, params->engine
                                      &params->limits, params->scan_archive)) == CL_VIRUS) {
                        params->is_infected = TRUE;
                        debug_print("Detected %s virus.\n", virname); 
@@ -120,13 +120,12 @@ static gboolean mail_filtering_hook(gpointer source, gpointer data)
                message_callback(_("ClamAV: scanning message..."));
 
        params.is_infected = FALSE;
-       params.root = cl_database;
+       params.engine = engine;
 
        params.limits.maxfiles = 1000; /* max files */
        params.limits.maxfilesize = config.clamav_max_size * 1048576; /* maximum archived file size */
        params.limits.maxreclevel = 8; /* maximum recursion level */
        params.limits.maxratio = 200; /* maximal compression ratio */
-       params.limits.archivememlim = 0; /* disable memory limit for bzip2 scanner */
 
        if (config.clamav_enable_arc)
                params.scan_archive = TRUE;
@@ -188,13 +187,13 @@ void clamav_set_message_callback(MessageCallback callback)
        message_callback = callback;
 }
 
-int cl_build(struct cl_node *root);
-void cl_free(struct cl_node *root);
+int cl_build(struct cl_engine *engine);
+void cl_free(struct cl_engine *engine);
 gint plugin_init(gchar **error)
 {
        gchar *rcpath;
        int ret;
-       unsigned int no;
+       unsigned int sigs = 0;
 
        if (!check_plugin_version(MAKE_NUMERIC_VERSION(0, 9, 3, 86),
                                VERSION_NUMERIC, PLUGIN_NAME, error))
@@ -213,15 +212,15 @@ gint plugin_init(gchar **error)
 
        clamav_gtk_init();
 
-       if ((ret = cl_loaddbdir(cl_retdbdir(), &cl_database, &no))) {
-               debug_print("cl_loaddbdir: %s\n", cl_strerror(ret));
-               *error = g_strdup_printf("cl_loaddbdir: %s\n", cl_strerror(ret));
+       if ((ret = cl_load(cl_retdbdir(), &engine, &sigs, CL_DB_STDOPT))) {
+               debug_print("cl_load: %s\n", cl_strerror(ret));
+               *error = g_strdup_printf("cl_load: %s\n", cl_strerror(ret));
                return -1;
        }
 
-       debug_print("Database loaded (containing in total %d signatures)\n", no);
+       debug_print("Database loaded (containing in total %d signatures)\n", sigs);
 
-       if((ret = cl_build(cl_database))) {
+       if((ret = cl_build(engine))) {
                debug_print("Database initialization error: %s\n", cl_strerror(ret));
                *error = g_strdup_printf("Database initialization error: %s\n", cl_strerror(ret));
                return -1;
@@ -237,7 +236,7 @@ void plugin_done(void)
 {
        hooks_unregister_hook(MAIL_FILTERING_HOOKLIST, hook_id);
        g_free(config.clamav_save_folder);
-       cl_free(cl_database);
+       cl_free(engine);
        clamav_gtk_done();
 
        debug_print("ClamAV plugin unloaded\n");