Lanzamiento del servidor LDAP ReOpenLDAP 1.2.0

Se ha publicado el lanzamiento formal del servidor LDAP ReOpenLDAP 1.2.0, creado para resucitar el proyecto después de bloquear su repositorio en GitHub. En abril, GitHub eliminó las cuentas y repositorios de muchos desarrolladores rusos asociados con empresas sujetas a sanciones estadounidenses, incluido el repositorio ReOpenLDAP. Debido al resurgimiento del interés de los usuarios en ReOpenLDAP, se decidió revivir el proyecto.

El proyecto ReOpenLDAP se creó en 2014 para resolver los problemas que surgían al usar el paquete OpenLDAP en la infraestructura de PJSC MegaFon, donde el servidor LDAP estaba involucrado en uno de los subsistemas de la infraestructura (NGDR es un UDR (User Data Repository), según el Estándar 3GPP 23.335, y es un nodo centralizado para almacenar datos sobre todo tipo de servicios de abonado en la infraestructura de TI del operador de telecomunicaciones). Una aplicación de este tipo suponía un funcionamiento industrial en modo 24×7 de un directorio LDAP específico con un tamaño de 10 a 100 millones de entradas, en un escenario de alta carga (10 50 actualizaciones y XNUMX XNUMX lecturas por segundo) y en una topología multimaestro.

Symas Corp, como principal desarrollador, responsable y propietario del código OpenLDAP, no pudo resolver los problemas que surgieron, por lo que decidió intentar hacerlo ellos mismos. Como resultó más tarde, había muchos más errores en el código de los que cabía esperar. Por lo tanto, se dedicó más esfuerzo del planeado y ReOpenLDAP todavía representa algo de valor y (según la información disponible) es el único servidor LDAP que admite completa y confiablemente la topología multimaestro para RFC-4533, incluso en escenarios de alta carga.

En 2016, se lograron los objetivos del proyecto y se completó el apoyo y desarrollo del proyecto directamente en interés de MegaFon PJSC. Luego, ReOpenLDAP fue desarrollado y apoyado activamente durante otros tres años, pero gradualmente perdió su significado:

  • Tecnológicamente, MegaFon migró de ReOpenLDAP a Tarantool, lo cual es arquitectónicamente correcto;
  • No había usuarios de ReOpenLDAP claramente interesados;
  • Ninguno de los desarrolladores se unió al proyecto, tanto por el alto umbral de entrada como por la baja demanda del propio ReOpenLDAP;
  • El desarrollo y el soporte comenzaron a consumir demasiado tiempo por parte del desarrollador restante (principal), ya que se alejó profesionalmente de la operación industrial de ReOpenLDAP.

En estado inactivo, el repositorio ReOpenLDAP existió hasta abril de 2022, cuando la administración de Github eliminó las cuentas asociadas y el repositorio mismo sin ninguna advertencia o explicación. Recientemente, el autor recibió varias solicitudes con respecto a ReOpenLDAP, incluida la ubicación del repositorio y el estado del código base. Por ello, se decidió actualizar mínimamente el proyecto, crear una versión técnica y utilizar esta noticia para informar a todos los interesados.

Estado actual del proyecto, incluido lo relacionado con OpenLDAP:

  • No se han importado mejoras ni correcciones desde OpenLDAP desde diciembre de 2018. Para aplicaciones críticas, debe analizar todas las correcciones en OpenLDAP e importar las relevantes.
  • Las versiones actuales de OpenLDAP ahora se basan en la rama 2.5. Por lo tanto, las modificaciones que se describen a continuación se realizaron solo en la rama "devel" (que correspondía a OpenLDAP 2.5) y luego se fusionaron en la rama "master" (que correspondía a OpenLDAP 2.4 antes de la fusión).
  • En 2018, persistieron los problemas con el backend de configuración heredado de OpenLDAP. En particular, al cambiar la configuración del servidor a través de config-backend (configurar LDAP a través de LDAP), se producen condiciones de carrera o problemas recursivos, incluidos interbloqueos.
  • Presumiblemente hay problemas de compilación con las versiones actuales de OpenSSL/GnuTLS;
  • Pasa un conjunto básico de pruebas patentadas, menos aquellas que requieren TLS/SSL;

Últimas mejoras:

  • La biblioteca libmdbx se actualizó a la última versión, eliminando todos los problemas de incompatibilidad observados que surgieron debido al desarrollo de la biblioteca. Sin embargo, es probable que quede información desactualizada en las páginas de manual.
  • Se utiliza la versión actual de autotools 2.71.
  • Se han realizado ediciones menores siguiendo algunas de las advertencias en el compilador gcc 11.2 actual.

Fuente: opennet.ru

Añadir un comentario