Официално е обявен вариант 1.2.0 на LDAP сървъра ReOpenLDAP, който е създаден с цел да възобнови проекта след блокирането на неговото хранилище в GitHub. През април GitHub изтри акаунти и хранилища на много руски разработчици, свързани с компании, попаднали под санкции от САЩ, включително и хранилището на ReOpenLDAP. С оглед на възобновения интерес на потребителите към ReOpenLDAP, проектът беше решено да бъде възстановен.
Проект ReOpenLDAP беше създаден през 2014 година, за да реши проблемите, възникнали при използването на пакета OpenLDAP в инфраструктурата на ПАО «МегаФон», където LDAP сървърът бе внедрен в една от подсистемите на инфраструктурата (NGDR представлява UDR (User Data Repository), съгласно стандарта 3GPP 23.335, и е централизиран възел за съхранение на данни за всички видове услуги на абонатите в ИТ инфраструктурата на оператора). Такава употреба предполага индустриалната експлоатация на специфичен LDAP каталог в режим 24×7 с размер от 10 до 100 милиона записа, при високо натоварени сценарии (10К актуализации и 50К четения в секунда) и в много-майсторска топология.
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-bakend. По-специално, когато при промяна конфигурации на сървъра през config-bakend (конфигуриране на LDAP чрез LDAP) възникват състезателни условия или рекурсивни неприятности, включително взаимозадържания (deadlocks).
- Предполагаемо съществуват проблеми със сборката с актуалните версии на OpenSSL/GnuTLS;
- Провежда се основен набор от собствени тестове, с изключение на изискващите TLS/SSL;
Последни подобрения:
- Библиотеката libmdbx е обновена до актуална версия с отстраняване на всички открити несъответствия възникнали поради развитието на библиотеката. В man-страниците вероятно е останала някаква остаряла информация.
- Използва се актуална версия на autotools 2.71.
- Направени са малки корекции в отговор на част от предупрежденията на актуалния компилатор gcc 11.2.
Източник: opennet.ru
