Llançament del servidor LDAP ReOpenLDAP 1.2.0

S'ha publicat el llançament formal del servidor LDAP ReOpenLDAP 1.2.0, creat per ressuscitar el projecte després de bloquejar el seu repositori a GitHub. A l'abril, GitHub va eliminar els comptes i repositoris de molts desenvolupadors russos associats a empreses subjectes a sancions dels EUA, inclòs el dipòsit ReOpenLDAP. A causa del renaixement de l'interès dels usuaris en ReOpenLDAP, es va decidir tornar a la vida el projecte.

El projecte ReOpenLDAP es va crear l'any 2014 per resoldre els problemes que van sorgir en utilitzar el paquet OpenLDAP a la infraestructura de PJSC MegaFon, on el servidor LDAP estava implicat en un dels subsistemes d'infraestructura (NGDR és un UDR (User Data Repository), segons el estàndard 3GPP 23.335, i és un node centralitzat per emmagatzemar dades de tot tipus de serveis d'abonat a la infraestructura informàtica de l'operador de telecomunicacions). Aquesta aplicació suposava l'operació industrial en mode 24x7 d'un directori LDAP específic amb una mida de 10-100 milions d'entrades, en un escenari d'alta càrrega (10K actualitzacions i 50K lectures per segon) i en una topologia multimaster.

Symas Corp, com a principals desenvolupadors, committers i propietaris del codi OpenLDAP, no van poder resoldre els problemes que van sorgir, així que van decidir intentar-ho ells mateixos. Com va resultar més tard, hi havia molts més errors al codi dels que es podia esperar. Per tant, es va invertir més esforç del previst i ReOpenLDAP encara representa algun valor i (segons la informació disponible) és l'únic servidor LDAP que admet de manera completa i fiable la topologia multimaster per a RFC-4533, fins i tot en escenaris d'alta càrrega.

El 2016 es van assolir els objectius del projecte i es va completar el suport i el desenvolupament del projecte directament en interès de MegaFon PJSC. Aleshores, ReOpenLDAP va ser desenvolupat i recolzat activament durant tres anys més, però a poc a poc va anar perdent el seu significat:

  • Tecnològicament, MegaFon va migrar de ReOpenLDAP a Tarantool, que és arquitectònicament correcte;
  • No hi havia usuaris de ReOpenLDAP clarament interessats;
  • Cap dels desenvolupadors es va unir al projecte, tant per l'elevat llindar d'entrada com per la baixa demanda del mateix ReOpenLDAP;
  • El desenvolupament i el suport van començar a prendre massa temps del desenvolupador (principal) restant, ja que professionalment es va allunyar de l'operació industrial de ReOpenLDAP.

En un estat inactiu, el dipòsit ReOpenLDAP va existir fins a l'abril de 2022, quan l'administració de Github va suprimir els comptes associats i el mateix dipòsit sense cap avís ni explicació. Recentment, l'autor ha rebut diverses sol·licituds sobre ReOpenLDAP, inclosa la ubicació del dipòsit i l'estat de la base de codi. Per tant, es va decidir actualitzar mínimament el projecte, crear una versió tècnica i utilitzar aquesta notícia per informar tots els interessats.

Estat actual del projecte, inclòs pel que fa a OpenLDAP:

  • Les millores i correccions no s'han importat d'OpenLDAP des del desembre de 2018. Per a aplicacions crítiques, cal analitzar totes les correccions a OpenLDAP i importar-ne les rellevants.
  • Les versions actuals d'OpenLDAP es basen ara en la branca 2.5. Per tant, les modificacions descrites a continuació només es van fer a la branca "desenvolupament" (que corresponia a OpenLDAP 2.5) i després es van fusionar a la branca "mestra" (que corresponia a OpenLDAP 2.4 abans de la fusió).
  • El 2018, van persistir els problemes amb el backend de configuració heretat d'OpenLDAP. En particular, quan es canvia la configuració del servidor mitjançant config-backend (configuració de LDAP mitjançant LDAP), es produeixen condicions de carrera o problemes recursius, inclosos els bloquejos.
  • És de suposar que hi ha problemes de compilació amb les versions actuals d'OpenSSL/GnuTLS;
  • Aprova un conjunt bàsic de proves propietat, menys les que requereixen TLS/SSL;

Últimes millores:

  • La biblioteca libmdbx s'ha actualitzat a la darrera versió, eliminant tots els problemes d'incompatibilitat assenyalats que van sorgir a causa del desenvolupament de la biblioteca. Tanmateix, probablement hi ha alguna informació obsoleta a les pàgines de manual.
  • S'utilitza la versió actual d'autotools 2.71.
  • S'han fet modificacions menors després d'algunes de les advertències del compilador actual de gcc 11.2.

Font: opennet.ru

Afegeix comentari