Simplify the libnsdb APIs for managing NCEs by removing the *ldaperr argument. When it is needed, the ldaperr value can be extracted with the new nsdb_ldaperr() function.
Signed-off-by: Chuck Lever <[email protected]> --- src/include/nsdb.h | 11 +-- src/libnsdb/administrator.c | 164 ++++++++++++++++++------------------------ src/nsdbc/nsdb-delete-nsdb.c | 7 +- src/nsdbc/nsdb-remove-nci.c | 7 +- src/nsdbc/nsdb-simple-nce.c | 11 +-- src/nsdbc/nsdb-update-nci.c | 9 +- 6 files changed, 88 insertions(+), 121 deletions(-) diff --git a/src/include/nsdb.h b/src/include/nsdb.h index 7fec490..bad3e83 100644 --- a/src/include/nsdb.h +++ b/src/include/nsdb.h @@ -337,21 +337,18 @@ FedFsStatus nsdb_update_fsl_s(nsdb_t host, const char *nce, * Create a simple "ou=fedfs" entry */ FedFsStatus nsdb_create_simple_nce_s(nsdb_t host, const char *parent, - char **dn, unsigned int *ldap_err); + char **dn); /** * Update or remove NSDB container information */ -FedFsStatus nsdb_update_nci_s(nsdb_t host, const char *nce, - unsigned int *ldap_err); -FedFsStatus nsdb_remove_nci_s(nsdb_t host, const char *nce, - unsigned int *ldap_err); +FedFsStatus nsdb_update_nci_s(nsdb_t host, const char *nce); +FedFsStatus nsdb_remove_nci_s(nsdb_t host, const char *nce); /** * Remove all FedFS entries on an NSDB */ -FedFsStatus nsdb_delete_nsdb_s(nsdb_t host, const char *nce, - unsigned int *ldap_err); +FedFsStatus nsdb_delete_nsdb_s(nsdb_t host, const char *nce); /** * Display or alter an object's fedfsDescription attribute diff --git a/src/libnsdb/administrator.c b/src/libnsdb/administrator.c index 0b2a3eb..c813afa 100644 --- a/src/libnsdb/administrator.c +++ b/src/libnsdb/administrator.c @@ -128,18 +128,17 @@ __nsdb_search_nsdb_nofilter_s(const char *func, LDAP *ld, const char *base, * Modify a FedFS-related record on an NSDB * * @param func NUL-terminated C string containing a function name - * @param ld an initialized LDAP server descriptor + * @param host an initialized and bound nsdb_t object * @param dn a NUL-terminated C string containing DN of NSDB container entry * @param mods filled-in LDAP modification array - * @param ldap_err OUT: possibly an LDAP error code * @return an LDAP result code */ static int -__nsdb_modify_nsdb_s(const char *func, LDAP *ld, const char *dn, LDAPMod **mods, - unsigned int *ldap_err) +__nsdb_modify_nsdb_s(const char *func, nsdb_t host, const char *dn, + LDAPMod **mods) { + LDAP *ld = host->fn_ldap; char *uri; - int rc; if (ldap_get_option(ld, LDAP_OPT_URI, &uri) == LDAP_OPT_SUCCESS) { xlog(D_CALL, "%s: modifying %s on %s", func, dn, uri); @@ -147,11 +146,10 @@ __nsdb_modify_nsdb_s(const char *func, LDAP *ld, const char *dn, LDAPMod **mods, } else xlog(D_CALL, "%s: modifying %s", func, dn); - rc = ldap_modify_ext_s(ld, dn, mods, NULL, NULL); - if (rc != LDAP_SUCCESS) { + host->fn_ldaperr = ldap_modify_ext_s(ld, dn, mods, NULL, NULL); + if (host->fn_ldaperr != LDAP_SUCCESS) { xlog(D_GENERAL, "%s: Failed to update %s: %s", - func, dn, ldap_err2string(rc)); - *ldap_err = rc; + func, dn, ldap_err2string(host->fn_ldaperr)); return FEDFS_ERR_NSDB_LDAP_VAL; } @@ -162,8 +160,8 @@ __nsdb_modify_nsdb_s(const char *func, LDAP *ld, const char *dn, LDAPMod **mods, /** * Hide the __func__ argument at call sites */ -#define nsdb_modify_nsdb_s(ld, dn, mods, ldaperr) \ - __nsdb_modify_nsdb_s(__func__, ld, dn, mods, ldaperr) +#define nsdb_modify_nsdb_s(host, dn, mods) \ + __nsdb_modify_nsdb_s(__func__, host, dn, mods) /** * Construct the DN of an FSN entry @@ -1253,9 +1251,8 @@ nsdb_update_fsl_s(nsdb_t host, const char *nce, const char *fsl_uuid, /** * Add a new top-level o=fedfs entry * - * @param ld an initialized LDAP server descriptor + * @param host an initialized and bound nsdb_t object * @param dn OUT: a NUL-terminated C string containing DN of new NCE - * @param ldap_err OUT: possibly an LDAP error code * @return a FedFsStatus code * * Caller must free "dn" with ber_memfree(3). @@ -1273,15 +1270,14 @@ nsdb_update_fsl_s(nsdb_t host, const char *nce, const char *fsl_uuid, @endverbatim */ static FedFsStatus -nsdb_create_nce_add_top_entry(LDAP *ld, char **dn, - unsigned int *ldap_err) +nsdb_create_nce_add_top_entry(nsdb_t host, char **dn) { char *ocvals[4], *ouvals[2]; LDAPMod *attrs[3]; LDAPMod attr[2]; size_t len; - int i, rc; char *nce; + int i; for (i = 0; i < 3; i++) attrs[i] = &attr[i]; @@ -1305,12 +1301,12 @@ nsdb_create_nce_add_top_entry(LDAP *ld, char **dn, (void)sprintf(nce, "o=fedfs"); xlog(D_CALL, "%s: Using DN '%s'", __func__, nce); - rc = ldap_add_ext_s(ld, nce, attrs, NULL, NULL); - if (rc != LDAP_SUCCESS) { + host->fn_ldaperr = ldap_add_ext_s(host->fn_ldap, nce, attrs, + NULL, NULL); + if (host->fn_ldaperr != LDAP_SUCCESS) { ber_memfree(nce); xlog(D_GENERAL, "Failed to add new blank NCE: %s", - ldap_err2string(rc)); - *ldap_err = rc; + ldap_err2string(host->fn_ldaperr)); return FEDFS_ERR_NSDB_LDAP_VAL; } @@ -1322,10 +1318,9 @@ nsdb_create_nce_add_top_entry(LDAP *ld, char **dn, /** * Add a new ou=fedfs entry under "parent" * - * @param ld an initialized LDAP server descriptor + * @param host an initialized and bound nsdb_t object * @param parent a NUL-terminated C string containing DN of parent * @param dn OUT: a NUL-terminated C string containing DN of new NCE - * @param ldap_err OUT: possibly an LDAP error code * @return a FedFsStatus code * * Caller must free "dn" with ber_memfree(3). @@ -1343,15 +1338,14 @@ nsdb_create_nce_add_top_entry(LDAP *ld, char **dn, @endverbatim */ static FedFsStatus -nsdb_create_nce_add_entry(LDAP *ld, const char *parent, char **dn, - unsigned int *ldap_err) +nsdb_create_nce_add_entry(nsdb_t host, const char *parent, char **dn) { char *ocvals[4], *ouvals[2]; LDAPMod *attrs[3]; LDAPMod attr[2]; size_t len; - int i, rc; char *nce; + int i; for (i = 0; i < 3; i++) attrs[i] = &attr[i]; @@ -1375,12 +1369,12 @@ nsdb_create_nce_add_entry(LDAP *ld, const char *parent, char **dn, (void)sprintf(nce, "ou=fedfs,%s", parent); xlog(D_CALL, "%s: Using DN '%s'", __func__, nce); - rc = ldap_add_ext_s(ld, nce, attrs, NULL, NULL); - if (rc != LDAP_SUCCESS) { + host->fn_ldaperr = ldap_add_ext_s(host->fn_ldap, nce, attrs, + NULL, NULL); + if (host->fn_ldaperr != LDAP_SUCCESS) { ber_memfree(nce); xlog(D_GENERAL, "%s: Failed to add new blank NCE: %s", - __func__, ldap_err2string(rc)); - *ldap_err = rc; + __func__, ldap_err2string(host->fn_ldaperr)); return FEDFS_ERR_NSDB_LDAP_VAL; } @@ -1395,7 +1389,6 @@ nsdb_create_nce_add_entry(LDAP *ld, const char *parent, char **dn, * @param host an initialized and bound nsdb_t object * @param parent a NUL-terminated C string containing DN of parent * @param dn OUT: a NUL-terminated C string containing DN of new NCE - * @param ldap_err OUT: possibly an LDAP error code * @return a FedFsStatus code * * Caller must free "dn" with free(3). @@ -1404,8 +1397,7 @@ nsdb_create_nce_add_entry(LDAP *ld, const char *parent, char **dn, * the simple case of an "ou=fedfs" entry under some other entry. */ FedFsStatus -nsdb_create_simple_nce_s(nsdb_t host, const char *parent, - char **dn, unsigned int *ldap_err) +nsdb_create_simple_nce_s(nsdb_t host, const char *parent, char **dn) { FedFsStatus retval; char *nce; @@ -1420,17 +1412,15 @@ nsdb_create_simple_nce_s(nsdb_t host, const char *parent, return FEDFS_ERR_INVAL; } - if (parent == NULL || ldap_err == NULL) { + if (parent == NULL) { xlog(L_ERROR, "%s: Invalid parameter", __func__); return FEDFS_ERR_INVAL; } if (parent[0] == '\0') - retval = nsdb_create_nce_add_top_entry(host->fn_ldap, - &nce, ldap_err); + retval = nsdb_create_nce_add_top_entry(host, &nce); else - retval = nsdb_create_nce_add_entry(host->fn_ldap, parent, - &nce, ldap_err); + retval = nsdb_create_nce_add_entry(host, parent, &nce); if (retval != FEDFS_OK) return retval; @@ -1450,10 +1440,9 @@ nsdb_create_simple_nce_s(nsdb_t host, const char *parent, /** * Update NSDB Container Info in a namingContext entry * - * @param ld an initialized LDAP server descriptor + * @param host an initialized and bound nsdb_t object * @param context a NUL-terminated C string containing DN of namingContext * @param nce a NUL-terminated C string containing value of new FedFsNceDN attribute - * @param ldap_err OUT: possibly an LDAP error code * @return a FedFsStatus code * * LDIF equivalent: @@ -1470,8 +1459,7 @@ nsdb_create_simple_nce_s(nsdb_t host, const char *parent, @endverbatim */ static FedFsStatus -nsdb_add_nci_attributes_s(LDAP *ld, const char *context, - const char *nce, unsigned int *ldap_err) +nsdb_add_nci_attributes_s(nsdb_t host, const char *context, const char *nce) { char *ocvals[2], *ncevals[2]; LDAPMod *mods[3]; @@ -1488,7 +1476,7 @@ nsdb_add_nci_attributes_s(LDAP *ld, const char *context, "fedfsNceDN", ncevals, nce); mods[i] = NULL; - return nsdb_modify_nsdb_s(ld, context, mods, ldap_err); + return nsdb_modify_nsdb_s(host, context, mods); } /** @@ -1496,11 +1484,10 @@ nsdb_add_nci_attributes_s(LDAP *ld, const char *context, * * @param host an initialized and bound nsdb_t object * @param nce a NUL-terminated C string containing DN of NSDB container entry - * @param ldap_err OUT: possibly an LDAP error code * @return a FedFsStatus code */ FedFsStatus -nsdb_update_nci_s(nsdb_t host, const char *nce, unsigned int *ldap_err) +nsdb_update_nci_s(nsdb_t host, const char *nce) { FedFsStatus retval; char *context; @@ -1515,19 +1502,16 @@ nsdb_update_nci_s(nsdb_t host, const char *nce, unsigned int *ldap_err) return FEDFS_ERR_INVAL; } - if (nce == NULL || ldap_err == NULL) { + if (nce == NULL) { xlog(L_ERROR, "%s: Invalid parameter", __func__); return FEDFS_ERR_INVAL; } retval = nsdb_find_naming_context_s(host, nce, &context); - if (retval != FEDFS_OK) { - *ldap_err = (unsigned int)nsdb_ldaperr(host); + if (retval != FEDFS_OK) return retval; - } - retval = nsdb_add_nci_attributes_s(host->fn_ldap, context, nce, - ldap_err); + retval = nsdb_add_nci_attributes_s(host, context, nce); free(context); return retval; } @@ -1535,9 +1519,8 @@ nsdb_update_nci_s(nsdb_t host, const char *nce, unsigned int *ldap_err) /** * Remove fedfsNsdbContainerEntry from NCE object * - * @param ld an initialized LDAP server descriptor + * @param host an initialized and bound nsdb_t object * @param nce a NUL-terminated C string containing DN of an NCE - * @param ldap_err OUT: possibly an LDAP error code * @return a FedFsStatus code * * LDIF equivalent: @@ -1551,8 +1534,7 @@ nsdb_update_nci_s(nsdb_t host, const char *nce, unsigned int *ldap_err) @endverbatim */ static FedFsStatus -nsdb_remove_nce_objectclass_s(LDAP *ld, const char *nce, - unsigned int *ldap_err) +nsdb_remove_nce_objectclass_s(nsdb_t host, const char *nce) { LDAPMod *mods[3]; char *ocvals[2]; @@ -1568,15 +1550,14 @@ nsdb_remove_nce_objectclass_s(LDAP *ld, const char *nce, "fedfsNsdbContainerEntry"); mods[i] = NULL; - return nsdb_modify_nsdb_s(ld, nce, mods, ldap_err); + return nsdb_modify_nsdb_s(host, nce, mods); } /** * Remove NSDB Container Info from a namingContext object * - * @param ld an initialized LDAP server descriptor + * @param host an initialized and bound nsdb_t object * @param context a NUL-terminated C string containing DN of namingContext - * @param ldap_err OUT: possibly an LDAP error code * @return a FedFsStatus code * * LDIF equivalent: @@ -1592,8 +1573,7 @@ nsdb_remove_nce_objectclass_s(LDAP *ld, const char *nce, @endverbatim */ static FedFsStatus -nsdb_remove_nci_attributes_s(LDAP *ld, const char *context, - unsigned int *ldap_err) +nsdb_remove_nci_attributes_s(nsdb_t host, const char *context) { LDAPMod *mods[3]; char *ocvals[2]; @@ -1610,7 +1590,7 @@ nsdb_remove_nci_attributes_s(LDAP *ld, const char *context, "fedfsNceDN", NULL, NULL); mods[i] = NULL; - return nsdb_modify_nsdb_s(ld, context, mods, ldap_err); + return nsdb_modify_nsdb_s(host, context, mods); } /** @@ -1618,11 +1598,10 @@ nsdb_remove_nci_attributes_s(LDAP *ld, const char *context, * * @param host an initialized and bound nsdb_t object * @param nce a NUL-terminated C string containing DN of NSDB container entry - * @param ldap_err OUT: possibly an LDAP error code * @return a FedFsStatus code */ FedFsStatus -nsdb_remove_nci_s(nsdb_t host, const char *nce, unsigned int *ldap_err) +nsdb_remove_nci_s(nsdb_t host, const char *nce) { FedFsStatus retval; char *context; @@ -1637,22 +1616,20 @@ nsdb_remove_nci_s(nsdb_t host, const char *nce, unsigned int *ldap_err) return FEDFS_ERR_INVAL; } - if (nce == NULL || ldap_err == NULL) { + if (nce == NULL) { xlog(L_ERROR, "%s: Invalid parameter", __func__); return FEDFS_ERR_INVAL; } retval = nsdb_find_naming_context_s(host, nce, &context); - if (retval != FEDFS_OK) { - *ldap_err = (unsigned int)nsdb_ldaperr(host); + if (retval != FEDFS_OK) return retval; - } - retval = nsdb_remove_nce_objectclass_s(host->fn_ldap, nce, ldap_err); + retval = nsdb_remove_nce_objectclass_s(host, nce); if (retval != FEDFS_OK) goto out; - retval = nsdb_remove_nci_attributes_s(host->fn_ldap, context, ldap_err); + retval = nsdb_remove_nci_attributes_s(host, context); out: free(context); @@ -1662,33 +1639,30 @@ out: /** * Delete one FSN child * - * @param ld an initialized LDAP server descriptor + * @param host an initialized and bound nsdb_t object * @param entry an LDAP_RES_SEARCH_ENTRY message - * @param ldap_err OUT: possibly an LDAP error code * @return a FedFsStatus code */ static FedFsStatus -nsdb_parse_delete_nsdb_fsns_entry_s(LDAP *ld, LDAPMessage *entry, - unsigned int *ldap_err) +nsdb_parse_delete_nsdb_fsns_entry_s(nsdb_t host, LDAPMessage *entry) { + LDAP *ld = host->fn_ldap; FedFsStatus retval; char *dn; - int rc; dn = ldap_get_dn(ld, entry); if (dn == NULL) { - ldap_get_option(ld, LDAP_OPT_RESULT_CODE, &rc); + ldap_get_option(ld, LDAP_OPT_RESULT_CODE, &host->fn_ldaperr); xlog(D_GENERAL, "%s: Failed to parse entry: %s", - __func__, ldap_err2string(rc)); - *ldap_err = rc; + __func__, ldap_err2string(host->fn_ldaperr)); return FEDFS_ERR_NSDB_LDAP_VAL; } - retval = nsdb_delete_fsn_fsls_s(ld, dn, ldap_err); + retval = nsdb_delete_fsn_fsls_s(host->fn_ldap, dn, &host->fn_ldaperr); if (retval != FEDFS_OK) goto out; - retval = nsdb_delete_fsn_entry_s(ld, dn, ldap_err); + retval = nsdb_delete_fsn_entry_s(ld, dn, &host->fn_ldaperr); out: ber_memfree(dn); @@ -1698,23 +1672,23 @@ out: /** * Remove all FSN records from an NSDB * - * @param ld an initialized LDAP server descriptor + * @param host an initialized and bound nsdb_t object * @param nce a NUL-terminated C string containing DN of NSDB container entry - * @param ldap_err OUT: possibly an LDAP error code * @return a FedFsStatus code */ static FedFsStatus -nsdb_delete_nsdb_fsns_s(LDAP *ld, const char *nce, unsigned int *ldap_err) +nsdb_delete_nsdb_fsns_s(nsdb_t host, const char *nce) { LDAPMessage *message, *response; + LDAP *ld = host->fn_ldap; FedFsStatus retval; - int entries, rc; + int entries; xlog(D_CALL, "%s: searching for children of %s", __func__, nce); again: - rc = nsdb_search_nsdb_nofilter_s(ld, nce, &response); - switch (rc) { + host->fn_ldaperr = nsdb_search_nsdb_nofilter_s(ld, nce, &response); + switch (host->fn_ldaperr) { case LDAP_SUCCESS: case LDAP_SIZELIMIT_EXCEEDED: break; @@ -1724,8 +1698,7 @@ again: return FEDFS_OK; default: xlog(D_GENERAL, "%s: Failed to retrieve entries for %s: %s", - __func__, nce, ldap_err2string(rc)); - *ldap_err = rc; + __func__, nce, ldap_err2string(host->fn_ldaperr)); return FEDFS_ERR_NSDB_LDAP_VAL; } if (response == NULL) { @@ -1748,11 +1721,12 @@ again: message = ldap_next_message(ld, message)) { switch (ldap_msgtype(message)) { case LDAP_RES_SEARCH_ENTRY: - retval = nsdb_parse_delete_nsdb_fsns_entry_s(ld, message, - ldap_err); + retval = nsdb_parse_delete_nsdb_fsns_entry_s(host, + message); break; case LDAP_RES_SEARCH_RESULT: - retval = nsdb_parse_result(ld, message, NULL, ldap_err); + retval = nsdb_parse_result(ld, message, NULL, + &host->fn_ldaperr); break; default: xlog(L_ERROR, "%s: Unrecognized LDAP message type", @@ -1763,7 +1737,8 @@ again: out: ldap_msgfree(response); - if (rc == LDAP_SIZELIMIT_EXCEEDED && retval == FEDFS_OK) + if (host->fn_ldaperr == LDAP_SIZELIMIT_EXCEEDED && + retval == FEDFS_OK) goto again; return retval; } @@ -1773,11 +1748,10 @@ out: * * @param host an initialized and bound nsdb_t object * @param nce a NUL-terminated C string containing DN of NSDB container entry - * @param ldap_err OUT: possibly an LDAP error code * @return a FedFsStatus code */ FedFsStatus -nsdb_delete_nsdb_s(nsdb_t host, const char *nce, unsigned int *ldap_err) +nsdb_delete_nsdb_s(nsdb_t host, const char *nce) { FedFsStatus retval; @@ -1791,16 +1765,16 @@ nsdb_delete_nsdb_s(nsdb_t host, const char *nce, unsigned int *ldap_err) return FEDFS_ERR_INVAL; } - if (nce == NULL || ldap_err == NULL) { + if (nce == NULL) { xlog(L_ERROR, "%s: Invalid parameter", __func__); return FEDFS_ERR_INVAL; } - retval = nsdb_remove_nci_s(host, nce, ldap_err); + retval = nsdb_remove_nci_s(host, nce); if (retval != FEDFS_OK) return retval; - return nsdb_delete_nsdb_fsns_s(host->fn_ldap, nce, ldap_err); + return nsdb_delete_nsdb_fsns_s(host, nce); } /** diff --git a/src/nsdbc/nsdb-delete-nsdb.c b/src/nsdbc/nsdb-delete-nsdb.c index 673170f..1b51684 100644 --- a/src/nsdbc/nsdb-delete-nsdb.c +++ b/src/nsdbc/nsdb-delete-nsdb.c @@ -96,7 +96,6 @@ main(int argc, char **argv) { char *progname, *binddn, *nsdbname; unsigned short nsdbport; - unsigned int ldap_err; FedFsStatus retval; nsdb_t host; char *nce; @@ -214,7 +213,7 @@ main(int argc, char **argv) goto out_free; } - retval = nsdb_delete_nsdb_s(host, nce, &ldap_err); + retval = nsdb_delete_nsdb_s(host, nce); switch (retval) { case FEDFS_OK: printf("Successfully removed NCE %s\n", nce); @@ -223,7 +222,7 @@ main(int argc, char **argv) fprintf(stderr, "NCE %s does not exist\n", nce); break; case FEDFS_ERR_NSDB_LDAP_VAL: - switch (ldap_err) { + switch (nsdb_ldaperr(host)) { case LDAP_REFERRAL: fprintf(stderr, "Encountered LDAP referral on %s:%u\n", nsdbname, nsdbport); @@ -234,7 +233,7 @@ main(int argc, char **argv) break; default: fprintf(stderr, "Failed to remove NCE %s: %s\n", - nce, ldap_err2string(ldap_err)); + nce, nsdb_ldaperr2string(host)); } break; default: diff --git a/src/nsdbc/nsdb-remove-nci.c b/src/nsdbc/nsdb-remove-nci.c index d5d44a2..d98410d 100644 --- a/src/nsdbc/nsdb-remove-nci.c +++ b/src/nsdbc/nsdb-remove-nci.c @@ -98,7 +98,6 @@ main(int argc, char **argv) { char *progname, *binddn, *nsdbname; unsigned short nsdbport; - unsigned int ldap_err; FedFsStatus retval; nsdb_t host; char *nce; @@ -211,7 +210,7 @@ main(int argc, char **argv) if (nce == NULL) nce = (char *)nsdb_default_nce(host); - retval = nsdb_remove_nci_s(host, nce, &ldap_err); + retval = nsdb_remove_nci_s(host, nce); switch (retval) { case FEDFS_OK: printf("Successfully removed NCI for NCE %s\n", nce); @@ -220,7 +219,7 @@ main(int argc, char **argv) fprintf(stderr, "NCE %s does not exist\n", nce); break; case FEDFS_ERR_NSDB_LDAP_VAL: - switch (ldap_err) { + switch (nsdb_ldaperr(host)) { case LDAP_REFERRAL: fprintf(stderr, "Encountered LDAP referral on %s:%u\n", nsdbname, nsdbport); @@ -231,7 +230,7 @@ main(int argc, char **argv) break; default: fprintf(stderr, "Failed to remove NCI for NCE %s: %s\n", - nce, ldap_err2string(ldap_err)); + nce, nsdb_ldaperr2string(host)); } break; default: diff --git a/src/nsdbc/nsdb-simple-nce.c b/src/nsdbc/nsdb-simple-nce.c index dce4b31..4eba7b1 100644 --- a/src/nsdbc/nsdb-simple-nce.c +++ b/src/nsdbc/nsdb-simple-nce.c @@ -97,7 +97,6 @@ main(int argc, char **argv) { char *progname, *binddn, *nsdbname, *nce, *parent; unsigned short nsdbport; - unsigned int ldap_err; FedFsStatus retval; nsdb_t host; int arg; @@ -209,13 +208,13 @@ main(int argc, char **argv) goto out_free; } - retval = nsdb_create_simple_nce_s(host, parent, &nce, &ldap_err); + retval = nsdb_create_simple_nce_s(host, parent, &nce); switch (retval) { case FEDFS_OK: break; case FEDFS_ERR_NSDB_LDAP_VAL: fprintf(stderr, "Failed to create NCE: %s\n", - ldap_err2string(ldap_err)); + nsdb_ldaperr2string(host)); goto out_close; default: fprintf(stderr, "Failed to create NCE: %s\n", @@ -223,7 +222,7 @@ main(int argc, char **argv) goto out_close; } - retval = nsdb_update_nci_s(host, nce, &ldap_err); + retval = nsdb_update_nci_s(host, nce); switch (retval) { case FEDFS_OK: printf("Successfully created NCE %s\n", nce); @@ -234,7 +233,7 @@ main(int argc, char **argv) "for this NSDB\n", nce); break; case FEDFS_ERR_NSDB_LDAP_VAL: - switch (ldap_err) { + switch (nsdb_ldaperr(host)) { case LDAP_REFERRAL: fprintf(stderr, "Encountered LDAP referral on %s:%u\n", nsdbname, nsdbport); @@ -245,7 +244,7 @@ main(int argc, char **argv) break; default: fprintf(stderr, "Failed to update NCI: %s\n", - ldap_err2string(ldap_err)); + nsdb_ldaperr2string(host)); } break; default: diff --git a/src/nsdbc/nsdb-update-nci.c b/src/nsdbc/nsdb-update-nci.c index f2b0295..22d93f9 100644 --- a/src/nsdbc/nsdb-update-nci.c +++ b/src/nsdbc/nsdb-update-nci.c @@ -102,7 +102,6 @@ main(int argc, char **argv) { char *progname, *binddn, *nsdbname, *nce; unsigned short nsdbport; - unsigned int ldap_err; FedFsStatus retval; _Bool delete; nsdb_t host; @@ -227,9 +226,9 @@ main(int argc, char **argv) } if (delete) - retval = nsdb_remove_nci_s(host, nce, &ldap_err); + retval = nsdb_remove_nci_s(host, nce); else - retval = nsdb_update_nci_s(host, nce, &ldap_err); + retval = nsdb_update_nci_s(host, nce); switch (retval) { case FEDFS_OK: printf("Successfully updated NCI\n"); @@ -239,7 +238,7 @@ main(int argc, char **argv) "for this NSDB\n", nce); break; case FEDFS_ERR_NSDB_LDAP_VAL: - switch (ldap_err) { + switch (nsdb_ldaperr(host)) { case LDAP_REFERRAL: fprintf(stderr, "Encountered LDAP referral on %s:%u\n", nsdbname, nsdbport); @@ -250,7 +249,7 @@ main(int argc, char **argv) break; default: fprintf(stderr, "Failed to update NCI: %s\n", - ldap_err2string(ldap_err)); + nsdb_ldaperr2string(host)); } break; default: _______________________________________________ fedfs-utils-devel mailing list [email protected] https://oss.oracle.com/mailman/listinfo/fedfs-utils-devel
