xref: /netbsd-src/crypto/external/bsd/heimdal/include/kdc-private.h (revision afab4e300d3a9fb07dd8c80daf53d0feb3345706)
1170f4091Selric /* This is a generated file */
2170f4091Selric #ifndef __kdc_private_h__
3170f4091Selric #define __kdc_private_h__
4170f4091Selric 
5170f4091Selric #include <stdarg.h>
6170f4091Selric 
7170f4091Selric krb5_error_code
8170f4091Selric _kdc_add_KRB5SignedPath (
9170f4091Selric 	krb5_context /*context*/,
10170f4091Selric 	krb5_kdc_configuration */*config*/,
11170f4091Selric 	hdb_entry_ex */*krbtgt*/,
12170f4091Selric 	krb5_enctype /*enctype*/,
13241bea01Schristos 	krb5_const_principal /*client*/,
14170f4091Selric 	krb5_const_principal /*server*/,
15170f4091Selric 	krb5_principals /*principals*/,
16170f4091Selric 	EncTicketPart */*tkt*/);
17170f4091Selric 
18170f4091Selric krb5_error_code
19170f4091Selric _kdc_add_inital_verified_cas (
20170f4091Selric 	krb5_context /*context*/,
21170f4091Selric 	krb5_kdc_configuration */*config*/,
22170f4091Selric 	pk_client_params */*cp*/,
23170f4091Selric 	EncTicketPart */*tkt*/);
24170f4091Selric 
25170f4091Selric krb5_error_code
26170f4091Selric _kdc_as_rep (
27d3273b5bSchristos 	kdc_request_t /*r*/,
28170f4091Selric 	krb5_data */*reply*/,
29170f4091Selric 	const char */*from*/,
30170f4091Selric 	struct sockaddr */*from_addr*/,
31170f4091Selric 	int /*datagram_reply*/);
32170f4091Selric 
33170f4091Selric krb5_error_code
34170f4091Selric _kdc_check_access (
35170f4091Selric 	krb5_context /*context*/,
36170f4091Selric 	krb5_kdc_configuration */*config*/,
37170f4091Selric 	hdb_entry_ex */*client_ex*/,
38170f4091Selric 	const char */*client_name*/,
39170f4091Selric 	hdb_entry_ex */*server_ex*/,
40170f4091Selric 	const char */*server_name*/,
41170f4091Selric 	KDC_REQ */*req*/,
42d3273b5bSchristos 	METHOD_DATA */*method_data*/);
43170f4091Selric 
44170f4091Selric krb5_boolean
45170f4091Selric _kdc_check_addresses (
46170f4091Selric 	krb5_context /*context*/,
47170f4091Selric 	krb5_kdc_configuration */*config*/,
48170f4091Selric 	HostAddresses */*addresses*/,
49170f4091Selric 	const struct sockaddr */*from*/);
50170f4091Selric 
51170f4091Selric krb5_error_code
52241bea01Schristos _kdc_check_anon_policy (
53241bea01Schristos 	krb5_context /*context*/,
54241bea01Schristos 	krb5_kdc_configuration */*config*/,
55241bea01Schristos 	hdb_entry_ex */*client*/,
56241bea01Schristos 	hdb_entry_ex */*server*/);
57241bea01Schristos 
58241bea01Schristos krb5_error_code
59170f4091Selric _kdc_db_fetch (
60170f4091Selric 	krb5_context /*context*/,
61170f4091Selric 	krb5_kdc_configuration */*config*/,
62170f4091Selric 	krb5_const_principal /*principal*/,
63170f4091Selric 	unsigned /*flags*/,
645a3d3c76Spettai 	krb5uint32 */*kvno_ptr*/,
65170f4091Selric 	HDB **/*db*/,
66170f4091Selric 	hdb_entry_ex **/*h*/);
67170f4091Selric 
68170f4091Selric krb5_error_code
69170f4091Selric _kdc_do_digest (
70170f4091Selric 	krb5_context /*context*/,
71170f4091Selric 	krb5_kdc_configuration */*config*/,
72170f4091Selric 	const struct DigestREQ */*req*/,
73170f4091Selric 	krb5_data */*reply*/,
74170f4091Selric 	const char */*from*/,
75170f4091Selric 	struct sockaddr */*addr*/);
76170f4091Selric 
77170f4091Selric krb5_error_code
78170f4091Selric _kdc_do_kx509 (
79170f4091Selric 	krb5_context /*context*/,
80170f4091Selric 	krb5_kdc_configuration */*config*/,
81170f4091Selric 	const struct Kx509Request */*req*/,
82170f4091Selric 	krb5_data */*reply*/,
83170f4091Selric 	const char */*from*/,
84170f4091Selric 	struct sockaddr */*addr*/);
85170f4091Selric 
86170f4091Selric krb5_error_code
87170f4091Selric _kdc_encode_reply (
88170f4091Selric 	krb5_context /*context*/,
89170f4091Selric 	krb5_kdc_configuration */*config*/,
90d3273b5bSchristos 	krb5_crypto /*armor_crypto*/,
91d3273b5bSchristos 	uint32_t /*nonce*/,
92170f4091Selric 	KDC_REP */*rep*/,
93d3273b5bSchristos 	EncTicketPart */*et*/,
94170f4091Selric 	EncKDCRepPart */*ek*/,
95170f4091Selric 	krb5_enctype /*etype*/,
96170f4091Selric 	int /*skvno*/,
97170f4091Selric 	const EncryptionKey */*skey*/,
98170f4091Selric 	int /*ckvno*/,
99170f4091Selric 	const EncryptionKey */*reply_key*/,
100170f4091Selric 	int /*rk_is_subkey*/,
101170f4091Selric 	const char **/*e_text*/,
102170f4091Selric 	krb5_data */*reply*/);
103170f4091Selric 
104170f4091Selric krb5_error_code
105d3273b5bSchristos _kdc_fast_mk_error (
106d3273b5bSchristos 	krb5_context /*context*/,
107d3273b5bSchristos 	kdc_request_t /*r*/,
108d3273b5bSchristos 	METHOD_DATA */*error_method*/,
109d3273b5bSchristos 	krb5_crypto /*armor_crypto*/,
110d3273b5bSchristos 	const KDC_REQ_BODY */*req_body*/,
111d3273b5bSchristos 	krb5_error_code /*outer_error*/,
112d3273b5bSchristos 	const char */*e_text*/,
113d3273b5bSchristos 	krb5_principal /*error_server*/,
114d3273b5bSchristos 	const PrincipalName */*error_client_name*/,
115d3273b5bSchristos 	const Realm */*error_client_realm*/,
116d3273b5bSchristos 	time_t */*csec*/,
117d3273b5bSchristos 	int */*cusec*/,
118d3273b5bSchristos 	krb5_data */*error_msg*/);
119d3273b5bSchristos 
120d3273b5bSchristos krb5_error_code
121d3273b5bSchristos _kdc_fast_mk_response (
122d3273b5bSchristos 	krb5_context /*context*/,
123d3273b5bSchristos 	krb5_crypto /*armor_crypto*/,
124d3273b5bSchristos 	METHOD_DATA */*pa_data*/,
125d3273b5bSchristos 	krb5_keyblock */*strengthen_key*/,
126d3273b5bSchristos 	KrbFastFinished */*finished*/,
127d3273b5bSchristos 	krb5uint32 /*nonce*/,
128d3273b5bSchristos 	krb5_data */*data*/);
129d3273b5bSchristos 
130d3273b5bSchristos krb5_error_code
131d3273b5bSchristos _kdc_fast_unwrap_request (kdc_request_t /*r*/);
132d3273b5bSchristos 
133d3273b5bSchristos krb5_error_code
134170f4091Selric _kdc_find_etype (
135170f4091Selric 	krb5_context /*context*/,
1365a3d3c76Spettai 	krb5_boolean /*use_strongest_session_key*/,
1375a3d3c76Spettai 	krb5_boolean /*is_preauth*/,
1385a3d3c76Spettai 	hdb_entry_ex */*princ*/,
139170f4091Selric 	krb5_enctype */*etypes*/,
140170f4091Selric 	unsigned /*len*/,
1415a3d3c76Spettai 	krb5_enctype */*ret_enctype*/,
142170f4091Selric 	Key **/*ret_key*/);
143170f4091Selric 
144170f4091Selric const PA_DATA*
145170f4091Selric _kdc_find_padata (
146170f4091Selric 	const KDC_REQ */*req*/,
147170f4091Selric 	int */*start*/,
148170f4091Selric 	int /*type*/);
149170f4091Selric 
150170f4091Selric void
151170f4091Selric _kdc_fix_time (time_t **/*t*/);
152170f4091Selric 
153170f4091Selric void
154170f4091Selric _kdc_free_ent (
155170f4091Selric 	krb5_context /*context*/,
156170f4091Selric 	hdb_entry_ex */*ent*/);
157170f4091Selric 
158170f4091Selric krb5_error_code
159d3273b5bSchristos _kdc_generate_ecdh_keyblock (
160d3273b5bSchristos 	krb5_context /*context*/,
161d3273b5bSchristos 	void */*ec_key_pk*/,
162d3273b5bSchristos 	void **/*ec_key_key*/,
163d3273b5bSchristos 	unsigned char **/*dh_gen_key*/,
164d3273b5bSchristos 	size_t */*dh_gen_keylen*/);
165d3273b5bSchristos 
166d3273b5bSchristos krb5_error_code
167d3273b5bSchristos _kdc_get_ecdh_param (
168d3273b5bSchristos 	krb5_context /*context*/,
169d3273b5bSchristos 	krb5_kdc_configuration */*config*/,
170d3273b5bSchristos 	SubjectPublicKeyInfo */*dh_key_info*/,
171d3273b5bSchristos 	void **/*out*/);
172d3273b5bSchristos 
173d3273b5bSchristos krb5_error_code
174170f4091Selric _kdc_get_preferred_key (
175170f4091Selric 	krb5_context /*context*/,
176170f4091Selric 	krb5_kdc_configuration */*config*/,
177170f4091Selric 	hdb_entry_ex */*h*/,
178170f4091Selric 	const char */*name*/,
179170f4091Selric 	krb5_enctype */*enctype*/,
180170f4091Selric 	Key **/*key*/);
181170f4091Selric 
182170f4091Selric krb5_boolean
183*afab4e30Schristos _kdc_is_anon_request (const KDC_REQ */*req*/);
184*afab4e30Schristos 
185*afab4e30Schristos krb5_boolean
186170f4091Selric _kdc_is_anonymous (
187170f4091Selric 	krb5_context /*context*/,
188241bea01Schristos 	krb5_const_principal /*principal*/);
189170f4091Selric 
190170f4091Selric krb5_boolean
191170f4091Selric _kdc_is_weak_exception (
192170f4091Selric 	krb5_principal /*principal*/,
193170f4091Selric 	krb5_enctype /*etype*/);
194170f4091Selric 
195170f4091Selric void
196170f4091Selric _kdc_log_timestamp (
197170f4091Selric 	krb5_context /*context*/,
198170f4091Selric 	krb5_kdc_configuration */*config*/,
199170f4091Selric 	const char */*type*/,
200170f4091Selric 	KerberosTime /*authtime*/,
201170f4091Selric 	KerberosTime */*starttime*/,
202170f4091Selric 	KerberosTime /*endtime*/,
203170f4091Selric 	KerberosTime */*renew_till*/);
204170f4091Selric 
205170f4091Selric krb5_error_code
206170f4091Selric _kdc_make_anonymous_principalname (PrincipalName */*pn*/);
207170f4091Selric 
208170f4091Selric krb5_error_code
209170f4091Selric _kdc_pac_generate (
210170f4091Selric 	krb5_context /*context*/,
211170f4091Selric 	hdb_entry_ex */*client*/,
212170f4091Selric 	krb5_pac */*pac*/);
213170f4091Selric 
214170f4091Selric krb5_error_code
215170f4091Selric _kdc_pac_verify (
216170f4091Selric 	krb5_context /*context*/,
217170f4091Selric 	const krb5_principal /*client_principal*/,
2185a3d3c76Spettai 	const krb5_principal /*delegated_proxy_principal*/,
219170f4091Selric 	hdb_entry_ex */*client*/,
220170f4091Selric 	hdb_entry_ex */*server*/,
221170f4091Selric 	hdb_entry_ex */*krbtgt*/,
222170f4091Selric 	krb5_pac */*pac*/,
223170f4091Selric 	int */*verified*/);
224170f4091Selric 
225170f4091Selric krb5_error_code
226170f4091Selric _kdc_pk_check_client (
227170f4091Selric 	krb5_context /*context*/,
228170f4091Selric 	krb5_kdc_configuration */*config*/,
229170f4091Selric 	HDB */*clientdb*/,
230170f4091Selric 	hdb_entry_ex */*client*/,
231170f4091Selric 	pk_client_params */*cp*/,
232170f4091Selric 	char **/*subject_name*/);
233170f4091Selric 
234170f4091Selric void
235d3273b5bSchristos _kdc_pk_free_client_ec_param (
236d3273b5bSchristos 	krb5_context /*context*/,
237d3273b5bSchristos 	void */*ec_key_pk*/,
238d3273b5bSchristos 	void */*ec_key_key*/);
239d3273b5bSchristos 
240d3273b5bSchristos void
241170f4091Selric _kdc_pk_free_client_param (
242170f4091Selric 	krb5_context /*context*/,
243170f4091Selric 	pk_client_params */*cp*/);
244170f4091Selric 
245170f4091Selric krb5_error_code
246170f4091Selric _kdc_pk_mk_pa_reply (
247170f4091Selric 	krb5_context /*context*/,
248170f4091Selric 	krb5_kdc_configuration */*config*/,
249170f4091Selric 	pk_client_params */*cp*/,
250170f4091Selric 	const hdb_entry_ex */*client*/,
251170f4091Selric 	krb5_enctype /*sessionetype*/,
252170f4091Selric 	const KDC_REQ */*req*/,
253170f4091Selric 	const krb5_data */*req_buffer*/,
254d3273b5bSchristos 	krb5_keyblock */*reply_key*/,
255170f4091Selric 	krb5_keyblock */*sessionkey*/,
256170f4091Selric 	METHOD_DATA */*md*/);
257170f4091Selric 
258170f4091Selric krb5_error_code
259170f4091Selric _kdc_pk_rd_padata (
260170f4091Selric 	krb5_context /*context*/,
261170f4091Selric 	krb5_kdc_configuration */*config*/,
262170f4091Selric 	const KDC_REQ */*req*/,
263170f4091Selric 	const PA_DATA */*pa*/,
264170f4091Selric 	hdb_entry_ex */*client*/,
265170f4091Selric 	pk_client_params **/*ret_params*/);
266170f4091Selric 
267170f4091Selric krb5_error_code
268d3273b5bSchristos _kdc_serialize_ecdh_key (
269d3273b5bSchristos 	krb5_context /*context*/,
270d3273b5bSchristos 	void */*key*/,
271d3273b5bSchristos 	unsigned char **/*out*/,
272d3273b5bSchristos 	size_t */*out_len*/);
273d3273b5bSchristos 
274d3273b5bSchristos krb5_error_code
275170f4091Selric _kdc_tgs_rep (
276170f4091Selric 	krb5_context /*context*/,
277170f4091Selric 	krb5_kdc_configuration */*config*/,
278170f4091Selric 	KDC_REQ */*req*/,
279170f4091Selric 	krb5_data */*data*/,
280170f4091Selric 	const char */*from*/,
281170f4091Selric 	struct sockaddr */*from_addr*/,
282170f4091Selric 	int /*datagram_reply*/);
283170f4091Selric 
284170f4091Selric krb5_error_code
285170f4091Selric _kdc_tkt_add_if_relevant_ad (
286170f4091Selric 	krb5_context /*context*/,
287170f4091Selric 	EncTicketPart */*tkt*/,
288170f4091Selric 	int /*type*/,
289170f4091Selric 	const krb5_data */*data*/);
290170f4091Selric 
291170f4091Selric krb5_error_code
292170f4091Selric _kdc_try_kx509_request (
293170f4091Selric 	void */*ptr*/,
294170f4091Selric 	size_t /*len*/,
295170f4091Selric 	struct Kx509Request */*req*/,
296170f4091Selric 	size_t */*size*/);
297170f4091Selric 
298170f4091Selric #endif /* __kdc_private_h__ */
299