ReOpenLDAP 1.2.0 LDAP-serverversion

Den formella utgåvan av LDAP-servern ReOpenLDAP 1.2.0 har publicerats, skapad för att återuppliva projektet efter att ha blockerat dess arkiv på GitHub. I april tog GitHub bort konton och arkiv för många ryska utvecklare som är associerade med företag som omfattas av amerikanska sanktioner, inklusive ReOpenLDAP-arkivet. På grund av återupplivandet av användarintresset för ReOpenLDAP beslutades det att väcka projektet till liv igen.

ReOpenLDAP-projektet skapades 2014 för att lösa problem som uppstod när man använde OpenLDAP-paketet i infrastrukturen för PJSC MegaFon, där LDAP-servern var involverad i ett av infrastrukturens delsystem (NGDR är en UDR (User Data Repository), enligt 3GPP 23.335 standard, och är en centraliserad nod för lagring av data om alla typer av abonnenttjänster i teleoperatörens IT-infrastruktur). En sådan applikation förutsatte industriell drift i 24×7-läge av en specifik LDAP-katalog med en storlek på 10-100 miljoner poster, i ett högbelastningsscenario (10K uppdateringar och 50K läsningar per sekund) och i en multi-master topologi.

Symas Corp, som huvudutvecklare, committers och ägare av OpenLDAP-koden, kunde inte lösa problemen som uppstod, så de bestämde sig för att försöka göra det själva. Som det senare visade sig fanns det många fler fel i koden än man kunde förvänta sig. Därför lades ner mer ansträngning än planerat, och ReOpenLDAP representerar fortfarande ett visst värde och är (enligt tillgänglig information) den enda LDAP-servern som fullt ut och tillförlitligt stöder multimastertopologin för RFC-4533, inklusive i högbelastningsscenarier.

Under 2016 uppnåddes projektmålen och stödet och utvecklingen av projektet direkt i MegaFon PJSC:s intresse slutfördes. Sedan utvecklades och stöddes ReOpenLDAP aktivt i ytterligare tre år, men gradvis förlorade det sin betydelse:

  • Teknologiskt migrerade MegaFon från ReOpenLDAP till Tarantool, vilket är arkitektoniskt korrekt;
  • Det fanns inga tydligt intresserade ReOpenLDAP-användare;
  • Ingen av utvecklarna gick med i projektet, både på grund av den höga tröskeln för inträde och den låga efterfrågan på själva ReOpenLDAP;
  • Utveckling och support började ta för mycket tid från den återstående (huvud)utvecklaren, eftersom han professionellt flyttade bort från den industriella driften av ReOpenLDAP.

I ett inaktivt tillstånd existerade ReOpenLDAP-förvaret fram till april 2022, då Github-administrationen raderade de associerade kontona och själva förvaret utan någon varning eller förklaring. Nyligen har författaren fått flera förfrågningar angående ReOpenLDAP, inklusive platsen för förvaret och statusen för kodbasen. Därför beslutades det att minimalt uppdatera projektet, skapa en teknisk release och använda den här nyheten för att informera alla intresserade.

Aktuell status för projektet, inklusive angående OpenLDAP:

  • Förbättringar och korrigeringar har inte importerats från OpenLDAP sedan december 2018. För kritiska applikationer måste du analysera alla korrigeringar i OpenLDAP och importera de relevanta.
  • Nuvarande versioner av OpenLDAP är nu baserade på 2.5-grenen. Därför gjordes ändringarna som beskrivs nedan endast i "devel"-grenen (som motsvarade OpenLDAP 2.5), och slogs sedan samman till "master"-grenen (som motsvarade OpenLDAP 2.4 före sammanslagning).
  • Under 2018 kvarstod problem med config-backend som ärvts från OpenLDAP. Speciellt när man ändrar serverkonfigurationen via config-backend (konfigurerar LDAP via LDAP), uppstår tävlingsförhållanden eller rekursiva problem inklusive dödlägen.
  • Förmodligen finns det byggproblem med nuvarande versioner av OpenSSL/GnuTLS;
  • Klarar en kärnuppsättning proprietära tester, minus de som kräver TLS/SSL;

Senaste förbättringarna:

  • Libmdbx-biblioteket har uppdaterats till den senaste versionen, vilket eliminerar alla noterade inkompatibilitetsproblem som uppstod på grund av utvecklingen av biblioteket. Men det finns förmodligen en del föråldrad information kvar på man-sidorna.
  • Den nuvarande versionen av autotools 2.71 används.
  • Mindre ändringar har gjorts efter några av varningarna i den nuvarande gcc 11.2-kompilatorn.

Källa: opennet.ru

Lägg en kommentar