Назад | Перейти на главную страницу

Что не так с этим правилом Spamassassin META?

Я на 99,99% уверен, что раньше этот набор правил работал нормально, но начал выдавать ошибки, если метаправило в конце раскомментировано. Похоже, это связано с двигателем, поскольку это происходит во многих местах.

В результате ошибка, когда я 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

Может ли кто-нибудь помочь мне сказать, почему?

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

В данном конкретном случае я обошел эту проблему правила, изменив модель + / score на использование "||" при совпадении любых правил, но это не сработает во всех случаях.

Есть ли решение этой проблемы или очевидная причина, по которой я не вижу?

Линтер предлагает использовать в арифметических метаправилах кратные, а не дроби.

Я считаю, что ваши правила в любом случае работают ... просто нет необходимости использовать что-либо, кроме простых целых чисел, и потенциально подразумевает ошибку при написании правила, см. Ниже. Укажите количество совпадений, которые вы хотите выполнить (например, 2), и примените веса путем умножения, если необходимо, например:

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

Это может выглядеть как его арифметика на прикрепленном score из остальных тестов - нет. Каждая ссылка на другие тесты считается кратной 1:

мета SYMBOLIC_TEST_NAME логическое арифметическое выражение

    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