diff --git a/spam/edit_amavisd.cgi b/spam/edit_amavisd.cgi index 9fdde68c6..d5104dd72 100755 --- a/spam/edit_amavisd.cgi +++ b/spam/edit_amavisd.cgi @@ -11,7 +11,7 @@ my $amavis_cf=$config{'amavisdconf'}; $amavis_cf=$text{'index_unknown'} if (!$amavis_cf); if (!-r $amavis_cf ) { # Config not found - print &text('index_aconfig', + print &text('amavis_econfig', "$amavis_cf", "../config.cgi?$module_name"),"

\n"; &ui_print_footer($redirect_url, $text{'index_return'}); @@ -22,18 +22,28 @@ $conf = &get_amavis_config(); print &text('amavisd_desc'),"

\n"; +# tabbed interface for config and quaratine +@tabs=(['config', $text{'amavis_tab_config'}], [ 'quarantine', $text{'amavis_tab_quarantine'} ]); +print &ui_tabs_start(\@tabs, 'mode','config'); + # Find the existing config +print &ui_tabs_start_tab("mode", "config"); &start_form("save_amavisd.cgi", $text{'score_header'}); # spam tag2 level, when is classiefied as spam $hits = &amavis_find('sa_tag2_level_deflt', $conf); -print &ui_table_row($text{'score_hits'}, - &opt_field('sa_tag2_level_deflt', $hits, 7, 6.5)); +print &ui_table_row($text{'amavis_hits'}, + &opt_field('sa_tag2_level_deflt', $hits, 5, "undef")); # amavis quarantine spam level $hits = &amavis_find('sa_kill_level_deflt', $conf); print &ui_table_row($text{'amavis_quarantine_level'}, - &opt_field('sa_kill_level_deflt', $hits, 7, 6.5)); + &opt_field('sa_kill_level_deflt', $hits, 5, "undef")); + +# amavis no DSN spam level +$hits = &amavis_find('sa_dsn_cutoff_level', $conf); +print &ui_table_row($text{'amavis_dsn_level'}, + &opt_field('sa_dsn_cutoff_level', $hits, 5, "undef")); # amavis delete spam level $hits = &amavis_find('sa_quarantine_cutoff_level', $conf); @@ -43,32 +53,87 @@ print &ui_table_row($text{'amavis_delete_level'}, print &ui_table_hr(); # should amavis rewrite subject $rewrite = &amavis_find('sa_spam_modifies_subj', $conf); -print &ui_table_row($text{'report_rewrite'}, - &yes_no_field('sa_spam_modifies_subj', $rewrite, 0)); +print &ui_table_row($text{'amavis_rewrite'}, + &yes_no_field('sa_spam_modifies_subj', $rewrite, "undef")); # do how to modify subject $hits = &amavis_find('sa_spam_subject_tag', $conf); -print &ui_table_row($text{'report_rsubject'}, +print &ui_table_row($text{'amavis_rsubject'}, &opt_field('sa_spam_subject_tag', $hits, 9, "undef")); # insert X-Spam header $hits = &amavis_find('sa_spam_report_header', $conf); -print &ui_table_row($text{'amavis_add_header'}, +print &ui_table_row($text{'amavis_report_header'}, &yes_no_field('sa_spam_report_header', $hits, 0)); +# character to use for spam level +$hits = &amavis_find('sa_spam_level_char', $conf); +print &ui_table_row($text{'amavis_level_char'}, + &opt_field('sa_spam_level_char', $hits, 2, "*")); + +# network checks enabled? +$rewrite = &amavis_find('sa_local_tests_only', $conf); +print &ui_table_row($text{'amavis_local_only'}, + &yes_no_field('sa_local_tests_only', $rewrite, 0)); + # do not check mail larger then $hits = &amavis_find('sa_mail_body_size_limit', $conf); print &ui_table_row($text{'amavis_size_limit'}, &opt_field('sa_mail_body_size_limit', $hits, 9, "undef")); -# network checks enabled? -$rewrite = &amavis_find('sa_local_tests_only', $conf); -print &ui_table_row($text{'amavis_local_tests_only'}, - &yes_no_field('sa_local_tests_only', $rewrite, 0)); +&end_form(undef, $text{'amavis_ok'}); +print &ui_tabs_end_tab("mode", "config"); +# list quarantine +print &ui_tabs_start_tab("mode", "quarantine"); +print &ui_table_start($text{'amavis_tab_quarantine'}, "width=100%", 2); -&end_form(undef, $text{'amavisd_ok'}); +# get amavids.conf values +$dir=&amavis_find_value('QUARANTINEDIR', $conf); +$to=&amavis_find_value('spam_quarantine_to', $conf); +$method=&amavis_find_value('spam_quarantine_method', $conf); +$admin=&amavis_find_value('spam_admin', $conf); +$admin=&amavis_find_value('daemon_user', $conf)."@".&amavis_find_value('myhostname', $conf) if (!$admin); + +print &ui_table_span($text{'amavis_quarantine_desc'}."

"); + +print &ui_table_row($text{'amavis_spam_admin'}, $admin); + +if (!$to && $method =~ /^local:/) { + print &ui_table_span("
".&text('amavis_quarantine_off', $config{'amavisdconf'}).""); + print &ui_table_hr(); + print &ui_table_span("".$text{'amavis_nostat'}.""); +} else { + if ($to =~ /@/) { + # spam is forwarded to mail adress + print &ui_table_row($text{'amavis_quarantine_mail'}, $to); + print &ui_table_hr(); + print &ui_table_span("".$text{'amavis_nostat'}.""); + } else { + if ($method =~ s/^bsmtp://) { + # spam is quarantined in bsmtp format + $method =~ s/\%.*$/*/; + print &ui_table_row($text{'amavis_quarantine_bsmtp'}, $dir."/".$method); + } else { + # spam is qurantined local + $method =~ s/^local:(.*?)\%.*$/\1*/; + print &ui_table_row($text{'amavis_quarantine_local'}, $dir."/".$method); + } + # display spamstat ... + print &ui_table_hr(); + print &ui_table_row($text{'amavis_quarantine_total'},&backquote_command("ls $dir/$method| wc -l")); + print &ui_table_row($text{'amavis_quarantine_today'},&backquote_command("find $dir/$method -ctime -1| wc -l")); + print &ui_table_row($text{'amavis_quarantine_week'},&backquote_command("find $dir/$method -ctime -7| wc -l")); + print &ui_table_row($text{'amavis_quarantine_month'},&backquote_command("find $dir/$method -ctime -30| wc -l")); + } +} + +print &ui_table_end(); +print &ui_tabs_end_tab("mode", "quarantine"); + +#end tabbed interface +print &ui_tabs_end(1); &ui_print_footer($redirect_url, $text{'index_return'}); diff --git a/spam/lang/de b/spam/lang/de index 9ebf549d8..d913c6271 100644 --- a/spam/lang/de +++ b/spam/lang/de @@ -7,21 +7,42 @@ acl_filedef=Globale Konfigurationsdatei acl_file=SpamAssassin-Konfigurationsdatei zu bearbeiten after_ecmd=Nach dem Speichern-Befehl fehlgeschlagen: $1 amavisd_desc=Das Formular kann verwendet werden, um in der Amavisd-Konfiguration festzulegen wann Nachrichten als unerwüscht eingestuft und wie diese behandelt werden. -amavisd_ok=Ändere Amavisd Konfiguration -amavisd_title=Amavisd Spam Konfiguration -amavis_ehit=Spam-Wert, ab dem eine Mail als Spam klassifiziert wird ist keine Zahl! -amavis_ekill=Spam Wert, ab dem eine Spam-Mail in Quarantäne geschickt wird ist keine Zahl! -amavis_ecut=Spam Wert, ab dem eine Spam-Mail in gelöscht wird ist keine Zahl! -amavis_eheader=Wert für Änderung Betreff-E-Mail-Header ist keine Zahl! -amavis_esubject=Wert für Spam Markierung vor dem Betreff:-Headerist keine Zahl! -amavis_esize=Wert für Größe ab der eine Mail nicht mehr auf Spam überprüft wd ist keine Zahl! -amavis_elocal=Wert für Internet Dienste zum Klassifizieren der Mail ist keine Zahl! -amavis_warn=Wenn Du Amavisd als Spam Filter benutzt, werden einige Einstellungen ignoriert. -amavis_quarantine_level=Spam Wert, ab dem eine Spam-Mail in Quarantäne geschickt wird. amavis_delete_level=Spam Wert, ab dem eine Spam-Mail in gelöscht wird. -amavis_add_header=X-Spam-Header in Spam-Mail einfügen? +amavis_dsn_level=Spam Wert, ab dem keine Benachrichtigung an den Absender geschickt wird. +amavisd_title=Amavisd Spam Konfiguration +amavis_econfig=Die Amavisd-Konfigurationsdatei $1 wurde nicht auf Ihrem System gefunden. Entweder ist Amavisd nicht installiert, oder Ihre Modulkonfiguration ist falsch. +amavis_ecut=Spam Wert, ab dem eine Spam-Mail in gelöscht wird ist kein gültiger Wert! +amavis_edsn=Spam Wert, ab dem keine Benachrichtigung an den Absender geschickt wird ist kein gültiger Wert! +amavis_eheader=Wert für Änderung Betreff-E-Mail-Header ist kein gültiger Wert! +amavis_ehit=Spam-Wert, ab dem eine Mail als Spam klassifiziert wird ist keine Zahl! +amavis_ekill=Spam Wert, ab dem eine Spam-Mail in Quarantäne geschickt wird ist kein gültiger Wert! +amavis_elocal=Wert für Internet Dienste zum Klassifizieren der Mail ist kein gültiger Wert! +amavis_esize=Wert für Größe ab der eine Mail nicht mehr auf Spam überprüft wd ist kein gültiger Wert! +amavis_echar=Es ist nur ein einzelnes Zeichen X-Spam-Level:-Header zulässig +amavis_esubject=Wert für Spam Markierung vor dem Betreff:-Headerist kein gültiger Wert! +amavis_hits=Spam-Wert, ab dem eine Mail als Spam klassifiziert wird +amavis_level_char=Zeichen zum Anzeigen des Spam-Levels im X-Spam-Level:-Header +amavis_local_only=Keine Internet Dienste zum Klassifizieren der Mail verwenden? +amavis_nostat=Es können keine Spam-Statistiken angezeigt werden. +amavis_ok=Ändere Amavisd Konfiguration +amavis_quarantine_bsmtp=Spam wird in der Quarantäne im BSMTP-Format auf der lokalen Platte gespeichert als +amavis_quarantine_desc=Hier siehst Du wo Amavisd die Spam-Mail in Quarantäne speichert, sowie Spam-Statistiken wenn die lokale Quarantäne eingerichet ist. Wenn die Quarantäne deaktiviert oder eine Mail-Weiterleitung eingerichtet ist, wird keine Spam-Statistik angezeigt. +amavis_quarantine_level=Spam Wert, ab dem eine Spam-Mail in Quarantäne geschickt wird. +amavis_quarantine_local=Spam wird in der Quarantäne im MBOX-Format auf der lokalen Platte gespeichert als +amavis_quarantine_mail=Spam-Mail in Quarantäne wird weitergeleitet an die E-Mail-Adresse +amavis_quarantine_month=Spam-Mails in Quarantäne diesen Monat (30 Tage) +amavis_quarantine_off=Die Quarantäe ist ausgeschaltet. Zum Einschalten ändere in der Datei $1 den Wert $spam_Quarantine_to auf 'spam-quarantine'. +amavis_quarantine_today=Spam-Mails in Quarantäne heute (24h) +amavis_quarantine_total=Aktuelle Anzahl der Spam -Mails in Quarantäne +amavis_quarantine_week=Spam-Mails in Quarantäne diese Woche (7 Tage) +amavis_report_header=X-Spam-Header in Spam-Mail einfügen? +amavis_rewrite=Ändere den Betreff-E-Mail-Header von Spam? +amavis_rsubject=Spam Markierung vor dem Betreff:-Header. amavis_size_limit=Größe in Byte ab der eine Mail nicht mehr auf Spam überprüft wird. -amavis_local_tests_only=Keine Internet Dienste zum Klassifizieren der Mail verwenden? +amavis_spam_admin=Absender-Mail-Adresse von der Benachrichtigungen verschickt werden (Spam Admin) +amavis_tab_config=Amavisd Konfiguration +amavis_tab_quarantine=Spam Quarantäne +amavis_warn=Wenn Du Amavisd als Spam Filter benutzt, werden einige Einstellungen ignoriert. apply_err=Konnte Änderungen nicht anwenden apply_none=Es wurde kein SpamAssassin-Daemon-Prozess gefunden! awl_black=Permanentes Ablehnen @@ -141,7 +162,6 @@ import_err=Konnte Adressen nicht importieren import_ok1=$2 E-Mail-Adressen wurden in der Datei gefunden, wobei $1 neu sind und der Liste der erlaubten E-Mail-Adressen hinzugefügt wurden. import_ok2=$1 E-Mail-Adressen wurden in der Datei gefunden, aber diese befinden sich bereits in der Liste der erlaubten E-Mail-Adressen. import_title=Importiere Adressen -index_aconfig=Die Amavisd-Konfigurationsdatei $1 wurde nicht auf Ihrem System gefunden. Entweder ist Amavisd nicht installiert, oder Ihre Modulkonfiguration ist falsch. index_apply=Änderungen anwenden index_applydesc=Klicken Sie auf diesen Button, um die momentan SpamAssassin-Konfiguration anzuwenden, indem Sie ein HUP-Signal an alle $1 laufenden Prozesse schicken. index_cpan=Da SpamAssassin ein Perl-Modul ist, können Sie es auch automatisch durch das Webmin-Modul Perl-Module (CPAN) aus CPAN herunterladen und installieren lassen. @@ -205,21 +225,60 @@ priv_highest=Höchster Phrasenwert priv_log=Pfad zur Timing-Logdatei priv_mode=Zugriffsrechte für Auto-Whitelist Datei priv_phrase=Aus zwei Wörtern bestehende Phrase -report_fold=Teile den X-Spam-Status: E-Mail-Header über mehrere Zeilen auf? +priv_phrases=Phrasen zur Identifizierung von Spam +priv_razor=Pfad zur Razor KonfigurationsDatei +priv_score=Wert +priv_title=Privilegierte Optionen +priv_white=Pfad zur Auto-Whitelist Datei +process_eclean=Beim entfernen der SpamAsssin Header ist ein Fehler aufgetreten +process_ereport=Fehler beim übergeben der E-Mail an SpamAssassin : $1 +procmail_desc=Dieses Formual kann verwendte werden, um die Procmail Konfiguration zur Behandlung von Spam-Mail anzupassen. +procmail_ok=Procmail Spam Konfiguration +procmail_title=Procmail Spam Konfiguartion +razor_auto=Automatisch auwählen +razor_desc=Bei Vipul's Razor handelt es sich um ein collaboratives Spam Erkennungs- and Meldesystem, welches die Spam-Erkennung verbessert. Zur Nutzung wird ein Razor Account benötigt den man mit dieser Eingabemaske erstellen kann. +razor_doing=Versuche einen Razor Account zu erstellen und Razor auf dem System einzurichten .. +razor_done=.. Erfolgreich. +razor_ecmd=Der Befehl zum Einrichten von Razor $1 wurde nicht auf dem System gefunden, warscheinlich ist Razor nicht installiert. +razor_enter=Eingegeben +razor_epass=Fehlendes Password +razor_err=Razor Einrichtung fehlgeschlagen +razor_euser=Fehlender Benutzername +razor_failed=.. Fehlgeschlagen! Siehe obige Fehlermeldung warum. +razor_ok=Richte ein +razor_pass=Razor Password +razor_title=Razor Spam Detector Einrichten +razor_user=Razor Benutzername +report_addall=Alle +report_addfor=Nachrichten Typ +report_addham=Ham +report_addheader=Header-Name +report_addspam=Spam +report_adds=Weitere Header zu E-Mail hinzufügen +report_addtext=Text für Header +report_char=Zeichen zur Nutzung im X-Spam-Level:-Header +report_clear=Verwende den untenstehen Text .. +report_defang=Ändere den MIME-Type einer Spam_Mail auf text/plain? +report_desc=Das Formular kann verwendet werden, um festzulegen wie unerwüschte Nachrichten von SpamAssassin als Spam markiert werden. +report_detail=Füge Details zu gefundenen Spam-Phrasen hinzu? +report_eaddheader=Fehlender oder ungültiger Header zum hinzufügen $1 +report_echar=Es ist nur ein einzelnes Zeichen X-Spam-Level:-Header zulässig +report_err=Speichern der der Konfiguration fehlgeschlagen +report_fold=Teile den X-Spam-Status:-Header über mehrere Zeilen auf? report_header=Analysierte und Spam-E-Mail-Änderungsoptionen report_leave=Unverändert lassen report_noclear=Füge folgenden Test der Standard-Nachricht hinzu ... -report_report=Report, welcher E-Mails angefügt wird, die die Spam-Schwelle übersteigen +report_report=Report der einer E-Mail bei überschreiten der Spam-Schwelle hinzugefügt wird report_rewrite=Ändere den Betreff-E-Mail-Header von Spam? report_rfrom=Spam Markierung vor dem From:-Header. -report_rheader=Füge den Report in den X-Spam-Status: E-Mail-Header statt in den Textkörper ein? +report_rheader=Füge den Report in den X-Spam-Status:-Header statt in den Textkörper ein? report_rsubject=Spam Markierung vor dem Betreff:-Header. report_rto=Spam Markierung vor dem An:-Header. report_safe2=Ja, als Reintext report_safe=Füge die Original-E-Mail nicht dem Dateianhang hinzu? report_stars=X-Spam-Level: E-Mail-Header benutzen? report_subject=Text, welcher dem Betreff-E-Mail-Header hinzugefügt wird. -report_terse=Report dem Spam anhängen, wenn SpamAssassin im kurzen Modus läuft +report_terse=Report der einer Mail angehängt wird, wenn SpamAssassin im kurzen Modus läuft report_title=E-Mail-Modifizierung report_useterse=Nur kurzen Report generieren? score_auto=Gewichtung von Whitelist Einträgen @@ -250,7 +309,6 @@ score_mxdelay=Wartezeit in Sekunden zwischen MX-Tests score_name=Testname score_points=Punkte score_rbl=Übergehe den RBL-Open-Relay-Test? - score_received=Anzahl der Received:-E-Mail-Headern, die mit RBL getestet werden sollen score_score=SpamAssassin Testwerte score_timeout=Sekunden, die auf Rückmeldung der RBL-Tests gewarten wird diff --git a/spam/lang/en b/spam/lang/en index 150802548..3fce96a80 100644 --- a/spam/lang/en +++ b/spam/lang/en @@ -1,7 +1,6 @@ index_title=SpamAssassin Mail Filter index_ecmd=The SpamAssassin command $1 was not found on your system. Maybe it is not installed, or your module configuration is incorrect. index_ecmd2=The SpamAssassin command $1 was not found on your system. -index_aconfig=The Amavisd configuration file $1 was not found on your system. Maybe Amavisd is not installed, or your module configuration is incorrect. index_econfig=The SpamAssassin local configuration file or directory $1 was not found on your system. Maybe SpamAssassin is not installed, or your module configuration is incorrect. index_unknown=unknown index_edb=Failed to connect to the SpamAssassin configuration database : $1. Check the module configuration to be sure you are using the correct settings. @@ -53,7 +52,6 @@ score_score=SpamAssassin test scores score_name=Test name score_points=Points score_hits=Hits above which a message is considered spam -score_other=
Note: If you use Amavisd as spam filter this setting is ignored. score_rbl=Skip RBL open-relay check? score_mx=Number of times to check From: address MX score_mxdelay=Seconds to wait between MX checks @@ -287,21 +285,43 @@ razor_done=.. done. razor_failed=.. failed! See the error output above for the reason why. amavisd_title=Amavisd Spam Delivery -amavisd_ok=Change Amavisd Delivery amavisd_desc=The form can be used to change the Amavisd configuration that determines what happens to messages classified as spam. +amavis_ok=Change Amavisd Delivery +amavis_tab_config=Amavisd Configuration +amavis_tab_quarantine=Spam Quarantine amavis_warn=If you use Amavisd for Spam filtering, some options will be ignored. -amavis_ehit=Hits above which a message is considered spam is not numeric! -amavis_ekill=Hits above which a Spam message is quarantined is not numeric! -amavis_ecut=Hits above which a Spam message is deleted is not numeric! -amavis_eheader=Value for Modify Subject: header is not numeric! -amavis_esize=Value for size above witch a message is not checked for Spam is not numeric! -amavis_esubject=Value for Prepend text to Subject: header is not numeric! -amavis_elocal=Value for disable Internet sources is not numeric! -amavis_quarantine_level=Hits above which a Spam message is quarantined. +amavis_econfig=The Amavisd configuration file $1 was not found on your system. Maybe Amavisd is not installed, or your module configuration is incorrect. +amavis_hits=Hits above which a message is considered spam. +amavis_ehit=Hits above which a message is considered spam is not a value! +amavis_ekill=Hits above which a Spam message is Quarantined is not a value! +amavis_edsn=Hits above which no notification is sent to sender is not a value! +amavis_ecut=Hits above which a Spam message is deleted is not a value! +amavis_eheader=Value for Modify Subject: header is not a value! +amavis_esize=Value for size above witch a message is not checked for Spam is not a value! +amavis_echar=A single character must be entered for the X-Spam-Level: header +amavis_esubject=Value for Prepend text to Subject: header is not a value! +amavis_elocal=Value for disable Internet sources is not a value! +amavis_quarantine_level=Hits above which a Spam message is Quarantined. +amavis_dsn_level=Hits above which no notification is sent to sender. amavis_delete_level=Hits above which a Spam message is deleted. -amavis_add_header=Insert X-Spam-Header in Spam message? +amavis_report_header=Insert X-Spam-Header in Spam message? +amavis_level_char=Character used to display Spam-Level in X-Spam-Level: header. +amavis_rewrite=Modify Subject: header of spam? +amavis_rsubject=Prepend text to Subject: header amavis_size_limit=Message size in bytes above witch a message is not checked for Spam. -amavis_local_tests_only=Disable Internet sources for Spam checks? +amavis_local_only=Disable Internet sources for Spam checks? +amavis_quarantine_desc=Show where Spam is Quarantined by Amavisd, display also Spam Stats if local Quarantine is enabled. If Quarantine is disabled or forwarded to a mail adress, Spam Stats can not be displayed. +amavis_quarantine_off=Spam Quarantine is disabled on your system. Change $spam_Quarantine_to to spam-quarantine in file $1 to enable Quaratine. +amavis_nostat=It's not possible to display Spam Stats. +amavis_spam_admin=Mail adress where notifications are sent from (Spam admin) +amavis_quarantine_mail=Spam in Quarantine is forwarded to mail adress +amavis_quarantine_bsmtp=Spam is Quarantined in BSMTP format on local file system as +amavis_quarantine_local=Spam is Quarantined in MBOX format on local file system as +amavis_quarantine_today=Spam mails in Quarantine today (24h) +amavis_quarantine_week=Spam mails in Quarantine this week (7 days) +amavis_quarantine_month=Spam mails in Quarantine this month (30 days) +amavis_quarantine_total=Total number of Spam mails in Quarantine + procmail_title=Procmail Spam Delivery procmail_ok=Change Procmail Delivery procmail_desc=The form can be used to change the Procmail configuration that determines what happens to messages classified as spam. diff --git a/spam/save_amavisd.cgi b/spam/save_amavisd.cgi index e1e50f93d..d2c4b3ceb 100755 --- a/spam/save_amavisd.cgi +++ b/spam/save_amavisd.cgi @@ -12,9 +12,11 @@ $conf = &get_amavis_config(); # check for default values local $tag2=$in{'sa_tag2_level_deflt'}; -$tag2=6.5 if ($in{'sa_tag2_level_deflt_def'}==1); +$tag2="undef" if ($in{'sa_tag2_level_deflt_def'}==1); local $kill=$in{'sa_kill_level_deflt'}; -$kill=6.5 if ($in{'sa_kill_level_deflt_def'}==1); +$kill="undef" if ($in{'sa_kill_level_deflt_def'}==1); +local $dsn=$in{'sa_dsn_cutoff_level'}; +$dsn="undef" if ($in{'sa_dsn_cutoff_level_def'}==1); local $cut=$in{'sa_quarantine_cutoff_level'}; $cut="undef" if ($in{'sa_quarantine_cutoff_level_def'}==1); local $subj=$in{'sa_spam_modifies_subj'}; @@ -23,6 +25,8 @@ local $subtag=$in{'sa_spam_subject_tag'}; $subtag="undef" if ($in{'sa_spam_subject_tag_def'}==1); local $head=$in{'sa_spam_report_header'}; $head=0 if ($in{'sa_spam_report_header'}==-1); +local $char=$in{'sa_spam_level_char'}; +$char="*" if ($in{'sa_spam_level_char_def'}==1); local $size=$in{'sa_mail_body_size_limit'}; $size="undef" if ($in{'sa_mail_body_size_limit_def'}==1); local $local=$in{'sa_local_tests_only'}; @@ -34,6 +38,8 @@ $local=0 if ($in{'sa_local_tests_only'}==-1); &error($text{'amavis_ehit'}); &check_amavis_value($kill, 1) || &error($text{'amavis_ekill'}); +&check_amavis_value($dsn, 1) || + &error($text{'amavis_edsn'}); &check_amavis_value($cut, 1) || &error($text{'amavis_ecut'}); &check_amavis_value($subj, 1) || @@ -44,14 +50,17 @@ $local=0 if ($in{'sa_local_tests_only'}==-1); &error($text{'amavis_esize'}); &check_amavis_value($size, 1) || &error($text{'amavis_elocal'}); +&error($text{'amavis_echar'}) if (length($char) != 1); # Save inputs &save_amavis_directive($conf, 'sa_tag2_level_deflt', $tag2); &save_amavis_directive($conf, "sa_kill_level_deflt", $kill); +&save_amavis_directive($conf, "sa_dsn_cutoff_level", $dsn); &save_amavis_directive($conf, "sa_quarantine_cutoff_level", $cut); &save_amavis_directive($conf, "sa_spam_modifies_subj", $subj); &save_amavis_directive($conf, "sa_spam_subject_tag", $subtag); &save_amavis_directive($conf, "sa_spam_report_header", $head); +&save_amavis_directive($conf, "sa_spam_level_char", $char); &save_amavis_directive($conf, "sa_mail_body_size_limit", $size); &save_amavis_directive($conf, "sa_local_tests_only", $local); diff --git a/spam/spam-amavis-lib.pl b/spam/spam-amavis-lib.pl index 23263dcf9..2702bdcf6 100755 --- a/spam/spam-amavis-lib.pl +++ b/spam/spam-amavis-lib.pl @@ -41,8 +41,8 @@ return \@rv; # check if value is ok or not sub check_amavis_value { -if ($_[1]) { - return $_[0] =~ m/^[0-9\.\,\*\-\+\/]+$|\^$/; +if ($_[1] && $_[1] eq "*") { + return $_[0] =~ m/^[0-9\.\,\*\-\+\/]+$|undef/; } return 1; } @@ -71,7 +71,7 @@ local $pos = $old->{'line'}; $v =~ s/\n$//; $v =~ s/\@/\\@/g; - if ($old->{'computed'}) { + if ($old->{'computed'} && $v ne "*") { splice(@$lref, $pos, $olen, "\$$n = $v; # modified by webmin"); } else { splice(@$lref, $pos, $olen, "\$$n = \"$v\"; # modified by webmin");