Lanzamento do servidor LDAP ReOpenLDAP 1.2.0

Publicouse o lanzamento formal do servidor LDAP ReOpenLDAP 1.2.0, creado para resucitar o proxecto despois de bloquear o seu repositorio en GitHub. En abril, GitHub eliminou as contas e repositorios de moitos desenvolvedores rusos asociados a empresas suxeitas a sancións estadounidenses, incluído o repositorio ReOpenLDAP. Debido ao renacemento do interese dos usuarios en ReOpenLDAP, decidiuse devolver á vida o proxecto.

O proxecto ReOpenLDAP foi creado en 2014 para resolver os problemas que xurdiron ao utilizar o paquete OpenLDAP na infraestrutura de PJSC MegaFon, onde o servidor LDAP estaba implicado nun dos subsistemas de infraestrutura (NGDR é un UDR (User Data Repository), segundo o estándar 3GPP 23.335, e é un nodo centralizado para almacenar datos de todo tipo de servizos de abonado na infraestrutura informática do operador de telecomunicacións). Tal aplicación asumiu o funcionamento industrial en modo 24×7 dun directorio LDAP específico cun tamaño de 10-100 millóns de entradas, nun escenario de alta carga (10K actualizacións e 50K lecturas por segundo) e nunha topoloxía multi-master.

Symas Corp, como principais desenvolvedores, committers e propietarios do código OpenLDAP, non foron capaces de resolver os problemas xurdidos, polo que decidiron tentar facelo eles mesmos. Como se viu máis tarde, houbo moitos máis erros no código dos que se podía esperar. Polo tanto, gastouse máis esforzo do previsto e ReOpenLDAP aínda representa algún valor e (segundo a información dispoñible) é o único servidor LDAP que admite de forma completa e fiable a topoloxía multi-master para RFC-4533, incluso en escenarios de alta carga.

En 2016, conseguíronse os obxectivos do proxecto e completouse o apoio e desenvolvemento do proxecto directamente en interese de MegaFon PJSC. Despois, ReOpenLDAP desenvolveuse e apoiouse activamente durante outros tres anos, pero aos poucos perdeu o seu significado:

  • Tecnoloxicamente, MegaFon migrou de ReOpenLDAP a Tarantool, o que é arquitectónicamente correcto;
  • Non había usuarios de ReOpenLDAP claramente interesados;
  • Ningún dos desenvolvedores se sumou ao proxecto, tanto polo alto limiar de entrada como pola baixa demanda do propio ReOpenLDAP;
  • O desenvolvemento e o soporte comezaron a levar demasiado tempo ao desenvolvedor (principal) restante, xa que se afastou profesionalmente da operación industrial de ReOpenLDAP.

Nun estado inactivo, o repositorio ReOpenLDAP existiu ata abril de 2022, cando a administración de Github eliminou as contas asociadas e o propio repositorio sen ningún aviso nin explicación. Recentemente, o autor recibiu varias solicitudes sobre ReOpenLDAP, incluíndo a localización do repositorio e o estado da base de código. Por iso, decidiuse actualizar mínimamente o proxecto, crear unha versión técnica e utilizar esta noticia para informar a todos os interesados.

Estado actual do proxecto, incluído o relativo a OpenLDAP:

  • As melloras e correccións non se importaron de OpenLDAP desde decembro de 2018. Para aplicacións críticas, cómpre analizar todas as correccións en OpenLDAP e importar as relevantes.
  • As versións actuais de OpenLDAP están agora baseadas na rama 2.5. Polo tanto, as modificacións descritas a continuación fixéronse só na rama "desenvolver" (que correspondía a OpenLDAP 2.5), e despois fusionáronse coa rama "mestra" (que correspondía a OpenLDAP 2.4 antes da fusión).
  • En 2018, os problemas co config-backend herdado de OpenLDAP persistían. En particular, cando se cambia a configuración do servidor mediante config-backend (configuración de LDAP a través de LDAP), prodúcense condicións de carreira ou problemas recursivos, incluíndo bloqueos.
  • Presuntamente hai problemas de compilación coas versións actuais de OpenSSL/GnuTLS;
  • Pasa un conxunto básico de probas propietarias, menos as que requiren TLS/SSL;

Últimas melloras:

  • A biblioteca libmdbx actualizouse á última versión, eliminando todos os problemas de incompatibilidade observados que xurdiron debido ao desenvolvemento da biblioteca. Non obstante, probablemente quede algunha información obsoleta nas páxinas de manual.
  • Utilízase a versión actual de autotools 2.71.
  • Fixéronse pequenas edicións seguindo algunhas das advertencias do compilador gcc 11.2 actual.

Fonte: opennet.ru

Engadir un comentario