X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fldap.c;h=4ece8527b6e31876ddc1a16ee33a8811246c1d4e;hb=572e013dfa09ec04b047eb256b3139bca41037a4;hp=10eb31b51ce4c7f52e6ea8ad3b4e7a8f42ff548e;hpb=4d3661d0c8da86d441d5d26463844df216fe4860;p=citadel.git diff --git a/citadel/ldap.c b/citadel/ldap.c index 10eb31b51..4ece8527b 100644 --- a/citadel/ldap.c +++ b/citadel/ldap.c @@ -5,7 +5,6 @@ int ldap_version = 3; -#ifdef HAVE_LDAP #include "sysdep.h" #include @@ -54,11 +53,16 @@ int ldap_version = 3; #include "threads.h" #include "citadel_ldap.h" +#ifdef HAVE_LDAP + #define LDAP_DEPRECATED 1 /* Needed to suppress misleading warnings */ #include -int CtdlTryUserLDAP(char *username, char *found_dn, int found_dn_size, char *fullname, int fullname_size) +int CtdlTryUserLDAP(char *username, + char *found_dn, int found_dn_size, + char *fullname, int fullname_size, + int *uid) { LDAP *ldserver = NULL; int i; @@ -138,6 +142,9 @@ int CtdlTryUserLDAP(char *username, char *found_dn, int found_dn_size, char *ful if (values) { if (values[0]) { CtdlLogPrintf(CTDL_DEBUG, "uidNumber = %s\n", values[0]); + if (uid != NULL) { + *uid = atoi(values[0]); + } } ldap_value_free(values); } @@ -172,7 +179,7 @@ int CtdlTryUserLDAP(char *username, char *found_dn, int found_dn_size, char *ful int CtdlTryPasswordLDAP(char *user_dn, char *password) { LDAP *ldserver = NULL; - int i; + int i = (-1); ldserver = ldap_init(CTDL_LDAP_HOST, CTDL_LDAP_PORT); if (ldserver) { @@ -187,7 +194,11 @@ int CtdlTryPasswordLDAP(char *user_dn, char *password) ldap_unbind(ldserver); } - return((i == LDAP_SUCCESS) ? 0 : 1); + if (i == LDAP_SUCCESS) { + return(0); + } + + return(1); }