Frigivelse af LDAP-serveren ReOpenLDAP 1.2.0

Den formelle udgivelse af LDAP-serveren ReOpenLDAP 1.2.0 er blevet offentliggjort, oprettet for at genoplive projektet efter blokering af dets lager på GitHub. I april fjernede GitHub konti og arkiver fra mange russiske udviklere, der er forbundet med virksomheder, der er underlagt amerikanske sanktioner, herunder ReOpenLDAP-arkivet. På grund af genoplivningen af ​​brugerinteressen for ReOpenLDAP blev det besluttet at bringe projektet til live igen.

ReOpenLDAP-projektet blev oprettet i 2014 for at løse problemer, der opstod ved brug af OpenLDAP-pakken i infrastrukturen af ​​PJSC MegaFon, hvor LDAP-serveren var involveret i et af infrastrukturundersystemerne (NGDR er en UDR (User Data Repository), ifølge 3GPP 23.335 standard, og er en centraliseret node til lagring af data om alle typer abonnenttjenester i teleoperatørens IT-infrastruktur). En sådan applikation antog industriel drift i 24×7-tilstand af en specifik LDAP-mappe med en størrelse på 10-100 millioner poster, i et scenarie med høj belastning (10K opdateringer og 50K læsninger pr. sekund) og i en multi-master topologi.

Symas Corp, som hovedudviklere, committere og ejere af OpenLDAP-koden, var ude af stand til at løse de problemer, der opstod, så de besluttede at prøve at gøre det selv. Som det senere viste sig, var der mange flere fejl i koden, end man kunne forvente. Derfor blev der brugt flere kræfter end planlagt, og ReOpenLDAP repræsenterer stadig en vis værdi og er (ifølge tilgængelig information) den eneste LDAP-server, der fuldt ud og pålideligt understøtter multi-master-topologien til RFC-4533, inklusive i højbelastningsscenarier.

I 2016 blev projektmålene nået, og støtten og udviklingen af ​​projektet direkte i MegaFon PJSC's interesse blev afsluttet. Derefter blev ReOpenLDAP aktivt udviklet og understøttet i yderligere tre år, men gradvist mistede det sin betydning:

  • Teknologisk migrerede MegaFon fra ReOpenLDAP til Tarantool, hvilket er arkitektonisk korrekt;
  • Der var ingen tydeligt interesserede ReOpenLDAP-brugere;
  • Ingen af ​​udviklerne sluttede sig til projektet, både på grund af den høje adgangstærskel og den lave efterspørgsel efter selve ReOpenLDAP;
  • Udvikling og support begyndte at tage for meget tid fra den tilbageværende (hoved)udvikler, da han professionelt bevægede sig væk fra den industrielle drift af ReOpenLDAP.

I en inaktiv tilstand eksisterede ReOpenLDAP-depotet indtil april 2022, hvor Github-administrationen slettede de tilknyttede konti og selve depotet uden nogen advarsel eller forklaring. For nylig har forfatteren modtaget flere anmodninger vedrørende ReOpenLDAP, herunder placeringen af ​​depotet og status for kodebasen. Derfor blev det besluttet at minimalt opdatere projektet, oprette en teknisk udgivelse og bruge denne nyhed til at informere alle interesserede.

Aktuel status for projektet, herunder vedrørende OpenLDAP:

  • Forbedringer og rettelser er ikke blevet importeret fra OpenLDAP siden december 2018. For kritiske applikationer skal du analysere alle rettelserne i OpenLDAP og importere de relevante.
  • Nuværende versioner af OpenLDAP er nu baseret på 2.5-grenen. Derfor blev de nedenfor beskrevne ændringer kun foretaget i "devel"-grenen (som svarede til OpenLDAP 2.5), og derefter fusioneret til "master"-grenen (som svarede til OpenLDAP 2.4 før sammenlægningen).
  • I 2018 fortsatte problemer med config-backend nedarvet fra OpenLDAP. Især når du ændrer serverkonfigurationen via config-backend (konfiguration af LDAP via LDAP), opstår der raceforhold eller rekursive problemer, herunder dødvande.
  • Formentlig er der byggeproblemer med nuværende versioner af OpenSSL/GnuTLS;
  • Består et kernesæt af proprietære test, minus dem, der kræver TLS/SSL;

Seneste forbedringer:

  • Libmdbx-biblioteket er blevet opdateret til den seneste version, hvilket eliminerer alle bemærkede inkompatibilitetsproblemer, der opstod på grund af udviklingen af ​​biblioteket. Der er dog sandsynligvis nogle forældede oplysninger tilbage på man-siderne.
  • Den nuværende version af autotools 2.71 bruges.
  • Der er foretaget mindre ændringer efter nogle af advarslerne i den nuværende gcc 11.2-kompiler.

Kilde: opennet.ru

Tilføj en kommentar