Sasha Usov wrote:
>>> После обновления порта exim стандартным методом (из /urs/ports...)
>>> случилась оказия с обработкой DB-файлов:
>>>>>> 2008-07-16 16:10:45 H=gromsgo.pfizer.com
>>> (gromsgoa01.pfizer.com) [148.168.224.84] F=<user на mail.com>
>>> temporarily rejected RCPT <anna.pogodaeva на maxima.com.ua>: failed to
>>> expand ACL string
>>> "${lookup{0.0.0.0|$sender_address|$local_part@$domain}dbm{/var/spool/exim/db/greylist-new.db}}":
>>> failed to open /var/spool/exim/db/greylist-new.db as a db (v3/4) file:
>>> Unknown error: 0
>>>>>> 2008-07-16 16:36:55 H=mail.morinda.com [66.236.69.43]
>>> F=<user на mail.com> temporarily rejected RCPT
>>> <nataliya.danilyuk на maxima.com.ua>: failed to expand ACL string
>>> "${if
>>> eq{${perl{dbm_save}{/var/spool/exim/db/greylist.db}{$sender_host_address|$sender_address|$local_part@$domain}{block_expires=${eval:$tod_epoch+6*60}
>>> record_expires=${eval:$tod_epoch+300*60} blocked_count=1
>>> passed_count=0 aborted_count=0 origin_type=AUTO
>>> create_time=$tod_epoch last_update=$tod_epoch }}}{}{yes}{yes}}":
>>> couldn't init DB '/var/spool/exim/db/greylist.db':
>>> Inappropriate file type or format
>>>>>> 2008-07-16 16:38:20 H=(pubchesmt3.urgo.groupe.priv)
>>> [86.66.18.46] F=<user на mail.com> temporarily rejected RCPT
>>> <alla.timina на deltamedical.com.ua>: failed to expand ACL string
>>> "${if
>>> eq{${perl{dbm_save}{/var/spool/exim/db/greylist.db}{$sender_host_address|$sender_address|$local_part@$domain}{block_expires=${eval:$tod_epoch+6*60}
>>> record_expires=${eval:$tod_epoch+300*60} blocked_count=1
>>> passed_count=0 aborted_count=0 origin_type=AUTO
>>> create_time=$tod_epoch last_update=$tod_epoch }}}{}{yes}{yes}}":
>>> Undefined subroutine &main::dbm_save called.
>>>>>> Все работало, и порт в принципе тот же самый - я только убедиться
>>> хотел, что есть поддержка lmtp и пересобрал. В Makefile четко задал
>>> версию Berkley DB - 41, при сборке она учитывается (хотя я потом
>>> пробовал уже все возможные версии, но ошибки не исчезают).
>>>>>> Сейчас оставил как есть - удалив из конфига грейлистинг :/
>>> самое простое - перенести файл кеша, потом выполнить gmake install, при
>> этом в том числе будет создан файл кеша грейлистинга.
>> Так тоже делал - все равно...
значит exim и perl (а именно модуль DB_File) собраны с поддержкой разных
версий Berkley DB
>>> Рабочая база у меня называлась greylist-new.db. Так что в логах об
>>> ошибке все верно. Последний раз собрано было уже со стандартным именем
>>> greylist.db.
>>>>>> Паровоз 4.67.
>>> На более новый не переходил, так как не хотел пока экспериментировать
>>> с проверкой пользователя на exchange новым методом.
>>> проверка существования пользователей exchange не отличается от любого
>> другого коллаута. на стороне exchange нужно только включить проверку
>> существования получателей на этапе RCPT TO.
>> На первый взгляд пробежался по настройкам exchange не уидел, где нужно
> поставить требуемую галочку, но тест по телнету свидетельствет, что
> exchange дает 5.1.1 на неизвестного получателя. Так что, можно было бы
> попробовать. А чем, exchange router себя дискредетирует для дальнейшей
> поддержки?
своей избыточностью
> По личному опыту использования - почти безотказно работает.
тем не менее callout'ы выполняют ту же задачу без реализации
дополнительных фичей в виде отдельной поддержки exchange
> Почти - потому что иногда бывают таймауты при проверке пользователя по ldap на
> контроллере домена.
>>> кроме того, в паровозе 4.68 реализовано использование в качестве кеша
>> грейлистинга SQLite и MySQL. SQLite в данном случае является вполне
>> достойной заменой Berkeley DB.
>> Попробую такой вариант, хотя включать глобальный грейлист для всех,
> наверное, уже не буду...
а об этом речь я и не вел
> За пару дней без него - не так уж пострадала
> фильтрация - больше стало коситься на этапе контент-фильтра.
--
Best wishes Victor Ustugov mailto:victor на corvax.kiev.ua
public GnuPG/PGP key: http://victor.corvax.kiev.ua/corvax.asc
ICQ UIN: 77186900, 32418694 nic-handle: CRV2-RIPE, CRV-UANIC