Беше публикувано формалното издание на LDAP-сървъра ReOpenLDAP 1.2.0, създадено за възстановяване на проекта след блокирането на неговото хранилище в GitHub. През април GitHub изтри акаунти и хранилища на много руски разработчици, свързани с компании, попадащи под санкции от САЩ, включително хранилището на ReOpenLDAP. След възраждането на интереса на потребителите към ReOpenLDAP, проектът реши да бъде възобновен.
Проектът ReOpenLDAP беше създаден през 2014 г. с цел решаване на проблеми, възникнали при използването на пакета OpenLDAP в инфраструктурата на ПАО „МегаФон“, където LDAP-сървърът беше използван в една от подсистемите на инфраструктурата (NGDR представлява UDR (User Data Repository), съгласно стандарта 3GPP 23.335, и е централизирана точка за съхранение на данни за всички видове услуги на абонатите в ИТ-инфраструктурата на оператора). Подобно приложение предполагаше промишлена експлоатация в режим 24×7 на специфичен LDAP-каталог, съдържащ 10-100 милиона записа, в силно натоварен сценарий (10K актуализации и 50K четения в секунда) и в топология с много мастери.
Symas Corp, като основни разработчици, комитери и собственици на кода на OpenLDAP, не успяха да решат възникналите проблеми, затова беше решено да се опитаме да направим това сами. Както по-късно се оказа, грешките в кода бяха многократно повече, отколкото може да се предположи. Следователно усилията, вложени в проекта, бяха значително повече от планираното, а ReOpenLDAP продължава да представлява определена стойност и (по налична информация) е единственият LDAP-сървър, който напълно и надеждно поддържа много мастър топология за RFC-4533, включително в силно натоварени сценарии.
През 2016 г. проектните цели бяха постигнати, а поддръжката и развитието на проекта в интерес на ПАО „МегаФон“ приключиха. След това ReOpenLDAP активно се развиваше и поддържаше още три години, но постепенно това изгуби смисъл:
- Технологично „МегаФон“ мигрира от ReOpenLDAP към Tarantool, което е архитектурно правилно;
- Нямаше явно заинтересовани потребители на ReOpenLDAP;
- В проекта не се присъедини никой от разработчиците, както заради високия праг на влизане, така и заради ниското търсене на самия ReOpenLDAP;
- Разработката и поддръжката отнемаха твърде много време на основния разработчик, тъй като той професионално се дистанцира от индустриалната експлоатация на ReOpenLDAP.
В неактивно състояние репозиторият ReOpenLDAP съществува до април 2022 г., когато администрацията на Github без никакви предупреждения или обяснения изтри свързаните акаунти и самия репозиторий. В последно време авторът получи няколко запитвания относно ReOpenLDAP, включително за местоположението на репозитория и състоянието на кодовата база. Затова бе решено да се освежи проекта минимално, да се формулира технически релийз, а тази новина да се използва за информиране на всички заинтересовани.
Текущото състояние на проекта, включително относно OpenLDAP:
- Импортирането на подобрения и корекции от OpenLDAP не е извършвано от декември 2018 г. За отговорни приложения трябва да се анализират всички корекции в OpenLDAP и да се импортират релевантните.
- Актуалните версии на OpenLDAP сега се формират на базата на клон 2.5. Затова описаните по-долу подобрения бяха направени единствено в клона „devel“ (който съответства на OpenLDAP 2.5), а след това влити в „master“ (който преди сливането съответстваше на OpenLDAP 2.4).
- През 2018 г. бяха запазени наследени от OpenLDAP проблеми с config-backend. По-специално, когато при промяна конфигурация на сървъра чрез config-backend (конфигуриране на LDAP чрез LDAP) възникват състезателни състояния или рекурсивни затруднения, включително взаимоблокировки (deadlocks).
- Предполага се, че съществуват проблеми със сборката с актуалните версии на OpenSSL/GnuTLS;
- Преминава основен набор от собствени тестове, с изключение на тези, които изискват TLS/SSL;
Последни подобрения:
- Библиотеката libmdbx е обновена до актуалната версия с отстраняване на всички забелязани проблеми с несъвместимост, възникнали поради развитието на библиотеката. Въпреки това, в man-страниците вероятно е останала някаква остаряла информация.
- Използва се актуалната версия на autotools 2.71.
- Направени са малки корекции в отговор на част от предупрежденията на актуалния компилатор gcc 11.2.
Източник: opennet.ru
