ReOpenLDAP 1.2.0 (Старик и море)

Леонид Юрьев обновлён 4 месяца назад v1.2.0 7b0830d Пре-релиз
Описание

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

В ReOpenLDAP было устранено огромное кол-во ошибок и прочих проблем. Краем глаза я следил за разработкой OpenLDAP — видно что какие-то исправления были перенесены, что-то было творчески переосмыслено и поправлено по-другому, что-то так и не поняли, что-то продолжают исправлять (на днях там какой-то очередной SIGSEGV).

Без анализа сейчас не могу уверенно утверждать, но (например) пока нет причин сомневаться что OpenLDAP по-прежнему может удалить любую часть реплицируемых/синхронизируемых данных из-за корреляции ошибок в коде репликации/синхронизации и механизмов/backend-ов хранения.

В целом, субъективно не менее половины сделанного отсутствует в OpenLDAP. Поэтому некоторая ценность в ReOpenLDAP определенно сохраняется.

Состояние проекта, в том числе относительно OpenLDAP:

  • Импорт доработок и исправлений из OpenLDAP не проводился с декабря 2018 года. Для ответственных применений нужно проанализировать все исправления в OpenLDAP и импортировать релевантные.

  • Актуальные версии OpenLDAP сейчас формируются на основе ветки 2.5. Поэтому описанные далее доработки были сделаны только в ветке devel (которая соответствовала OpenLDAP 2.5), а затем влиты в master (которая до слияния соответствовала OpenLDAP 2.4).

  • В 2018 году сохранялись унаследованные от OpenLDAP проблемы с config-bakend-ом. В частности, когда при изменении конфигурации сервера через config-bakend (конфигурирование LDAP через LDAP) возникают состояния гонок или рекурсивные неприятности включая взаимоблокировки (deadlocks).

  • Предположительно существуют проблемы сборки с актуальными версиями OpenSSL/GnuTLS;

  • Проходит основной набор собственных тестов, за вычетом требующих TLS/SSL;

Последние доработки:

  1. libmdbx обновлена до актуальной версии с устранением всех замеченных проблем несовместимости возникших из-за развития библиотеки. Однако, в man-страницах, вероятно, осталась какая-то устаревшая информация.

  2. Задействована актуальная версия autotools 2.71.

  3. Сделаны небольшие правки по следам части предупреждений актуального компилятора gcc 11.2.

  4. Чистка от Github в связи с переездом на GitFlic.

Signed-off-by: Леонид Юрьев (Leonid Yuriev) <leo@yuriev.ru>