]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - crypto/heimdal/doc/doxyout/krb5/man/man3/krb5.3
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / crypto / heimdal / doc / doxyout / krb5 / man / man3 / krb5.3
1 .TH "Heimdal Kerberos 5 library" 3 "11 Jan 2012" "Version 1.5.2" "HeimdalKerberos5library" \" -*- nroff -*-
2 .ad l
3 .nh
4 .SH NAME
5 Heimdal Kerberos 5 library \- 
6 .SS "Functions"
7
8 .in +1c
9 .ti -1c
10 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_add_et_list\fP (krb5_context context, void(*func)(struct et_list **))"
11 .br
12 .ti -1c
13 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_set_password\fP (krb5_context context, krb5_creds *creds, const char *newpw, krb5_principal targprinc, int *result_code, krb5_data *result_code_string, krb5_data *result_string)"
14 .br
15 .ti -1c
16 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_init_context\fP (krb5_context *context)"
17 .br
18 .ti -1c
19 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_copy_context\fP (krb5_context context, krb5_context *out)"
20 .br
21 .ti -1c
22 .RI "KRB5_LIB_FUNCTION void KRB5_LIB_CALL \fBkrb5_free_context\fP (krb5_context context)"
23 .br
24 .ti -1c
25 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_set_config_files\fP (krb5_context context, char **filenames)"
26 .br
27 .ti -1c
28 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_prepend_config_files_default\fP (const char *filelist, char ***pfilenames)"
29 .br
30 .ti -1c
31 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_get_default_config_files\fP (char ***pfilenames)"
32 .br
33 .ti -1c
34 .RI "KRB5_LIB_FUNCTION void KRB5_LIB_CALL \fBkrb5_free_config_files\fP (char **filenames)"
35 .br
36 .ti -1c
37 .RI "KRB5_LIB_FUNCTION const krb5_enctype *KRB5_LIB_CALL \fBkrb5_kerberos_enctypes\fP (krb5_context context)"
38 .br
39 .ti -1c
40 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_set_default_in_tkt_etypes\fP (krb5_context context, const krb5_enctype *etypes)"
41 .br
42 .ti -1c
43 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_get_default_in_tkt_etypes\fP (krb5_context context, krb5_pdu pdu_type, krb5_enctype **etypes)"
44 .br
45 .ti -1c
46 .RI "KRB5_LIB_FUNCTION void KRB5_LIB_CALL \fBkrb5_init_ets\fP (krb5_context context)"
47 .br
48 .ti -1c
49 .RI "KRB5_LIB_FUNCTION void KRB5_LIB_CALL \fBkrb5_set_use_admin_kdc\fP (krb5_context context, krb5_boolean flag)"
50 .br
51 .ti -1c
52 .RI "KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL \fBkrb5_get_use_admin_kdc\fP (krb5_context context)"
53 .br
54 .ti -1c
55 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_add_extra_addresses\fP (krb5_context context, krb5_addresses *addresses)"
56 .br
57 .ti -1c
58 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_set_extra_addresses\fP (krb5_context context, const krb5_addresses *addresses)"
59 .br
60 .ti -1c
61 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_get_extra_addresses\fP (krb5_context context, krb5_addresses *addresses)"
62 .br
63 .ti -1c
64 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_add_ignore_addresses\fP (krb5_context context, krb5_addresses *addresses)"
65 .br
66 .ti -1c
67 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_set_ignore_addresses\fP (krb5_context context, const krb5_addresses *addresses)"
68 .br
69 .ti -1c
70 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_get_ignore_addresses\fP (krb5_context context, krb5_addresses *addresses)"
71 .br
72 .ti -1c
73 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_set_fcache_version\fP (krb5_context context, int version)"
74 .br
75 .ti -1c
76 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_get_fcache_version\fP (krb5_context context, int *version)"
77 .br
78 .ti -1c
79 .RI "KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL \fBkrb5_is_thread_safe\fP (void)"
80 .br
81 .ti -1c
82 .RI "KRB5_LIB_FUNCTION void KRB5_LIB_CALL \fBkrb5_set_dns_canonicalize_hostname\fP (krb5_context context, krb5_boolean flag)"
83 .br
84 .ti -1c
85 .RI "KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL \fBkrb5_get_dns_canonicalize_hostname\fP (krb5_context context)"
86 .br
87 .ti -1c
88 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_get_kdc_sec_offset\fP (krb5_context context, int32_t *sec, int32_t *usec)"
89 .br
90 .ti -1c
91 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_set_kdc_sec_offset\fP (krb5_context context, int32_t sec, int32_t usec)"
92 .br
93 .ti -1c
94 .RI "KRB5_LIB_FUNCTION time_t KRB5_LIB_CALL \fBkrb5_get_max_time_skew\fP (krb5_context context)"
95 .br
96 .ti -1c
97 .RI "KRB5_LIB_FUNCTION void KRB5_LIB_CALL \fBkrb5_set_max_time_skew\fP (krb5_context context, time_t t)"
98 .br
99 .ti -1c
100 .RI "KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL \fBkrb5_set_home_dir_access\fP (krb5_context context, krb5_boolean allow)"
101 .br
102 .ti -1c
103 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_copy_host_realm\fP (krb5_context context, const krb5_realm *from, krb5_realm **to)"
104 .br
105 .ti -1c
106 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_free_cred_contents\fP (krb5_context context, krb5_creds *c)"
107 .br
108 .ti -1c
109 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_copy_creds_contents\fP (krb5_context context, const krb5_creds *incred, krb5_creds *c)"
110 .br
111 .ti -1c
112 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_copy_creds\fP (krb5_context context, const krb5_creds *incred, krb5_creds **outcred)"
113 .br
114 .ti -1c
115 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_free_creds\fP (krb5_context context, krb5_creds *c)"
116 .br
117 .ti -1c
118 .RI "KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL \fBkrb5_compare_creds\fP (krb5_context context, krb5_flags whichfields, const krb5_creds *mcreds, const krb5_creds *creds)"
119 .br
120 .ti -1c
121 .RI "KRB5_LIB_FUNCTION unsigned long KRB5_LIB_CALL \fBkrb5_creds_get_ticket_flags\fP (krb5_creds *creds)"
122 .br
123 .ti -1c
124 .RI "KRB5_LIB_FUNCTION void KRB5_LIB_CALL \fBkrb5_data_zero\fP (krb5_data *p)"
125 .br
126 .ti -1c
127 .RI "KRB5_LIB_FUNCTION void KRB5_LIB_CALL \fBkrb5_data_free\fP (krb5_data *p)"
128 .br
129 .ti -1c
130 .RI "KRB5_LIB_FUNCTION void KRB5_LIB_CALL \fBkrb5_free_data\fP (krb5_context context, krb5_data *p)"
131 .br
132 .ti -1c
133 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_data_alloc\fP (krb5_data *p, int len)"
134 .br
135 .ti -1c
136 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_data_realloc\fP (krb5_data *p, int len)"
137 .br
138 .ti -1c
139 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_data_copy\fP (krb5_data *p, const void *data, size_t len)"
140 .br
141 .ti -1c
142 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_copy_data\fP (krb5_context context, const krb5_data *indata, krb5_data **outdata)"
143 .br
144 .ti -1c
145 .RI "KRB5_LIB_FUNCTION int KRB5_LIB_CALL \fBkrb5_data_cmp\fP (const krb5_data *data1, const krb5_data *data2)"
146 .br
147 .ti -1c
148 .RI "KRB5_LIB_FUNCTION int KRB5_LIB_CALL \fBkrb5_data_ct_cmp\fP (const krb5_data *data1, const krb5_data *data2)"
149 .br
150 .ti -1c
151 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_krbhst_get_addrinfo\fP (krb5_context context, krb5_krbhst_info *host, struct addrinfo **ai)"
152 .br
153 .ti -1c
154 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_free_ticket\fP (krb5_context context, krb5_ticket *ticket)"
155 .br
156 .ti -1c
157 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_copy_ticket\fP (krb5_context context, const krb5_ticket *from, krb5_ticket **to)"
158 .br
159 .ti -1c
160 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_ticket_get_client\fP (krb5_context context, const krb5_ticket *ticket, krb5_principal *client)"
161 .br
162 .ti -1c
163 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_ticket_get_server\fP (krb5_context context, const krb5_ticket *ticket, krb5_principal *server)"
164 .br
165 .ti -1c
166 .RI "KRB5_LIB_FUNCTION time_t KRB5_LIB_CALL \fBkrb5_ticket_get_endtime\fP (krb5_context context, const krb5_ticket *ticket)"
167 .br
168 .ti -1c
169 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_ticket_get_authorization_data_type\fP (krb5_context context, krb5_ticket *ticket, int type, krb5_data *data)"
170 .br
171 .ti -1c
172 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_set_real_time\fP (krb5_context context, krb5_timestamp sec, int32_t usec)"
173 .br
174 .in -1c
175 .SH "Detailed Description"
176 .PP 
177
178 .SH "Function Documentation"
179 .PP 
180 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_add_et_list (krb5_context context, void(*)(struct et_list **) func)"
181 .PP
182 Add a specified list of error messages to the et list in context. Call func (probably a comerr-generated function) with a pointer to the current et_list.
183 .PP
184 \fBParameters:\fP
185 .RS 4
186 \fIcontext\fP A kerberos context. 
187 .br
188 \fIfunc\fP The generated com_err et function.
189 .RE
190 .PP
191 \fBReturns:\fP
192 .RS 4
193 Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). 
194 .RE
195 .PP
196
197 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_add_extra_addresses (krb5_context context, krb5_addresses * addresses)"
198 .PP
199 Add extra address to the address list that the library will add to the client's address list when communicating with the KDC.
200 .PP
201 \fBParameters:\fP
202 .RS 4
203 \fIcontext\fP Kerberos 5 context. 
204 .br
205 \fIaddresses\fP addreses to add
206 .RE
207 .PP
208 \fBReturns:\fP
209 .RS 4
210 Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). 
211 .RE
212 .PP
213
214 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_add_ignore_addresses (krb5_context context, krb5_addresses * addresses)"
215 .PP
216 Add extra addresses to ignore when fetching addresses from the underlaying operating system.
217 .PP
218 \fBParameters:\fP
219 .RS 4
220 \fIcontext\fP Kerberos 5 context. 
221 .br
222 \fIaddresses\fP addreses to ignore
223 .RE
224 .PP
225 \fBReturns:\fP
226 .RS 4
227 Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). 
228 .RE
229 .PP
230
231 .SS "KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_compare_creds (krb5_context context, krb5_flags whichfields, const krb5_creds * mcreds, const krb5_creds * creds)"
232 .PP
233 Return TRUE if `mcreds' and `creds' are equal (`whichfields' determines what equal means).
234 .PP
235 The following flags, set in whichfields affects the comparison:
236 .IP "\(bu" 2
237 KRB5_TC_MATCH_SRV_NAMEONLY Consider all realms equal when comparing the service principal.
238 .IP "\(bu" 2
239 KRB5_TC_MATCH_KEYTYPE Compare enctypes.
240 .IP "\(bu" 2
241 KRB5_TC_MATCH_FLAGS_EXACT Make sure that the ticket flags are identical.
242 .IP "\(bu" 2
243 KRB5_TC_MATCH_FLAGS Make sure that all ticket flags set in mcreds are also present in creds .
244 .IP "\(bu" 2
245 KRB5_TC_MATCH_TIMES_EXACT Compares the ticket times exactly.
246 .IP "\(bu" 2
247 KRB5_TC_MATCH_TIMES Compares only the expiration times of the creds.
248 .IP "\(bu" 2
249 KRB5_TC_MATCH_AUTHDATA Compares the authdata fields.
250 .IP "\(bu" 2
251 KRB5_TC_MATCH_2ND_TKT Compares the second tickets (used by user-to-user authentication).
252 .IP "\(bu" 2
253 KRB5_TC_MATCH_IS_SKEY Compares the existance of the second ticket.
254 .PP
255 .PP
256 \fBParameters:\fP
257 .RS 4
258 \fIcontext\fP Kerberos 5 context. 
259 .br
260 \fIwhichfields\fP which fields to compare. 
261 .br
262 \fImcreds\fP cred to compare with. 
263 .br
264 \fIcreds\fP cred to compare with.
265 .RE
266 .PP
267 \fBReturns:\fP
268 .RS 4
269 return TRUE if mcred and creds are equal, FALSE if not. 
270 .RE
271 .PP
272
273 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_copy_context (krb5_context context, krb5_context * out)"
274 .PP
275 Make a copy for the Kerberos 5 context, the new krb5_context shoud be freed with \fBkrb5_free_context()\fP.
276 .PP
277 \fBParameters:\fP
278 .RS 4
279 \fIcontext\fP the Kerberos context to copy 
280 .br
281 \fIout\fP the copy of the Kerberos, set to NULL error.
282 .RE
283 .PP
284 \fBReturns:\fP
285 .RS 4
286 Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). 
287 .RE
288 .PP
289
290 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_copy_creds (krb5_context context, const krb5_creds * incred, krb5_creds ** outcred)"
291 .PP
292 Copy krb5_creds.
293 .PP
294 \fBParameters:\fP
295 .RS 4
296 \fIcontext\fP Kerberos 5 context. 
297 .br
298 \fIincred\fP source credential 
299 .br
300 \fIoutcred\fP destination credential, free with \fBkrb5_free_creds()\fP.
301 .RE
302 .PP
303 \fBReturns:\fP
304 .RS 4
305 Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). 
306 .RE
307 .PP
308
309 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_copy_creds_contents (krb5_context context, const krb5_creds * incred, krb5_creds * c)"
310 .PP
311 Copy content of krb5_creds.
312 .PP
313 \fBParameters:\fP
314 .RS 4
315 \fIcontext\fP Kerberos 5 context. 
316 .br
317 \fIincred\fP source credential 
318 .br
319 \fIc\fP destination credential, free with \fBkrb5_free_cred_contents()\fP.
320 .RE
321 .PP
322 \fBReturns:\fP
323 .RS 4
324 Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). 
325 .RE
326 .PP
327
328 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_copy_data (krb5_context context, const krb5_data * indata, krb5_data ** outdata)"
329 .PP
330 Copy the data into a newly allocated krb5_data.
331 .PP
332 \fBParameters:\fP
333 .RS 4
334 \fIcontext\fP Kerberos 5 context. 
335 .br
336 \fIindata\fP the krb5_data data to copy 
337 .br
338 \fIoutdata\fP new krb5_date to copy too. Free with \fBkrb5_free_data()\fP.
339 .RE
340 .PP
341 \fBReturns:\fP
342 .RS 4
343 Returns 0 to indicate success. Otherwise an kerberos et error code is returned. 
344 .RE
345 .PP
346
347 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_copy_host_realm (krb5_context context, const krb5_realm * from, krb5_realm ** to)"
348 .PP
349 Copy the list of realms from `from' to `to'.
350 .PP
351 \fBParameters:\fP
352 .RS 4
353 \fIcontext\fP Kerberos 5 context. 
354 .br
355 \fIfrom\fP list of realms to copy from. 
356 .br
357 \fIto\fP list of realms to copy to, free list of \fBkrb5_free_host_realm()\fP.
358 .RE
359 .PP
360 \fBReturns:\fP
361 .RS 4
362 Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). 
363 .RE
364 .PP
365
366 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_copy_ticket (krb5_context context, const krb5_ticket * from, krb5_ticket ** to)"
367 .PP
368 Copy ticket and content
369 .PP
370 \fBParameters:\fP
371 .RS 4
372 \fIcontext\fP a Kerberos 5 context 
373 .br
374 \fIfrom\fP ticket to copy 
375 .br
376 \fIto\fP new copy of ticket, free with \fBkrb5_free_ticket()\fP
377 .RE
378 .PP
379 \fBReturns:\fP
380 .RS 4
381 Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). 
382 .RE
383 .PP
384
385 .SS "KRB5_LIB_FUNCTION unsigned long KRB5_LIB_CALL krb5_creds_get_ticket_flags (krb5_creds * creds)"
386 .PP
387 Returns the ticket flags for the credentials in creds. See also \fBkrb5_ticket_get_flags()\fP.
388 .PP
389 \fBParameters:\fP
390 .RS 4
391 \fIcreds\fP credential to get ticket flags from
392 .RE
393 .PP
394 \fBReturns:\fP
395 .RS 4
396 ticket flags 
397 .RE
398 .PP
399
400 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_data_alloc (krb5_data * p, int len)"
401 .PP
402 Allocate data of and krb5_data.
403 .PP
404 \fBParameters:\fP
405 .RS 4
406 \fIp\fP krb5_data to allocate. 
407 .br
408 \fIlen\fP size to allocate.
409 .RE
410 .PP
411 \fBReturns:\fP
412 .RS 4
413 Returns 0 to indicate success. Otherwise an kerberos et error code is returned. 
414 .RE
415 .PP
416
417 .SS "KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_data_cmp (const krb5_data * data1, const krb5_data * data2)"
418 .PP
419 Compare to data.
420 .PP
421 \fBParameters:\fP
422 .RS 4
423 \fIdata1\fP krb5_data to compare 
424 .br
425 \fIdata2\fP krb5_data to compare
426 .RE
427 .PP
428 \fBReturns:\fP
429 .RS 4
430 return the same way as memcmp(), useful when sorting. 
431 .RE
432 .PP
433
434 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_data_copy (krb5_data * p, const void * data, size_t len)"
435 .PP
436 Copy the data of len into the krb5_data.
437 .PP
438 \fBParameters:\fP
439 .RS 4
440 \fIp\fP krb5_data to copy into. 
441 .br
442 \fIdata\fP data to copy.. 
443 .br
444 \fIlen\fP new size.
445 .RE
446 .PP
447 \fBReturns:\fP
448 .RS 4
449 Returns 0 to indicate success. Otherwise an kerberos et error code is returned. 
450 .RE
451 .PP
452
453 .SS "KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_data_ct_cmp (const krb5_data * data1, const krb5_data * data2)"
454 .PP
455 Compare to data not exposing timing information from the checksum data
456 .PP
457 \fBParameters:\fP
458 .RS 4
459 \fIdata1\fP krb5_data to compare 
460 .br
461 \fIdata2\fP krb5_data to compare
462 .RE
463 .PP
464 \fBReturns:\fP
465 .RS 4
466 returns zero for same data, otherwise non zero. 
467 .RE
468 .PP
469
470 .SS "KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_data_free (krb5_data * p)"
471 .PP
472 Free the content of krb5_data structure, its ok to free a zeroed structure (with memset() or \fBkrb5_data_zero()\fP). When done, the structure will be zeroed. The same function is called \fBkrb5_free_data_contents()\fP in MIT Kerberos.
473 .PP
474 \fBParameters:\fP
475 .RS 4
476 \fIp\fP krb5_data to free. 
477 .RE
478 .PP
479
480 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_data_realloc (krb5_data * p, int len)"
481 .PP
482 Grow (or shrink) the content of krb5_data to a new size.
483 .PP
484 \fBParameters:\fP
485 .RS 4
486 \fIp\fP krb5_data to free. 
487 .br
488 \fIlen\fP new size.
489 .RE
490 .PP
491 \fBReturns:\fP
492 .RS 4
493 Returns 0 to indicate success. Otherwise an kerberos et error code is returned. 
494 .RE
495 .PP
496
497 .SS "KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_data_zero (krb5_data * p)"
498 .PP
499 Reset the (potentially uninitalized) krb5_data structure.
500 .PP
501 \fBParameters:\fP
502 .RS 4
503 \fIp\fP krb5_data to reset. 
504 .RE
505 .PP
506
507 .SS "KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_free_config_files (char ** filenames)"
508 .PP
509 Free a list of configuration files.
510 .PP
511 \fBParameters:\fP
512 .RS 4
513 \fIfilenames\fP list, terminated with a NULL pointer, to be freed. NULL is an valid argument.
514 .RE
515 .PP
516 \fBReturns:\fP
517 .RS 4
518 Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). 
519 .RE
520 .PP
521
522 .SS "KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_free_context (krb5_context context)"
523 .PP
524 Frees the krb5_context allocated by \fBkrb5_init_context()\fP.
525 .PP
526 \fBParameters:\fP
527 .RS 4
528 \fIcontext\fP context to be freed. 
529 .RE
530 .PP
531
532 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_free_cred_contents (krb5_context context, krb5_creds * c)"
533 .PP
534 Free content of krb5_creds.
535 .PP
536 \fBParameters:\fP
537 .RS 4
538 \fIcontext\fP Kerberos 5 context. 
539 .br
540 \fIc\fP krb5_creds to free.
541 .RE
542 .PP
543 \fBReturns:\fP
544 .RS 4
545 Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). 
546 .RE
547 .PP
548
549 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_free_creds (krb5_context context, krb5_creds * c)"
550 .PP
551 Free krb5_creds.
552 .PP
553 \fBParameters:\fP
554 .RS 4
555 \fIcontext\fP Kerberos 5 context. 
556 .br
557 \fIc\fP krb5_creds to free.
558 .RE
559 .PP
560 \fBReturns:\fP
561 .RS 4
562 Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). 
563 .RE
564 .PP
565
566 .SS "KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_free_data (krb5_context context, krb5_data * p)"
567 .PP
568 Free krb5_data (and its content).
569 .PP
570 \fBParameters:\fP
571 .RS 4
572 \fIcontext\fP Kerberos 5 context. 
573 .br
574 \fIp\fP krb5_data to free. 
575 .RE
576 .PP
577
578 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_free_ticket (krb5_context context, krb5_ticket * ticket)"
579 .PP
580 Free ticket and content
581 .PP
582 \fBParameters:\fP
583 .RS 4
584 \fIcontext\fP a Kerberos 5 context 
585 .br
586 \fIticket\fP ticket to free
587 .RE
588 .PP
589 \fBReturns:\fP
590 .RS 4
591 Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). 
592 .RE
593 .PP
594
595 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_default_config_files (char *** pfilenames)"
596 .PP
597 Get the global configuration list.
598 .PP
599 \fBParameters:\fP
600 .RS 4
601 \fIpfilenames\fP return array of filenames, should be freed with \fBkrb5_free_config_files()\fP.
602 .RE
603 .PP
604 \fBReturns:\fP
605 .RS 4
606 Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). 
607 .RE
608 .PP
609
610 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_default_in_tkt_etypes (krb5_context context, krb5_pdu pdu_type, krb5_enctype ** etypes)"
611 .PP
612 Get the default encryption types that will be use in communcation with the KDC, clients and servers.
613 .PP
614 \fBParameters:\fP
615 .RS 4
616 \fIcontext\fP Kerberos 5 context. 
617 .br
618 \fIetypes\fP Encryption types, array terminated with ETYPE_NULL(0), caller should free array with krb5_xfree():
619 .RE
620 .PP
621 \fBReturns:\fP
622 .RS 4
623 Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). 
624 .RE
625 .PP
626
627 .SS "KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_get_dns_canonicalize_hostname (krb5_context context)"
628 .PP
629 Get if the library uses DNS to canonicalize hostnames.
630 .PP
631 \fBParameters:\fP
632 .RS 4
633 \fIcontext\fP Kerberos 5 context.
634 .RE
635 .PP
636 \fBReturns:\fP
637 .RS 4
638 return non zero if the library uses DNS to canonicalize hostnames. 
639 .RE
640 .PP
641
642 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_extra_addresses (krb5_context context, krb5_addresses * addresses)"
643 .PP
644 Get extra address to the address list that the library will add to the client's address list when communicating with the KDC.
645 .PP
646 \fBParameters:\fP
647 .RS 4
648 \fIcontext\fP Kerberos 5 context. 
649 .br
650 \fIaddresses\fP addreses to set
651 .RE
652 .PP
653 \fBReturns:\fP
654 .RS 4
655 Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). 
656 .RE
657 .PP
658
659 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_fcache_version (krb5_context context, int * version)"
660 .PP
661 Get version of fcache that the library should use.
662 .PP
663 \fBParameters:\fP
664 .RS 4
665 \fIcontext\fP Kerberos 5 context. 
666 .br
667 \fIversion\fP version number.
668 .RE
669 .PP
670 \fBReturns:\fP
671 .RS 4
672 Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). 
673 .RE
674 .PP
675
676 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_ignore_addresses (krb5_context context, krb5_addresses * addresses)"
677 .PP
678 Get extra addresses to ignore when fetching addresses from the underlaying operating system.
679 .PP
680 \fBParameters:\fP
681 .RS 4
682 \fIcontext\fP Kerberos 5 context. 
683 .br
684 \fIaddresses\fP list addreses ignored
685 .RE
686 .PP
687 \fBReturns:\fP
688 .RS 4
689 Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). 
690 .RE
691 .PP
692
693 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_kdc_sec_offset (krb5_context context, int32_t * sec, int32_t * usec)"
694 .PP
695 Get current offset in time to the KDC.
696 .PP
697 \fBParameters:\fP
698 .RS 4
699 \fIcontext\fP Kerberos 5 context. 
700 .br
701 \fIsec\fP seconds part of offset. 
702 .br
703 \fIusec\fP micro seconds part of offset.
704 .RE
705 .PP
706 \fBReturns:\fP
707 .RS 4
708 returns zero 
709 .RE
710 .PP
711
712 .SS "KRB5_LIB_FUNCTION time_t KRB5_LIB_CALL krb5_get_max_time_skew (krb5_context context)"
713 .PP
714 Get max time skew allowed.
715 .PP
716 \fBParameters:\fP
717 .RS 4
718 \fIcontext\fP Kerberos 5 context.
719 .RE
720 .PP
721 \fBReturns:\fP
722 .RS 4
723 timeskew in seconds. 
724 .RE
725 .PP
726
727 .SS "KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_get_use_admin_kdc (krb5_context context)"
728 .PP
729 Make the kerberos library default to the admin KDC.
730 .PP
731 \fBParameters:\fP
732 .RS 4
733 \fIcontext\fP Kerberos 5 context.
734 .RE
735 .PP
736 \fBReturns:\fP
737 .RS 4
738 boolean flag to telling the context will use admin KDC as the default KDC. 
739 .RE
740 .PP
741
742 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_init_context (krb5_context * context)"
743 .PP
744 Initializes the context structure and reads the configuration file /etc/krb5.conf. The structure should be freed by calling \fBkrb5_free_context()\fP when it is no longer being used.
745 .PP
746 \fBParameters:\fP
747 .RS 4
748 \fIcontext\fP pointer to returned context
749 .RE
750 .PP
751 \fBReturns:\fP
752 .RS 4
753 Returns 0 to indicate success. Otherwise an errno code is returned. Failure means either that something bad happened during initialization (typically ENOMEM) or that Kerberos should not be used ENXIO. 
754 .RE
755 .PP
756
757 .SS "KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_init_ets (krb5_context context)"
758 .PP
759 Init the built-in ets in the Kerberos library.
760 .PP
761 \fBParameters:\fP
762 .RS 4
763 \fIcontext\fP kerberos context to add the ets too 
764 .RE
765 .PP
766
767 .SS "KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_is_thread_safe (void)"
768 .PP
769 Runtime check if the Kerberos library was complied with thread support.
770 .PP
771 \fBReturns:\fP
772 .RS 4
773 TRUE if the library was compiled with thread support, FALSE if not. 
774 .RE
775 .PP
776
777 .SS "KRB5_LIB_FUNCTION const krb5_enctype* KRB5_LIB_CALL krb5_kerberos_enctypes (krb5_context context)"
778 .PP
779 Returns the list of Kerberos encryption types sorted in order of most preferred to least preferred encryption type. Note that some encryption types might be disabled, so you need to check with \fBkrb5_enctype_valid()\fP before using the encryption type.
780 .PP
781 \fBReturns:\fP
782 .RS 4
783 list of enctypes, terminated with ETYPE_NULL. Its a static array completed into the Kerberos library so the content doesn't need to be freed. 
784 .RE
785 .PP
786
787 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_krbhst_get_addrinfo (krb5_context context, krb5_krbhst_info * host, struct addrinfo ** ai)"
788 .PP
789 Return an `struct addrinfo *' for a KDC host.
790 .PP
791 Returns an the struct addrinfo in in that corresponds to the information in `host'. free:ing is handled by krb5_krbhst_free, so the returned ai must not be released. 
792 .PP
793 First try this as an IP address, this allows us to add a dot at the end to stop using the search domains.
794 .PP
795 If the hostname contains a dot, assumes it's a FQDN and don't use search domains since that might be painfully slow when machine is disconnected from that network. 
796 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_prepend_config_files_default (const char * filelist, char *** pfilenames)"
797 .PP
798 Prepend the filename to the global configuration list.
799 .PP
800 \fBParameters:\fP
801 .RS 4
802 \fIfilelist\fP a filename to add to the default list of filename 
803 .br
804 \fIpfilenames\fP return array of filenames, should be freed with \fBkrb5_free_config_files()\fP.
805 .RE
806 .PP
807 \fBReturns:\fP
808 .RS 4
809 Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). 
810 .RE
811 .PP
812
813 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_set_config_files (krb5_context context, char ** filenames)"
814 .PP
815 Reinit the context from a new set of filenames.
816 .PP
817 \fBParameters:\fP
818 .RS 4
819 \fIcontext\fP context to add configuration too. 
820 .br
821 \fIfilenames\fP array of filenames, end of list is indicated with a NULL filename.
822 .RE
823 .PP
824 \fBReturns:\fP
825 .RS 4
826 Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). 
827 .RE
828 .PP
829
830 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_set_default_in_tkt_etypes (krb5_context context, const krb5_enctype * etypes)"
831 .PP
832 Set the default encryption types that will be use in communcation with the KDC, clients and servers.
833 .PP
834 \fBParameters:\fP
835 .RS 4
836 \fIcontext\fP Kerberos 5 context. 
837 .br
838 \fIetypes\fP Encryption types, array terminated with ETYPE_NULL (0).
839 .RE
840 .PP
841 \fBReturns:\fP
842 .RS 4
843 Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). 
844 .RE
845 .PP
846
847 .SS "KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_set_dns_canonicalize_hostname (krb5_context context, krb5_boolean flag)"
848 .PP
849 Set if the library should use DNS to canonicalize hostnames.
850 .PP
851 \fBParameters:\fP
852 .RS 4
853 \fIcontext\fP Kerberos 5 context. 
854 .br
855 \fIflag\fP if its dns canonicalizion is used or not. 
856 .RE
857 .PP
858
859 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_set_extra_addresses (krb5_context context, const krb5_addresses * addresses)"
860 .PP
861 Set extra address to the address list that the library will add to the client's address list when communicating with the KDC.
862 .PP
863 \fBParameters:\fP
864 .RS 4
865 \fIcontext\fP Kerberos 5 context. 
866 .br
867 \fIaddresses\fP addreses to set
868 .RE
869 .PP
870 \fBReturns:\fP
871 .RS 4
872 Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). 
873 .RE
874 .PP
875
876 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_set_fcache_version (krb5_context context, int version)"
877 .PP
878 Set version of fcache that the library should use.
879 .PP
880 \fBParameters:\fP
881 .RS 4
882 \fIcontext\fP Kerberos 5 context. 
883 .br
884 \fIversion\fP version number.
885 .RE
886 .PP
887 \fBReturns:\fP
888 .RS 4
889 Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). 
890 .RE
891 .PP
892
893 .SS "KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_set_home_dir_access (krb5_context context, krb5_boolean allow)"
894 .PP
895 Enable and disable home directory access on either the global state or the krb5_context state. By calling \fBkrb5_set_home_dir_access()\fP with context set to NULL, the global state is configured otherwise the state for the krb5_context is modified.
896 .PP
897 For home directory access to be allowed, both the global state and the krb5_context state have to be allowed.
898 .PP
899 Administrator (root user), never uses the home directory.
900 .PP
901 \fBParameters:\fP
902 .RS 4
903 \fIcontext\fP a Kerberos 5 context or NULL 
904 .br
905 \fIallow\fP allow if TRUE home directory 
906 .RE
907 .PP
908 \fBReturns:\fP
909 .RS 4
910 the old value 
911 .RE
912 .PP
913
914 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_set_ignore_addresses (krb5_context context, const krb5_addresses * addresses)"
915 .PP
916 Set extra addresses to ignore when fetching addresses from the underlaying operating system.
917 .PP
918 \fBParameters:\fP
919 .RS 4
920 \fIcontext\fP Kerberos 5 context. 
921 .br
922 \fIaddresses\fP addreses to ignore
923 .RE
924 .PP
925 \fBReturns:\fP
926 .RS 4
927 Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). 
928 .RE
929 .PP
930
931 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_set_kdc_sec_offset (krb5_context context, int32_t sec, int32_t usec)"
932 .PP
933 Set current offset in time to the KDC.
934 .PP
935 \fBParameters:\fP
936 .RS 4
937 \fIcontext\fP Kerberos 5 context. 
938 .br
939 \fIsec\fP seconds part of offset. 
940 .br
941 \fIusec\fP micro seconds part of offset.
942 .RE
943 .PP
944 \fBReturns:\fP
945 .RS 4
946 returns zero 
947 .RE
948 .PP
949
950 .SS "KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_set_max_time_skew (krb5_context context, time_t t)"
951 .PP
952 Set max time skew allowed.
953 .PP
954 \fBParameters:\fP
955 .RS 4
956 \fIcontext\fP Kerberos 5 context. 
957 .br
958 \fIt\fP timeskew in seconds. 
959 .RE
960 .PP
961
962 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_set_password (krb5_context context, krb5_creds * creds, const char * newpw, krb5_principal targprinc, int * result_code, krb5_data * result_code_string, krb5_data * result_string)"
963 .PP
964 Change password using creds.
965 .PP
966 \fBParameters:\fP
967 .RS 4
968 \fIcontext\fP a Keberos context 
969 .br
970 \fIcreds\fP The initial kadmin/passwd for the principal or an admin principal 
971 .br
972 \fInewpw\fP The new password to set 
973 .br
974 \fItargprinc\fP if unset, the default principal is used. 
975 .br
976 \fIresult_code\fP Result code, KRB5_KPASSWD_SUCCESS is when password is changed. 
977 .br
978 \fIresult_code_string\fP binary message from the server, contains at least the result_code. 
979 .br
980 \fIresult_string\fP A message from the kpasswd service or the library in human printable form. The string is NUL terminated.
981 .RE
982 .PP
983 \fBReturns:\fP
984 .RS 4
985 On sucess and *result_code is KRB5_KPASSWD_SUCCESS, the password is changed.
986 .RE
987 .PP
988
989 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_set_real_time (krb5_context context, krb5_timestamp sec, int32_t usec)"
990 .PP
991 Set the absolute time that the caller knows the kdc has so the kerberos library can calculate the relative diffrence beteen the KDC time and local system time.
992 .PP
993 \fBParameters:\fP
994 .RS 4
995 \fIcontext\fP Keberos 5 context. 
996 .br
997 \fIsec\fP The applications new of 'now' in seconds 
998 .br
999 \fIusec\fP The applications new of 'now' in micro seconds
1000 .RE
1001 .PP
1002 \fBReturns:\fP
1003 .RS 4
1004 Kerberos 5 error code, see krb5_get_error_message(). 
1005 .RE
1006 .PP
1007
1008 .PP
1009 If the caller passes in a negative usec, its assumed to be unknown and the function will use the current time usec. 
1010 .SS "KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_set_use_admin_kdc (krb5_context context, krb5_boolean flag)"
1011 .PP
1012 Make the kerberos library default to the admin KDC.
1013 .PP
1014 \fBParameters:\fP
1015 .RS 4
1016 \fIcontext\fP Kerberos 5 context. 
1017 .br
1018 \fIflag\fP boolean flag to select if the use the admin KDC or not. 
1019 .RE
1020 .PP
1021
1022 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ticket_get_authorization_data_type (krb5_context context, krb5_ticket * ticket, int type, krb5_data * data)"
1023 .PP
1024 Extract the authorization data type of type from the ticket. Store the field in data. This function is to use for kerberos applications.
1025 .PP
1026 \fBParameters:\fP
1027 .RS 4
1028 \fIcontext\fP a Kerberos 5 context 
1029 .br
1030 \fIticket\fP Kerberos ticket 
1031 .br
1032 \fItype\fP type to fetch 
1033 .br
1034 \fIdata\fP returned data, free with \fBkrb5_data_free()\fP 
1035 .RE
1036 .PP
1037
1038 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ticket_get_client (krb5_context context, const krb5_ticket * ticket, krb5_principal * client)"
1039 .PP
1040 Return client principal in ticket
1041 .PP
1042 \fBParameters:\fP
1043 .RS 4
1044 \fIcontext\fP a Kerberos 5 context 
1045 .br
1046 \fIticket\fP ticket to copy 
1047 .br
1048 \fIclient\fP client principal, free with \fBkrb5_free_principal()\fP
1049 .RE
1050 .PP
1051 \fBReturns:\fP
1052 .RS 4
1053 Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). 
1054 .RE
1055 .PP
1056
1057 .SS "KRB5_LIB_FUNCTION time_t KRB5_LIB_CALL krb5_ticket_get_endtime (krb5_context context, const krb5_ticket * ticket)"
1058 .PP
1059 Return end time of ticket
1060 .PP
1061 \fBParameters:\fP
1062 .RS 4
1063 \fIcontext\fP a Kerberos 5 context 
1064 .br
1065 \fIticket\fP ticket to copy
1066 .RE
1067 .PP
1068 \fBReturns:\fP
1069 .RS 4
1070 end time of ticket 
1071 .RE
1072 .PP
1073
1074 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ticket_get_server (krb5_context context, const krb5_ticket * ticket, krb5_principal * server)"
1075 .PP
1076 Return server principal in ticket
1077 .PP
1078 \fBParameters:\fP
1079 .RS 4
1080 \fIcontext\fP a Kerberos 5 context 
1081 .br
1082 \fIticket\fP ticket to copy 
1083 .br
1084 \fIserver\fP server principal, free with \fBkrb5_free_principal()\fP
1085 .RE
1086 .PP
1087 \fBReturns:\fP
1088 .RS 4
1089 Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). 
1090 .RE
1091 .PP
1092