[exim-conf] патчи, связанные с обработкой ldap запросов, и новые сборки exim

Sergey Kobzar sergey.kobzar на mail.ru
Вт Фев 23 12:31:57 EET 2010


Ты бы еще копию этой месаги в exim-users на exim.org.ua запостил.
Явный баг, причем оч. неприятный.

Tuesday, February 23, 2010, 12:15:19 PM, Victor wrote:

> приветствую

> на выходных переводил почтовую систему одной компании на хранение 
> учетных записей почтовых пользователей и алиасов в Active Directory.

> и только после окончания переноса я обнаружил, что при проблемах при 
> выполнении ldap запросов к домен контроллеру exim прямо в SMTP сессию 
> вываливает клиенту все выражение, которое не смог проэкспандить, со 
> всеми ldap логинами и паролями.

> в src/deliver.c в функции post_process_one реализована замена в таких 
> ситуациях символов пароля на символ "x".

> но тут есть две проблемы:

> 1. при обработке не всех сообщений, в которых содержатся ошибки с 
> указанием ldap логинов и паролей, задействована функция post_process_one
> из src/deliver.c

> 2. в функции post_process_one из src/deliver.c на "x" заменяются символы
> толко первого пароля. а мне при обработке алиасов пришлось в роутере 
> выполнять четыре ldap запроса.

> т. о. пришлось написать два патча:
> http://mta.org.ua/exim-4.69-conf/patches/exim-4.71-hide_ldap_pass/patch-src::hide_ldap_pass.patch
> http://mta.org.ua/exim-4.69-conf/patches/exim-4.71-hide_ldap_error/patch-src::hide_ldap_error.patch

> в patch-src::hide_ldap_pass.patch реализована замена на "x" символов 
> всех ldap паролей в функции post_process_one из src/deliver.c, а также в
> двух местах в функции route_address из src/route.c.

> в patch-src::hide_ldap_error.patch реализована замена всего сообщения в
> SMTP сессии на "Temporary internal error", т. к. информация о причинах
> ошибки будет помещена в mainlog и rejectlog, а полный текст 
> синтаксической конструкции, которую не удалось вычислить, будет доступен
> в дебаговом выводе exim -bh


> данные патчи взаимоисключающие. т. е. единовременно можно использовать
> толко один из них.


> для использования данных патчей модифицирован механизм сборки порта exim
> под FreeBSD:
> http://mta.org.ua/exim-4.69-conf/ports/exim-4.71/

> для сборки exim с atch-src::hide_ldap_pass.patch необходимо в файл 
> ports/exim-4.71/Makefile.local добавить строку

> WITH_HIDE_LDAP_PASS=YES


> для сборки exim с atch-src::hide_ldap_error.patch необходимо в файл 
> ports/exim-4.71/Makefile.local добавить строку

> WITH_HIDE_LDAP_ERROR=YES


> для использования данных патчей модифицирован механизм сборки rpm'ов для
> RedHat/CentOS/Fedora:
> http://mta.org.ua/exim-4.69-conf/redhat/exim-4.71-2.corvax/

> для сборки exim с atch-src::hide_ldap_pass.patch необходимо в файл 
> redhat/exim-4.71-2.corvax/Makefile.local добавить строку

> RPMBUILD_OPTIONS+= --with hide_ldap_pass


> для сборки exim с atch-src::hide_ldap_error.patch необходимо в файл 
> redhat/exim-4.71-2.corvax/Makefile.local добавить строку

> RPMBUILD_OPTIONS+= --with hide_ldap_error


> сегодня собраны и выложены в yum рипозитарий http://mta.org.ua/updates
> бинарные пакеты для поддерживаемых версий Linux - RHEL4 i386, RHEL4 x64,
> CentOS 5.1, FC6, FC8, FC9.





-- 
Sergey





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