openldap: add commented out debug possibilities

... to aid debugging openldap library using its built-in debug messages.

Closes #2159
This commit is contained in:
Stepan Broz 2017-12-06 08:54:35 +01:00 committed by Daniel Stenberg
parent bb0ca2d443
commit ff07f07cc8
No known key found for this signature in database
GPG Key ID: 5CC908FDB71E12C2
1 changed files with 28 additions and 0 deletions

View File

@ -51,6 +51,25 @@
#include "curl_memory.h"
#include "memdebug.h"
/*
* Uncommenting this will enable the built-in debug logging of the openldap
* library. The debug log level can be set using the CURL_OPENLDAP_TRACE
* environment variable. The debug output is written to stderr.
*
* The library supports the following debug flags:
* LDAP_DEBUG_NONE 0x0000
* LDAP_DEBUG_TRACE 0x0001
* LDAP_DEBUG_CONSTRUCT 0x0002
* LDAP_DEBUG_DESTROY 0x0004
* LDAP_DEBUG_PARAMETER 0x0008
* LDAP_DEBUG_ANY 0xffff
*
* For example, use CURL_OPENLDAP_TRACE=0 for no debug,
* CURL_OPENLDAP_TRACE=2 for LDAP_DEBUG_CONSTRUCT messages only,
* CURL_OPENLDAP_TRACE=65535 for all debug message levels.
*/
/* #define CURL_OPENLDAP_DEBUG */
#ifndef _LDAP_PVT_H
extern int ldap_pvt_url_scheme2proto(const char *);
extern int ldap_init_fd(ber_socket_t fd, int proto, const char *url,
@ -204,6 +223,15 @@ static CURLcode ldap_connect(struct connectdata *conn, bool *done)
snprintf(ptr, sizeof(hosturl)-(ptr-hosturl), "://%s:%d",
conn->host.name, conn->remote_port);
#ifdef CURL_OPENLDAP_DEBUG
static int do_trace = 0;
const char *env = getenv("CURL_OPENLDAP_TRACE");
do_trace = (env && strtol(env, NULL, 10) > 0);
if (do_trace) {
ldap_set_option(li->ld, LDAP_OPT_DEBUG_LEVEL, &do_trace);
}
#endif
rc = ldap_init_fd(conn->sock[FIRSTSOCKET], li->proto, hosturl, &li->ld);
if(rc) {
failf(data, "LDAP local: Cannot connect to %s, %s",