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

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

В результате появляется следующая ошибка:

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
задан 10 September 2019 в 05:40
1 ответ

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

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

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

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

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

  Может также определять арифметическое выражение в терминах других тестов,
  со значением "0" при проверке на попадание и при проверке на попадание
  ненулевое значение.
  Ценность мета-теста попадания в том,
  арифметическое выражение.  Значение теста проверки попадания - это то, что возвращено
  по его методу.
  Значение заголовка обращения, body, rawbody, uri,или
  полный тест с флагом "несколько" - это количество раз
  тестовое попадание.  Значение любого другого типа проверки попадания - «1».
 

- doc / Mail_SpamAssassin_Conf.txt

1
ответ дан 3 December 2019 в 12:29

Теги

Похожие вопросы