Страница 1 из 1

Помогите с правилами и белым листом

Добавлено: 2008-09-19 17:24:08
Young
Использую конфиг лиссяры. В секции acl_check_rcpt идут правила, типа

Код: Выделить всё

# Рубаем тех, кто не пишет отправителя
  deny    condition     = ${if eq{$sender_address}{}{yes}{no}}
          hosts         = !127.0.0.1 : !localhost : !192.168.5.103 : !192.168.1.162 : !192.168.0.29 *
          message       = "Why HELO empty?! Not RFC..."

## Рубаем тех, кто не пишет отправителя (пробел)
  deny    condition     = ${if match{$sender_address}{\N^\s+$\N}{yes}{no}}
          hosts         = !127.0.0.1 : !localhost  : *
          message       = "Why HELO empty? (only spaces)?! Not RFC..."
И есть у меня файл с адресами, которые не надо фильтровать через эти правила (по сути белый лист). Никак не пойму, как объяснить экзиму, что если адрес найден в этом файле, то проверку на все остальные правила пропустить. Подскажите, как правильно?
Вот какие варианты пробовал:

1. объявляем переменные

Код: Выделить всё

hostlist whitelist = /etc/exim4/whitelist
addresslist  whitelisted = wildlsearch;/etc/exim4/whitelist
и перед всеми правилами поставить вот такое

Код: Выделить всё

accept senders = +whitelisted
что-то не сработало. :(

2. пробовал вот такое правило сварганить, опять таки же поставив его перед остальными проверками.

Код: Выделить всё

    accept
    condition        = ${lookup{$sender_address_domain}lsearch{/etc/exim4/whitelist}{yes}{no}}
    hosts            = !+relay_from_hosts : *
    logwrite         = domain of $sender_address is in white domain list. message to $local_part
    add_header       = X-White-Domain: YES
тоже не помогло.
3. пробовал в качестве исключения для всех денай правил делать вот такое указание на файл

Код: Выделить всё

# Считаем число точек в helo, если меньше одной - deny
        deny    condition       = ${if !match{$sender_helo_name}{\N\w\.\w\N}{yes}{no}}
        !senders        = :
        hosts           = !+relay_from_hosts : !128.1.2.200 : !${if exists{/etc/exim4/whitelist}{/etc/exim4/whitelist}{}} : *
        message         = "Не бывает HELO без точек"
тоже оказалось не эффективно

Посоветуйте, как правильно сделать?

Re: Помогите с правилами и белым листом

Добавлено: 2008-09-20 8:36:05
dikens3