[exim-conf] фильтрация по комбинациям стран хостов отправителей и адресов отправителей и получателей

Victor Ustugov victor на corvax.kiev.ua
Пн Янв 17 01:17:50 EET 2011


Victor Ustugov wrote:
> приветствую
> 
> проведены некоторые доработки механизма фильтрации по комбинациям хоста
> отправителя и адресов отправителя и получателей (переменная
> confCHECK_COMPAT_RELAY).

реализована фильтрация по комбинациям стран хостов отправителей и
адресов отправителей и получателей.

она является расширением механизма фильтрации по комбинациям хостов
отправителей и адресов отправителей и получателей. соответственно
confCHECK_COMPAT_RELAY_COUNTRY можно использовать только вместе с
confCHECK_COMPAT_RELAY.

включается эта фильтрация переменной confCHECK_COMPAT_RELAY_COUNTRY:
NO	- не проводить проверку
YES	- проводить проверку
define(`confCHECK_COMPAT_RELAY_COUNTRY', `YES')

запрос по комбинации страны хоста отправителя и адресов отправителя и
получателя производится лишь в том случае, если в результате выполнения
запроса по комбинации адреса хоста отправителя, адресов отправителя и
получателя ничего не найдено.

механизм определения страны по IP адресу можно указать в переменной
confIP2COUNTRY_BACKEND.

пример указания данных в access-compat-relay:

CN<@>sender на ukr.net<@>recipient на local.domain.tld    : ok
\N^CN<@>.+ на ukr.net<@>.+ на local\.domain\.tld$\N       : warn pause:10
greylist:10 : Message with ukr.net sender address domain from China
\N^CN<@>.+ на ukr.net<@>$\N                            : deny : Access
denied : Message with ukr.net sender address domain from China

в примере ко всем письмам из домена ukr.net, отправленным из Китая для
пользователей домена local.domain.tld, будут применены пауза и серые списки.
прием писем из домена ukr.net, отправленных из Китая для пользователей
других доменов, будет отвергнут.
исключение сделано для пары адресов отправителя и получателя
sender на ukr.net и recipient на local.domain.tld

в случае использования БД MySQL или SQLite для хранения комбинаций стран
хостов отправителя и адресов отправителя и получателя (MYSQL или SQLITE
в качестве значения confCHECK_COMPAT_RELAY_BACKEND), используются два
SQL запроса (второй является опциональным).

в синтаксисе запросов в качестве страны нужно использовать переменную
$acl_m_country.

при SQLITE в confCHECK_COMPAT_RELAY_BACKEND:

define(`confCHECK_COMPAT_RELAY_COUNTRY_SQLITE_QUERY', `SELECT action
FROM access_list WHERE country="$acl_m_country" AND
recipient="${quote_sqlite:$local_part@$domain}" AND
sender="${quote_sqlite:$sender_address}"')

define(`confCHECK_COMPAT_RELAY_COUNTRY_SQLITE_QUERY2', `SELECT action
FROM access_list WHERE country="$acl_m_country" AND
sender="${quote_sqlite:$sender_address}"')dnl

при MYSQL в confCHECK_COMPAT_RELAY_BACKEND:

define(`confCHECK_COMPAT_RELAY_COUNTRY_MYSQL_QUERY', `SELECT action FROM
access_list WHERE country="$acl_m_country" AND
recipient="${quote_mysql:$local_part@$domain}" AND
sender="${quote_mysql:$sender_address}"')

define(`confCHECK_COMPAT_RELAY_COUNTRY_MYSQL_QUERY2', `SELECT action
FROM access_list WHERE country="$acl_m_country" AND
sender="${quote_mysql:$sender_address}"')dnl


-- 
Best wishes Victor Ustugov   mailto:victor на corvax.kiev.ua
public GnuPG/PGP key:        http://victor.corvax.kiev.ua/corvax.asc
ICQ UIN: 77186900, 371808614 nic-handle: CRV-UANIC




Подробная информация о списке рассылки exim-conf