From a9e5117df4a6e51f40d21dc63fae53c25c42939c Mon Sep 17 00:00:00 2001 From: Paul Mangan Date: Wed, 30 Apr 2003 11:59:08 +0000 Subject: [PATCH] rename some params, resize max_size window, re-arrange the order of some gui elements, improve descriptions --- src/plugins/clamav/clamav_plugin.c | 27 ++++--- src/plugins/clamav/clamav_plugin.h | 4 +- src/plugins/clamav/clamav_plugin_gtk.c | 103 ++++++++++++++----------- 3 files changed, 73 insertions(+), 61 deletions(-) diff --git a/src/plugins/clamav/clamav_plugin.c b/src/plugins/clamav/clamav_plugin.c index e995f1510..8da381d1a 100644 --- a/src/plugins/clamav/clamav_plugin.c +++ b/src/plugins/clamav/clamav_plugin.c @@ -44,11 +44,11 @@ static ClamAvConfig config; static PrefParam param[] = { {"clamav_enable", "FALSE", &config.clamav_enable, P_BOOL, NULL, NULL, NULL}, - {"clamav_enable_archive", "FALSE", &config.clamav_archive_enable, P_BOOL, + {"clamav_enable_arc", "FALSE", &config.clamav_enable_arc, P_BOOL, NULL, NULL, NULL}, {"clamav_max_size", "1", &config.clamav_max_size, P_USHORT, NULL, NULL, NULL}, - {"clamav_receive_infected", "TRUE", &config.clamav_receive_infected, P_BOOL, + {"clamav_recv_infected", "TRUE", &config.clamav_recv_infected, P_BOOL, NULL, NULL, NULL}, {"clamav_save_folder", NULL, &config.clamav_save_folder, P_STRING, NULL, NULL, NULL}, @@ -88,8 +88,6 @@ static gboolean mail_filtering_hook(gpointer source, gpointer data) if (!config.clamav_enable) return FALSE; - debug_print("Scanning message %d for viruses\n", msginfo->msgnum); - fp = procmsg_open_message(msginfo); if (fp == NULL) { debug_print("failed to open message file"); @@ -104,6 +102,8 @@ static gboolean mail_filtering_hook(gpointer source, gpointer data) return FALSE; } + debug_print("Scanning message %d for viruses\n", msginfo->msgnum); + if (IS_FIRST_PART_TEXT(child)) child = child->next; @@ -120,10 +120,10 @@ static gboolean mail_filtering_hook(gpointer source, gpointer data) cl_buildtrie(root); limits.maxfiles = 1000; /* max files */ - limits.maxfilesize = config.clamav_max_size * 1048576; /* maximal archived file size == 10 Mb */ - limits.maxreclevel = 8; /* maximal recursion level */ + limits.maxfilesize = config.clamav_max_size * 1048576; /* maximum archived file size */ + limits.maxreclevel = 8; /* maximum recursion level */ - if (config.clamav_archive_enable) + if (config.clamav_enable_arc) scan_archive = TRUE; while (child != NULL) { @@ -165,7 +165,7 @@ static gboolean mail_filtering_hook(gpointer source, gpointer data) if (is_infected) { debug_print("message part(s) infected with %s\n", virname); - if (config.clamav_receive_infected) { + if (config.clamav_recv_infected) { FolderItem *clamav_save_folder; if ((!config.clamav_save_folder) || @@ -249,16 +249,15 @@ const gchar *plugin_name() const gchar *plugin_desc() { - return "This plugin checks all message attachments that are received " - "from a POP account for viruses using Clam AntiVirus. You will " - "need to have ClamAv installed.\n" + return "This plugin uses Clam AntiVirus to scan all message attachments " + "that are received from a POP account.\n" "\n" "When a message attachment is found to contain a virus it can be " - "deleted or saved in a special folder.\n" + "deleted or saved in a specially designated folder.\n" "\n" - "This plugin only contains the actual function for filtering " + "This plugin only contains the actual function for scanning " "and deleting or moving the message. You probably want to load " - "a User Interface plugin too, otherwise you will have to " + "the Gtk+ User Interface plugin too, otherwise you will have to " "manually write the plugin configuration.\n"; } diff --git a/src/plugins/clamav/clamav_plugin.h b/src/plugins/clamav/clamav_plugin.h index 07d1b49b2..c45dabe4e 100644 --- a/src/plugins/clamav/clamav_plugin.h +++ b/src/plugins/clamav/clamav_plugin.h @@ -27,9 +27,9 @@ typedef struct _ClamAvConfig ClamAvConfig; struct _ClamAvConfig { gboolean clamav_enable; - gboolean clamav_archive_enable; + gboolean clamav_enable_arc; guint clamav_max_size; - gboolean clamav_receive_infected; + gboolean clamav_recv_infected; gchar *clamav_save_folder; }; diff --git a/src/plugins/clamav/clamav_plugin_gtk.c b/src/plugins/clamav/clamav_plugin_gtk.c index bbd3d2f29..52f35a129 100644 --- a/src/plugins/clamav/clamav_plugin_gtk.c +++ b/src/plugins/clamav/clamav_plugin_gtk.c @@ -73,34 +73,43 @@ static void clamav_create_widget_func(PrefsPage * _page, GtkWindow *window, gpoi GtkWidget *label3; GtkWidget *enable_arc; GtkWidget *arc_scanning; - GtkWidget *label24; + GtkWidget *label4; GtkObject *max_size_adj; GtkWidget *max_size; - GtkWidget *mb; - GtkWidget *label26; + GtkWidget *hbox1; + GtkWidget *label5; + GtkWidget *label6; GtkWidget *recv_infected; - GtkWidget *label27; + GtkWidget *label7; GtkWidget *save_folder; GtkWidget *save_folder_select; + GtkWidget *label8; table = gtk_table_new (6, 3, FALSE); gtk_widget_show(table); gtk_table_set_row_spacings(GTK_TABLE(table), 4); gtk_table_set_col_spacings(GTK_TABLE(table), 8); + label1 = gtk_label_new ("Enable virus scanning"); + gtk_widget_show (label1); + gtk_table_attach (GTK_TABLE (table), label1, 0, 1, 0, 1, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 2, 4); + gtk_label_set_justify(GTK_LABEL(label1), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (label1), 0, 0.5); + enable_clamav = gtk_check_button_new_with_label (""); gtk_widget_show (enable_clamav); gtk_table_attach (GTK_TABLE (table), enable_clamav, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); - label1 = gtk_label_new ("Enable ClamAV filtering"); - gtk_widget_show (label1); - gtk_table_attach (GTK_TABLE (table), label1, 0, 1, 0, 1, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + arc_scanning = gtk_label_new ("Enable archive content scanning"); + gtk_widget_show (arc_scanning); + gtk_table_attach (GTK_TABLE (table), arc_scanning, 0, 1, 1, 2, + (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 2, 4); - gtk_label_set_justify(GTK_LABEL(label1), GTK_JUSTIFY_LEFT); - gtk_misc_set_alignment (GTK_MISC (label1), 0, 0.5); + gtk_misc_set_alignment (GTK_MISC (arc_scanning), 0, 0.5); enable_arc = gtk_check_button_new_with_label (""); gtk_widget_show (enable_arc); @@ -108,40 +117,34 @@ static void clamav_create_widget_func(PrefsPage * _page, GtkWindow *window, gpoi (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); - arc_scanning = gtk_label_new ("Enable archive scanning"); - gtk_widget_show (arc_scanning); - gtk_table_attach (GTK_TABLE (table), arc_scanning, 0, 1, 1, 2, + label4 = gtk_label_new ("Maximum attachment size"); + gtk_widget_show (label4); + gtk_table_attach (GTK_TABLE (table), label4, 0, 1, 4, 5, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 2, 4); - gtk_misc_set_alignment (GTK_MISC (arc_scanning), 0, 0.5); + gtk_misc_set_alignment (GTK_MISC (label4), 0, 0.5); - label24 = gtk_label_new ("Maximum message size"); - gtk_widget_show (label24); - gtk_table_attach (GTK_TABLE (table), label24, 0, 1, 4, 5, + hbox1 = gtk_hbox_new (FALSE, 0); + gtk_widget_show (hbox1); + gtk_table_attach (GTK_TABLE (table), hbox1, 1, 2, 4, 5, (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 2, 4); - gtk_misc_set_alignment (GTK_MISC (label24), 0, 0.5); + (GtkAttachOptions) (GTK_FILL), 0, 0); - max_size_adj = gtk_adjustment_new (1, 0, 100, 1, 10, 10); + max_size_adj = gtk_adjustment_new (1, 1, 1024, 1, 10, 10); max_size = gtk_spin_button_new (GTK_ADJUSTMENT (max_size_adj), 1, 0); gtk_widget_show (max_size); - gtk_table_attach (GTK_TABLE (table), max_size, 1, 2, 4, 5, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); + gtk_box_pack_start (GTK_BOX (hbox1), max_size, FALSE, FALSE, 0); - mb = gtk_label_new ("MB"); - gtk_widget_show (mb); - gtk_table_attach (GTK_TABLE (table), mb, 2, 3, 4, 5, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_misc_set_alignment (GTK_MISC (mb), 0, 0.5); + label5 = gtk_label_new ("MB"); + gtk_widget_show (label5); + gtk_box_pack_start (GTK_BOX (hbox1), label5, FALSE, FALSE, 0); - label26 = gtk_label_new ("Receive infected email"); - gtk_widget_show (label26); - gtk_table_attach (GTK_TABLE (table), label26, 0, 1, 5, 6, + label6 = gtk_label_new ("Receive infected messages"); + gtk_widget_show (label6); + gtk_table_attach (GTK_TABLE (table), label6, 0, 1, 5, 6, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 2, 4); - gtk_misc_set_alignment (GTK_MISC (label26), 0, 0.5); + gtk_misc_set_alignment (GTK_MISC (label6), 0, 0.5); recv_infected = gtk_check_button_new_with_label (""); gtk_widget_show (recv_infected); @@ -149,12 +152,12 @@ static void clamav_create_widget_func(PrefsPage * _page, GtkWindow *window, gpoi (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); - label27 = gtk_label_new ("Save folder"); - gtk_widget_show (label27); - gtk_table_attach (GTK_TABLE (table), label27, 0, 1, 6, 7, + label7 = gtk_label_new ("Save folder"); + gtk_widget_show (label7); + gtk_table_attach (GTK_TABLE (table), label7, 0, 1, 6, 7, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 2, 4); - gtk_misc_set_alignment (GTK_MISC (label27), 0, 0.5); + gtk_misc_set_alignment (GTK_MISC (label7), 0, 0.5); save_folder = gtk_entry_new (); gtk_widget_show (save_folder); @@ -168,14 +171,24 @@ static void clamav_create_widget_func(PrefsPage * _page, GtkWindow *window, gpoi (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); + label8 = + gtk_label_new(_ + ("Leave empty to use the default trash folder")); + gtk_widget_show(label8); + gtk_table_attach(GTK_TABLE(table), label8, 1, 2, 7, 8, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify(GTK_LABEL(label8), GTK_JUSTIFY_RIGHT); + gtk_misc_set_alignment(GTK_MISC(label8), 1, 0.5); + config = clamav_get_config(); gtk_signal_connect(GTK_OBJECT(save_folder_select), "released", GTK_SIGNAL_FUNC(foldersel_cb), page); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(enable_clamav), config->clamav_enable); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(enable_arc), config->clamav_archive_enable); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(enable_arc), config->clamav_enable_arc); gtk_spin_button_set_value(GTK_SPIN_BUTTON(max_size), (float) config->clamav_max_size); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(recv_infected), config->clamav_receive_infected); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(recv_infected), config->clamav_recv_infected); if (config->clamav_save_folder != NULL) gtk_entry_set_text(GTK_ENTRY(save_folder), config->clamav_save_folder); @@ -203,10 +216,10 @@ static void clamav_save_func(PrefsPage *_page) config = clamav_get_config(); config->clamav_enable = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(page->enable_clamav)); - config->clamav_archive_enable = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(page->enable_arc)); + config->clamav_enable_arc = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(page->enable_arc)); config->clamav_max_size = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(page->max_size)); - config->clamav_receive_infected = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(page->recv_infected)); + config->clamav_recv_infected = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(page->recv_infected)); g_free(config->clamav_save_folder); config->clamav_save_folder = gtk_editable_get_chars(GTK_EDITABLE(page->save_folder), 0, -1); @@ -248,10 +261,10 @@ const gchar *plugin_desc() "You will find the options in the Other Preferences window " "under Filtering/Clam AntiVirus.\n" "\n" - "With this plugin you can enable the filtering, enable archive " - "scanning, set the maximum size of messages to be checked, (if " - "the message is larger it will not be checked), configure " - "whether infected mail should be received (default: Yes) " + "With this plugin you can enable the scanning, enable archive " + "content scanning, set the maximum size of an attachment to be " + "checked, (if the attachment is larger it will not be checked), " + "configure whether infected mail should be received (default: Yes) " "and select the folder where infected mail will be saved.\n"; } -- 2.25.1