Я выполняю поисковый запрос LDAP в C, например:
ldap_search_ext_s(ld, BASEDN, SCOPE, FILTER, attrs, 0, NULL, NULL, NULL, LDAP_NO_LIMIT, &res);
Мой поиск работает нормально, кроме случаев, когда я пытаюсь указать FILTER;
#define FILTER "uid=*"
, то есть, когда я пытаюсь запустить поиск всех записей LDAP с помощью uid.
К сожалению, мой код просто возвращает первую запись для каждого найденного результата. Таким образом, мой код может найти 50 результатов, но вернет первую запись 50 раз.
Кто-нибудь может заподозрить, что я тут не так делаю?
РЕДАКТИРОВАТЬ: я перехожу мои результаты, например, так:
for (msg = ldap_first_message(ld, res); msg != NULL; msg = ldap_next_message(ld, msg))
Любая помощь очень ценится.
Рикки.