1/* This is a generated file */
2#ifndef __kdc_private_h__
3#define __kdc_private_h__
4
5#include <stdarg.h>
6
7krb5_error_code
8_kdc_add_KRB5SignedPath (
9	krb5_context /*context*/,
10	krb5_kdc_configuration */*config*/,
11	hdb_entry_ex */*krbtgt*/,
12	krb5_enctype /*enctype*/,
13	krb5_principal /*client*/,
14	krb5_const_principal /*server*/,
15	krb5_principals /*principals*/,
16	EncTicketPart */*tkt*/);
17
18krb5_error_code
19_kdc_add_inital_verified_cas (
20	krb5_context /*context*/,
21	krb5_kdc_configuration */*config*/,
22	pk_client_params */*cp*/,
23	EncTicketPart */*tkt*/);
24
25krb5_error_code
26_kdc_as_rep(kdc_request_t r,
27	    krb5_data *reply,
28	    const char *from,
29	    struct sockaddr *from_addr,
30	    size_t max_reply_size);
31
32krb5_error_code
33_kdc_check_access(krb5_context context,
34		  krb5_kdc_configuration *config,
35		  hdb_entry_ex *client_ex, const char *client_name,
36		  hdb_entry_ex *server_ex, const char *server_name,
37		  KDC_REQ *req,
38		  METHOD_DATA *method_data);
39
40krb5_boolean
41_kdc_check_addresses (
42	krb5_context /*context*/,
43	krb5_kdc_configuration */*config*/,
44	HostAddresses */*addresses*/,
45	const struct sockaddr */*from*/);
46
47krb5_error_code
48_kdc_db_fetch (
49	krb5_context /*context*/,
50	krb5_kdc_configuration */*config*/,
51	krb5_const_principal /*principal*/,
52	unsigned /*flags*/,
53	krb5int32 */*kvno_ptr*/,
54	HDB **/*db*/,
55	hdb_entry_ex **/*h*/);
56
57krb5_error_code
58_kdc_do_digest (
59	krb5_context /*context*/,
60	krb5_kdc_configuration */*config*/,
61	const struct DigestREQ */*req*/,
62	krb5_data */*reply*/,
63	const char */*from*/,
64	struct sockaddr */*addr*/);
65
66krb5_error_code
67_kdc_do_kx509 (
68	krb5_context /*context*/,
69	krb5_kdc_configuration */*config*/,
70	const struct Kx509Request */*req*/,
71	krb5_data */*reply*/,
72	const char */*from*/,
73	struct sockaddr */*addr*/);
74
75krb5_error_code
76_kdc_encode_reply(krb5_context context,
77		  krb5_kdc_configuration *config,
78		  kdc_request_t r,
79		  uint32_t nonce,
80		  KDC_REP *rep, EncTicketPart *et, EncKDCRepPart *ek,
81		  krb5_enctype etype,
82		  int skvno, const EncryptionKey *skey,
83		  int ckvno,
84		  int rk_is_subkey,
85		  const char **e_text,
86		  krb5_data *reply);
87
88krb5_error_code
89_kdc_find_etype (
90	krb5_context /*context*/,
91	krb5_boolean /*use_strongest_session_key*/,
92	krb5_boolean /*is_preauth*/,
93	hdb_entry_ex */*princ*/,
94	krb5_enctype */*etypes*/,
95	unsigned /*len*/,
96	krb5_enctype */*ret_enctype*/,
97	Key **/*ret_key*/);
98
99const PA_DATA*
100_kdc_find_padata (
101	const KDC_REQ */*req*/,
102	int */*start*/,
103	int /*type*/);
104
105void
106_kdc_fix_time (time_t **/*t*/);
107
108void
109_kdc_free_ent (
110	krb5_context /*context*/,
111	hdb_entry_ex */*ent*/);
112
113krb5_error_code
114_kdc_get_preferred_key (
115	krb5_context /*context*/,
116	krb5_kdc_configuration */*config*/,
117	hdb_entry_ex */*h*/,
118	const char */*name*/,
119	krb5_enctype */*enctype*/,
120	Key **/*key*/);
121
122krb5_boolean
123_kdc_is_anonymous (
124	krb5_context /*context*/,
125	krb5_principal /*principal*/);
126
127krb5_boolean
128_kdc_is_weak_exception (
129	krb5_principal /*principal*/,
130	krb5_enctype /*etype*/);
131
132void
133_kdc_log_timestamp (
134	krb5_context /*context*/,
135	krb5_kdc_configuration */*config*/,
136	const char */*type*/,
137	KerberosTime /*authtime*/,
138	KerberosTime */*starttime*/,
139	KerberosTime /*endtime*/,
140	KerberosTime */*renew_till*/);
141
142krb5_error_code
143_kdc_make_anonymous_principalname (PrincipalName */*pn*/);
144
145krb5_error_code
146_kdc_pac_generate (
147	krb5_context /*context*/,
148	hdb_entry_ex */*client*/,
149	krb5_pac */*pac*/);
150
151krb5_error_code
152_kdc_pac_verify (
153	krb5_context /*context*/,
154	const krb5_principal /*client_principal*/,
155	const krb5_principal /*delegated_proxy_principal*/,
156	hdb_entry_ex */*client*/,
157	hdb_entry_ex */*server*/,
158	hdb_entry_ex */*krbtgt*/,
159	krb5_pac */*pac*/,
160	int */*verified*/);
161
162krb5_error_code
163_kdc_pk_check_client(krb5_context context,
164		     krb5_kdc_configuration *config,
165		     HDB *clientdb,
166		     hdb_entry_ex *client,
167		     InitiatorName *pku2uInitiatorAssertion,
168		     pk_client_params *cp,
169		     char **subject_name);
170
171void
172_kdc_pk_free_client_param (
173	krb5_context /*context*/,
174	pk_client_params */*cp*/);
175
176krb5_error_code
177_kdc_pk_mk_pa_reply (
178	kdc_request_t /* r */,
179	pk_client_params */*cp*/);
180
181krb5_error_code
182_kdc_pk_rd_padata (
183	krb5_context /*context*/,
184	krb5_kdc_configuration */*config*/,
185	const KDC_REQ */*req*/,
186	const PA_DATA */*pa*/,
187	hdb_entry_ex */*client*/,
188	pk_client_params **/*ret_params*/);
189
190krb5_error_code
191_kdc_tgs_rep(kdc_request_t r,
192	     krb5_data *data,
193	     const char *from,
194	     struct sockaddr *from_addr,
195	     size_t max_reply_size);
196
197krb5_error_code
198_kdc_tkt_add_if_relevant_ad (
199	krb5_context /*context*/,
200	EncTicketPart */*tkt*/,
201	int /*type*/,
202	const krb5_data */*data*/);
203
204krb5_error_code
205_kdc_try_kx509_request (
206	void */*ptr*/,
207	size_t /*len*/,
208	struct Kx509Request */*req*/,
209	size_t */*size*/);
210
211krb5_error_code
212_kdc_fast_mk_error(krb5_context context,
213		   kdc_request_t r,
214		   METHOD_DATA *error_method,
215		   krb5_crypto armor_crypto,
216		   const KDC_REQ_BODY *req_body,
217		   krb5_error_code outer_error,
218		   const char *e_text,
219		   krb5_principal error_client,
220		   krb5_principal error_server,
221		   time_t *csec, int *cusec,
222		   krb5_data *error_msg);
223
224krb5_error_code
225_kdc_fast_mk_response(krb5_context context,
226		      krb5_crypto armor_crypto,
227		      METHOD_DATA *pa_data,
228		      krb5_keyblock *strengthen_key,
229		      KrbFastFinished *finished,
230		      krb5uint32 nonce,
231		      krb5_data *data);
232
233krb5_error_code
234_kdc_fast_unwrap_request(kdc_request_t r,
235			 krb5_ticket *tgs_ticket,
236			 krb5_auth_context tgs_ac);
237
238
239krb5_error_code
240_kdc_fast_strengthen_reply_key(kdc_request_t r);
241
242krb5_error_code
243_kdc_get_preferred_enctype(krb5_context context,
244			   krb5_kdc_configuration *config,
245			   const hdb_entry_ex *entry,
246			   const char *name,
247			   krb5_enctype *etypes,
248			   unsigned num_etypes,
249			   krb5_enctype *etype);
250
251#endif /* __kdc_private_h__ */
252