Для нормальной авторизации пользователей с помощью связки saslauthd+LDAP в файл /etc/sasl2/saslauthd.conf необходимо добавить параметр: ldap_size_limit: 0 Этот параметр задает ограничение на кол-во найденных записей в каталоге LDAP. Без него (или если он равен 1) saslauthd не может авторизовать пользователя. В логах следующее: saslauthd[24012]: user ldap_search_st() failed: Size limit exceeded Проблема в том, что при чтении конфига saslauthd, этим параметрам не присваивается значение по-умолчанию, в случае если данные параметры не найдены в файле конфигурации.
Это очень странно, но значение ldap_size_limit выставляется по-умолчанию в 1. И, кстати, я не совсем понимаю ситуацию, когда на запрос по авторизации пользователя получение из базы нескольких записей есть явление изначально верное. Может все-таки стоит пересмотреть параметр запроса, чтобы результат был безусловно одним?
Результат запроса на авторизацию безусловно один, т.к. в тестовом LDAP-каталоге только _одна_ одна учетная запись. И в логах slapd видно, что возвращается только одна найденная запись. Но (!) если в конфиге saslauthd либо отсутствует ldap_size_limit, либо он принудительно установлен в 1 - получаю описанную мной ситуацию. :( Если выставлять этот параметр либо в 0 либо во что-то > 1 - всё работает, как должно.
Немного прояснилась ситуация с данной проблемой. Отлуп происходит в том случае, что для данной учетной записи имеются несколько полей mail, отвечающим запросу. То есть, если имеется записи mail: user mail: user@domain.ru то, в результате запроса обе эти записи могут быть вернуты как результат. Все-таки это проблема неправильной политики аутентификации пользователей.
(In reply to comment #3) > Немного прояснилась ситуация с данной проблемой. Отлуп происходит в том > случае,что для данной учетной записи имеются несколько полей mail, > отвечающим запросу. > То есть, если имеется записи > > mail: user > mail: user@domain.ru > > то, в результате запроса обе эти записи могут быть вернуты как результат. > Все-таки это проблема неправильной политики аутентификации пользователей. На версия 2.1.19-alt1 ни сама ошибка, ни вышеописанное поведение не воспроизводится. Всё работает как часы не зависимо от параметра ldap_size_limit и количества атрибутов mail у объекта. Закрываю данный bug.