Lansarea serverului ReOpenLDAP 1.2.0 LDAP

A fost publicată lansarea oficială a serverului LDAP ReOpenLDAP 1.2.0, creată pentru a resuscita proiectul după blocarea depozitului său de pe GitHub. În aprilie, GitHub a eliminat conturile și depozitele multor dezvoltatori ruși asociați cu companii sub sancțiunile SUA, inclusiv depozitul ReOpenLDAP. În legătură cu renașterea interesului utilizatorilor pentru ReOpenLDAP, s-a decis readucerea la viață a proiectului.

Proiectul ReOpenLDAP a fost creat în 2014 pentru a rezolva problemele apărute la utilizarea pachetului OpenLDAP în infrastructura PJSC MegaFon, unde serverul LDAP era implicat într-unul dintre subsistemele de infrastructură (NGDR este un UDR (User Data Repository), conform 3GPP 23.335 și este un nod centralizat pentru stocarea datelor despre toate tipurile de servicii de abonat în infrastructura IT a operatorului de telecomunicații). O astfel de aplicație presupunea o rulare de producție 24x7 a unui director LDAP specific, cu o dimensiune de 10-100 de milioane de înregistrări, într-un scenariu cu încărcare mare (10K actualizări și 50K citiri pe secundă) și într-o topologie multi-master.

Symas Corp, în calitate de principali dezvoltatori, committers și proprietari ai codului OpenLDAP, nu a putut rezolva problemele, așa că au decis să încerce să o facă ei înșiși. După cum sa dovedit mai târziu, au fost mult mai multe erori în cod decât ne-am putea aștepta. Prin urmare, s-au depus mai mult efort decât era planificat, iar ReOpenLDAP este încă de o oarecare valoare și (conform informațiilor disponibile) este singurul server LDAP care suportă complet și fiabil topologia multi-master pentru RFC-4533, inclusiv în scenarii de încărcare.

În 2016, obiectivele proiectului au fost atinse, iar sprijinirea și dezvoltarea proiectului direct în interesul MegaFon PJSC a fost finalizată. Apoi ReOpenLDAP a fost dezvoltat și susținut activ pentru încă trei ani, dar treptat și-a pierdut sensul:

  • Din punct de vedere tehnologic, MegaFon a migrat de la ReOpenLDAP la Tarantool, ceea ce este corect din punct de vedere arhitectural;
  • Nu au existat utilizatori ReOpenLDAP clar interesați;
  • Niciunul dintre dezvoltatori nu s-a alăturat proiectului, atât din cauza pragului ridicat de intrare, cât și din cauza cererii scăzute pentru ReOpenLDAP în sine;
  • Dezvoltarea și asistența au devenit prea consumatoare de timp pentru dezvoltatorul (de bază) rămas, deoarece s-a îndepărtat profesional de operațiunea de producție a ReOpenLDAP.

Într-o stare inactivă, depozitul ReOpenLDAP a existat până în aprilie 2022, când administrația Github a șters conturile asociate și depozitul în sine fără niciun avertisment sau explicație. Recent, autorul a primit mai multe solicitări cu privire la ReOpenLDAP, inclusiv locația depozitului și starea bazei de cod. Prin urmare, s-a decis reîmprospătarea minimă a proiectului, formarea unei ediții tehnice și folosirea acestei știri pentru a informa toți cei interesați.

Starea actuală a proiectului, inclusiv în ceea ce privește OpenLDAP:

  • Importul de îmbunătățiri și remedieri din OpenLDAP nu a mai fost efectuat din decembrie 2018. Pentru aplicațiile critice, toate corecțiile din OpenLDAP ar trebui să fie analizate și cele relevante importate.
  • Versiunile reale ale OpenLDAP sunt acum formate pe baza ramului 2.5. Prin urmare, îmbunătățirile descrise mai jos au fost făcute doar în ramura „dezvoltare” (care corespundea cu OpenLDAP 2.5), și apoi fuzionate în „master” (care corespundea cu OpenLDAP 2.4 înainte de fuziune).
  • În 2018, problemele cu config-bakend moștenite de la OpenLDAP au persistat. În special, atunci când se schimbă configurația serverului prin config-bakend (configurarea LDAP peste LDAP) există condiții de cursă sau deranjamente recursive, inclusiv blocaje.
  • Probabil că există probleme de construcție cu versiunile curente de OpenSSL/GnuTLS;
  • Trece setul de bază de teste native minus cele care necesită TLS/SSL;

Îmbunătățiri recente:

  • Biblioteca libmdbx a fost actualizată la versiunea curentă cu eliminarea tuturor problemelor de incompatibilitate observate care au apărut din cauza dezvoltării bibliotecii. Cu toate acestea, probabil că există unele informații învechite în paginile de manual.
  • Este implicată versiunea actuală a autotools 2.71.
  • Au fost făcute modificări minore în urma unei părți din avertismentele compilatorului actual gcc 11.2.

Sursa: opennet.ru

Adauga un comentariu