Die formelle Veröffentlichung des LDAP-Servers ReOpenLDAP 1.2.0 wurde veröffentlicht, um das Projekt nach der Blockierung seines Repositories auf GitHub wiederzubeleben. Im April entfernte GitHub die Konten und Repositories vieler russischer Entwickler, die mit Unternehmen verbunden waren, die von den US-Sanktionen betroffen sind, einschließlich des Repositories von ReOpenLDAP. Angesichts des wieder aufkeimenden Interesses der Benutzer an ReOpenLDAP wurde beschlossen, das Projekt wieder ins Leben zu rufen.
Das ReOpenLDAP-Projekt wurde 2014 ins Leben gerufen, um die Probleme zu lösen, die beim Einsatz des OpenLDAP-Pakets in der Infrastruktur von PJSC „MTS“ auftraten, wo der LDAP-Server in einem der Infrastruktursysteme eingesetzt wurde (NGDR ist ein UDR (User Data Repository) gemäß dem 3GPP-Standard 23.335 und dient als zentrales Knotenpunkt für die Speicherung der Daten über alle Arten von Dienstleistungen für Abonnenten in der IT-Infrastruktur des Telekommunikationsbetreibers). Diese Anwendung erforderte den industriellen Betrieb eines spezifischen LDAP-Katalogs im 24×7-Betrieb mit einer Größe von 10-100 Millionen Datensätzen in einem Hochleistungszenario (10.000 Updates und 50.000 Abfragen pro Sekunde) in einer Multi-Master-Topologie.
Symas Corp, die Hauptentwickler, Committer und Codebesitzer von OpenLDAP, konnten die aufgetretenen Probleme nicht lösen, daher wurde beschlossen, es selbst zu versuchen. Wie sich später herausstellte, waren die Fehler im Code um ein Vielfaches höher als angenommen. Deshalb wurde mehr Aufwand betrieben als geplant, und ReOpenLDAP stellt nach wie vor einen gewissen Wert dar und (laut vorliegenden Informationen) ist der einzige LDAP-Server, der die Multi-Master-Topologie für RFC-4533 vollständig und zuverlässig unterstützt, auch in Hochleistungszenarien.
Im Jahr 2016 wurden die Projektziele erreicht, und die Unterstützung und Entwicklung des Projekts im Interesse von PJSC „MTS“ wurden abgeschlossen. Danach entwickelte sich ReOpenLDAP aktiv weiter und wurde drei Jahre lang unterstützt, aber allmählich machte dies keinen Sinn mehr:
- Technologisch migrierte „MTS“ von ReOpenLDAP zu Tarantool, was architektonisch sinnvoll ist;
- Es gab keine eindeutig interessierten Benutzer von ReOpenLDAP;
- Es trat niemand aus der Entwicklergemeinschaft dem Projekt bei, sowohl aufgrund der hohen Eintrittshürden als auch aufgrund der geringen Nachfrage nach ReOpenLDAP selbst;
- Die Entwicklung und Wartung nahmen zu viel Zeit in Anspruch für den verbleibenden (hauptsächlichen) Entwickler, da er sich beruflich von der industriellen Nutzung von ReOpenLDAP entfernt hat.
Im inaktiven Zustand existierte das ReOpenLDAP-Repository bis April 2022, als die GitHub-Administration ohne jegliche Vorwarnung und Erklärung die zugehörigen Konten und das Repository selbst löschte. In letzter Zeit erhielt der Autor mehrere Anfragen bezüglich ReOpenLDAP, einschließlich des Standorts des Repositories und des Zustands des Codes. Daher wurde beschlossen, das Projekt minimal zu aktualisieren, eine technische Veröffentlichung zu erstellen und diese Nachricht zur Information aller Interessierten zu nutzen.
Aktueller Stand des Projekts, einschließlich in Bezug auf OpenLDAP:
- Der Import von Verbesserungen und Korrekturen aus OpenLDAP wurde seit Dezember 2018 nicht mehr durchgeführt. Für verantwortungsvolle Anwendungen muss eine Analyse aller Korrekturen in OpenLDAP erfolgen und relevante davon importiert werden.
- Aktuelle Versionen von OpenLDAP werden jetzt auf der Basis des Branches 2.5 erstellt. Daher wurden die nachfolgend beschriebenen Verbesserungen nur im Branch «devel» (der OpenLDAP 2.5 entsprach) vorgenommen und anschließend in «master» (der bis zur Fusion OpenLDAP 2.4 entsprach) zusammengeführt.
- Im Jahr 2018 blieben geerbte Probleme mit dem config-backend von OpenLDAP bestehen. Insbesondere treten bei Änderungen Serverkonfiguration hinzugefügt. über config-backend (LDAP-Konfiguration über LDAP) Wettlaufzustände oder rekursive Probleme einschließlich Deadlocks auf.
- Es besteht die Vermutung, dass es Build-Probleme mit den aktuellen Versionen von OpenSSL/GnuTLS gibt;
- Es wird ein grundlegender Satz eigener Tests durchgeführt, abzüglich derjenigen, die TLS/SSL erfordern;
Letzte Verbesserungen:
- Die Bibliothek libmdbx wurde auf die aktuelle Version aktualisiert, wobei alle festgestellten Inkompatibilitätsprobleme aufgrund der Entwicklung der Bibliothek beseitigt wurden. In den man-Seiten ist jedoch möglicherweise noch veraltete Information verblieben.
- Die aktuelle Version von autotools 2.71 wurde verwendet.
- Kleine Korrekturen wurden aufgrund einiger Warnungen des aktuellen Compilers gcc 11.2 vorgenommen.
Quelle: opennet.ru
