@@ -391,6 +391,11 @@ FedFsStatus nsdb_ping_s(const char *hostname, const unsigned short port,
unsigned int *ldap_err);
/**
+ * Enable LDAP debugging when contacting an NSDB
+ */
+void nsdb_enable_ldap_debugging(void);
+
+/**
** Readability helpers
**/
const char *nsdb_display_fedfsconnectionsec(const FedFsConnectionSec sectype);
@@ -129,6 +129,28 @@ __nsdb_modify_nsdb_s(const char *func, LDAP *ld, const char *dn, LDAPMod *mod,
__nsdb_modify_nsdb_s(__func__, ld, dn, mod, ldaperr)
/**
+ * Enable LDAP debugging when contacting an NSDB
+ *
+ */
+void
+nsdb_enable_ldap_debugging(void)
+{
+ int rc, debug;
+
+ debug = 0xffff; /* LDAP_DEBUG_ANY */
+
+#if 0
+ rc = ber_set_option(NULL, LBER_OPT_DEBUG_LEVEL, &debug);
+ if (rc != LBER_OPT_SUCCESS)
+ xlog(L_ERROR, "Failed to set LBER_OPT_DEBUG_LEVEL");
+#endif
+
+ rc = ldap_set_option(NULL, LDAP_OPT_DEBUG_LEVEL, &debug);
+ if (rc != LDAP_OPT_SUCCESS )
+ xlog(L_ERROR, "Failed to set LDAP_OPT_DEBUG_LEVEL");
+}
+
+/**
* Read a password from stdin, disabling character echo
*
* @return a NUL-terminated C string containing the typed-in password. Caller must free the string with free(3)
@@ -147,6 +147,7 @@ main(int argc, char **argv)
break;
case 'd':
xlog_config(D_ALL, 1);
+ nsdb_enable_ldap_debugging();
break;
case 'D':
binddn = optarg;
@@ -141,6 +141,7 @@ main(int argc, char **argv)
switch (arg) {
case 'd':
xlog_config(D_ALL, 1);
+ nsdb_enable_ldap_debugging();
break;
case 'D':
binddn = optarg;
@@ -145,6 +145,7 @@ main(int argc, char **argv)
switch (arg) {
case 'd':
xlog_config(D_ALL, 1);
+ nsdb_enable_ldap_debugging();
break;
case 'D':
binddn = optarg;
@@ -140,6 +140,7 @@ main(int argc, char **argv)
switch (arg) {
case 'd':
xlog_config(D_ALL, 1);
+ nsdb_enable_ldap_debugging();
break;
case 'D':
binddn = optarg;
@@ -139,6 +139,7 @@ main(int argc, char **argv)
switch (arg) {
case 'd':
xlog_config(D_ALL, 1);
+ nsdb_enable_ldap_debugging();
break;
case 'D':
binddn = optarg;
@@ -129,6 +129,7 @@ main(int argc, char **argv)
switch (arg) {
case 'd':
xlog_config(D_ALL, 1);
+ nsdb_enable_ldap_debugging();
break;
case 'D':
binddn = optarg;
@@ -142,6 +142,7 @@ main(int argc, char **argv)
break;
case 'd':
xlog_config(D_ALL, 1);
+ nsdb_enable_ldap_debugging();
break;
case 'D':
binddn = optarg;
@@ -233,6 +233,7 @@ main(int argc, char **argv)
switch (arg) {
case 'd':
xlog_config(D_ALL, 1);
+ nsdb_enable_ldap_debugging();
break;
case 'e':
nce = optarg;
@@ -129,6 +129,7 @@ main(int argc, char **argv)
switch (arg) {
case 'd':
xlog_config(D_ALL, 1);
+ nsdb_enable_ldap_debugging();
break;
case 'l':
nsdbname = optarg;
@@ -131,6 +131,7 @@ main(int argc, char **argv)
switch (arg) {
case 'd':
xlog_config(D_ALL, 1);
+ nsdb_enable_ldap_debugging();
break;
case 'D':
binddn = optarg;
@@ -283,6 +283,7 @@ main(int argc, char **argv)
switch (arg) {
case 'd':
xlog_config(D_ALL, 1);
+ nsdb_enable_ldap_debugging();
break;
case 'e':
nce = optarg;
@@ -129,6 +129,7 @@ main(int argc, char **argv)
switch (arg) {
case 'd':
xlog_config(D_ALL, 1);
+ nsdb_enable_ldap_debugging();
break;
case 'D':
binddn = optarg;
@@ -143,6 +143,7 @@ main(int argc, char **argv)
switch (arg) {
case 'd':
xlog_config(D_ALL, 1);
+ nsdb_enable_ldap_debugging();
break;
case 'D':
binddn = optarg;
@@ -136,6 +136,7 @@ main(int argc, char **argv)
switch (arg) {
case 'd':
xlog_config(D_ALL, 1);
+ nsdb_enable_ldap_debugging();
break;
case 'D':
binddn = optarg;
Signed-off-by: Chuck Lever <chuck.lever@oracle.com> --- src/include/nsdb.h | 5 +++++ src/libnsdb/ldap.c | 22 ++++++++++++++++++++++ src/nsdbc/nsdb-annotate.c | 1 + src/nsdbc/nsdb-create-fsl.c | 1 + src/nsdbc/nsdb-create-fsn.c | 1 + src/nsdbc/nsdb-delete-fsl.c | 1 + src/nsdbc/nsdb-delete-fsn.c | 1 + src/nsdbc/nsdb-delete-nsdb.c | 1 + src/nsdbc/nsdb-describe.c | 1 + src/nsdbc/nsdb-list.c | 1 + src/nsdbc/nsdb-nces.c | 1 + src/nsdbc/nsdb-remove-nci.c | 1 + src/nsdbc/nsdb-resolve-fsn.c | 1 + src/nsdbc/nsdb-simple-nce.c | 1 + src/nsdbc/nsdb-update-fsl.c | 1 + src/nsdbc/nsdb-update-nci.c | 1 + 16 files changed, 41 insertions(+), 0 deletions(-)