Loading lib/ldap.c +23 −6 Original line number Diff line number Diff line Loading @@ -188,8 +188,12 @@ static CURLcode Curl_ldap(struct connectdata *conn, bool *done) #if defined(CURL_LDAP_WIN) && \ (defined(USE_WIN32_IDN) || defined(USE_WINDOWS_SSPI)) TCHAR *host = NULL; TCHAR *user = NULL; TCHAR *passwd = NULL; #else char *host = NULL; char *user = NULL; char *passwd = NULL; #endif *done = TRUE; /* unconditionally */ Loading Loading @@ -222,8 +226,23 @@ static CURLcode Curl_ldap(struct connectdata *conn, bool *done) goto quit; } if(conn->bits.user_passwd) { user = Curl_convert_UTF8_to_tchar(conn->user); passwd = Curl_convert_UTF8_to_tchar(conn->passwd); if(!user || !passwd) { result = CURLE_OUT_OF_MEMORY; goto quit; } } #else host = conn->host.name; if(conn->bits.user_passwd) { user = conn->user; passwd = conn->passwd; } #endif #ifdef LDAP_OPT_NETWORK_TIMEOUT Loading Loading @@ -370,15 +389,11 @@ static CURLcode Curl_ldap(struct connectdata *conn, bool *done) ldap_set_option(server, LDAP_OPT_PROTOCOL_VERSION, &ldap_proto); #endif rc = ldap_simple_bind_s(server, conn->bits.user_passwd ? conn->user : NULL, conn->bits.user_passwd ? conn->passwd : NULL); rc = ldap_simple_bind_s(server, user, passwd); if(!ldap_ssl && rc != 0) { ldap_proto = LDAP_VERSION2; ldap_set_option(server, LDAP_OPT_PROTOCOL_VERSION, &ldap_proto); rc = ldap_simple_bind_s(server, conn->bits.user_passwd ? conn->user : NULL, conn->bits.user_passwd ? conn->passwd : NULL); rc = ldap_simple_bind_s(server, user, passwd); } if(rc != 0) { failf(data, "LDAP local: ldap_simple_bind_s %s", ldap_err2string(rc)); Loading Loading @@ -572,6 +587,8 @@ quit: #if defined(CURL_LDAP_WIN) && \ (defined(USE_WIN32_IDN) || defined(USE_WINDOWS_SSPI)) Curl_unicodefree(passwd); Curl_unicodefree(user); Curl_unicodefree(host); #endif Loading Loading
lib/ldap.c +23 −6 Original line number Diff line number Diff line Loading @@ -188,8 +188,12 @@ static CURLcode Curl_ldap(struct connectdata *conn, bool *done) #if defined(CURL_LDAP_WIN) && \ (defined(USE_WIN32_IDN) || defined(USE_WINDOWS_SSPI)) TCHAR *host = NULL; TCHAR *user = NULL; TCHAR *passwd = NULL; #else char *host = NULL; char *user = NULL; char *passwd = NULL; #endif *done = TRUE; /* unconditionally */ Loading Loading @@ -222,8 +226,23 @@ static CURLcode Curl_ldap(struct connectdata *conn, bool *done) goto quit; } if(conn->bits.user_passwd) { user = Curl_convert_UTF8_to_tchar(conn->user); passwd = Curl_convert_UTF8_to_tchar(conn->passwd); if(!user || !passwd) { result = CURLE_OUT_OF_MEMORY; goto quit; } } #else host = conn->host.name; if(conn->bits.user_passwd) { user = conn->user; passwd = conn->passwd; } #endif #ifdef LDAP_OPT_NETWORK_TIMEOUT Loading Loading @@ -370,15 +389,11 @@ static CURLcode Curl_ldap(struct connectdata *conn, bool *done) ldap_set_option(server, LDAP_OPT_PROTOCOL_VERSION, &ldap_proto); #endif rc = ldap_simple_bind_s(server, conn->bits.user_passwd ? conn->user : NULL, conn->bits.user_passwd ? conn->passwd : NULL); rc = ldap_simple_bind_s(server, user, passwd); if(!ldap_ssl && rc != 0) { ldap_proto = LDAP_VERSION2; ldap_set_option(server, LDAP_OPT_PROTOCOL_VERSION, &ldap_proto); rc = ldap_simple_bind_s(server, conn->bits.user_passwd ? conn->user : NULL, conn->bits.user_passwd ? conn->passwd : NULL); rc = ldap_simple_bind_s(server, user, passwd); } if(rc != 0) { failf(data, "LDAP local: ldap_simple_bind_s %s", ldap_err2string(rc)); Loading Loading @@ -572,6 +587,8 @@ quit: #if defined(CURL_LDAP_WIN) && \ (defined(USE_WIN32_IDN) || defined(USE_WINDOWS_SSPI)) Curl_unicodefree(passwd); Curl_unicodefree(user); Curl_unicodefree(host); #endif Loading