Lines Matching refs:db

48 LDAP_message2entry(krb5_context context, HDB * db, LDAPMessage * msg,
63 #define HDB2LDAP(db) (((struct hdbldapdb *)(db)->hdb_db)->h_lp) argument
64 #define HDB2MSGID(db) (((struct hdbldapdb *)(db)->hdb_db)->h_msgid) argument
65 #define HDBSETMSGID(db,msgid) \ argument
66 do { ((struct hdbldapdb *)(db)->hdb_db)->h_msgid = msgid; } while(0)
67 #define HDB2BASE(dn) (((struct hdbldapdb *)(db)->hdb_db)->h_base)
68 #define HDB2URL(dn) (((struct hdbldapdb *)(db)->hdb_db)->h_url)
69 #define HDB2CREATE(db) (((struct hdbldapdb *)(db)->hdb_db)->h_createbase) argument
131 check_ldap(krb5_context context, HDB *db, int ret) in check_ldap() argument
137 LDAP_close(context, db); in check_ldap()
307 LDAP_get_string_value(HDB * db, LDAPMessage * entry, in LDAP_get_string_value() argument
312 vals = ldap_get_values_len(HDB2LDAP(db), entry, attribute); in LDAP_get_string_value()
333 LDAP_get_integer_value(HDB * db, LDAPMessage * entry, in LDAP_get_integer_value() argument
339 ret = LDAP_get_string_value(db, entry, attribute, &val); in LDAP_get_integer_value()
348 LDAP_get_generalized_time_value(HDB * db, LDAPMessage * entry, in LDAP_get_generalized_time_value() argument
357 ret = LDAP_get_string_value(db, entry, attribute, &gentime); in LDAP_get_generalized_time_value()
383 LDAP_entry2mods(krb5_context context, HDB * db, hdb_entry_ex * ent, in LDAP_entry2mods() argument
405 ret = LDAP_message2entry(context, db, msg, 0, &orig); in LDAP_entry2mods()
411 vals = ldap_get_values_len(HDB2LDAP(db), msg, "objectClass"); in LDAP_entry2mods()
614 vals = ldap_get_values_len(HDB2LDAP(db), msg, "krb5Key"); in LDAP_entry2mods()
634 ret = hdb_unseal_key(context, db, &ent->entry.keys.val[i]); in LDAP_entry2mods()
658 vals = ldap_get_values_len(HDB2LDAP(db), msg, "sambaLMPassword"); in LDAP_entry2mods()
693 vals = ldap_get_values_len(HDB2LDAP(db), msg, "krb5EncryptionType"); in LDAP_entry2mods()
741 LDAP_dn2principal(krb5_context context, HDB * db, const char *dn, in LDAP_dn2principal() argument
750 ret = LDAP_no_size_limit(context, HDB2LDAP(db)); in LDAP_dn2principal()
754 rc = ldap_search_ext_s(HDB2LDAP(db), dn, LDAP_SCOPE_SUBTREE, in LDAP_dn2principal()
758 if (check_ldap(context, db, rc)) { in LDAP_dn2principal()
766 e = ldap_first_entry(HDB2LDAP(db), res); in LDAP_dn2principal()
772 ret = LDAP_get_string_value(db, e, "krb5PrincipalName", &p); in LDAP_dn2principal()
833 HDB *db, in LDAP__lookup_princ() argument
842 ret = LDAP__connect(context, db); in LDAP__lookup_princ()
866 ret = LDAP_no_size_limit(context, HDB2LDAP(db)); in LDAP__lookup_princ()
870 rc = ldap_search_ext_s(HDB2LDAP(db), HDB2BASE(db), in LDAP__lookup_princ()
875 if (check_ldap(context, db, rc)) { in LDAP__lookup_princ()
883 if (userid && ldap_count_entries(HDB2LDAP(db), *msg) == 0) { in LDAP__lookup_princ()
903 ret = LDAP_no_size_limit(context, HDB2LDAP(db)); in LDAP__lookup_princ()
907 rc = ldap_search_ext_s(HDB2LDAP(db), HDB2BASE(db), LDAP_SCOPE_SUBTREE, in LDAP__lookup_princ()
911 if (check_ldap(context, db, rc)) { in LDAP__lookup_princ()
930 LDAP_principal2message(krb5_context context, HDB * db, in LDAP_principal2message() argument
961 ret = LDAP__lookup_princ(context, db, name, name_short, msg); in LDAP_principal2message()
972 LDAP_message2entry(krb5_context context, HDB * db, LDAPMessage * msg, in LDAP_message2entry() argument
984 ret = LDAP_get_string_value(db, msg, "krb5PrincipalName", &unparsed_name); in LDAP_message2entry()
990 ret = LDAP_get_string_value(db, msg, "uid", in LDAP_message2entry()
1006 ret = LDAP_get_integer_value(db, msg, "krb5KeyVersionNumber", in LDAP_message2entry()
1014 keys = ldap_get_values_len(HDB2LDAP(db), msg, "krb5Key"); in LDAP_message2entry()
1046 vals = ldap_get_values_len(HDB2LDAP(db), msg, "krb5EncryptionType"); in LDAP_message2entry()
1089 ret = LDAP_get_string_value(db, msg, "sambaNTPassword", &ntPasswordIN); in LDAP_message2entry()
1148 ret = LDAP_get_generalized_time_value(db, msg, "createTimestamp", in LDAP_message2entry()
1156 ret = LDAP_get_string_value(db, msg, "creatorsName", &dn); in LDAP_message2entry()
1158 LDAP_dn2principal(context, db, dn, &ent->entry.created_by.principal); in LDAP_message2entry()
1169 ret = LDAP_get_generalized_time_value(db, msg, "modifyTimestamp", in LDAP_message2entry()
1172 ret = LDAP_get_string_value(db, msg, "modifiersName", &dn); in LDAP_message2entry()
1174 LDAP_dn2principal(context, db, dn, &ent->entry.modified_by->principal); in LDAP_message2entry()
1189 ret = LDAP_get_generalized_time_value(db, msg, "krb5ValidStart", in LDAP_message2entry()
1203 ret = LDAP_get_generalized_time_value(db, msg, "krb5ValidEnd", in LDAP_message2entry()
1211 ret = LDAP_get_integer_value(db, msg, "sambaKickoffTime", &tmp_time); in LDAP_message2entry()
1230 ret = LDAP_get_generalized_time_value(db, msg, "krb5PasswordEnd", in LDAP_message2entry()
1238 ret = LDAP_get_integer_value(db, msg, "sambaPwdLastSet", &tmp_time); in LDAP_message2entry()
1259 ret = LDAP_get_integer_value(db, msg, "sambaPwdMustChange", &tmp_time); in LDAP_message2entry()
1273 ret = LDAP_get_integer_value(db, msg, "sambaPwdLastSet", &tmp_time); in LDAP_message2entry()
1286 ret = LDAP_get_integer_value(db, msg, "krb5MaxLife", &max_life); in LDAP_message2entry()
1303 ret = LDAP_get_integer_value(db, msg, "krb5MaxRenew", &max_renew); in LDAP_message2entry()
1311 ret = LDAP_get_integer_value(db, msg, "krb5KDCFlags", &tmp); in LDAP_message2entry()
1318 ret = LDAP_get_string_value(db, msg, "sambaAcctFlags", &samba_acct_flags); in LDAP_message2entry()
1410 LDAP_close(krb5_context context, HDB * db) in LDAP_close() argument
1412 if (HDB2LDAP(db)) { in LDAP_close()
1413 ldap_unbind_ext(HDB2LDAP(db), NULL, NULL); in LDAP_close()
1414 ((struct hdbldapdb *)db->hdb_db)->h_lp = NULL; in LDAP_close()
1421 LDAP_lock(krb5_context context, HDB * db, int operation) in LDAP_lock() argument
1427 LDAP_unlock(krb5_context context, HDB * db) in LDAP_unlock() argument
1433 LDAP_seq(krb5_context context, HDB * db, unsigned flags, hdb_entry_ex * entry) in LDAP_seq() argument
1439 msgid = HDB2MSGID(db); in LDAP_seq()
1444 rc = ldap_result(HDB2LDAP(db), msgid, LDAP_MSG_ONE, NULL, &e); in LDAP_seq()
1452 ret = LDAP_message2entry(context, db, e, flags, entry); in LDAP_seq()
1458 ldap_parse_result(HDB2LDAP(db), e, NULL, NULL, NULL, in LDAP_seq()
1465 ldap_abandon_ext(HDB2LDAP(db), msgid, NULL, NULL); in LDAP_seq()
1467 HDBSETMSGID(db, -1); in LDAP_seq()
1471 LDAP_close(context, db); in LDAP_seq()
1472 HDBSETMSGID(db, -1); in LDAP_seq()
1478 ldap_abandon_ext(HDB2LDAP(db), msgid, NULL, NULL); in LDAP_seq()
1480 HDBSETMSGID(db, -1); in LDAP_seq()
1486 if (db->hdb_master_key_set && (flags & HDB_F_DECRYPT)) { in LDAP_seq()
1487 ret = hdb_unseal_keys(context, db, &entry->entry); in LDAP_seq()
1497 LDAP_firstkey(krb5_context context, HDB *db, unsigned flags, in LDAP_firstkey() argument
1503 ret = LDAP__connect(context, db); in LDAP_firstkey()
1507 ret = LDAP_no_size_limit(context, HDB2LDAP(db)); in LDAP_firstkey()
1511 ret = ldap_search_ext(HDB2LDAP(db), HDB2BASE(db), in LDAP_firstkey()
1519 HDBSETMSGID(db, msgid); in LDAP_firstkey()
1521 return LDAP_seq(context, db, flags, entry); in LDAP_firstkey()
1525 LDAP_nextkey(krb5_context context, HDB * db, unsigned flags, in LDAP_nextkey() argument
1528 return LDAP_seq(context, db, flags, entry); in LDAP_nextkey()
1532 LDAP__connect(krb5_context context, HDB * db) in LDAP__connect() argument
1543 if (HDB2LDAP(db)) { in LDAP__connect()
1549 if (ldap_get_option(HDB2LDAP(db), LDAP_OPT_DESC, &sd) == 0 && in LDAP__connect()
1552 LDAP_close(context, db); in LDAP__connect()
1556 if (HDB2LDAP(db) != NULL) /* server is UP */ in LDAP__connect()
1559 rc = ldap_initialize(&((struct hdbldapdb *)db->hdb_db)->h_lp, HDB2URL(db)); in LDAP__connect()
1566 rc = ldap_set_option(HDB2LDAP(db), LDAP_OPT_PROTOCOL_VERSION, in LDAP__connect()
1571 LDAP_close(context, db); in LDAP__connect()
1575 rc = ldap_sasl_bind_s(HDB2LDAP(db), NULL, "EXTERNAL", &bv, in LDAP__connect()
1580 LDAP_close(context, db); in LDAP__connect()
1588 LDAP_open(krb5_context context, HDB * db, int flags, mode_t mode) in LDAP_open() argument
1603 return LDAP__connect(context, db); in LDAP_open()
1607 LDAP_fetch_kvno(krb5_context context, HDB * db, krb5_const_principal principal, in LDAP_fetch_kvno() argument
1613 ret = LDAP_principal2message(context, db, principal, &msg); in LDAP_fetch_kvno()
1617 e = ldap_first_entry(HDB2LDAP(db), msg); in LDAP_fetch_kvno()
1623 ret = LDAP_message2entry(context, db, e, flags, entry); in LDAP_fetch_kvno()
1625 if (db->hdb_master_key_set && (flags & HDB_F_DECRYPT)) { in LDAP_fetch_kvno()
1626 ret = hdb_unseal_keys(context, db, &entry->entry); in LDAP_fetch_kvno()
1639 LDAP_fetch(krb5_context context, HDB * db, krb5_const_principal principal, in LDAP_fetch() argument
1642 return LDAP_fetch_kvno(context, db, principal, in LDAP_fetch()
1647 LDAP_store(krb5_context context, HDB * db, unsigned flags, in LDAP_store() argument
1657 ret = LDAP_principal2message(context, db, entry->entry.principal, &msg); in LDAP_store()
1659 e = ldap_first_entry(HDB2LDAP(db), msg); in LDAP_store()
1667 ret = hdb_seal_keys(context, db, &entry->entry); in LDAP_store()
1672 ret = LDAP_entry2mods(context, db, entry, e, &mods); in LDAP_store()
1677 ret = asprintf(&dn, "krb5PrincipalName=%s,%s", name, HDB2CREATE(db)); in LDAP_store()
1685 dn = ldap_get_dn(HDB2LDAP(db), e); in LDAP_store()
1695 rc = ldap_add_ext_s(HDB2LDAP(db), dn, mods, NULL, NULL ); in LDAP_store()
1699 rc = ldap_modify_ext_s(HDB2LDAP(db), dn, mods, NULL, NULL ); in LDAP_store()
1703 if (check_ldap(context, db, rc)) { in LDAP_store()
1705 ldap_get_option(HDB2LDAP(db), LDAP_OPT_ERROR_STRING, in LDAP_store()
1728 LDAP_remove(krb5_context context, HDB *db, krb5_const_principal principal) in LDAP_remove() argument
1735 ret = LDAP_principal2message(context, db, principal, &msg); in LDAP_remove()
1739 e = ldap_first_entry(HDB2LDAP(db), msg); in LDAP_remove()
1745 dn = ldap_get_dn(HDB2LDAP(db), e); in LDAP_remove()
1751 rc = ldap_set_option(HDB2LDAP(db), LDAP_OPT_SIZELIMIT, (const void *)&limit); in LDAP_remove()
1759 rc = ldap_delete_ext_s(HDB2LDAP(db), dn, NULL, NULL ); in LDAP_remove()
1760 if (check_ldap(context, db, rc)) { in LDAP_remove()
1777 LDAP_destroy(krb5_context context, HDB * db) in LDAP_destroy() argument
1781 LDAP_close(context, db); in LDAP_destroy()
1783 ret = hdb_clear_master_key(context, db); in LDAP_destroy()
1784 if (HDB2BASE(db)) in LDAP_destroy()
1785 free(HDB2BASE(db)); in LDAP_destroy()
1786 if (HDB2CREATE(db)) in LDAP_destroy()
1787 free(HDB2CREATE(db)); in LDAP_destroy()
1788 if (HDB2URL(db)) in LDAP_destroy()
1789 free(HDB2URL(db)); in LDAP_destroy()
1790 if (db->hdb_name) in LDAP_destroy()
1791 free(db->hdb_name); in LDAP_destroy()
1792 free(db->hdb_db); in LDAP_destroy()
1793 free(db); in LDAP_destroy()
1800 HDB ** db, in hdb_ldap_common() argument
1830 *db = calloc(1, sizeof(**db)); in hdb_ldap_common()
1831 if (*db == NULL) { in hdb_ldap_common()
1835 memset(*db, 0, sizeof(**db)); in hdb_ldap_common()
1839 free(*db); in hdb_ldap_common()
1840 *db = NULL; in hdb_ldap_common()
1844 (*db)->hdb_db = h; in hdb_ldap_common()
1847 if (asprintf(&(*db)->hdb_name, "ldap:%s", search_base) == -1) { in hdb_ldap_common()
1848 LDAP_destroy(context, *db); in hdb_ldap_common()
1849 *db = NULL; in hdb_ldap_common()
1857 LDAP_destroy(context, *db); in hdb_ldap_common()
1858 *db = NULL; in hdb_ldap_common()
1870 LDAP_destroy(context, *db); in hdb_ldap_common()
1871 *db = NULL; in hdb_ldap_common()
1876 (*db)->hdb_master_key_set = 0; in hdb_ldap_common()
1877 (*db)->hdb_openp = 0; in hdb_ldap_common()
1878 (*db)->hdb_capability_flags = 0; in hdb_ldap_common()
1879 (*db)->hdb_open = LDAP_open; in hdb_ldap_common()
1880 (*db)->hdb_close = LDAP_close; in hdb_ldap_common()
1881 (*db)->hdb_fetch_kvno = LDAP_fetch_kvno; in hdb_ldap_common()
1882 (*db)->hdb_store = LDAP_store; in hdb_ldap_common()
1883 (*db)->hdb_remove = LDAP_remove; in hdb_ldap_common()
1884 (*db)->hdb_firstkey = LDAP_firstkey; in hdb_ldap_common()
1885 (*db)->hdb_nextkey = LDAP_nextkey; in hdb_ldap_common()
1886 (*db)->hdb_lock = LDAP_lock; in hdb_ldap_common()
1887 (*db)->hdb_unlock = LDAP_unlock; in hdb_ldap_common()
1888 (*db)->hdb_rename = NULL; in hdb_ldap_common()
1889 (*db)->hdb__get = NULL; in hdb_ldap_common()
1890 (*db)->hdb__put = NULL; in hdb_ldap_common()
1891 (*db)->hdb__del = NULL; in hdb_ldap_common()
1892 (*db)->hdb_destroy = LDAP_destroy; in hdb_ldap_common()
1898 hdb_ldap_create(krb5_context context, HDB ** db, const char *arg) in hdb_ldap_create() argument
1900 return hdb_ldap_common(context, db, arg, "ldapi:///"); in hdb_ldap_create()
1904 hdb_ldapi_create(krb5_context context, HDB ** db, const char *arg) in hdb_ldapi_create() argument
1911 *db = NULL; in hdb_ldapi_create()
1917 *db = NULL; in hdb_ldapi_create()
1925 ret = hdb_ldap_common(context, db, search_base, p); in hdb_ldapi_create()