The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Выпуск высокопроизводительной встраиваемой СУБД libmdbx 0.9.2"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Заметили полезную информацию ? Пожалуйста добавьте в FAQ на WIKI.
. "Выпуск высокопроизводительной встраиваемой СУБД libmdbx 0.9...." +2 +/
Сообщение от erthink (ok), 06-Янв-21, 14:20 
Исторически в оригинальном OpenLDAP есть ldap-библиотека, которая предназначена для ldap-клиентов, но при этом также используется внутри самого сервера. Кроме этого, есть еще одна библиотека для серверной части и серверных ldap-утилит.

В ReOpenLDAP эти две библиотеки были объединены, так как это именно сервер, а предоставление клиентских ldap-библиотек и/или обеспечение совместимости не планировалось, и никогда не входило в цели. Такое объединение позволило устранить избыточность кода, что-то выбросить, что-то починить, переделать и т.д.

Кроме внесения изменений и слияния библиотека также была переименована, что исключает какие-либо конфликты с традиционными библиотеками от OpenLDAP.

---

Отказ от предоставления клиентской ldap-библиотеки в ReOpenLDAP более чем оправдан - грубо говоря там ад, с массой сторонних эффектов и глюков. Код не только очень плохой и не прозрачный, но и небрежно написанный. При починке серверной части многое пришлось резать и переделывать. При этом обеспечить совместимость было крайне сложно (скорее невозможно с учетом side effects), и тем более невозможно было протестировать. С другой стороны, я чинил именно сервер, т.е. не было цели чинить или переписывать клиентскую ldap-библиотеку больше чем нужно для устойчивой работы сервера.

Например, ReOpenLDAP можно собрать с включением hipagut (встроенный чекер памяти), при этом любой клиентский код вместо malloc/free должен использовать hipagut-функции для блоков памяти передаваемых или получаемых от ldap-библиотеки, что невозможно в случае стороннего код использующего библиотеку.

Поэтому никакой совместимости с OpenLDAP быть не может.

---

Что касательно вашей проблемы при сборке - НЕОБХОДИМО и достаточно обеспечить использование правильных include-путей при сборке какого-либо кода использующего ldap:

1. Всё что работает на стороне сервера ReOpenLDAP нужно собирать с заголовочными файлами и библиотеками ReOpenLDAP. Это обеспечивается (проверялось при разработке) при сборке ldap-модулей/плагинов внутри ReOpenLDAP. Поэтому, если вам нужно собрать какой-то сторонний модуль, то (видимо) проще всего добавить его в ReOpenLDAP. Так или иначе, самое главное - не смешивать со вторым пунктом.

2. Всё что работает на клиентской стороне нужно собирать с заголовочными файлами и библиотеками из состава linux-дистрибутива или OpenLDAP. Так или иначе, самое главное - не смешивать с первым пунктом.

---

На всякий:

- OpenLDAP кошмарен. RedHat выбросил это дерьмо из RHEL совершенно оправдано. Чем раньше вы откажитесь от OpenLDAP и его библиотек, тем меньше будет боли.

- ReOpenLDAP гораздо меньшее дерьмо, но всё же устранить проблемы и недостатки можно только переписав код.
Разработка ReOpenLDAP велась для МегаФона и закончена летом 2016. Насколько мне известно, еще (примерно) через год МегаФон начал процесс миграции на Tarantool (что оправдано) и давно завершил его.
А с 2019 я приостановил доработку ReOpenLDAP и перенос исправлений из openLDAP, так как это требовало много времени и ресурсов, при слабой популярности у пользователей.
Поэтому, если требуется поддержка и/или ReOpenLDAP, то нужно искать спонсоров и/или волонтеров.

Тем не менее, при необходимости репликации (тем более multi-master) я рекомендую использовать ReOpenLDAP. Если же репликаций не нужна, то можно взять OpenLDAP, но еще лучше - любой другой ldap-сервер.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Выпуск высокопроизводительной встраиваемой СУБД libmdbx 0.9.2, opennews, 27-Ноя-20, 14:00  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру