1178825Sdfr/* This is a generated file */
2178825Sdfr#ifndef __kdc_private_h__
3178825Sdfr#define __kdc_private_h__
4178825Sdfr
5178825Sdfr#include <stdarg.h>
6178825Sdfr
7178825Sdfrkrb5_error_code
8178825Sdfr_kdc_add_KRB5SignedPath (
9178825Sdfr	krb5_context /*context*/,
10178825Sdfr	krb5_kdc_configuration */*config*/,
11178825Sdfr	hdb_entry_ex */*krbtgt*/,
12178825Sdfr	krb5_enctype /*enctype*/,
13178825Sdfr	krb5_const_principal /*server*/,
14178825Sdfr	KRB5SignedPathPrincipals */*principals*/,
15178825Sdfr	EncTicketPart */*tkt*/);
16178825Sdfr
17178825Sdfrkrb5_error_code
18178825Sdfr_kdc_add_inital_verified_cas (
19178825Sdfr	krb5_context /*context*/,
20178825Sdfr	krb5_kdc_configuration */*config*/,
21178825Sdfr	pk_client_params */*params*/,
22178825Sdfr	EncTicketPart */*tkt*/);
23178825Sdfr
24178825Sdfrkrb5_error_code
25178825Sdfr_kdc_as_rep (
26178825Sdfr	krb5_context /*context*/,
27178825Sdfr	krb5_kdc_configuration */*config*/,
28178825Sdfr	KDC_REQ */*req*/,
29178825Sdfr	const krb5_data */*req_buffer*/,
30178825Sdfr	krb5_data */*reply*/,
31178825Sdfr	const char */*from*/,
32178825Sdfr	struct sockaddr */*from_addr*/,
33178825Sdfr	int /*datagram_reply*/);
34178825Sdfr
35178825Sdfrkrb5_boolean
36178825Sdfr_kdc_check_addresses (
37178825Sdfr	krb5_context /*context*/,
38178825Sdfr	krb5_kdc_configuration */*config*/,
39178825Sdfr	HostAddresses */*addresses*/,
40178825Sdfr	const struct sockaddr */*from*/);
41178825Sdfr
42178825Sdfrkrb5_error_code
43178825Sdfr_kdc_check_flags (
44178825Sdfr	krb5_context /*context*/,
45178825Sdfr	krb5_kdc_configuration */*config*/,
46178825Sdfr	hdb_entry_ex */*client_ex*/,
47178825Sdfr	const char */*client_name*/,
48178825Sdfr	hdb_entry_ex */*server_ex*/,
49178825Sdfr	const char */*server_name*/,
50178825Sdfr	krb5_boolean /*is_as_req*/);
51178825Sdfr
52178825Sdfrkrb5_error_code
53178825Sdfr_kdc_db_fetch (
54178825Sdfr	krb5_context /*context*/,
55178825Sdfr	krb5_kdc_configuration */*config*/,
56178825Sdfr	krb5_const_principal /*principal*/,
57178825Sdfr	unsigned /*flags*/,
58178825Sdfr	HDB **/*db*/,
59178825Sdfr	hdb_entry_ex **/*h*/);
60178825Sdfr
61178825Sdfrkrb5_error_code
62178825Sdfr_kdc_db_fetch4 (
63178825Sdfr	krb5_context /*context*/,
64178825Sdfr	krb5_kdc_configuration */*config*/,
65178825Sdfr	const char */*name*/,
66178825Sdfr	const char */*instance*/,
67178825Sdfr	const char */*realm*/,
68178825Sdfr	unsigned /*flags*/,
69178825Sdfr	hdb_entry_ex **/*ent*/);
70178825Sdfr
71178825Sdfrkrb5_error_code
72178825Sdfr_kdc_do_524 (
73178825Sdfr	krb5_context /*context*/,
74178825Sdfr	krb5_kdc_configuration */*config*/,
75178825Sdfr	const Ticket */*t*/,
76178825Sdfr	krb5_data */*reply*/,
77178825Sdfr	const char */*from*/,
78178825Sdfr	struct sockaddr */*addr*/);
79178825Sdfr
80178825Sdfrkrb5_error_code
81178825Sdfr_kdc_do_digest (
82178825Sdfr	krb5_context /*context*/,
83178825Sdfr	krb5_kdc_configuration */*config*/,
84178825Sdfr	const DigestREQ */*req*/,
85178825Sdfr	krb5_data */*reply*/,
86178825Sdfr	const char */*from*/,
87178825Sdfr	struct sockaddr */*addr*/);
88178825Sdfr
89178825Sdfrkrb5_error_code
90178825Sdfr_kdc_do_kaserver (
91178825Sdfr	krb5_context /*context*/,
92178825Sdfr	krb5_kdc_configuration */*config*/,
93178825Sdfr	unsigned char */*buf*/,
94178825Sdfr	size_t /*len*/,
95178825Sdfr	krb5_data */*reply*/,
96178825Sdfr	const char */*from*/,
97178825Sdfr	struct sockaddr_in */*addr*/);
98178825Sdfr
99178825Sdfrkrb5_error_code
100178825Sdfr_kdc_do_kx509 (
101178825Sdfr	krb5_context /*context*/,
102178825Sdfr	krb5_kdc_configuration */*config*/,
103178825Sdfr	const Kx509Request */*req*/,
104178825Sdfr	krb5_data */*reply*/,
105178825Sdfr	const char */*from*/,
106178825Sdfr	struct sockaddr */*addr*/);
107178825Sdfr
108178825Sdfrkrb5_error_code
109178825Sdfr_kdc_do_version4 (
110178825Sdfr	krb5_context /*context*/,
111178825Sdfr	krb5_kdc_configuration */*config*/,
112178825Sdfr	unsigned char */*buf*/,
113178825Sdfr	size_t /*len*/,
114178825Sdfr	krb5_data */*reply*/,
115178825Sdfr	const char */*from*/,
116178825Sdfr	struct sockaddr_in */*addr*/);
117178825Sdfr
118178825Sdfrkrb5_error_code
119178825Sdfr_kdc_encode_reply (
120178825Sdfr	krb5_context /*context*/,
121178825Sdfr	krb5_kdc_configuration */*config*/,
122178825Sdfr	KDC_REP */*rep*/,
123178825Sdfr	const EncTicketPart */*et*/,
124178825Sdfr	EncKDCRepPart */*ek*/,
125178825Sdfr	krb5_enctype /*etype*/,
126178825Sdfr	int /*skvno*/,
127178825Sdfr	const EncryptionKey */*skey*/,
128178825Sdfr	int /*ckvno*/,
129178825Sdfr	const EncryptionKey */*ckey*/,
130178825Sdfr	const char **/*e_text*/,
131178825Sdfr	krb5_data */*reply*/);
132178825Sdfr
133178825Sdfrkrb5_error_code
134178825Sdfr_kdc_encode_v4_ticket (
135178825Sdfr	krb5_context /*context*/,
136178825Sdfr	krb5_kdc_configuration */*config*/,
137178825Sdfr	void */*buf*/,
138178825Sdfr	size_t /*len*/,
139178825Sdfr	const EncTicketPart */*et*/,
140178825Sdfr	const PrincipalName */*service*/,
141178825Sdfr	size_t */*size*/);
142178825Sdfr
143178825Sdfrkrb5_error_code
144178825Sdfr_kdc_find_etype (
145178825Sdfr	krb5_context /*context*/,
146178825Sdfr	const hdb_entry_ex */*princ*/,
147178825Sdfr	krb5_enctype */*etypes*/,
148178825Sdfr	unsigned /*len*/,
149178825Sdfr	Key **/*ret_key*/,
150178825Sdfr	krb5_enctype */*ret_etype*/);
151178825Sdfr
152178825Sdfrconst PA_DATA*
153178825Sdfr_kdc_find_padata (
154178825Sdfr	const KDC_REQ */*req*/,
155178825Sdfr	int */*start*/,
156178825Sdfr	int /*type*/);
157178825Sdfr
158178825Sdfrvoid
159178825Sdfr_kdc_fix_time (time_t **/*t*/);
160178825Sdfr
161178825Sdfrvoid
162178825Sdfr_kdc_free_ent (
163178825Sdfr	krb5_context /*context*/,
164178825Sdfr	hdb_entry_ex */*ent*/);
165178825Sdfr
166178825Sdfrkrb5_error_code
167178825Sdfr_kdc_get_des_key (
168178825Sdfr	krb5_context /*context*/,
169178825Sdfr	hdb_entry_ex */*principal*/,
170178825Sdfr	krb5_boolean /*is_server*/,
171178825Sdfr	krb5_boolean /*prefer_afs_key*/,
172178825Sdfr	Key **/*ret_key*/);
173178825Sdfr
174178825Sdfrkrb5_error_code
175178825Sdfr_kdc_get_preferred_key (
176178825Sdfr	krb5_context /*context*/,
177178825Sdfr	krb5_kdc_configuration */*config*/,
178178825Sdfr	hdb_entry_ex */*h*/,
179178825Sdfr	const char */*name*/,
180178825Sdfr	krb5_enctype */*enctype*/,
181178825Sdfr	Key **/*key*/);
182178825Sdfr
183178825Sdfrvoid
184178825Sdfr_kdc_log_timestamp (
185178825Sdfr	krb5_context /*context*/,
186178825Sdfr	krb5_kdc_configuration */*config*/,
187178825Sdfr	const char */*type*/,
188178825Sdfr	KerberosTime /*authtime*/,
189178825Sdfr	KerberosTime */*starttime*/,
190178825Sdfr	KerberosTime /*endtime*/,
191178825Sdfr	KerberosTime */*renew_till*/);
192178825Sdfr
193178825Sdfrkrb5_error_code
194178825Sdfr_kdc_make_anonymous_principalname (PrincipalName */*pn*/);
195178825Sdfr
196178825Sdfrint
197178825Sdfr_kdc_maybe_version4 (
198178825Sdfr	unsigned char */*buf*/,
199178825Sdfr	int /*len*/);
200178825Sdfr
201178825Sdfrkrb5_error_code
202178825Sdfr_kdc_pac_generate (
203178825Sdfr	krb5_context /*context*/,
204178825Sdfr	hdb_entry_ex */*client*/,
205178825Sdfr	krb5_pac */*pac*/);
206178825Sdfr
207178825Sdfrkrb5_error_code
208178825Sdfr_kdc_pac_verify (
209178825Sdfr	krb5_context /*context*/,
210178825Sdfr	const krb5_principal /*client_principal*/,
211178825Sdfr	hdb_entry_ex */*client*/,
212178825Sdfr	hdb_entry_ex */*server*/,
213178825Sdfr	krb5_pac */*pac*/);
214178825Sdfr
215178825Sdfrkrb5_error_code
216178825Sdfr_kdc_pk_check_client (
217178825Sdfr	krb5_context /*context*/,
218178825Sdfr	krb5_kdc_configuration */*config*/,
219178825Sdfr	const hdb_entry_ex */*client*/,
220178825Sdfr	pk_client_params */*client_params*/,
221178825Sdfr	char **/*subject_name*/);
222178825Sdfr
223178825Sdfrvoid
224178825Sdfr_kdc_pk_free_client_param (
225178825Sdfr	krb5_context /*context*/,
226178825Sdfr	pk_client_params */*client_params*/);
227178825Sdfr
228178825Sdfrkrb5_error_code
229178825Sdfr_kdc_pk_initialize (
230178825Sdfr	krb5_context /*context*/,
231178825Sdfr	krb5_kdc_configuration */*config*/,
232178825Sdfr	const char */*user_id*/,
233178825Sdfr	const char */*anchors*/,
234178825Sdfr	char **/*pool*/,
235178825Sdfr	char **/*revoke_list*/);
236178825Sdfr
237178825Sdfrkrb5_error_code
238178825Sdfr_kdc_pk_mk_pa_reply (
239178825Sdfr	krb5_context /*context*/,
240178825Sdfr	krb5_kdc_configuration */*config*/,
241178825Sdfr	pk_client_params */*client_params*/,
242178825Sdfr	const hdb_entry_ex */*client*/,
243178825Sdfr	const KDC_REQ */*req*/,
244178825Sdfr	const krb5_data */*req_buffer*/,
245178825Sdfr	krb5_keyblock **/*reply_key*/,
246178825Sdfr	METHOD_DATA */*md*/);
247178825Sdfr
248178825Sdfrkrb5_error_code
249178825Sdfr_kdc_pk_rd_padata (
250178825Sdfr	krb5_context /*context*/,
251178825Sdfr	krb5_kdc_configuration */*config*/,
252178825Sdfr	const KDC_REQ */*req*/,
253178825Sdfr	const PA_DATA */*pa*/,
254178825Sdfr	pk_client_params **/*ret_params*/);
255178825Sdfr
256178825Sdfrkrb5_error_code
257178825Sdfr_kdc_tgs_rep (
258178825Sdfr	krb5_context /*context*/,
259178825Sdfr	krb5_kdc_configuration */*config*/,
260178825Sdfr	KDC_REQ */*req*/,
261178825Sdfr	krb5_data */*data*/,
262178825Sdfr	const char */*from*/,
263178825Sdfr	struct sockaddr */*from_addr*/,
264178825Sdfr	int /*datagram_reply*/);
265178825Sdfr
266178825Sdfrkrb5_error_code
267178825Sdfr_kdc_tkt_add_if_relevant_ad (
268178825Sdfr	krb5_context /*context*/,
269178825Sdfr	EncTicketPart */*tkt*/,
270178825Sdfr	int /*type*/,
271178825Sdfr	const krb5_data */*data*/);
272178825Sdfr
273178825Sdfrkrb5_error_code
274178825Sdfr_kdc_try_kx509_request (
275178825Sdfr	void */*ptr*/,
276178825Sdfr	size_t /*len*/,
277178825Sdfr	Kx509Request */*req*/,
278178825Sdfr	size_t */*size*/);
279178825Sdfr
280178825Sdfrkrb5_error_code
281178825Sdfr_kdc_windc_client_access (
282178825Sdfr	krb5_context /*context*/,
283178825Sdfr	struct hdb_entry_ex */*client*/,
284178825Sdfr	KDC_REQ */*req*/);
285178825Sdfr
286178825Sdfr#endif /* __kdc_private_h__ */
287