diff options
author | Stepan Broz <sbroz@starbug.usersys.redhat.com> | 2017-12-06 08:54:35 +0100 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2017-12-06 14:51:04 +0100 |
commit | ff07f07cc8668b6922e0e90606cc63fbd1abb684 (patch) | |
tree | f70e580cdb7e1de81a2c22e562bc02a756bb432a | |
parent | bb0ca2d443951ab9d38965913329ada7220526fd (diff) |
openldap: add commented out debug possibilities
... to aid debugging openldap library using its built-in debug messages.
Closes #2159
-rw-r--r-- | lib/openldap.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/lib/openldap.c b/lib/openldap.c index ac356d098..5e9cdb3ea 100644 --- a/lib/openldap.c +++ b/lib/openldap.c @@ -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", |