Lines Matching +full:key +full:- +full:value

2  * Copyright (c) 1997-2002 Kungliga Tekniska Högskolan
37 hdb_principal2key(krb5_context context, krb5_const_principal p, krb5_data *key) in hdb_principal2key() argument
48 ASN1_MALLOC_ENCODE(Principal, key->data, key->length, &new, &len, ret); in hdb_principal2key()
49 if (ret == 0 && key->length != len) in hdb_principal2key()
56 hdb_key2principal(krb5_context context, krb5_data *key, krb5_principal p) in hdb_key2principal() argument
58 return decode_Principal(key->data, key->length, p, NULL); in hdb_key2principal()
62 hdb_entry2value(krb5_context context, const hdb_entry *ent, krb5_data *value) in hdb_entry2value() argument
67 ASN1_MALLOC_ENCODE(hdb_entry, value->data, value->length, ent, &len, ret); in hdb_entry2value()
68 if (ret == 0 && value->length != len) in hdb_entry2value()
74 hdb_value2entry(krb5_context context, krb5_data *value, hdb_entry *ent) in hdb_value2entry() argument
76 return decode_hdb_entry(value->data, value->length, ent, NULL); in hdb_value2entry()
82 krb5_data *value) in hdb_entry_alias2value() argument
87 ASN1_MALLOC_ENCODE(hdb_entry_alias, value->data, value->length, in hdb_entry_alias2value()
89 if (ret == 0 && value->length != len) in hdb_entry_alias2value()
95 hdb_value2entry_alias(krb5_context context, krb5_data *value, in hdb_value2entry_alias() argument
98 return decode_hdb_entry_alias(value->data, value->length, ent, NULL); in hdb_value2entry_alias()
106 krb5_data key, value; in _hdb_fetch_kvno() local
110 if (principal->name.name_type == KRB5_NT_ENTERPRISE_PRINCIPAL) { in _hdb_fetch_kvno()
111 if (principal->name.name_string.len != 1) { in _hdb_fetch_kvno()
115 principal->name.name_string.len); in _hdb_fetch_kvno()
118 ret = krb5_parse_name(context, principal->name.name_string.val[0], in _hdb_fetch_kvno()
125 hdb_principal2key(context, principal, &key); in _hdb_fetch_kvno()
128 code = db->hdb__get(context, db, key, &value); in _hdb_fetch_kvno()
129 krb5_data_free(&key); in _hdb_fetch_kvno()
132 code = hdb_value2entry(context, &value, &entry->entry); in _hdb_fetch_kvno()
134 krb5_data_free(&value); in _hdb_fetch_kvno()
139 code = hdb_value2entry_alias(context, &value, &alias); in _hdb_fetch_kvno()
141 krb5_data_free(&value); in _hdb_fetch_kvno()
144 hdb_principal2key(context, alias.principal, &key); in _hdb_fetch_kvno()
145 krb5_data_free(&value); in _hdb_fetch_kvno()
148 code = db->hdb__get(context, db, key, &value); in _hdb_fetch_kvno()
149 krb5_data_free(&key); in _hdb_fetch_kvno()
152 code = hdb_value2entry(context, &value, &entry->entry); in _hdb_fetch_kvno()
154 krb5_data_free(&value); in _hdb_fetch_kvno()
158 krb5_data_free(&value); in _hdb_fetch_kvno()
159 if (db->hdb_master_key_set && (flags & HDB_F_DECRYPT)) { in _hdb_fetch_kvno()
160 code = hdb_unseal_keys (context, db, &entry->entry); in _hdb_fetch_kvno()
168 hdb_remove_aliases(krb5_context context, HDB *db, krb5_data *key) in hdb_remove_aliases() argument
173 krb5_data value; in hdb_remove_aliases() local
176 code = db->hdb__get(context, db, *key, &value); in hdb_remove_aliases()
182 code = hdb_value2entry(context, &value, &oldentry); in hdb_remove_aliases()
183 krb5_data_free(&value); in hdb_remove_aliases()
192 for (i = 0; i < aliases->aliases.len; i++) { in hdb_remove_aliases()
195 hdb_principal2key(context, &aliases->aliases.val[i], &akey); in hdb_remove_aliases()
196 code = db->hdb__del(context, db, akey); in hdb_remove_aliases()
213 krb5_data key, value; in hdb_add_aliases() local
216 code = hdb_entry_get_aliases(&entry->entry, &aliases); in hdb_add_aliases()
220 for (i = 0; i < aliases->aliases.len; i++) { in hdb_add_aliases()
222 entryalias.principal = entry->entry.principal; in hdb_add_aliases()
224 hdb_principal2key(context, &aliases->aliases.val[i], &key); in hdb_add_aliases()
225 code = hdb_entry_alias2value(context, &entryalias, &value); in hdb_add_aliases()
227 krb5_data_free(&key); in hdb_add_aliases()
230 code = db->hdb__put(context, db, flags, key, value); in hdb_add_aliases()
231 krb5_data_free(&key); in hdb_add_aliases()
232 krb5_data_free(&value); in hdb_add_aliases()
248 code = hdb_entry_get_aliases(&entry->entry, &aliases); in hdb_check_aliases()
252 for (i = 0; aliases && i < aliases->aliases.len; i++) { in hdb_check_aliases()
254 krb5_data akey, value; in hdb_check_aliases() local
256 hdb_principal2key(context, &aliases->aliases.val[i], &akey); in hdb_check_aliases()
257 code = db->hdb__get(context, db, akey, &value); in hdb_check_aliases()
264 code = hdb_value2entry_alias(context, &value, &alias); in hdb_check_aliases()
265 krb5_data_free(&value); in hdb_check_aliases()
273 entry->entry.principal); in hdb_check_aliases()
284 krb5_data key, value; in _hdb_store() local
292 if(entry->entry.generation == NULL) { in _hdb_store()
294 entry->entry.generation = malloc(sizeof(*entry->entry.generation)); in _hdb_store()
295 if(entry->entry.generation == NULL) { in _hdb_store()
300 entry->entry.generation->time = t.tv_sec; in _hdb_store()
301 entry->entry.generation->usec = t.tv_usec; in _hdb_store()
302 entry->entry.generation->gen = 0; in _hdb_store()
304 entry->entry.generation->gen++; in _hdb_store()
306 code = hdb_seal_keys(context, db, &entry->entry); in _hdb_store()
310 hdb_principal2key(context, entry->entry.principal, &key); in _hdb_store()
313 code = hdb_remove_aliases(context, db, &key); in _hdb_store()
315 krb5_data_free(&key); in _hdb_store()
318 hdb_entry2value(context, &entry->entry, &value); in _hdb_store()
319 code = db->hdb__put(context, db, flags & HDB_F_REPLACE, key, value); in _hdb_store()
320 krb5_data_free(&value); in _hdb_store()
321 krb5_data_free(&key); in _hdb_store()
333 krb5_data key; in _hdb_remove() local
336 hdb_principal2key(context, principal, &key); in _hdb_remove()
338 code = hdb_remove_aliases(context, db, &key); in _hdb_remove()
340 krb5_data_free(&key); in _hdb_remove()
343 code = db->hdb__del(context, db, key); in _hdb_remove()
344 krb5_data_free(&key); in _hdb_remove()