Została opublikowana oficjalna wersja serwera LDAP ReOpenLDAP 1.2.0, zaprojektowana w celu wskrzeszenia projektu po zablokowaniu jego repozytorium na GitHub. W kwietniu GitHub usunął konta i repozytoria wielu rosyjskich programistów powiązanych z firmami objętymi sankcjami USA, w tym repozytorium ReOpenLDAP. Ze względu na odnowione zainteresowanie użytkowników ReOpenLDAP, postanowiono przywrócić projekt do życia.
Projekt ReOpenLDAP powstał w 2014 r. w celu rozwiązania problemów, które pojawiły się podczas korzystania z pakietu OpenLDAP w infrastrukturze PJSC MegaFon, gdzie serwer LDAP był używany w jednym z podsystemów infrastruktury (NGDR to UDR (User Data Repository), zgodnie ze standardem 3GPP 23.335, i jest scentralizowanym węzłem do przechowywania danych o wszystkich typach usług abonenckich w infrastrukturze informatycznej operatora telekomunikacyjnego). Taka aplikacja zakładała pracę przemysłową w trybie 24x7 określonego katalogu LDAP o rozmiarze 10-100 milionów rekordów, w scenariuszu dużego obciążenia (10 tys. aktualizacji i 50 tys. odczytów na sekundę) i w topologii wielo-master.
Symas Corp, jako główni deweloperzy, autorzy i właściciele kodu OpenLDAP, nie byli w stanie rozwiązać problemów, które się pojawiły, więc postanowiono spróbować zrobić to sami. Jak się później okazało, w kodzie było o wiele więcej błędów, niż można było się spodziewać. W związku z tym włożono więcej wysiłku, niż planowano, a ReOpenLDAP nadal ma pewną wartość i (według dostępnych informacji) jest jedynym serwerem LDAP, który w pełni i niezawodnie obsługuje topologię multi-master dla RFC-4533, w tym w scenariuszach o dużym obciążeniu.
W 2016 r. cele projektu zostały osiągnięte, a wsparcie i rozwój projektu bezpośrednio w interesie PJSC MegaFon zostało zakończone. Następnie ReOpenLDAP był aktywnie rozwijany i wspierany przez kolejne trzy lata, ale stopniowo traciło to swoje znaczenie:
- Pod względem technologicznym MegaFon dokonał migracji z ReOpenLDAP na Tarantool, co jest poprawne architektonicznie;
- Nie było żadnych zainteresowanych użytkowników ReOpenLDAP;
- Do projektu nie dołączył żaden programista, zarówno ze względu na wysoki próg wejścia, jak i niskie zapotrzebowanie na samo ReOpenLDAP;
- Rozwój i wsparcie zaczęły zabierać zbyt dużo czasu pozostałemu (głównemu) programiście, który odszedł zawodowo od operacji produkcyjnych ReOpenLDAP.
Repozytorium ReOpenLDAP pozostawało nieaktywne do kwietnia 2022 r., kiedy administracja Github usunęła powiązane konta i samo repozytorium bez żadnego ostrzeżenia lub wyjaśnienia. Ostatnio autor otrzymał kilka próśb dotyczących ReOpenLDAP, w tym o lokalizację repozytorium i stan bazy kodu. Dlatego postanowiono minimalnie odświeżyć projekt, utworzyć wydanie techniczne i wykorzystać tę wiadomość do poinformowania wszystkich zainteresowanych stron.
Aktualny stan projektu, w tym dotyczący OpenLDAP:
- Import ulepszeń i poprawek z OpenLDAP nie był wykonywany od grudnia 2018 r. W przypadku aplikacji krytycznych konieczne jest przeanalizowanie wszystkich poprawek w OpenLDAP i zaimportowanie odpowiednich.
- Obecne wersje OpenLDAP bazują obecnie na gałęzi 2.5. Dlatego też opisane poniżej ulepszenia zostały wprowadzone tylko w gałęzi „devel” (która odpowiadała OpenLDAP 2.5), a następnie połączone z gałęzią „master” (która przed połączeniem odpowiadała OpenLDAP 2.4).
- W 2018 roku nadal występowały problemy z config-bakend odziedziczonym po OpenLDAP. W szczególności podczas zmiany konfiguracje serwera poprzez config-bakend (konfiguracja LDAP za pośrednictwem LDAP) występują sytuacje wyścigu lub problemy rekurencyjne, łącznie z blokadami.
- Podobno istnieją pewne problemy z kompilacją w obecnych wersjach OpenSSL/GnuTLS;
- Przechodzi podstawowy zestaw własnych testów, z wyjątkiem tych wymagających TLS/SSL;
Najnowsze ulepszenia:
- Biblioteka libmdbx została zaktualizowana do bieżącej wersji, ze wszystkimi problemami niezgodności, które pojawiły się w wyniku rozwoju biblioteki, które zostały naprawione. Jednak prawdopodobnie na stronach podręcznika pozostały pewne nieaktualne informacje.
- Używana jest najnowsza wersja autotools 2.71.
- Wprowadzono drobne zmiany w odpowiedzi na ostrzeżenia kompilatora gcc 11.2.
Źródło: opennet.ru
