From 46c803a08d691c067d985791f2c98467219a8adc Mon Sep 17 00:00:00 2001 From: Simo Sorce Date: Fri, 10 Jun 2011 14:35:46 -0400 Subject: ipa-kdb: add common utility ldap wrapper functions --- daemons/ipa-kdb/ipa_kdb.h | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'daemons/ipa-kdb/ipa_kdb.h') diff --git a/daemons/ipa-kdb/ipa_kdb.h b/daemons/ipa-kdb/ipa_kdb.h index 008779f7c..760508d6d 100644 --- a/daemons/ipa-kdb/ipa_kdb.h +++ b/daemons/ipa-kdb/ipa_kdb.h @@ -42,3 +42,34 @@ struct ipadb_context { struct ipadb_context *ipadb_get_context(krb5_context kcontext); int ipadb_get_connection(struct ipadb_context *ipactx); + +/* COMMON LDAP FUNCTIONS */ +char *ipadb_filter_escape(const char *input, bool star); +krb5_error_code ipadb_simple_search(struct ipadb_context *ipactx, + char *basedn, int scope, + char *filter, char **attrs, + LDAPMessage **res); +krb5_error_code ipadb_simple_delete(struct ipadb_context *ipactx, char *dn); +krb5_error_code ipadb_simple_add(struct ipadb_context *ipactx, + char *dn, LDAPMod **mods); +krb5_error_code ipadb_simple_modify(struct ipadb_context *ipactx, + char *dn, LDAPMod **mods); +krb5_error_code ipadb_simple_delete_val(struct ipadb_context *ipactx, + char *dn, char *attr, char *value); + +int ipadb_ldap_attr_to_int(LDAP *lcontext, LDAPMessage *le, + char *attrname, int *result); +int ipadb_ldap_attr_to_uint32(LDAP *lcontext, LDAPMessage *le, + char *attrname, uint32_t *result); +int ipadb_ldap_attr_to_str(LDAP *lcontext, LDAPMessage *le, + char *attrname, char **result); +int ipadb_ldap_attr_to_strlist(LDAP *lcontext, LDAPMessage *le, + char *attrname, char ***result); +int ipadb_ldap_attr_to_bool(LDAP *lcontext, LDAPMessage *le, + char *attrname, bool *result); +int ipadb_ldap_attr_to_time_t(LDAP *lcontext, LDAPMessage *le, + char *attrname, time_t *result); + +int ipadb_ldap_attr_has_value(LDAP *lcontext, LDAPMessage *le, + char *attrname, char *value); + -- cgit