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