приветствую
осуществлены доработки серых списков:
- реализована возможность применения "серых списков" не только
к IP адресу хоста отправителя, но и к сети хоста отправителя с
произвольной маской, а также возможность применения "серых списков" не
только применительно к адресам отправителей, но и к любой модификации
адреса (например, к домену отправителя).
использование сети хоста отправителя вместо непосредственно адреса хоста
отправителя указывается в переменной confGREYLIST_SENDER_HOST_ADDRESS_KEY.
пример:
define(`confGREYLIST_SENDER_HOST_ADDRESS_KEY',
`${mask:$sender_host_address/24}')
значение по умолчанию:
define(`confGREYLIST_SENDER_HOST_ADDRESS_KEY', `$sender_host_address')
использование домена отправителя вместо адреса отправителя указывается в
переменной confGREYLIST_SENDER_ADDRESS_KEY.
пример:
define(`confGREYLIST_SENDER_ADDRESS_KEY', `${lc:$sender_address_domain}')
значение по умолчанию:
define(`confGREYLIST_SENDER_ADDRESS_KEY', `${lc:$sender_address}')
произведена соответствующая адаптация механизма внесения в исключения
"серых списков" записей при отсылке писем из рилеемых сетей или от
аутентифицированных отправителей (см. confGREYLIST_ADDR_PRELOAD). при
использовании в confGREYLIST_SENDER_ADDRESS_KEY домена отправителя
вместо адреса отправителя нужно соответственно указать в переменной
confGREYLIST_ADDR_PRELOAD_SENDER_ADDRESS_KEY домен вместо адреса.
пример:
define(`confGREYLIST_ADDR_PRELOAD_SENDER_ADDRESS_KEY', `${lc:$domain}')
значение по умолчанию:
define(`confGREYLIST_ADDR_PRELOAD_SENDER_ADDRESS_KEY',
`${lc:$local_part@$domain}')
- реализовано хранение данных "серых списков" в memcached и redis
для confGREYLIST_BACKEND можно использовать два новых значения -
MEMCACHED и REDIS.
в случае использования redis необходимо в переменной confREDIS указать
параметры подключения к redis в формате, описанном в документации к exim
применительно к параметру redis_servers.
зачистка устаревших данных кеша "серых списков" в случае использования
memcsached производится автоматически.
в случае использования redis она производится штатным скриптом
periodic/awl_del_expired.sh
в contrib/greylist размещены скрипты просмотра кеша "серых списков"
greylist_memcached_show.sh, greylist_redis_show.sh и
greylist_relays_redis_show.sh, а также скрипты ручного удаления записей
из кеша - greylist_memcached_del_by_key.sh и greylist_redis_del_by_key.sh
нюансом является то, что при записи данных в redis пришлось заменить
пробелы на пайпы, а при чтении записей производить обратную замену. обе
операции производятся в именованных acl acl_redis_set и acl_redis_get.
странно то, что в случае использования redis-cli из командной строки
никаких проблем с записями, содержащими пробелы, нет. нужно просто взять
запись в двойные кавычки. проблема, на сколько я понимаю, именно в
обработке exim'ом параметров лукапа к redis.
--
Best wishes Victor Ustugov mailto:victor на corvax.kiev.ua
public GnuPG/PGP key: http://victor.corvax.kiev.ua/corvax.asc
ICQ UIN: 371808614 JID: corvax_at_nb на jabber.corvax.kiev.ua
nic-handle: CRV-UANIC