Utgivelse av LDAP-serveren ReOpenLDAP 1.2.0

Den formelle utgivelsen av LDAP-serveren ReOpenLDAP 1.2.0 har blitt publisert, opprettet for å gjenopplive prosjektet etter å ha blokkert depotet på GitHub. I april fjernet GitHub kontoene og depotene til mange russiske utviklere knyttet til selskaper underlagt amerikanske sanksjoner, inkludert ReOpenLDAP-depotet. På grunn av gjenopplivingen av brukerinteressen for ReOpenLDAP, ble det besluttet å bringe prosjektet til live igjen.

ReOpenLDAP-prosjektet ble opprettet i 2014 for å løse problemer som oppsto ved bruk av OpenLDAP-pakken i infrastrukturen til PJSC MegaFon, der LDAP-serveren var involvert i et av infrastrukturundersystemene (NGDR er en UDR (User Data Repository), ifølge 3GPP 23.335 standard, og er en sentralisert node for lagring av data om alle typer abonnenttjenester i IT-infrastrukturen til teleoperatøren). En slik applikasjon antok industriell drift i 24×7-modus av en spesifikk LDAP-katalog med en størrelse på 10-100 millioner oppføringer, i et høybelastningsscenario (10K oppdateringer og 50K lesinger per sekund) og i en multi-master topologi.

Symas Corp, som hovedutviklere, forpliktende og eiere av OpenLDAP-koden, klarte ikke å løse problemene som oppsto, så de bestemte seg for å prøve å gjøre det selv. Som det senere viste seg, var det mange flere feil i koden enn man kunne forvente. Derfor ble det brukt mer innsats enn planlagt, men ReOpenLDAP representerer fortsatt en viss verdi og er (i henhold til tilgjengelig informasjon) den eneste LDAP-serveren som fullt ut og pålitelig støtter multi-master-topologien for RFC-4533, inkludert i scenarier med høy belastning.

I 2016 ble prosjektmålene nådd, og støtten og utviklingen av prosjektet direkte i interessen til MegaFon PJSC ble fullført. Deretter ble ReOpenLDAP aktivt utviklet og støttet i ytterligere tre år, men gradvis mistet det sin betydning:

  • Teknologisk migrerte MegaFon fra ReOpenLDAP til Tarantool, noe som er arkitektonisk korrekt;
  • Det var ingen tydelig interesserte ReOpenLDAP-brukere;
  • Ingen av utviklerne ble med i prosjektet, både på grunn av den høye inngangsterskelen og den lave etterspørselen etter selve ReOpenLDAP;
  • Utvikling og support begynte å ta for mye tid fra den gjenværende (hoved)utvikleren, da han profesjonelt gikk bort fra den industrielle driften av ReOpenLDAP.

I en inaktiv tilstand eksisterte ReOpenLDAP-depotet frem til april 2022, da Github-administrasjonen slettet de tilknyttede kontoene og selve depotet uten noen advarsel eller forklaring. Nylig har forfatteren mottatt flere forespørsler angående ReOpenLDAP, inkludert plasseringen av depotet og statusen til kodebasen. Derfor ble det besluttet å minimalt oppdatere prosjektet, lage en teknisk utgivelse og bruke denne nyheten til å informere alle interesserte.

Nåværende status for prosjektet, inkludert angående OpenLDAP:

  • Forbedringer og rettelser har ikke blitt importert fra OpenLDAP siden desember 2018. For kritiske applikasjoner må du analysere alle rettelsene i OpenLDAP og importere de relevante.
  • Nåværende versjoner av OpenLDAP er nå basert på 2.5-grenen. Derfor ble modifikasjonene beskrevet nedenfor bare gjort i "utvikle"-grenen (som tilsvarte OpenLDAP 2.5), og deretter slått sammen til "master"-grenen (som tilsvarte OpenLDAP 2.4 før sammenslåingen).
  • I 2018 vedvarte problemer med config-backend arvet fra OpenLDAP. Spesielt når du endrer serverkonfigurasjonen via config-backend (konfigurerer LDAP via LDAP), oppstår løpsforhold eller rekursive problemer inkludert vranglåser.
  • Antagelig er det byggeproblemer med gjeldende versjoner av OpenSSL/GnuTLS;
  • Består et kjernesett med proprietære tester, minus de som krever TLS/SSL;

Siste forbedringer:

  • Libmdbx-biblioteket har blitt oppdatert til den nyeste versjonen, og eliminerer alle bemerkede inkompatibilitetsproblemer som oppsto på grunn av utviklingen av biblioteket. Imidlertid er det sannsynligvis noe utdatert informasjon igjen på man-sidene.
  • Den nåværende versjonen av autotools 2.71 brukes.
  • Mindre endringer er gjort etter noen av advarslene i den nåværende gcc 11.2-kompilatoren.

Kilde: opennet.ru

Legg til en kommentar