Связывание LDAP SASL работает с FILE: тип кэша, но не с MEMORY: тип кэша - PullRequest
0 голосов
/ 05 декабря 2018

Использование кода C Я пытаюсь привязаться к серверу LDAP, используя GSSAPI / SASL на сервере растяжения Debian.

Я инициализирую кэш учетных данных kerberos, а затем сообщаю местоположение этого кэша для вызовов LDAP, используя переменную среды KRB5CCNAME.Вот код:

#include <ldap.h>
#include <krb5.h>
#define CACHE_NAME "MEMORY:ldapconnect"

/* Set up Kerberos credentials cache in CACHE_NAME */
[... omitted to save space ...]

/* Create LDAP object */
char *ldapuri = "ldap://ldap.example.com";
LDAP *ld = NULL;
code = ldap_initialize(&ld, ldapuri);

/* Make the LDAP object be version 3 */
int option = LDAP_VERSION3;
code = ldap_set_option(ld, LDAP_OPT_PROTOCOL_VERSION, &option);

/* Set the environment variable KRB5CCNAME to CACHE_NAME */ 
putenv((char *) "KRB5CCNAME=" CACHE_NAME);

/* Do the LDAP bind using SASL */
code = ldap_sasl_interactive_bind_s(ld, NULL, "GSSAPI", NULL, NULL,
                                    LDAP_SASL_QUIET, ad_interact_sasl,
                                    NULL);

Если я изменю CACHE_NAME на FILE:/tmp/ldapconnect, то работает .Это только когда CACHE_NAME использует MEMORY:, что это терпит неудачу.

По причинам, включающим безопасность и простоту, я хочу использовать тип кэша MEMORY:, но я не могу заставить работать вышеупомянутое, кроме типа кэша FILE:.

Соответствующийбиблиотеки, которые я использую:

# debian stretch
libldap-2.4-2      2.4.44+dfsg-5+deb9u2
libsasl2-2         2.1.27~101-g0780600+dfsg-3
libkrb5-26-heimdal 7.5.0+dfsg-2.1

1 Ответ

0 голосов
/ 12 декабря 2018

Оказывается, код, который я использую, вызывает библиотеку из пакета libsasl2-modules-gssapi-heimdal.Однако в Debian Stretch этот пакет не работает: он был создан для библиотек MIT, а не для библиотек Heimdal, что наносит ущерб цели пакета.

Чтобы обойти эту проблему, я создал локальную версию libsasl2-modules-gssapi-heimdal, используярешение в Ошибка Debian # 880393: похоже, что libsasl2-modules-gssapi-heimdal построен против MIT .

...