An error popup is shown if an error is found under init
or first time an error found under scanning. Error popup
is suppressed until restarting claws or a scanning is
performed with success.
switch (result->status) {
case NO_SOCKET:
g_warning("[scanning] No socket information");
switch (result->status) {
case NO_SOCKET:
g_warning("[scanning] No socket information");
- alertpanel_error(_("Scanning\nNo socket information.\nAntivirus disabled."));
+ if (config.alert_ack) {
+ alertpanel_error(_("Scanning\nNo socket information.\nAntivirus disabled."));
+ config.alert_ack = FALSE;
+ }
break;
case NO_CONNECTION:
g_warning("[scanning] Clamd does not respond to ping");
break;
case NO_CONNECTION:
g_warning("[scanning] Clamd does not respond to ping");
- alertpanel_warning(_("Scanning\nClamd does not respond to ping.\nIs clamd running?"));
+ if (config.alert_ack) {
+ alertpanel_warning(_("Scanning\nClamd does not respond to ping.\nIs clamd running?"));
+ config.alert_ack = FALSE;
+ }
break;
case VIRUS:
msg = g_strconcat(_("Detected %s virus."),
break;
case VIRUS:
msg = g_strconcat(_("Detected %s virus."),
alertpanel_warning("%s\n", msg);
}
g_free(msg);
alertpanel_warning("%s\n", msg);
}
g_free(msg);
+ config.alert_ack = TRUE;
break;
case SCAN_ERROR:
debug_print("Error: %s\n", buf.msg);
break;
case SCAN_ERROR:
debug_print("Error: %s\n", buf.msg);
- alertpanel_error(_("Scanning error:\n%s"), buf.msg);
+ if (config.alert_ack) {
+ alertpanel_error(_("Scanning error:\n%s"), buf.msg);
+ config.alert_ack = FALSE;
+ }
break;
case OK:
debug_print("No virus detected.\n");
break;
case OK:
debug_print("No virus detected.\n");
+ config.alert_ack = TRUE;
- debug_print("File: %s. Size (%d) greater than limit (%d)\n",
- outfile, (int) info.st_size, max);
+ msg = g_strconcat(_("File: %s. Size (%d) greater than limit (%d)\n"),
+ outfile, (int) info.st_size, max);
+ statusbar_print_all("%s", msg);
+ debug_print(msg);
+ g_free(msg);
}
procmime_mimeinfo_free_all(mimeinfo);
}
procmime_mimeinfo_free_all(mimeinfo);
return (result.status == OK) ? FALSE : TRUE;
}
return (result.status == OK) ? FALSE : TRUE;
}
if (config.clamav_enable) {
debug_print("Creating socket\n");
if (config.clamav_enable) {
debug_print("Creating socket\n");
+ config.alert_ack = TRUE;
Clamd_Stat status = clamd_prepare();
switch (status) {
case NO_SOCKET:
Clamd_Stat status = clamd_prepare();
switch (status) {
case NO_SOCKET:
gchar *clamav_save_folder;
gboolean clamd_config_type;
gchar *clamd_host;
gchar *clamav_save_folder;
gboolean clamd_config_type;
gchar *clamd_host;
gchar *clamd_config_folder;
gchar *clamd_config_folder;
};
ClamAvConfig *clamav_get_config (void);
void clamav_save_config (void);
void clamav_set_message_callback (MessageCallback callback);
};
ClamAvConfig *clamav_get_config (void);
void clamav_save_config (void);
void clamav_set_message_callback (MessageCallback callback);
-Clamd_Stat clamd_prepare(void);
+Clamd_Stat clamd_prepare(void);
gint clamav_gtk_init(void);
void clamav_gtk_done(void);
gint clamav_gtk_init(void);
void clamav_gtk_done(void);