Wydanie serwera LDAP ReOpenLDAP 1.2.0

Ukazała się oficjalna wersja serwera LDAP ReOpenLDAP 1.2.0, stworzonego w celu wskrzeszenia projektu po zablokowaniu jego repozytorium na GitHubie. W kwietniu GitHub usunął konta i repozytoria wielu rosyjskich programistów powiązanych z firmami objętymi amerykańskimi sankcjami, w tym repozytorium ReOpenLDAP. W związku z ponownym zainteresowaniem użytkowników ReOpenLDAP zdecydowano o przywróceniu projektu do życia.

Projekt ReOpenLDAP powstał w 2014 roku w celu rozwiązania problemów powstałych podczas wykorzystania pakietu OpenLDAP w infrastrukturze PJSC MegaFon, gdzie serwer LDAP był zaangażowany w jeden z podsystemów infrastruktury (NGDR to UDR (User Data Repository), zgodnie z 3GPP 23.335 i jest scentralizowanym węzłem przechowującym dane o wszystkich rodzajach usług abonenckich w infrastrukturze informatycznej operatora telekomunikacyjnego). Taka aplikacja zakładała przemysłową pracę w trybie 24×7 konkretnego katalogu LDAP o wielkości 10-100 milionów wpisów, w scenariuszu dużego obciążenia (10 tys. aktualizacji i 50 tys. odczytów na sekundę) oraz w topologii multi-master.

Firma Symas Corp, jako główni programiści, autorzy i właściciele kodu OpenLDAP, nie byli w stanie rozwiązać powstałych problemów, więc postanowili spróbować zrobić to sami. Jak się później okazało, błędów w kodzie było znacznie więcej, niż można było się spodziewać. Dlatego 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ę wielu wzorców dla RFC-4533, także w scenariuszach dużego obciążenia.

W 2016 roku cele projektu zostały osiągnięte, a także zakończono wsparcie i rozwój projektu bezpośrednio w interesie MegaFon PJSC. Następnie ReOpenLDAP był aktywnie rozwijany i wspierany przez kolejne trzy lata, ale stopniowo stracił swoje znaczenie:

  • Technologicznie MegaFon migrował z ReOpenLDAP do Tarantool, co jest poprawne architektonicznie;
  • Nie było wyraźnie zainteresowanych użytkowników ReOpenLDAP;
  • Żaden z deweloperów nie dołączył do projektu, zarówno ze względu na wysoki próg wejścia, jak i niski popyt na sam ReOpenLDAP;
  • Rozwój i wsparcie zaczęły zajmować zbyt dużo czasu pozostałemu (głównemu) programiście, ponieważ zawodowo odszedł od przemysłowej działalności ReOpenLDAP.

W stanie nieaktywnym repozytorium ReOpenLDAP istniało do kwietnia 2022 r., kiedy to administracja Githuba usunęła powiązane konta i samo repozytorium bez żadnego ostrzeżenia ani wyjaśnienia. Ostatnio autor otrzymał kilka próśb dotyczących ReOpenLDAP, w tym lokalizacji repozytorium i statusu bazy kodu. Dlatego zdecydowano się na minimalną aktualizację projektu, stworzenie wersji technicznej i wykorzystanie tej wiadomości do poinformowania wszystkich zainteresowanych.

Aktualny stan projektu, w tym dotyczący OpenLDAP:

  • Ulepszenia i poprawki nie są importowane z OpenLDAP od grudnia 2018 r. W przypadku aplikacji krytycznych należy przeanalizować wszystkie poprawki w OpenLDAP i zaimportować odpowiednie.
  • Obecne wersje OpenLDAP są teraz oparte na gałęzi 2.5. Dlatego też opisane poniżej modyfikacje zostały wprowadzone jedynie w gałęzi „devel” (która odpowiadała OpenLDAP 2.5), a następnie zostały połączone w gałąź „master” (która przed połączeniem odpowiadała OpenLDAP 2.4).
  • W 2018 roku nadal występowały problemy z backendem konfiguracyjnym odziedziczonym z OpenLDAP. W szczególności podczas zmiany konfiguracji serwera za pomocą zaplecza konfiguracyjnego (konfiguracja LDAP przez LDAP) występują sytuacje wyścigowe lub problemy rekurencyjne, w tym zakleszczenia.
  • Prawdopodobnie występują problemy z kompilacją aktualnych wersji OpenSSL/GnuTLS;
  • Przechodzi podstawowy zestaw zastrzeżonych testów, bez tych wymagających TLS/SSL;

Najnowsze ulepszenia:

  • Biblioteka libmdbx została zaktualizowana do najnowszej wersji, eliminując wszystkie odnotowane problemy z niekompatybilnością, które powstały w związku z rozwojem biblioteki. Jednakże prawdopodobnie na stronach podręcznika znajdują się pewne nieaktualne informacje.
  • Używana jest aktualna wersja autotools 2.71.
  • Wprowadzono drobne zmiany w następstwie niektórych ostrzeżeń w bieżącym kompilatorze gcc 11.2.

Źródło: opennet.ru

Dodaj komentarz