Releases: MultiDirectoryLab/MultiDirectory
Release/v2.7.0
What's Changed
- Added Global Catalog
- Added user password history cleanup endpoint
- Added Dependency Injection (DI) in migrations
- Added givenName attribute population for the administrator
- Added "Contact" entity
- Added validation for core attribute values
- Added error codes
- Added restriction on deletion and moving of system containers
- Added forced Kerberos principal password change upon detection of duplicate entry
- Optimized application logging
- Updated Traefik image to version v3.6.1
- Renamed organizational unit 'services' to 'System'
- Fixed audit event log format to comply with RFC5424
Что изменилось
- Добавлен Global Catalog
- Добавлен endpoint очистки истории паролей пользователей
- Добавлен DI в миграциях
- Добавлено заполнение атрибута givenName для администратора
- Добавлена сущность "Контакт"
- Добавлена валидация значений основных атрибутов
- Добавлены коды ошибок
- Добавлен запрет на удаление и перемещение системных контейнеров
- Добавлена принудительная смена пароля у принципала Kerberos при обнаружении дублирующей записи
- Оптимизировано логирование приложения
- Обновлён образ Traefik до версии v3.6.1
- Организационное подразделение services переименовано в System
- Исправлен формат логов событий аудита в соответствии с RFC5424
Full Changelog: v2.6.0...v2.7.0
Hotfix/v2.6.2
What's Changed
- Fixed retrieval of TokenGroups attribute
- Fixed filter by distinguishedName attribute
Что изменилось
- Исправлено получение атрибута TokenGroups
- Исправлен фильтр по атрибуту distinguishedName
Full Changelog: v2.6.1...v2.6.2
Hotfix/v2.6.1
What's Changed
- Fixed user creation
Что изменилось
- Исправлено создание пользователя
Full Changelog: v2.6.0...v2.6.1
Release/v2.6.0
What's Changed
- Added CLDAP service
- Expanded password policy parameters
- Added support for the
DONT_EXPIRE_PASSWORDflag inuserAccountControl - Added support for ANR attribute
- Added conversion of DHCP leases to reservations and modification of existing reservations
- Added old-password verification in the admin panel when initiated by the user
- Added ability to set a group as primary
- Added error deduplication
- Added database connection recreation control
- Added parallel test execution
- Refactored logic for DNS, user authorization, and network policies
- Renamed group
readonly domain controllerstoread-only - Optimized Modify Request handling for updates to
memberandmemberOf - Fixed cycle detection in
memberandmemberOf - Fixed RDN updates in ModifyDN Request
- Fixed entry validation in Add Request
- Fixed incorrect search by attribute OID when it wasn't requested
- Fixed email validation in domain settings
- Fixed event logging for Add Request
- Fixed error handling during Kerberos setup and rollback
- Fixed password reset behavior
Что изменилось
- Добавлен сервис CLDAP
- Расширены параметры парольных политик
- Добавлена поддержка флага
DONT_EXPIRE_PASSWORDв атрибутеuserAccountControl - Добавлена поддержка атрибута ANR
- Добавлена возможность преобразования аренды адреса в резервацию и изменения существующих резервирований (DHCP)
- Добавлена проверка старого пароля в админке, если смена инициирована пользователем
- Добавлена ролевая модель для админки
- Добавлена возможность сделать группу основной
- Добавлена уникализация ошибок
- Добавлен контроль пересоздания соединений с БД
- Добавлен параллельный запуск тестов
- Проведён рефакторинг логики DNS, авторизации пользователя и сетевых политик
- Изменено название группы
readonly domain controllersнаread-only - Оптимизирована обработка Modify Request при обновлении атрибутов
memberиmemberOf - Исправлен поиск зацикленности в
memberиmemberOf - Исправлено обновление RDN в ModifyDN Request
- Исправлена валидация entry в Add Request
- Исправлен некорректный поиск по атрибуту с OID, если он отсутствовал в списке запрашиваемых
- Исправлена проверка email в настройке домена
- Исправлено журналирование событий Add Request
- Исправлена обработка ошибки при настройке Kerberos и последующий rollback
- Исправлено поведение при сбросе пароля
Full Changelog: v2.5.0...v2.6.0
Release/v2.5.2
What's Changed
- Fixed DNS interface
Что изменилось
- Исправлен интерфейс ДНС
Full Changelog: v2.5.0...v2.5.2
Release/v2.5.1
What's Changed
- Added compatibility for migrations from version v2.1.1
- Added ability to move LDAP entries to the root
- Changed LDAP session lifetime parameter in the standard network policy (2 hours)
- Changed
uidNumberattribute of the main administrator
Что изменилось
- Добавлена совместимость миграций с версии v2.1.1
- Добавлена возможность перемещения LDAP записи в корень
- Изменен параметр времени жизни сессии LDAP у стандартной сетевой политики (2 часов)
- Изменен атрибут
uidNumberглавного администратора
Full Changelog: v2.5.0...v2.5.1
Release/v2.5.0
What's Changed
- Added DHCP
- Added
primaryGroupIDattribute - Added user session termination on password change
- Added atomicity to the session change algorithm
- Added bitwise AND and OR operations to the Search Request filter
- Added certificate directory creation to the setup script
- Added variables for Kerberos initialization
- Security update — the application now runs under the
mduser - Changed the base structural class for
usersandcomputersentries fromorganizationalUnittocontainer - Changed base image from Debian to Alpine
- Improved logic for preventing users from changing their passwords
- Fixed an issue where users and computers couldn’t be deleted if their Kerberos principal was missing
- Fixed an issue with retrieving network policy during TGT ticket requests
- Fixed an issue with losing child entries during ModifyDN operations
- Fixed an issue with searching by the
accountExpiresattribute - Removed redundant
pwdLastSetattribute request in Bind Request - Optimized role inheritance during LDAP entry creation
- Optimized handling of ModifyDN Request, Bind Request, and Add Request in LDAP
- Removed PgPool-II from services
Что изменилось
- Добавлен DHCP
- Добавлен атрибут
primaryGroupID - Добавлено отключение пользовательских сессий при смене пароля
- Добавлена атомарность в алгоритм смены сессии
- Добавлены операции побитового AND и OR в фильтр Search Request
- Добавлено создание директории для сертификатов в скрипт настройки
- Добавлены переменные для инициализации Kerberos
- Обновление безопасности — теперь приложение запускается от пользователя
md - Изменён основной структурный класс у базовых записей
usersиcomputersсorganizationalUnitнаcontainer - Изменён базовый образ с Debian на Alpine
- Доработана логика запрета смены пароля пользователем
- Исправлен баг невозможности удаления пользователя и компьютера при отсутствии их Kerberos-принципала
- Исправлен баг с получением сетевой политики при запросе TGT-билета
- Исправлен баг с потерей наследников при ModifyDN
- Исправлен баг поиска по атрибуту
accountExpires - Убран повторный запрос атрибута
pwdLastSetв Bind Request - Оптимизировано наследование ролей при создании LDAP-записи
- Оптимизирована обработка ModifyDN Request, Bind Request, Add Request в LDAP
- Удалён PgPool-II из сервисов
Full Changelog: v2.4.0...v2.5.0
Release/v2.4.0
What's Changed
-
Added default OU
computers -
Added SPNEGO support
-
Changed MFA API — removed separate MFA endpoint, MFA init combined with regular auth model
-
Fixed limits for maintenance container
-
Fixed duplicated groups in AddRequest
-
Fixed duplicated LDAP names (space insensitive)
-
Fixed byte translations for
objectGUIDandobjectSIDin JSON API -
Fixed object classes change validation — added checks for last domain admin
-
Fixed TCP memory leak
-
Fixed Pgpool image URL
-
Fixed password change for Kerberos shadow API
-
Fixed ACE inheritance for
SINGLE_LEVELscope -
Fixed ACE duplication
-
Fixed deletion of
krbprincipalexpirationattribute on user unlock -
Fixed validation for OID and name fields in schema models
-
Fixed domain duplication in DNS SRV records
-
Fixed trailing dot in SRV records during initial setup
-
Fixed forward zone validation and DNS server handling — host DNS servers copied to
resolv.conf, mounted into container, fastest DNS response used -
Fixed DNS server API error handling — configurations validated using Bind9 utilities, errors return
400
Что изменилось
-
Добавлена OU
computers -
Добавлена поддержка SPNEGO
-
Изменён MFA API — отдельный эндпоинт MFA удалён, инициализация MFA объединена с обычной моделью аутентификации
-
Исправлены лимиты для сервиса
maintenance -
Исправлено дублирование групп в AddRequest
-
Исправлены дублирующиеся имена LDAP (без учёта пробелов)
-
Исправлено преобразование байтов для
objectGUIDиobjectSIDв JSON API -
Исправлена проверка изменения классов объектов — добавлена проверка для последнего доменного администратора
-
Исправлена утечка памяти TCP
-
Исправлен URL образа Pgpool
-
Исправлено изменение пароля через Kerberos shadow API
-
Исправлено наследование ACE для области
SINGLE_LEVEL -
Исправлено дублирование ACE
-
Исправлено удаление атрибута
krbprincipalexpirationпри разблокировке пользователя -
Исправлена проверка полей OID и имени в схемах моделей
-
Исправлено дублирование домена в DNS SRV записях
-
Исправлено отсутствие завершающей точки в SRV записях при первичной настройке
-
Исправлена проверка прямых зон и обработка DNS-сервера — DNS-серверы хоста копируются в
resolv.conf, монтируются в контейнер, используется самый быстрый ответ DNS -
Исправлена обработка ошибок DNS-сервера — проверка новых конфигураций при помощи утилит Bind9, в случае ошибки возвращается код 400
Full Changelog v2.3.0...v2.4.0
Release/v2.3.0
What's Changed
- Added bulk-delete API endpoint;
- Added basic backend-only Role model;
- Added event log;
- Fixed handling of
MultifactorAPIconnection errors; - Improved
SearchRequestperformance; - Fixed duplicate object class names;
- Fixed Kerberos user switching;
- Fixed memory leak in TLS LDAP connections;
- Fixed ability to delete the last admin;
- Fixed
pwdLastSetattribute behavior on first user authentication;
Что изменилось
- Добавлен endpoint API массового удаления (
bulk-delete); - Добавлена базовая ролевая модель только для бэкенда;
- Добавлен журнал событий;
- Исправлена обработка ошибок соединения
MultifactorAPI; - Улучшено быстродействие
SearchRequest; - Исправлены дублирующиеся имена классов объектов;
- Исправлено переключение/смена Kerberos-пользователя;
- Исправлена утечка памяти при TLS-соединениях к LDAP;
- Исправлена возможность удаления последнего администратора;
- Исправлено поведение атрибута
pwdLastSetпри первой аутентификации пользователя;
New Contributors
- @TheMihMih made their first contribution
Full Changelog: v2.2.1...v2.3.0