void rpc_ns_binding_unexport ( unsigned32 entry_name_syntax, unsigned_char_p_t entry_name, rpc_if_handle_t if_spec, uuid_vector_p_t object_uuid_vector ATTRIBUTE_UNUSED, unsigned32 *status ) { LDAP *ld = NULL; unsigned_char_p_t elementDN = NULL; unsigned_char_p_t serverDN = NULL; rpc_ns__ldap_connect_to_server(&ld, status); if (*status != rpc_s_ok) { goto out; } rpc_ns__ldap_crack_name(entry_name_syntax, entry_name, &serverDN, status); if (*status != rpc_s_ok) { goto out; } rpc_ns__ldap_lookup_server_element(ld, serverDN, if_spec, &elementDN, status); if (*status == rpc_s_ok) { if (ldap_delete_s(ld, elementDN) != LDAP_SUCCESS) { *status = rpc_s_update_failed; goto out; } } if (ldap_delete_s(ld, serverDN) != LDAP_SUCCESS) { *status = rpc_s_update_failed; goto out; } *status = rpc_s_ok; out: if (ld != NULL) { ldap_unbind(ld); } if (elementDN != NULL) { RPC_MEM_FREE(elementDN, RPC_C_MEM_NSRESOLUTION); } if (serverDN != NULL) { RPC_MEM_FREE(serverDN, RPC_C_MEM_NSRESOLUTION); } }
/* ARGSUSED */ int _ns_ldap_delete_s(char *service, int flags, char *dn) { LDAP *ld = __s_api_getLDAPconn(flags); return (ldap_delete_s(ld, dn)); }
static int fldap_rm(const char* path) { char* dn; if (!(dn = is_dn_exist(path))) return -ENOENT; if (ldap_delete_s(ld, dn) != LDAP_SUCCESS) { free(dn); return -EIO; } free(dn); return 0; }
int ldap_delete_account(char *account) { char dn[MAXLEN]; int rc; if(!admin_bind && LDAP_SUCCESS != ( rc = ldap_do_admin_bind())) { log_module(MAIN_LOG, LOG_ERROR, "failed to bind as admin"); return rc; } memset(dn, 0, MAXLEN); snprintf(dn, MAXLEN-1, nickserv_conf.ldap_dn_fmt, account); return(ldap_delete_s(ld, dn)); }
static krb5_error_code LDAP_remove(krb5_context context, HDB * db, hdb_entry * entry) { krb5_error_code ret; LDAPMessage *msg, *e; char *dn = NULL; int rc, limit = LDAP_NO_LIMIT; ret = LDAP_principal2message(context, db, entry->principal, &msg); if (ret) goto out; e = ldap_first_entry(HDB2LDAP(db), msg); if (e == NULL) { ret = HDB_ERR_NOENTRY; goto out; } dn = ldap_get_dn(HDB2LDAP(db), e); if (dn == NULL) { ret = HDB_ERR_NOENTRY; goto out; } rc = ldap_set_option(HDB2LDAP(db), LDAP_OPT_SIZELIMIT, (const void *)&limit); if (rc != LDAP_SUCCESS) { krb5_set_error_string(context, "ldap_set_option: %s", ldap_err2string(rc)); ret = HDB_ERR_BADVERSION; goto out; } rc = ldap_delete_s(HDB2LDAP(db), dn); if (check_ldap(context, db, rc)) { krb5_set_error_string(context, "ldap_delete_s: %s", ldap_err2string(rc)); ret = HDB_ERR_CANT_LOCK_DB; } else ret = 0; out: if (dn != NULL) free(dn); if (msg != NULL) ldap_msgfree(msg); return ret; }
/* ad_object_delete deletes the given dn returns non-zero on success */ int ad_object_delete(char *dn) { LDAP *ds; int result; ds=ad_login(); if(!ds) return ad_error_code; result=ldap_delete_s(ds, dn); if(result!=LDAP_SUCCESS) { snprintf(ad_error_msg, MAX_ERR_LENGTH, "Error in ldap_delete: %s", ldap_err2string(result)); ad_error_code=AD_LDAP_OPERATION_FAILURE; } else { ad_error_code=AD_SUCCESS; } return ad_error_code; }
static void f_ldap_delete(INT32 args) { struct pike_string *dn; int ret; if (!THIS->bound) Pike_error("OpenLDAP.Client: attempting operation on an unbound connection\n"); get_all_args("OpenLDAP.Client->delete()", args, "%S", &dn); ret = ldap_delete_s(THIS->conn, dn->str); if (ret != LDAP_SUCCESS) Pike_error("OpenLDAP.Client->delete(): %s\n", ldap_err2string(ret)); pop_n_elems(args); }
char * gfarm_generic_info_remove( void *key, const struct gfarm_generic_info_ops *ops) { int rv; char *dn = ops->make_dn(key); if (dn == NULL) return (GFARM_ERR_NO_MEMORY); rv = ldap_delete_s(gfarm_ldap_server, dn); free(dn); if (rv != LDAP_SUCCESS) { if (rv == LDAP_NO_SUCH_OBJECT) return (GFARM_ERR_NO_SUCH_OBJECT); return (ldap_err2string(rv)); } return (NULL); }
void LDAPSession::remove ( string dn ) { int errc= ldap_delete_s ( ld,dn.c_str() ); if ( errc != LDAP_SUCCESS ) throw LDAPExeption ( "ldap_delete_s",ldap_err2string ( errc ) ); }