[SAde] Re: [SAde] Vorschläge her :)

Fabian Melzow <[email protected]> Sun, 26 Oct 2003 02:34:53 +0200 (CEST)
Newsgroups gmane.mail.spam.spamassassin.devel.de
Organization The Packet Watching Man
Message-ID <[email protected]>
Am 22-Oct-2003 schrieb Malte S. Stretz:
Hallo Malte!

> hab mir gerade mal die letzten paar Postings (von Montag oder so) 
> durchgelesen und da kam immer wieder das Thema "bessere Konfigurierbarkeit"
> auf. Wie es der Zufall so will, bin ich gerade dabei, eine neue Conf.pm-API
> und evtl. auch Dateiformat zu entwerfen. Dabei bin ich latürnich für alle 
> Anregungen wie man's bezogen auf Internationalisierung besser machen kann, 
> offen.
> 
> Ernesto's Erweiterung mit rulesets habe ich schon im Hinterkopf, bin mir 
> jedoch noch nicht ganz sicher wie's am besten zu implementieren ist. 
> Ebenfalls ist eine 'include' Direktive vorgesehen. Ein weiteres Problem 
> ist, dass man bisher jede deutsche (oder von mir aus brasilianische) Regel 
> mit 'lang xx' prefixen muss.

Ich würde das ganze mit einer erweiterten include-Direktive lösen, bei der
man optional die Sprsche angeben kann. die eingebundenen Regeln werden dann
intern automatisch "geprefixt".

> Da die bisherige Konfiguration schon ziemlich unübersichtlich geworden ist,
> tendiere ich zur Zeit zu einem neuen, hierarchischen Dateiformat, ähnlich 
> dem das die ISC Software (z.B. bind) verwendet. Das würde dann 
> beispielsweise so aussehen:

Ich finde das ehrlich gesagt übertrieben, kenne aber nicht alle
Anforderungen, die ihr noch an die Konfgurierbarkeit stellt, aber
ich bin für ein sektionsbasiertes Dateiformat (vgl. die Windows-.ini Dateien),
das aber sonst so aufgebaut ist, wie das bisherige (habt ihr nämlich
implizit schon durch die Präfixe bei 2.60 schon fast eingeführt). Also
ich denke an so etwas wie:

[Options]

dns_available=yes
report_safe=0
ok_languages=all
# meine restlichen Optionen für diese Sektion
include=/etc/SA/siteoptions*.cf

[Report]
safe=0
[email protected]
spamtrap="/etc/SA/spamtrap rep.txt" # Files mit Spaces in "", wenn 1.
# Parameter kein gültiges File ist (stat()) dann Parameter == String

[Bayes]

use_bayes=1
auto_learn=1
auto_learn_threshold_spam=10.0
learn_to_journal=1
use_hapaxes=1
use_chi2_combining=1
ignore_header=X-GMX-Antivirus


[Dnsbls]

timeout=15


[Dcc]

home        = /var/dcc
path        = /usr/local/bin/dccproc
dccifd_path = /var/dcc/dccifd
timeout     = 20


[Header]
add=all DCC _DCCB_: _DCCR_
clear=X-Bla

[Whitelist]

from=*@lists.sourceforge.net


[Blacklist]

from = *@sharelook.ru
from = big-eamqYeEjE/[email protected]     #Sobig.a - Wurm


[Rules] 

include = all /usr/local/share/spamassassin/*.cf
include = all "/home/my rules.bla" 
include = de  /etc/rules/de/*
include = br  /etc/rules/br/test.cf


Naja, ich finde das die ganzen syntaktischen Verzierungen {}, "", ; etc.
in deinem Format nicht wirklich mehr zur übersicht beitragen und nur noch mehr
Aufwand beim schreiben der Konfiguration verursachen. Wenn ihr Blöcke
braucht, würde ich die Idee mit dem gleichhoch Einrücken wie bei Python
übernehmen.

Fabian



-------------------------------------------------------
This SF.net email is sponsored by: The SF.net Donation Program.
Do you like what SourceForge.net is doing for the Open
Source Community?  Make a contribution, and help us add new
features and functionality. Click here: http://sourceforge.net/donate/