Я пытаюсь подключиться к серверу openLDAP с помощью программы c, я нашел клиентскую библиотеку openLDAP и реализую следующую программу. и я пытаюсь подключиться к серверу ldap this, а также к локальному серверу ldap. я скомпилировать программу без ошибок не используя эту командуошибка протокола клиента openLDAP c (ldap_simple_bind_s: ошибка протокола)
gcc ldapClient.c -o ldapClient -lldap
и я пытаюсь запустить программу, используя эту команду
./ldapClient euler password
то говорит
ldap_simple_bind_s: Протокол об ошибке
Я нашел googled и нашел ответ s как this, они говорят, что эта ошибка приходит с матчем версии протокола промаха еями: LDAPv2 и LDAPv3, но я не в состоянии точно, как решить эту проблему
#include <stdio.h>
#include <ldap.h>
/* LDAP Server settings */
#define LDAP_SERVER "ldap://ldap.forumsys.com:389"
int
main(int argc, char **argv)
{
LDAP *ld;
int rc;
char bind_dn[100];
/* Get username and password */
if(argc != 3)
{
perror("invalid args, required: username password");
return(1);
}
sprintf(bind_dn, "cn=%s,ou=mathematicians,dc=example,dc=com", argv[1]);
printf("Connecting as %s...\n", bind_dn);
/* Open LDAP Connection */
if(ldap_initialize(&ld, LDAP_SERVER))
{
perror("ldap_initialize");
return(1);
}
/* User authentication (bind) */
rc = ldap_simple_bind_s(ld, bind_dn, argv[2]);
if(rc != LDAP_SUCCESS)
{
fprintf(stderr, "ldap_simple_bind_s: %s\n", ldap_err2string(rc));
return(1);
}
printf("Successful authentication\n");
ldap_unbind(ld);
return(0);
}