@@ -616,8 +616,16 @@ nfsref_add_nfs_fedfs(const char *junct_path, char **argv, int optind)
nsdbname, nsdbport);
goto out_free;
case FEDFS_ERR_NSDB_LDAP_VAL:
- xlog(L_ERROR, "Failed to authenticate to NSDB %s:%u: %s",
- nsdbname, nsdbport, ldap_err2string(ldap_err));
+ switch (ldap_err) {
+ case LDAP_INVALID_CREDENTIALS:
+ xlog(L_ERROR, "Incorrect password for DN %s",
+ binddn);
+ break;
+ default:
+ xlog(L_ERROR, "Failed to bind to NSDB %s:%u: %s",
+ nsdbname, nsdbport,
+ ldap_err2string(ldap_err));
+ }
goto out_free;
default:
xlog(L_ERROR, "Failed to bind to NSDB %s:%u: %s",
@@ -191,9 +191,16 @@ nfsref_remove_delete_fsn(const char *junct_path)
nsdb_hostname(host), nsdb_port(host));
goto out_free;
case FEDFS_ERR_NSDB_LDAP_VAL:
- xlog(L_ERROR, "Failed to authenticate to NSDB %s:%u: %s",
- nsdb_hostname(host), nsdb_port(host),
- ldap_err2string(ldap_err));
+ switch (ldap_err) {
+ case LDAP_INVALID_CREDENTIALS:
+ xlog(L_ERROR, "Incorrect password for DN %s",
+ binddn);
+ break;
+ default:
+ xlog(L_ERROR, "Failed to bind to NSDB %s:%u: %s",
+ nsdb_hostname(host), nsdb_port(host),
+ ldap_err2string(ldap_err));
+ }
goto out_free;
default:
xlog(L_ERROR, "Failed to bind to NSDB %s:%u: %s",
@@ -266,8 +266,15 @@ main(int argc, char **argv)
nsdbname, nsdbport);
goto out_free;
case FEDFS_ERR_NSDB_LDAP_VAL:
- fprintf(stderr, "Failed to authenticate to NSDB %s:%u: %s\n",
- nsdbname, nsdbport, ldap_err2string(ldap_err));
+ switch (ldap_err) {
+ case LDAP_INVALID_CREDENTIALS:
+ fprintf(stderr, "Incorrect password for DN %s\n",
+ binddn);
+ break;
+ default:
+ fprintf(stderr, "Failed to bind to NSDB %s:%u: %s\n",
+ nsdbname, nsdbport, ldap_err2string(ldap_err));
+ }
goto out_free;
default:
fprintf(stderr, "Failed to bind to NSDB %s:%u: %s\n",
@@ -269,8 +269,15 @@ main(int argc, char **argv)
nsdbname, nsdbport);
goto out_free;
case FEDFS_ERR_NSDB_LDAP_VAL:
- fprintf(stderr, "Failed to authenticate to NSDB %s:%u: %s\n",
- nsdbname, nsdbport, ldap_err2string(ldap_err));
+ switch (ldap_err) {
+ case LDAP_INVALID_CREDENTIALS:
+ fprintf(stderr, "Incorrect password for DN %s\n",
+ binddn);
+ break;
+ default:
+ fprintf(stderr, "Failed to bind to NSDB %s:%u: %s\n",
+ nsdbname, nsdbport, ldap_err2string(ldap_err));
+ }
goto out_free;
default:
fprintf(stderr, "Failed to bind to NSDB %s:%u: %s\n",
@@ -246,8 +246,15 @@ main(int argc, char **argv)
nsdbname, nsdbport);
goto out_free;
case FEDFS_ERR_NSDB_LDAP_VAL:
- fprintf(stderr, "Failed to authenticate to NSDB %s:%u: %s\n",
- nsdbname, nsdbport, ldap_err2string(ldap_err));
+ switch (ldap_err) {
+ case LDAP_INVALID_CREDENTIALS:
+ fprintf(stderr, "Incorrect password for DN %s\n",
+ binddn);
+ break;
+ default:
+ fprintf(stderr, "Failed to bind to NSDB %s:%u: %s\n",
+ nsdbname, nsdbport, ldap_err2string(ldap_err));
+ }
goto out_free;
default:
fprintf(stderr, "Failed to bind to NSDB %s:%u: %s\n",
@@ -228,8 +228,15 @@ main(int argc, char **argv)
nsdbname, nsdbport);
goto out_free;
case FEDFS_ERR_NSDB_LDAP_VAL:
- fprintf(stderr, "Failed to authenticate to NSDB %s:%u: %s\n",
- nsdbname, nsdbport, ldap_err2string(ldap_err));
+ switch (ldap_err) {
+ case LDAP_INVALID_CREDENTIALS:
+ fprintf(stderr, "Incorrect password for DN %s\n",
+ binddn);
+ break;
+ default:
+ fprintf(stderr, "Failed to bind to NSDB %s:%u: %s\n",
+ nsdbname, nsdbport, ldap_err2string(ldap_err));
+ }
goto out_free;
default:
fprintf(stderr, "Failed to bind to NSDB %s:%u: %s\n",
@@ -230,8 +230,15 @@ main(int argc, char **argv)
nsdbname, nsdbport);
goto out_free;
case FEDFS_ERR_NSDB_LDAP_VAL:
- fprintf(stderr, "Failed to authenticate to NSDB %s:%u: %s\n",
- nsdbname, nsdbport, ldap_err2string(ldap_err));
+ switch (ldap_err) {
+ case LDAP_INVALID_CREDENTIALS:
+ fprintf(stderr, "Incorrect password for DN %s\n",
+ binddn);
+ break;
+ default:
+ fprintf(stderr, "Failed to bind to NSDB %s:%u: %s\n",
+ nsdbname, nsdbport, ldap_err2string(ldap_err));
+ }
goto out_free;
default:
fprintf(stderr, "Failed to bind to NSDB %s:%u: %s\n",
@@ -203,8 +203,15 @@ main(int argc, char **argv)
nsdbname, nsdbport);
goto out_free;
case FEDFS_ERR_NSDB_LDAP_VAL:
- fprintf(stderr, "Failed to authenticate to NSDB %s:%u: %s\n",
- nsdbname, nsdbport, ldap_err2string(ldap_err));
+ switch (ldap_err) {
+ case LDAP_INVALID_CREDENTIALS:
+ fprintf(stderr, "Incorrect password for DN %s\n",
+ binddn);
+ break;
+ default:
+ fprintf(stderr, "Failed to bind to NSDB %s:%u: %s\n",
+ nsdbname, nsdbport, ldap_err2string(ldap_err));
+ }
goto out_free;
default:
fprintf(stderr, "Failed to bind to NSDB %s:%u: %s\n",
@@ -223,8 +223,15 @@ main(int argc, char **argv)
nsdbname, nsdbport);
goto out_free;
case FEDFS_ERR_NSDB_LDAP_VAL:
- fprintf(stderr, "Failed to authenticate to NSDB %s:%u: %s\n",
- nsdbname, nsdbport, ldap_err2string(ldap_err));
+ switch (ldap_err) {
+ case LDAP_INVALID_CREDENTIALS:
+ fprintf(stderr, "Incorrect password for DN %s\n",
+ binddn);
+ break;
+ default:
+ fprintf(stderr, "Failed to bind to NSDB %s:%u: %s\n",
+ nsdbname, nsdbport, ldap_err2string(ldap_err));
+ }
goto out_free;
default:
fprintf(stderr, "Failed to bind to NSDB %s:%u: %s\n",
@@ -293,7 +293,7 @@ again:
nsdbname, nsdbport);
goto out_free;
case FEDFS_ERR_NSDB_LDAP_VAL:
- fprintf(stderr, "Failed to authenticate to NSDB %s:%u: %s\n",
+ fprintf(stderr, "Failed to bind to NSDB %s:%u: %s\n",
nsdbname, nsdbport, ldap_err2string(ldap_err));
goto out_free;
default:
@@ -185,7 +185,7 @@ main(int argc, char **argv)
nsdbname, nsdbport);
goto out_free;
case FEDFS_ERR_NSDB_LDAP_VAL:
- fprintf(stderr, "Failed to authenticate to NSDB %s:%u: %s\n",
+ fprintf(stderr, "Failed to bind to NSDB %s:%u: %s\n",
nsdbname, nsdbport, ldap_err2string(ldap_err));
goto out_free;
default:
@@ -198,8 +198,15 @@ main(int argc, char **argv)
nsdbname, nsdbport);
goto out_free;
case FEDFS_ERR_NSDB_LDAP_VAL:
- fprintf(stderr, "Failed to authenticate to NSDB %s:%u: %s\n",
- nsdbname, nsdbport, ldap_err2string(ldap_err));
+ switch (ldap_err) {
+ case LDAP_INVALID_CREDENTIALS:
+ fprintf(stderr, "Incorrect password for DN %s\n",
+ binddn);
+ break;
+ default:
+ fprintf(stderr, "Failed to bind to NSDB %s:%u: %s\n",
+ nsdbname, nsdbport, ldap_err2string(ldap_err));
+ }
goto out_free;
default:
fprintf(stderr, "Failed to bind to NSDB %s:%u: %s\n",
@@ -353,7 +353,7 @@ again:
nsdbname, nsdbport);
goto out_free;
case FEDFS_ERR_NSDB_LDAP_VAL:
- fprintf(stderr, "Failed to authenticate to NSDB %s:%u: %s\n",
+ fprintf(stderr, "Failed to bind to NSDB %s:%u: %s\n",
nsdbname, nsdbport, ldap_err2string(ldap_err));
goto out_free;
default:
@@ -198,8 +198,15 @@ main(int argc, char **argv)
nsdbname, nsdbport);
goto out_free;
case FEDFS_ERR_NSDB_LDAP_VAL:
- fprintf(stderr, "Failed to authenticate to NSDB %s:%u: %s\n",
- nsdbname, nsdbport, ldap_err2string(ldap_err));
+ switch (ldap_err) {
+ case LDAP_INVALID_CREDENTIALS:
+ fprintf(stderr, "Incorrect password for DN %s\n",
+ binddn);
+ break;
+ default:
+ fprintf(stderr, "Failed to bind to NSDB %s:%u: %s\n",
+ nsdbname, nsdbport, ldap_err2string(ldap_err));
+ }
goto out_free;
default:
fprintf(stderr, "Failed to bind to NSDB %s:%u: %s\n",
@@ -239,8 +239,15 @@ main(int argc, char **argv)
nsdbname, nsdbport);
goto out_free;
case FEDFS_ERR_NSDB_LDAP_VAL:
- fprintf(stderr, "Failed to authenticate to NSDB %s:%u: %s\n",
- nsdbname, nsdbport, ldap_err2string(ldap_err));
+ switch (ldap_err) {
+ case LDAP_INVALID_CREDENTIALS:
+ fprintf(stderr, "Incorrect password for DN %s\n",
+ binddn);
+ break;
+ default:
+ fprintf(stderr, "Failed to bind to NSDB %s:%u: %s\n",
+ nsdbname, nsdbport, ldap_err2string(ldap_err));
+ }
goto out_free;
default:
fprintf(stderr, "Failed to bind to NSDB %s:%u: %s\n",
@@ -206,8 +206,15 @@ main(int argc, char **argv)
nsdbname, nsdbport);
goto out_free;
case FEDFS_ERR_NSDB_LDAP_VAL:
- fprintf(stderr, "Failed to authenticate to NSDB %s:%u: %s\n",
- nsdbname, nsdbport, ldap_err2string(ldap_err));
+ switch (ldap_err) {
+ case LDAP_INVALID_CREDENTIALS:
+ fprintf(stderr, "Incorrect password for DN %s\n",
+ binddn);
+ break;
+ default:
+ fprintf(stderr, "Failed to bind to NSDB %s:%u: %s\n",
+ nsdbname, nsdbport, ldap_err2string(ldap_err));
+ }
goto out_free;
default:
fprintf(stderr, "Failed to bind to NSDB %s:%u: %s\n",
nsdb_open_nsdb() reports that a bind password is not working by returning FEDFS_ERR_NSDB_LDAP_VAL with ldap_err = LDAP_INVALID_CREDENTIALS. Have NSDB clients display a specific and helpful error message in this case. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> --- src/nfsref/add.c | 12 ++++++++++-- src/nfsref/remove.c | 13 ++++++++++--- src/nsdbc/nsdb-annotate.c | 11 +++++++++-- src/nsdbc/nsdb-create-fsl.c | 11 +++++++++-- src/nsdbc/nsdb-create-fsn.c | 11 +++++++++-- src/nsdbc/nsdb-delete-fsl.c | 11 +++++++++-- src/nsdbc/nsdb-delete-fsn.c | 11 +++++++++-- src/nsdbc/nsdb-delete-nsdb.c | 11 +++++++++-- src/nsdbc/nsdb-describe.c | 11 +++++++++-- src/nsdbc/nsdb-list.c | 2 +- src/nsdbc/nsdb-nces.c | 2 +- src/nsdbc/nsdb-remove-nci.c | 11 +++++++++-- src/nsdbc/nsdb-resolve-fsn.c | 2 +- src/nsdbc/nsdb-simple-nce.c | 11 +++++++++-- src/nsdbc/nsdb-update-fsl.c | 11 +++++++++-- src/nsdbc/nsdb-update-nci.c | 11 +++++++++-- 16 files changed, 122 insertions(+), 30 deletions(-)