[fedfs-utils] [PATCH 13/17] libnsdb: Remove *ldaperr argument from NCE admin APIs
Chuck Lever
chuck.lever at oracle.com
Thu Jan 2 12:28:45 PST 2014
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 <chuck.lever at oracle.com>
---
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:
More information about the fedfs-utils-devel
mailing list