aboutsummaryrefslogtreecommitdiffstats
path: root/README.utf8.txt
diff options
context:
space:
mode:
Diffstat (limited to 'README.utf8.txt')
-rw-r--r--README.utf8.txt23
1 files changed, 22 insertions, 1 deletions
diff --git a/README.utf8.txt b/README.utf8.txt
index c5bc293c0..eed4010a2 100644
--- a/README.utf8.txt
+++ b/README.utf8.txt
@@ -1,7 +1,7 @@
API Rspamd.
===========
-TODO.
+API rspamd описано подробно в Doxygen документации.
Логика работы фильтров rspamd.
==============================
@@ -118,3 +118,24 @@ $subject_blah = "Subject=/blah/H";
тогда предыдущее выражение будет таким
SOME_SYMBOL = "${to_blah} & !(${from_blah} | ${subject_blah})"
+
+Логические выражения rspamd
+===========================
+
+Условия, содержащие регулярные выражения, функции, логические операции, скобки, могут использоваться
+для задания правил фильтрации. Общие правила работы:
+- логическими операциями могут быть логическое "И": '&', логическое "ИЛИ": '|' и логическое отрицание:
+'!'.
+- приоритет логических операций такой: & и | -> !, для изменения приоритета можно пользоваться скобками:
+ (A&!B) | !(C|D)
+- пробелы в выражениях игнорируются
+- операнд, содержащий /re/args или же string=/re/args считается регулярным выражением, внутри регулярного
+выражения все символы '/' и '"' должны экранироваться символом '\'. Сам '\' при этом экранировать не нужно.
+- операнд, который принимает аргументы, считается функцией, аргументом функции может являться другая функция,
+при этом порядок вызова функций-аргументов - справа налево (как это сделано в gcc)
+- в rspamd встроен ряд функций:
+ * header_exists - принимает в качестве аргумента имя хедера, возвращает true, если такой заголовок существует
+ * compare_parts_distance - принимает в качестве аргумента число от 0 до 100, которое отражает разницу в процентах
+ между частями письма. Функция работает с сообщениями, содержащими 2 текстовые части (text/plain и text/html) и
+ возвращает true тогда, когда эти части различаются более чем на n процентов. Если аргумент не указан, то
+ по умолчанию ищется различие в 100% (полностью разные части).