xref: /freebsd/crypto/heimdal/lib/hdb/hdb-protos.h (revision c19800e8cd5640693f36f2040db4ab5e8d738146)
1b528cefcSMark Murray /* This is a generated file */
2b528cefcSMark Murray #ifndef __hdb_protos_h__
3b528cefcSMark Murray #define __hdb_protos_h__
4b528cefcSMark Murray 
5b528cefcSMark Murray #include <stdarg.h>
6b528cefcSMark Murray 
7c19800e8SDoug Rabson #ifdef __cplusplus
8c19800e8SDoug Rabson extern "C" {
9c19800e8SDoug Rabson #endif
10c19800e8SDoug Rabson 
11b528cefcSMark Murray krb5_error_code
128373020dSJacques Vidrine hdb_add_master_key (
138373020dSJacques Vidrine 	krb5_context /*context*/,
148373020dSJacques Vidrine 	krb5_keyblock */*key*/,
158373020dSJacques Vidrine 	hdb_master_key */*inout*/);
165e9cd1aeSAssar Westerlund 
175e9cd1aeSAssar Westerlund krb5_error_code
188373020dSJacques Vidrine hdb_check_db_format (
198373020dSJacques Vidrine 	krb5_context /*context*/,
208373020dSJacques Vidrine 	HDB */*db*/);
21b528cefcSMark Murray 
22b528cefcSMark Murray krb5_error_code
23c19800e8SDoug Rabson hdb_clear_extension (
24c19800e8SDoug Rabson 	krb5_context /*context*/,
25c19800e8SDoug Rabson 	hdb_entry */*entry*/,
26c19800e8SDoug Rabson 	int /*type*/);
27c19800e8SDoug Rabson 
28c19800e8SDoug Rabson krb5_error_code
298373020dSJacques Vidrine hdb_clear_master_key (
308373020dSJacques Vidrine 	krb5_context /*context*/,
318373020dSJacques Vidrine 	HDB */*db*/);
32b528cefcSMark Murray 
33b528cefcSMark Murray krb5_error_code
348373020dSJacques Vidrine hdb_create (
358373020dSJacques Vidrine 	krb5_context /*context*/,
368373020dSJacques Vidrine 	HDB **/*db*/,
378373020dSJacques Vidrine 	const char */*filename*/);
38b528cefcSMark Murray 
39b528cefcSMark Murray krb5_error_code
408373020dSJacques Vidrine hdb_db_create (
418373020dSJacques Vidrine 	krb5_context /*context*/,
428373020dSJacques Vidrine 	HDB **/*db*/,
438373020dSJacques Vidrine 	const char */*filename*/);
44b528cefcSMark Murray 
45c19800e8SDoug Rabson const char *
46c19800e8SDoug Rabson hdb_db_dir (krb5_context /*context*/);
47c19800e8SDoug Rabson 
48c19800e8SDoug Rabson const char *
49c19800e8SDoug Rabson hdb_dbinfo_get_acl_file (
50c19800e8SDoug Rabson 	krb5_context /*context*/,
51c19800e8SDoug Rabson 	struct hdb_dbinfo */*dbp*/);
52c19800e8SDoug Rabson 
53c19800e8SDoug Rabson const krb5_config_binding *
54c19800e8SDoug Rabson hdb_dbinfo_get_binding (
55c19800e8SDoug Rabson 	krb5_context /*context*/,
56c19800e8SDoug Rabson 	struct hdb_dbinfo */*dbp*/);
57c19800e8SDoug Rabson 
58c19800e8SDoug Rabson const char *
59c19800e8SDoug Rabson hdb_dbinfo_get_dbname (
60c19800e8SDoug Rabson 	krb5_context /*context*/,
61c19800e8SDoug Rabson 	struct hdb_dbinfo */*dbp*/);
62c19800e8SDoug Rabson 
63c19800e8SDoug Rabson const char *
64c19800e8SDoug Rabson hdb_dbinfo_get_label (
65c19800e8SDoug Rabson 	krb5_context /*context*/,
66c19800e8SDoug Rabson 	struct hdb_dbinfo */*dbp*/);
67c19800e8SDoug Rabson 
68c19800e8SDoug Rabson const char *
69c19800e8SDoug Rabson hdb_dbinfo_get_log_file (
70c19800e8SDoug Rabson 	krb5_context /*context*/,
71c19800e8SDoug Rabson 	struct hdb_dbinfo */*dbp*/);
72c19800e8SDoug Rabson 
73c19800e8SDoug Rabson const char *
74c19800e8SDoug Rabson hdb_dbinfo_get_mkey_file (
75c19800e8SDoug Rabson 	krb5_context /*context*/,
76c19800e8SDoug Rabson 	struct hdb_dbinfo */*dbp*/);
77c19800e8SDoug Rabson 
78c19800e8SDoug Rabson struct hdb_dbinfo *
79c19800e8SDoug Rabson hdb_dbinfo_get_next (
80c19800e8SDoug Rabson 	struct hdb_dbinfo */*dbp*/,
81c19800e8SDoug Rabson 	struct hdb_dbinfo */*dbprevp*/);
82c19800e8SDoug Rabson 
83c19800e8SDoug Rabson const char *
84c19800e8SDoug Rabson hdb_dbinfo_get_realm (
85c19800e8SDoug Rabson 	krb5_context /*context*/,
86c19800e8SDoug Rabson 	struct hdb_dbinfo */*dbp*/);
87c19800e8SDoug Rabson 
88c19800e8SDoug Rabson const char *
89c19800e8SDoug Rabson hdb_default_db (krb5_context /*context*/);
90c19800e8SDoug Rabson 
91b528cefcSMark Murray krb5_error_code
928373020dSJacques Vidrine hdb_enctype2key (
938373020dSJacques Vidrine 	krb5_context /*context*/,
948373020dSJacques Vidrine 	hdb_entry */*e*/,
958373020dSJacques Vidrine 	krb5_enctype /*enctype*/,
968373020dSJacques Vidrine 	Key **/*key*/);
97b528cefcSMark Murray 
98b528cefcSMark Murray krb5_error_code
998373020dSJacques Vidrine hdb_entry2string (
1008373020dSJacques Vidrine 	krb5_context /*context*/,
1018373020dSJacques Vidrine 	hdb_entry */*ent*/,
1028373020dSJacques Vidrine 	char **/*str*/);
103b528cefcSMark Murray 
104b528cefcSMark Murray int
1058373020dSJacques Vidrine hdb_entry2value (
1068373020dSJacques Vidrine 	krb5_context /*context*/,
107c19800e8SDoug Rabson 	const hdb_entry */*ent*/,
1088373020dSJacques Vidrine 	krb5_data */*value*/);
109b528cefcSMark Murray 
110c19800e8SDoug Rabson int
111c19800e8SDoug Rabson hdb_entry_alias2value (
112c19800e8SDoug Rabson 	krb5_context /*context*/,
113c19800e8SDoug Rabson 	const hdb_entry_alias */*alias*/,
114c19800e8SDoug Rabson 	krb5_data */*value*/);
115c19800e8SDoug Rabson 
116c19800e8SDoug Rabson krb5_error_code
117c19800e8SDoug Rabson hdb_entry_check_mandatory (
118c19800e8SDoug Rabson 	krb5_context /*context*/,
119c19800e8SDoug Rabson 	const hdb_entry */*ent*/);
120c19800e8SDoug Rabson 
121c19800e8SDoug Rabson int
122c19800e8SDoug Rabson hdb_entry_clear_password (
123c19800e8SDoug Rabson 	krb5_context /*context*/,
124c19800e8SDoug Rabson 	hdb_entry */*entry*/);
125c19800e8SDoug Rabson 
126c19800e8SDoug Rabson krb5_error_code
127c19800e8SDoug Rabson hdb_entry_get_ConstrainedDelegACL (
128c19800e8SDoug Rabson 	const hdb_entry */*entry*/,
129c19800e8SDoug Rabson 	const HDB_Ext_Constrained_delegation_acl **/*a*/);
130c19800e8SDoug Rabson 
131c19800e8SDoug Rabson krb5_error_code
132c19800e8SDoug Rabson hdb_entry_get_aliases (
133c19800e8SDoug Rabson 	const hdb_entry */*entry*/,
134c19800e8SDoug Rabson 	const HDB_Ext_Aliases **/*a*/);
135c19800e8SDoug Rabson 
136c19800e8SDoug Rabson int
137c19800e8SDoug Rabson hdb_entry_get_password (
138c19800e8SDoug Rabson 	krb5_context /*context*/,
139c19800e8SDoug Rabson 	HDB */*db*/,
140c19800e8SDoug Rabson 	const hdb_entry */*entry*/,
141c19800e8SDoug Rabson 	char **/*p*/);
142c19800e8SDoug Rabson 
143c19800e8SDoug Rabson krb5_error_code
144c19800e8SDoug Rabson hdb_entry_get_pkinit_acl (
145c19800e8SDoug Rabson 	const hdb_entry */*entry*/,
146c19800e8SDoug Rabson 	const HDB_Ext_PKINIT_acl **/*a*/);
147c19800e8SDoug Rabson 
148c19800e8SDoug Rabson krb5_error_code
149c19800e8SDoug Rabson hdb_entry_get_pkinit_hash (
150c19800e8SDoug Rabson 	const hdb_entry */*entry*/,
151c19800e8SDoug Rabson 	const HDB_Ext_PKINIT_hash **/*a*/);
152c19800e8SDoug Rabson 
153c19800e8SDoug Rabson krb5_error_code
154c19800e8SDoug Rabson hdb_entry_get_pw_change_time (
155c19800e8SDoug Rabson 	const hdb_entry */*entry*/,
156c19800e8SDoug Rabson 	time_t */*t*/);
157c19800e8SDoug Rabson 
158c19800e8SDoug Rabson int
159c19800e8SDoug Rabson hdb_entry_set_password (
160c19800e8SDoug Rabson 	krb5_context /*context*/,
161c19800e8SDoug Rabson 	HDB */*db*/,
162c19800e8SDoug Rabson 	hdb_entry */*entry*/,
163c19800e8SDoug Rabson 	const char */*p*/);
164c19800e8SDoug Rabson 
165c19800e8SDoug Rabson krb5_error_code
166c19800e8SDoug Rabson hdb_entry_set_pw_change_time (
167c19800e8SDoug Rabson 	krb5_context /*context*/,
168c19800e8SDoug Rabson 	hdb_entry */*entry*/,
169c19800e8SDoug Rabson 	time_t /*t*/);
170c19800e8SDoug Rabson 
171c19800e8SDoug Rabson HDB_extension *
172c19800e8SDoug Rabson hdb_find_extension (
173c19800e8SDoug Rabson 	const hdb_entry */*entry*/,
174c19800e8SDoug Rabson 	int /*type*/);
175c19800e8SDoug Rabson 
176b528cefcSMark Murray krb5_error_code
1778373020dSJacques Vidrine hdb_foreach (
1788373020dSJacques Vidrine 	krb5_context /*context*/,
1798373020dSJacques Vidrine 	HDB */*db*/,
1808373020dSJacques Vidrine 	unsigned /*flags*/,
1818373020dSJacques Vidrine 	hdb_foreach_func_t /*func*/,
1828373020dSJacques Vidrine 	void */*data*/);
183b528cefcSMark Murray 
184b528cefcSMark Murray void
185c19800e8SDoug Rabson hdb_free_dbinfo (
186c19800e8SDoug Rabson 	krb5_context /*context*/,
187c19800e8SDoug Rabson 	struct hdb_dbinfo **/*dbp*/);
188c19800e8SDoug Rabson 
189c19800e8SDoug Rabson void
1908373020dSJacques Vidrine hdb_free_entry (
1918373020dSJacques Vidrine 	krb5_context /*context*/,
192c19800e8SDoug Rabson 	hdb_entry_ex */*ent*/);
193b528cefcSMark Murray 
194b528cefcSMark Murray void
1958373020dSJacques Vidrine hdb_free_key (Key */*key*/);
196b528cefcSMark Murray 
1975e9cd1aeSAssar Westerlund void
198c19800e8SDoug Rabson hdb_free_keys (
199c19800e8SDoug Rabson 	krb5_context /*context*/,
200c19800e8SDoug Rabson 	int /*len*/,
201c19800e8SDoug Rabson 	Key */*keys*/);
202c19800e8SDoug Rabson 
203c19800e8SDoug Rabson void
2048373020dSJacques Vidrine hdb_free_master_key (
2058373020dSJacques Vidrine 	krb5_context /*context*/,
2068373020dSJacques Vidrine 	hdb_master_key /*mkey*/);
2075e9cd1aeSAssar Westerlund 
208b528cefcSMark Murray krb5_error_code
209c19800e8SDoug Rabson hdb_generate_key_set (
210c19800e8SDoug Rabson 	krb5_context /*context*/,
211c19800e8SDoug Rabson 	krb5_principal /*principal*/,
212c19800e8SDoug Rabson 	Key **/*ret_key_set*/,
213c19800e8SDoug Rabson 	size_t */*nkeyset*/,
214c19800e8SDoug Rabson 	int /*no_salt*/);
215c19800e8SDoug Rabson 
216c19800e8SDoug Rabson krb5_error_code
217c19800e8SDoug Rabson hdb_generate_key_set_password (
218c19800e8SDoug Rabson 	krb5_context /*context*/,
219c19800e8SDoug Rabson 	krb5_principal /*principal*/,
220c19800e8SDoug Rabson 	const char */*password*/,
221c19800e8SDoug Rabson 	Key **/*keys*/,
222c19800e8SDoug Rabson 	size_t */*num_keys*/);
223c19800e8SDoug Rabson 
224c19800e8SDoug Rabson int
225c19800e8SDoug Rabson hdb_get_dbinfo (
226c19800e8SDoug Rabson 	krb5_context /*context*/,
227c19800e8SDoug Rabson 	struct hdb_dbinfo **/*dbp*/);
228c19800e8SDoug Rabson 
229c19800e8SDoug Rabson krb5_error_code
2308373020dSJacques Vidrine hdb_init_db (
2318373020dSJacques Vidrine 	krb5_context /*context*/,
2328373020dSJacques Vidrine 	HDB */*db*/);
233b528cefcSMark Murray 
234b528cefcSMark Murray int
2358373020dSJacques Vidrine hdb_key2principal (
2368373020dSJacques Vidrine 	krb5_context /*context*/,
2378373020dSJacques Vidrine 	krb5_data */*key*/,
2388373020dSJacques Vidrine 	krb5_principal /*p*/);
239b528cefcSMark Murray 
240b528cefcSMark Murray krb5_error_code
241c19800e8SDoug Rabson hdb_ldap_common (
242c19800e8SDoug Rabson 	krb5_context /*context*/,
243c19800e8SDoug Rabson 	HDB ** /*db*/,
244c19800e8SDoug Rabson 	const char */*search_base*/,
245c19800e8SDoug Rabson 	const char */*url*/);
246c19800e8SDoug Rabson 
247c19800e8SDoug Rabson krb5_error_code
2488373020dSJacques Vidrine hdb_ldap_create (
2498373020dSJacques Vidrine 	krb5_context /*context*/,
2508373020dSJacques Vidrine 	HDB ** /*db*/,
2518373020dSJacques Vidrine 	const char */*arg*/);
2525e9cd1aeSAssar Westerlund 
2535e9cd1aeSAssar Westerlund krb5_error_code
254c19800e8SDoug Rabson hdb_ldapi_create (
255c19800e8SDoug Rabson 	krb5_context /*context*/,
256c19800e8SDoug Rabson 	HDB ** /*db*/,
257c19800e8SDoug Rabson 	const char */*arg*/);
258c19800e8SDoug Rabson 
259c19800e8SDoug Rabson krb5_error_code
260c19800e8SDoug Rabson hdb_list_builtin (
261c19800e8SDoug Rabson 	krb5_context /*context*/,
262c19800e8SDoug Rabson 	char **/*list*/);
263c19800e8SDoug Rabson 
264c19800e8SDoug Rabson krb5_error_code
2658373020dSJacques Vidrine hdb_lock (
2668373020dSJacques Vidrine 	int /*fd*/,
2678373020dSJacques Vidrine 	int /*operation*/);
268b528cefcSMark Murray 
269b528cefcSMark Murray krb5_error_code
2708373020dSJacques Vidrine hdb_ndbm_create (
2718373020dSJacques Vidrine 	krb5_context /*context*/,
2728373020dSJacques Vidrine 	HDB **/*db*/,
2738373020dSJacques Vidrine 	const char */*filename*/);
274b528cefcSMark Murray 
275b528cefcSMark Murray krb5_error_code
2768373020dSJacques Vidrine hdb_next_enctype2key (
2778373020dSJacques Vidrine 	krb5_context /*context*/,
2788373020dSJacques Vidrine 	const hdb_entry */*e*/,
2798373020dSJacques Vidrine 	krb5_enctype /*enctype*/,
2808373020dSJacques Vidrine 	Key **/*key*/);
281b528cefcSMark Murray 
282b528cefcSMark Murray int
2838373020dSJacques Vidrine hdb_principal2key (
2848373020dSJacques Vidrine 	krb5_context /*context*/,
285c19800e8SDoug Rabson 	krb5_const_principal /*p*/,
2868373020dSJacques Vidrine 	krb5_data */*key*/);
287b528cefcSMark Murray 
288b528cefcSMark Murray krb5_error_code
2898373020dSJacques Vidrine hdb_print_entry (
2908373020dSJacques Vidrine 	krb5_context /*context*/,
2918373020dSJacques Vidrine 	HDB */*db*/,
292c19800e8SDoug Rabson 	hdb_entry_ex */*entry*/,
2938373020dSJacques Vidrine 	void */*data*/);
294b528cefcSMark Murray 
295b528cefcSMark Murray krb5_error_code
2968373020dSJacques Vidrine hdb_process_master_key (
2978373020dSJacques Vidrine 	krb5_context /*context*/,
2988373020dSJacques Vidrine 	int /*kvno*/,
2998373020dSJacques Vidrine 	krb5_keyblock */*key*/,
3008373020dSJacques Vidrine 	krb5_enctype /*etype*/,
3018373020dSJacques Vidrine 	hdb_master_key */*mkey*/);
302b528cefcSMark Murray 
303b528cefcSMark Murray krb5_error_code
3048373020dSJacques Vidrine hdb_read_master_key (
3058373020dSJacques Vidrine 	krb5_context /*context*/,
3068373020dSJacques Vidrine 	const char */*filename*/,
3078373020dSJacques Vidrine 	hdb_master_key */*mkey*/);
308b528cefcSMark Murray 
3095e9cd1aeSAssar Westerlund krb5_error_code
310c19800e8SDoug Rabson hdb_replace_extension (
311c19800e8SDoug Rabson 	krb5_context /*context*/,
312c19800e8SDoug Rabson 	hdb_entry */*entry*/,
313c19800e8SDoug Rabson 	const HDB_extension */*ext*/);
314c19800e8SDoug Rabson 
315c19800e8SDoug Rabson krb5_error_code
316c19800e8SDoug Rabson hdb_seal_key (
317c19800e8SDoug Rabson 	krb5_context /*context*/,
318c19800e8SDoug Rabson 	HDB */*db*/,
319c19800e8SDoug Rabson 	Key */*k*/);
320c19800e8SDoug Rabson 
321c19800e8SDoug Rabson krb5_error_code
322c19800e8SDoug Rabson hdb_seal_key_mkey (
323c19800e8SDoug Rabson 	krb5_context /*context*/,
324c19800e8SDoug Rabson 	Key */*k*/,
325c19800e8SDoug Rabson 	hdb_master_key /*mkey*/);
326c19800e8SDoug Rabson 
327c19800e8SDoug Rabson krb5_error_code
3288373020dSJacques Vidrine hdb_seal_keys (
3298373020dSJacques Vidrine 	krb5_context /*context*/,
3308373020dSJacques Vidrine 	HDB */*db*/,
3318373020dSJacques Vidrine 	hdb_entry */*ent*/);
332b528cefcSMark Murray 
333b528cefcSMark Murray krb5_error_code
3348373020dSJacques Vidrine hdb_seal_keys_mkey (
3358373020dSJacques Vidrine 	krb5_context /*context*/,
3368373020dSJacques Vidrine 	hdb_entry */*ent*/,
3378373020dSJacques Vidrine 	hdb_master_key /*mkey*/);
3385e9cd1aeSAssar Westerlund 
3395e9cd1aeSAssar Westerlund krb5_error_code
3408373020dSJacques Vidrine hdb_set_master_key (
3418373020dSJacques Vidrine 	krb5_context /*context*/,
3428373020dSJacques Vidrine 	HDB */*db*/,
3438373020dSJacques Vidrine 	krb5_keyblock */*key*/);
344b528cefcSMark Murray 
345b528cefcSMark Murray krb5_error_code
3468373020dSJacques Vidrine hdb_set_master_keyfile (
3478373020dSJacques Vidrine 	krb5_context /*context*/,
3488373020dSJacques Vidrine 	HDB */*db*/,
3498373020dSJacques Vidrine 	const char */*keyfile*/);
350b528cefcSMark Murray 
351b528cefcSMark Murray krb5_error_code
3528373020dSJacques Vidrine hdb_unlock (int /*fd*/);
353b528cefcSMark Murray 
3545e9cd1aeSAssar Westerlund krb5_error_code
355c19800e8SDoug Rabson hdb_unseal_key (
356c19800e8SDoug Rabson 	krb5_context /*context*/,
357c19800e8SDoug Rabson 	HDB */*db*/,
358c19800e8SDoug Rabson 	Key */*k*/);
359c19800e8SDoug Rabson 
360c19800e8SDoug Rabson krb5_error_code
361c19800e8SDoug Rabson hdb_unseal_key_mkey (
362c19800e8SDoug Rabson 	krb5_context /*context*/,
363c19800e8SDoug Rabson 	Key */*k*/,
364c19800e8SDoug Rabson 	hdb_master_key /*mkey*/);
365c19800e8SDoug Rabson 
366c19800e8SDoug Rabson krb5_error_code
3678373020dSJacques Vidrine hdb_unseal_keys (
3688373020dSJacques Vidrine 	krb5_context /*context*/,
3698373020dSJacques Vidrine 	HDB */*db*/,
3708373020dSJacques Vidrine 	hdb_entry */*ent*/);
371b528cefcSMark Murray 
3725e9cd1aeSAssar Westerlund krb5_error_code
3738373020dSJacques Vidrine hdb_unseal_keys_mkey (
3748373020dSJacques Vidrine 	krb5_context /*context*/,
3758373020dSJacques Vidrine 	hdb_entry */*ent*/,
3768373020dSJacques Vidrine 	hdb_master_key /*mkey*/);
3775e9cd1aeSAssar Westerlund 
378b528cefcSMark Murray int
3798373020dSJacques Vidrine hdb_value2entry (
3808373020dSJacques Vidrine 	krb5_context /*context*/,
3818373020dSJacques Vidrine 	krb5_data */*value*/,
3828373020dSJacques Vidrine 	hdb_entry */*ent*/);
383b528cefcSMark Murray 
384c19800e8SDoug Rabson int
385c19800e8SDoug Rabson hdb_value2entry_alias (
386c19800e8SDoug Rabson 	krb5_context /*context*/,
387c19800e8SDoug Rabson 	krb5_data */*value*/,
388c19800e8SDoug Rabson 	hdb_entry_alias */*ent*/);
389c19800e8SDoug Rabson 
3905e9cd1aeSAssar Westerlund krb5_error_code
3918373020dSJacques Vidrine hdb_write_master_key (
3928373020dSJacques Vidrine 	krb5_context /*context*/,
3938373020dSJacques Vidrine 	const char */*filename*/,
3948373020dSJacques Vidrine 	hdb_master_key /*mkey*/);
3955e9cd1aeSAssar Westerlund 
396c19800e8SDoug Rabson #ifdef __cplusplus
397c19800e8SDoug Rabson }
398c19800e8SDoug Rabson #endif
399c19800e8SDoug Rabson 
400b528cefcSMark Murray #endif /* __hdb_protos_h__ */
401