[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
sasl/gssapi bind using libldap
hello all
I am trying to make a program that will do a SASL/GSSAPI bind to my
slapd
everything works with my system (kinit ok) and with my ldap client tools
(ldapwhoami -Y GSSAPI ok)
but I have some problem to understand how to use the multiple
ldap_sasl[_interactive]_bind[_s]() functions
which one should be used ? what are the differences ?
I made the following piece of code. Why do I have this error my slapd
log ?
<--------------------------- the code ---------------------------->
#include <stdio.h>
#include <ldap.h>
int
main( int argc, char *argv[] )
{
int rc;
char *ldaphost = "linux-integ.enatel.local";
int ldapport = 389;
LDAP *ld = NULL;
int authmethod = LDAP_AUTH_SASL;
int protocol = LDAP_VERSION3;
char *sasl_mech = ber_strdup("GSSAPI");
char *sasl_realm = ber_strdup("ENATEL.LOCAL");
// where do I have to use the realm ??
int msgid;
ld = ldap_init( ldaphost, ldapport );
ldap_set_option( ld, LDAP_OPT_PROTOCOL_VERSION, &protocol );
rc = ldap_sasl_bind( ld, NULL, sasl_mech, NULL, NULL, NULL, &msgid );
ldap_unbind (ld);
}
<--------------------------------------------------------------------->
<----------------------- the slapd error log ------------------------->
do_sasl_bind: dn () mech GSSAPI
==> sasl_bind: dn="" mech=GSSAPI datalen=0
send_ldap_sasl: err=14 len=0
send_ldap_response: msgid=1 tag=97 err=14
<== slap_sasl_bind: rc=14
connection_resched: attempting closing conn=0 sd=9
connection_close: conn=0 sd=9
daemon: removing 9
<--------------------------------------------------------------------->
If anyone can help me / show me a doc / show me a little sample (I have
read all the source code of ldapwhoami.c and all its includes :) )
thank you very much