summaryrefslogtreecommitdiffstats
path: root/daemons/ipa-kdb/ipa_kdb.h
diff options
context:
space:
mode:
Diffstat (limited to 'daemons/ipa-kdb/ipa_kdb.h')
-rw-r--r--daemons/ipa-kdb/ipa_kdb.h31
1 files changed, 31 insertions, 0 deletions
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);
+