Cosa c'è di sbagliato in questa regola META di Spamassassin?


2

Sono sicuro al 99,99% che questo set di regole funzionasse correttamente, ma ha iniziato a generare errori se la meta regola alla fine non è commentata. Questo sembra essere correlato al motore, come accade in più punti.

L'errore risultante quando lint è:

Sep 10 09:42:41.113 [3984] warn: config: Strange rule token: 0.01039
Sep 10 09:42:42.031 [3984] warn: lint: 1 issues detected, please rerun with debug enabled for more information

Qualcuno può dirmi perché?

body            DG_CHINAREGSCAM2a       /we.received.an.application/i
describe        DG_CHINAREGSCAM2a       Words commonly used by China Scammers
score           DG_CHINAREGSCAM2a       0.01040

body            DG_CHINAREGSCAM2b       /their internet keyword/i
describe        DG_CHINAREGSCAM2b       Words commonly used by China Scammers
score           DG_CHINAREGSCAM2b       0.01041

body            DG_CHINAREGSCAM2c       /China(.*)domain name/i
describe        DG_CHINAREGSCAM2c       Words commonly used by China Scammers
score           DG_CHINAREGSCAM2c       0.01042

body            DG_CHINAREGSCAM2d       /necessary.to.send.email.to.you/i
describe        DG_CHINAREGSCAM2d       Words commonly used by China Scammers
score           DG_CHINAREGSCAM2d       0.01043

body            DG_CHINAREGSCAM2e       /company is associated with your company or not/i
describe        DG_CHINAREGSCAM2e       Words commonly used by China Scammers
score           DG_CHINAREGSCAM2e       0.01044

body            DG_CHINAREGSCAM2f       /conflicts.with.your.company/i
describe        DG_CHINAREGSCAM2f       Words commonly used by China Scammers
score           DG_CHINAREGSCAM2f       0.01045

#meta           DG_CHINAREGSCAM2        (( DG_CHINAREGSCAM2a + DG_CHINAREGSCAM2b + DG_CHINAREGSCAM2c + DG_CHINAREGSCAM2d + DG_CHINAREGSCAM2e + DG_CHINAREGSCAM2f) > 0.01039 )
#score          DG_CHINAREGSCAM2        3
#describe       DG_CHINAREGSCAM2        Email identified as China Registry Scam

Ho risolto questo problema con le regole in questo caso particolare modificando il modello + / score in "||" per una corrispondenza di qualsiasi regola, ma questo non funzionerà in tutti i casi.

C'è una soluzione per questo, o una causa ovvia che non riesco a vedere?


questo set di regole è un po 'strano / primitivo - è molto vecchio nella mia collezione! Lo 0.01039 è stato cambiato dal più comune 0.01 perché il mio 0.01 originale appariva ovunque e non riuscivo a identificare la regola. Avendo un numero univoco molto piccolo sono stato in grado di trovare l'errore. (Inoltre, 0 genera avvisi - almeno se la regola non inizia con un "_")
davidgo

Risposte:


1

La linter suggerisce di usare multipli, non frazioni in meta regole aritmetiche.

Credo che le tue regole funzionino comunque ... non è necessario usare nulla al di là dei semplici numeri interi, e potenzialmente implica un errore nello scrivere la regola, vedi sotto. Indicare il numero di partite che si desidera colpire (ad es. 2) e applicare pesi moltiplicando se necessario, ad es .:

meta   DG_CHINAREGSCAM2 (( 7*DG_CHINAREGSCAM2a + 7*DG_CHINAREGSCAM2b + 7*DG_CHINAREGSCAM2c + 4*DG_CHINAREGSCAM2d + 4*DG_CHINAREGSCAM2e + 3*DG_CHINAREGSCAM2f) > 10 )

Potrebbe sembrare la sua aritmetica sull'allegato scoredegli altri test - non lo è. Ogni riferimento di altri test viene conteggiato come multiplo di 1:

meta SYMBOLIC_TEST_NAME espressione aritmetica booleana

    Can also define an arithmetic expression in terms of other tests,
    with an unhit test having the value "0" and a hit test having a
    nonzero value.
    The value of a hit meta test is that of its
    arithmetic expression. The value of a hit eval test is that returned
    by its method.
    The value of a hit header, body, rawbody, uri, or
    full test which has the "multiple" tflag is the number of times the
    test hit. The value of any other type of hit test is "1".

- doc / Mail_SpamAssassin_Conf.txt


Grazie per questo. Non ho la stessa comprensione di ciò che hai scritto dal documento spamassassin che hai citato, ma l'ho provato e in effetti quando ho moltiplicato l'intero set di regole e confrontato con un intero Spamassassin ha lasciato intendere OK.
davidgo,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.