[exim-conf] dlfunc: проба пера

Victor Ustugov victor на corvax.kiev.ua
Ср Дек 27 14:17:17 EET 2006


Victor Ustugov wrote:

> p. p. s. для тех, кому интересно, гляньте примеры других более простых
> функций на
> http://www.ols.es/exim/dlext/

одну из этих функций, а именно ip2country, можно уже использовать в паровозе

итак, для начала нужно два раза выполнить gmake sync (после первого
обновиться Makefile, в котором будет указано синхронизировать каталог
dlfunc)

далее, нужно собрать библиотеку GeoIP, взять ее можно отсюда:
http://www.maxmind.com/app/c
http://www.maxmind.com/download/geoip/api/c/
http://www.maxmind.com/download/geoip/api/c/GeoIP-1.4.0.tar.gz

для FreeBSD достаточно portinstall GeoIP

после этого можно указать отличный от дефолтного путь на динамически
загружаемую библиотеку. по умолчанию файл называется exim-dlfunc.so и
будет скопирован в каталог /usr/local/libexec/exim. альтернативное имя
каталога можно указать в переменной confDLFUNC_PATH в файле site/conf

для включения фильтрации по стране рилея отправителя необходимо в
site/conf включить использование переменной confCHECK_RELAY_COUNTRY_ACCESS:

проверка страны рилея отправителя в blacklist'ах

NO          - не проводить проверку
REJECT      - возврата по умолчанию клиенту кода 5xx
DEFER       - возврата по умолчанию клиенту кода 4xx
WARN        - вывода по умолчанию в лог файл предупреждения
PAUSE:XX    - пауза XX секунд
GREYLIST:XX - добавить XX баллов к счетчику опционального greylisting'а
REJECT:XX   - добавить XX баллов к счетчику опционального reject'а
define(`confCHECK_RELAY_COUNTRY_ACCESS', `NO')dnl

действия WARN, PAUSE:XX, GREYLIST:XX, REJECT:XX можно указывать через пробел

в файле CONFDIR/access-relay можно указать необходимые действия для
страны хоста отправителя в виде:

country_NN  : action : message : log_message

где
country_ - просто статический текст
NN - двубуквенный код страны
action - действие
message - ответ SMTP клиенту (может отсутствовать)
log_message - сообщение в лог файл (может отсутствовать)

возможные значения для action:
ok                  - исключение из проверки для указанного хоста
warn                - вывод в лог файл предупреждения
reject              - отказ в приеме сообщения
deny                - синоним для reject
defer               - возврат временной ошибки
greylist:X          - добавление X баллов к счетчику опционального
                    грейлистинга
reject:X            - добавление X баллов к счетчику опционального
                    reject'а

ответ SMTP будет использован в случае указания reject/deny или defer в
качестве значения для action. если текст ответа не будет указан, будет
использован текст сообщения об ошибке по умолчанию

если параметр action не будет указан, будет использоваться действие,
указанное в переменной confCHECK_RELAY_COUNTRY_ACCESS

пример:
country_CN  : defer : message defered. contact postmaster@$qualify_domain
country_MX  : pause=20 warn

исключения для данного фильтра указываются в файле CONFDIR/access-relay
в виде IP адресов или сетей в виде CIDR, в качестве действия указав skip
или ok


после указания значения для confCHECK_RELAY_COUNTRY_ACCESS необходимо
пересобрать конфиги с помощью gmake all. при этом будет сгенерирован
configure, он будет отпарсен на предмет используемых динамически
загружаемых функций, которые будут при необходимости пересобраны и
библиотека скопирована в /usr/local/libexec/exim-dlfunc.so или в другой
каталог, указанный в site/conf

-- 
Best wishes Victor Ustugov   mailto:victor на corvax.kiev.ua
public GnuPG/PGP key:        http://victor.corvax.kiev.ua/corvax.asc
ICQ: 77186900, 32418694      CRV2-RIPE, CRV-UANIC




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