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

Victor Ustugov victor на corvax.kiev.ua
Пт Июл 18 15:00:25 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, при 
этом в том числе будет создан файл кеша грейлистинга.

> Рабочая база у меня называлась greylist-new.db. Так что в логах об
> ошибке все верно. Последний раз собрано было уже со стандартным именем
> greylist.db.
> 
> Паровоз 4.67.
> На более новый не переходил, так как не хотел пока экспериментировать
> с проверкой пользователя на exchange новым методом.

проверка существования пользователей exchange не отличается от любого 
другого коллаута. на стороне exchange нужно только включить проверку 
существования получателей на этапе RCPT TO.

кроме того, в паровозе 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