From 2175980532791f90807eb03ef99d6f7006ada4e6 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Thu, 6 Nov 2008 18:32:32 +0300 Subject: * Use utf8 in description files --HG-- rename : README-classify.koi8.txt => README-classify.utf8.txt rename : README.koi8.txt => README.utf8.txt --- README.utf8.txt | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 README.utf8.txt (limited to 'README.utf8.txt') diff --git a/README.utf8.txt b/README.utf8.txt new file mode 100644 index 000000000..e68b2b2f6 --- /dev/null +++ b/README.utf8.txt @@ -0,0 +1,82 @@ +API Rspamd. +=========== + +TODO. + +Логика работы фильтров rspamd. +============================== + +1) Все фильтры регистрируются в конфиг файле в описании цепочек фильтров: +header_filters=regexp,my_func +где имя фильтра - это либо название c модуля, либо название перл функции +Типы фильтров: +* header_filters - фильтр заголовков +* mime_filters - фильтр для каждой mime части +* message_filters - фильтр всего сообщения целиком +* url_filters - фильтры URL ссылок +Свои результаты фильтры регистрируют при помощи добавления результата в метрику. + +2) Метрика - это символьное значение, в котором регистрируют свои результаты фильтры +Существует метрика по умолчанию - "default", в которой регистрируют результаты фильтры, +для которых явно не определена метрика +Для каждой метрики существует специальная функция консолидации, которая рассчитывает коэффициенты +результатов согласно внутренней логике соответствия символов и коэффициентов. По умолчанию такой +функцией является простая сумма, которая настраивается особым образом в конфигурационном файле: + +# Блок factors +factors { + # Например, "SURBL_DNS"=5.0 + "SYMBOL_NAME" = coefficient; +}; +Также для метрики можно зарегистрировать особую функцию, прописав в описании метрики +metric { + name = "test_metric"; + function = "some_function"; + required_score = 20.0; +}; +Пока поддерживаются только перловые функции. + +3) Результат - это пара значений: SYMBOL:FLAG, при этом, SYMBOL - это +строчка, характеризующая результат, а FLAG - сработал данный фильтр или нет +(1 или 0). Результат добавляется в метрику, после чего передается функции консолидации. + +4) Итог - на выходе мы имеем обработанное сообщение, список метрик и их символов и результаты +проверки. + +Протокол. +========= + +Формат ответа: +SPAMD/1.1 0 EX_OK +\ / \/ + Версия Код + ошибки +Spam: False ; 2 / 5 +Это формат совместимости с sa-spamd (без метрик) + +Новый формат ответа: +RSPAMD/1.0 0 EX_OK +Metric: Name ; Spam_Result ; Spam_Mark / Spam_Mark_Required +Metric: Name2 ; Spam_Result2 ; Spam_Mark2 / Spam_Mark_Required2 + +Заголовков типа metric может быть несколько. +Формат вывода символов: +SYMBOL1, SYMBOL2, SYMBOL3 -- формат совместимости с sa-spamd +Metric: SYMBOL1, SYMBOL2, SYMBOL3 -- формат rspamd + +Формат ответа зависит от формата запроса: +PROCESS SPAMC/1.2 +\ / \ / +Команда Версия + +SPAMC - протокол совместимости с sa-spamd +RSPAMC - новый протокол rspamd +В любом из режимов работы поддерживаются следующие заголовки: +Content-Length - длина сообщения +Helo - HELO, полученный от клиента +From - MAIL FROM +IP - IP клиента +Recipient-Number - число реципиентов +Rcpt - реципиент + +Эти значения могут использоваться в фильтрах rspamd. -- cgit v1.2.3