[exim-conf] Проблемы с Berkley DB

Victor Ustugov victor на corvax.kiev.ua
Вс Июл 20 19:40:15 EEST 2008


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




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