Введение

OpenLDAP — это бесплатная реализация протокола облегченного доступа к каталогам (LDAP) с открытым исходным кодом, разработанная проектом OpenLDAP. Она распространяется под собственной лицензией, похожей на BSD, называемой OpenLDAP Public License. LDAP — это платформенно-независимый протокол. Многие распространенные дистрибутивы Linux включают программное обеспечение OpenLDAP для поддержки LDAP. Это программное обеспечение также работает на BSD-системах, а также на AIX, Android, HP-UX, macOS, OpenVMS, Solaris, Microsoft Windows (NT и ее производных, например, 2000, XP, Vista, Windows 7 и т. д.) и z/OS.

История

Проект OpenLDAP был начат в 1998 году Куртом Зеилгой. Проект стартовал с клонирования эталонного исходного кода LDAP из Мичиганского университета, где длительный проект поддерживал разработку и развитие протокола LDAP вплоть до финального релиза этого проекта в 1996 году.

По состоянию на 2015 год, в основной команде проекта OpenLDAP работают четыре человека: Говард Чу (главный архитектор), Куана Гибсон Маунт, Холлвард Фурсетт и Курт Зеилга. Существует множество других важных и активных участников, включая Ондрея Кузника, Люка Говарда, Райана Тэнди и Гэвина Генри. В состав бывшей основной команды входил Пьерэнджело Масарати.

Общая концепция

Обычно запрос LDAP принимается фронтендом, декодируется и затем передается в бэкенд для обработки. Когда бэкенд завершает запрос, он возвращает результат фронтенду, который затем отправляет результат клиенту LDAP. Оверлей – это фрагмент кода, который можно вставить между фронтендом и бэкендом. Таким образом, он способен перехватывать запросы и запускать другие действия над ними до того, как бэкенд их получит, а также может аналогичным образом обрабатывать результаты бэкенда до того, как они достигнут фронтенда. Оверлеи имеют полный доступ к внутренним API slapd и, следовательно, могут вызывать любые функции, которые может выполнять фронтенд или другие бэкенды. Можно использовать несколько оверлеев одновременно, формируя стек модулей между фронтендом и бэкендом. Оверлеи предоставляют простой способ расширения функциональности базы данных без необходимости написания совершенно нового бэкенда и позволяют добавлять новые функции в компактных, легко отлаживаемых и поддерживаемых модулях. С момента внедрения функции оверлеев в OpenLDAP 2.2 сообществом OpenLDAP было внесено множество новых оверлеев.

Репликация

OpenLDAP поддерживает репликацию с использованием синхронизации содержимого в соответствии с RFC 4533. Далее в тексте эта спецификация будет именоваться "syncrepl". Помимо базовой спецификации, поддерживается также расширение, известное как delta syncrepl. Для поддержки репликации с несколькими ведущими серверами реализованы дополнительные расширения.

Синкрепль

Основная операция синхронизации описана в RFC 4533.