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

Victor Ustugov victor на corvax.kiev.ua
Вт Фев 23 12:46:28 EET 2010


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

да вроде в exim-rusers никто подобных тем (наличия LDAP паролей в 
сообщениях SMTP клиенту) никогда и не поднимал.

тут же вопрос в том, что у меня возникает это сообщение не на этапе 
доставки, а на этапе verify recipient. да еще и выполняется от двух до 
четырех запросов в одном роутере (по крайней мере это касается алиасов).

так что моя ситуация достаточно специфичная.

хотя с другой стороны, немного непонятно, зачем SMTP клиенту синтаксис 
неудачно выполненных LDAP запросов. пусть даже без LDAP логинов и паролей.

если есть желание, протолкни patch-src::hide_ldap_pass.patch 
разработчикам. мне немного не до этого сейчас.

> 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.
> 
> 
> 
> 
> 


-- 
Best wishes Victor Ustugov   mailto:victor на corvax.kiev.ua
public GnuPG/PGP key:        http://victor.corvax.kiev.ua/corvax.asc
ICQ UIN: 77186900, 371808614 nic-handle: CRV-UANIC




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