Versão do servidor LDAP ReOpenLDAP 1.2.0

Foi publicada a versão formal do servidor LDAP ReOpenLDAP 1.2.0, formado para ressuscitar o projeto após bloquear seu repositório no GitHub. Em abril, o GitHub removeu as contas e repositórios de muitos desenvolvedores russos associados a empresas sob sanções dos EUA, incluindo o repositório ReOpenLDAP. Em conexão com o renascimento do interesse dos usuários no ReOpenLDAP, foi decidido trazer o projeto de volta à vida.

O projeto ReOpenLDAP foi criado em 2014 para solucionar problemas que surgiram ao utilizar o pacote OpenLDAP na infraestrutura do PJSC MegaFon, onde o servidor LDAP estava envolvido em um dos subsistemas da infraestrutura (NGDR é um UDR (User Data Repository), de acordo com o Padrão 3GPP 23.335, e é um nó centralizado para armazenamento de dados sobre todos os tipos de serviços de assinantes na infraestrutura de TI da operadora de telecomunicações). Esse aplicativo pressupunha uma execução de produção 24 horas por dia, 7 dias por semana de um diretório LDAP específico, com tamanho de 10 a 100 milhões de registros, em um cenário de alta carga (10 mil atualizações e 50 mil leituras por segundo) e em uma topologia multimestre.

A Symas Corp, como principais desenvolvedores, committers e proprietários do código OpenLDAP, não conseguiu resolver os problemas, então decidiram tentar fazer isso sozinhos. Como descobrimos mais tarde, havia muito mais erros no código do que se poderia esperar. Portanto, foi investido mais esforço do que o planejado, e o ReOpenLDAP ainda tem algum valor e (de acordo com as informações disponíveis) é o único servidor LDAP que suporta de forma completa e confiável a topologia multimestre para RFC-4533, inclusive em alta- cenários de carga.

Em 2016, os objetivos do projeto foram alcançados e foi concluído o apoio e desenvolvimento do projeto diretamente no interesse da MegaFon PJSC. Então o ReOpenLDAP foi ativamente desenvolvido e apoiado por mais três anos, mas gradualmente perdeu seu significado:

  • Tecnologicamente, o MegaFon migrou do ReOpenLDAP para o Tarantool, o que é arquitetonicamente correto;
  • Não houve usuários claramente interessados ​​no ReOpenLDAP;
  • Nenhum dos desenvolvedores aderiu ao projeto, tanto por causa do alto limite de entrada quanto pela baixa demanda pelo próprio ReOpenLDAP;
  • O desenvolvimento e o suporte tornaram-se muito demorados para o desenvolvedor (principal) restante, à medida que ele se afastou profissionalmente da operação de produção do ReOpenLDAP.

Em estado inativo, o repositório ReOpenLDAP existiu até abril de 2022, quando a administração do Github excluiu as contas associadas e o próprio repositório sem qualquer aviso ou explicação. Recentemente, o autor recebeu diversas solicitações relacionadas ao ReOpenLDAP, incluindo a localização do repositório e o estado da base de código. Portanto, optou-se por atualizar minimamente o projeto, formar um comunicado técnico e utilizar esta notícia para informar todos os interessados.

O estado atual do projeto, inclusive em relação ao OpenLDAP:

  • A importação de melhorias e correções do OpenLDAP não é realizada desde dezembro de 2018. Para aplicações de missão crítica, todas as correções no OpenLDAP devem ser analisadas e as relevantes importadas.
  • As versões atuais do OpenLDAP agora são formadas com base na ramificação 2.5. Portanto, as melhorias descritas abaixo foram feitas apenas no branch "devel" (que correspondia ao OpenLDAP 2.5), e depois mescladas no "master" (que correspondia ao OpenLDAP 2.4 antes da fusão).
  • Em 2018, persistiram problemas com o config-bakend herdado do OpenLDAP. Em particular, ao alterar a configuração do servidor via config-bakend (configurando LDAP sobre LDAP), existem condições de corrida ou aborrecimentos recursivos, incluindo impasses.
  • Presumivelmente, há problemas de construção com as versões atuais do OpenSSL/GnuTLS;
  • Passa no conjunto principal de testes nativos menos aqueles que exigem TLS/SSL;

Melhorias recentes:

  • A biblioteca libmdbx foi atualizada para a versão atual com a eliminação de todos os problemas de incompatibilidade observados que surgiram devido ao desenvolvimento da biblioteca. No entanto, provavelmente há algumas informações desatualizadas nas páginas de manual.
  • A versão atual do autotools 2.71 está envolvida.
  • Pequenas edições foram feitas após parte dos avisos do atual compilador gcc 11.2.

Fonte: opennet.ru

Adicionar um comentário