]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_support.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_support.3
1 .TH "Heimdal Kerberos 5 support functions" 3 "11 Jan 2012" "Version 1.5.2" "HeimdalKerberos5library" \" -*- nroff -*-
2 .ad l
3 .nh
4 .SH NAME
5 Heimdal Kerberos 5 support functions \- 
6 .SS "Functions"
7
8 .in +1c
9 .ti -1c
10 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_acl_match_string\fP (krb5_context context, const char *string, const char *format,...)"
11 .br
12 .ti -1c
13 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_acl_match_file\fP (krb5_context context, const char *file, const char *format,...)"
14 .br
15 .ti -1c
16 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_config_parse_file_multi\fP (krb5_context context, const char *fname, krb5_config_section **res)"
17 .br
18 .ti -1c
19 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_config_file_free\fP (krb5_context context, krb5_config_section *s)"
20 .br
21 .ti -1c
22 .RI "KRB5_LIB_FUNCTION const krb5_config_binding *KRB5_LIB_CALL \fBkrb5_config_get_list\fP (krb5_context context, const krb5_config_section *c,...)"
23 .br
24 .ti -1c
25 .RI "KRB5_LIB_FUNCTION const krb5_config_binding *KRB5_LIB_CALL \fBkrb5_config_vget_list\fP (krb5_context context, const krb5_config_section *c, va_list args)"
26 .br
27 .ti -1c
28 .RI "KRB5_LIB_FUNCTION const char *KRB5_LIB_CALL \fBkrb5_config_get_string\fP (krb5_context context, const krb5_config_section *c,...)"
29 .br
30 .ti -1c
31 .RI "KRB5_LIB_FUNCTION const char *KRB5_LIB_CALL \fBkrb5_config_vget_string\fP (krb5_context context, const krb5_config_section *c, va_list args)"
32 .br
33 .ti -1c
34 .RI "KRB5_LIB_FUNCTION const char *KRB5_LIB_CALL \fBkrb5_config_vget_string_default\fP (krb5_context context, const krb5_config_section *c, const char *def_value, va_list args)"
35 .br
36 .ti -1c
37 .RI "KRB5_LIB_FUNCTION const char *KRB5_LIB_CALL \fBkrb5_config_get_string_default\fP (krb5_context context, const krb5_config_section *c, const char *def_value,...)"
38 .br
39 .ti -1c
40 .RI "KRB5_LIB_FUNCTION char **KRB5_LIB_CALL \fBkrb5_config_vget_strings\fP (krb5_context context, const krb5_config_section *c, va_list args)"
41 .br
42 .ti -1c
43 .RI "KRB5_LIB_FUNCTION char **KRB5_LIB_CALL \fBkrb5_config_get_strings\fP (krb5_context context, const krb5_config_section *c,...)"
44 .br
45 .ti -1c
46 .RI "KRB5_LIB_FUNCTION void KRB5_LIB_CALL \fBkrb5_config_free_strings\fP (char **strings)"
47 .br
48 .ti -1c
49 .RI "KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL \fBkrb5_config_vget_bool_default\fP (krb5_context context, const krb5_config_section *c, krb5_boolean def_value, va_list args)"
50 .br
51 .ti -1c
52 .RI "KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL \fBkrb5_config_vget_bool\fP (krb5_context context, const krb5_config_section *c, va_list args)"
53 .br
54 .ti -1c
55 .RI "KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL \fBkrb5_config_get_bool_default\fP (krb5_context context, const krb5_config_section *c, krb5_boolean def_value,...)"
56 .br
57 .ti -1c
58 .RI "KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL \fBkrb5_config_get_bool\fP (krb5_context context, const krb5_config_section *c,...)"
59 .br
60 .ti -1c
61 .RI "KRB5_LIB_FUNCTION int KRB5_LIB_CALL \fBkrb5_config_vget_time_default\fP (krb5_context context, const krb5_config_section *c, int def_value, va_list args)"
62 .br
63 .ti -1c
64 .RI "KRB5_LIB_FUNCTION int KRB5_LIB_CALL \fBkrb5_config_vget_time\fP (krb5_context context, const krb5_config_section *c, va_list args)"
65 .br
66 .ti -1c
67 .RI "KRB5_LIB_FUNCTION int KRB5_LIB_CALL \fBkrb5_config_get_time_default\fP (krb5_context context, const krb5_config_section *c, int def_value,...)"
68 .br
69 .ti -1c
70 .RI "KRB5_LIB_FUNCTION int KRB5_LIB_CALL \fBkrb5_config_get_time\fP (krb5_context context, const krb5_config_section *c,...)"
71 .br
72 .ti -1c
73 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_expand_hostname\fP (krb5_context context, const char *orig_hostname, char **new_hostname)"
74 .br
75 .ti -1c
76 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_expand_hostname_realms\fP (krb5_context context, const char *orig_hostname, char **new_hostname, char ***realms)"
77 .br
78 .ti -1c
79 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_free_host_realm\fP (krb5_context context, krb5_realm *realmlist)"
80 .br
81 .ti -1c
82 .RI "KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL \fBkrb5_kuserok\fP (krb5_context context, krb5_principal principal, const char *luser)"
83 .br
84 .ti -1c
85 .RI "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL \fBkrb5_plugin_register\fP (krb5_context context, enum krb5_plugin_type type, const char *name, void *symbol)"
86 .br
87 .in -1c
88 .SH "Detailed Description"
89 .PP 
90
91 .SH "Function Documentation"
92 .PP 
93 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_acl_match_file (krb5_context context, const char * file, const char * format,  ...)"
94 .PP
95 krb5_acl_match_file matches ACL format against each line in a file using \fBkrb5_acl_match_string()\fP. Lines starting with # are treated like comments and ignored.
96 .PP
97 \fBParameters:\fP
98 .RS 4
99 \fIcontext\fP Kerberos 5 context. 
100 .br
101 \fIfile\fP file with acl listed in the file. 
102 .br
103 \fIformat\fP format to match. 
104 .br
105 \fI...\fP parameter to format string.
106 .RE
107 .PP
108 \fBReturns:\fP
109 .RS 4
110 Return an error code or 0.
111 .RE
112 .PP
113 \fBSee also:\fP
114 .RS 4
115 \fBkrb5_acl_match_string\fP 
116 .RE
117 .PP
118
119 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_acl_match_string (krb5_context context, const char * string, const char * format,  ...)"
120 .PP
121 krb5_acl_match_string matches ACL format against a string.
122 .PP
123 The ACL format has three format specifiers: s, f, and r. Each specifier will retrieve one argument from the variable arguments for either matching or storing data. The input string is split up using ' ' (space) and '\\t' (tab) as a delimiter; multiple and '\\t' in a row are considered to be the same.
124 .PP
125 List of format specifiers:
126 .IP "\(bu" 2
127 s Matches a string using strcmp(3) (case sensitive).
128 .IP "\(bu" 2
129 f Matches the string with fnmatch(3). Theflags argument (the last argument) passed to the fnmatch function is 0.
130 .IP "\(bu" 2
131 r Returns a copy of the string in the char ** passed in; the copy must be freed with free(3). There is no need to free(3) the string on error: the function will clean up and set the pointer to NULL.
132 .PP
133 .PP
134 \fBParameters:\fP
135 .RS 4
136 \fIcontext\fP Kerberos 5 context 
137 .br
138 \fIstring\fP string to match with 
139 .br
140 \fIformat\fP format to match 
141 .br
142 \fI...\fP parameter to format string
143 .RE
144 .PP
145 \fBReturns:\fP
146 .RS 4
147 Return an error code or 0.
148 .RE
149 .PP
150 .PP
151 .nf
152  char *s;
153
154  ret = krb5_acl_match_string(context, 'foo', 's', 'foo');
155  if (ret)
156      krb5_errx(context, 1, 'acl didn't match');
157  ret = krb5_acl_match_string(context, 'foo foo baz/kaka',
158      'ss', 'foo', &s, 'foo/\\*');
159  if (ret) {
160      // no need to free(s) on error
161      assert(s == NULL);
162      krb5_errx(context, 1, 'acl didn't match');
163  }
164  free(s);
165 .fi
166 .PP
167 .PP
168 \fBSee also:\fP
169 .RS 4
170 \fBkrb5_acl_match_file\fP 
171 .RE
172 .PP
173
174 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_config_file_free (krb5_context context, krb5_config_section * s)"
175 .PP
176 Free configuration file section, the result of krb5_config_parse_file() and \fBkrb5_config_parse_file_multi()\fP.
177 .PP
178 \fBParameters:\fP
179 .RS 4
180 \fIcontext\fP A Kerberos 5 context 
181 .br
182 \fIs\fP the configuration section to free
183 .RE
184 .PP
185 \fBReturns:\fP
186 .RS 4
187 returns 0 on successes, otherwise an error code, see krb5_get_error_message() 
188 .RE
189 .PP
190
191 .SS "KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_config_free_strings (char ** strings)"
192 .PP
193 Free the resulting strings from krb5_config-get_strings() and \fBkrb5_config_vget_strings()\fP.
194 .PP
195 \fBParameters:\fP
196 .RS 4
197 \fIstrings\fP strings to free 
198 .RE
199 .PP
200
201 .SS "KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_config_get_bool (krb5_context context, const krb5_config_section * c,  ...)"
202 .PP
203 Like \fBkrb5_config_get_bool()\fP but with a va_list list of configuration selection.
204 .PP
205 Configuration value to a boolean value, where yes/true and any non-zero number means TRUE and other value is FALSE.
206 .PP
207 \fBParameters:\fP
208 .RS 4
209 \fIcontext\fP A Kerberos 5 context. 
210 .br
211 \fIc\fP a configuration section, or NULL to use the section from context 
212 .br
213 \fI...\fP a list of names, terminated with NULL.
214 .RE
215 .PP
216 \fBReturns:\fP
217 .RS 4
218 TRUE or FALSE 
219 .RE
220 .PP
221
222 .SS "KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_config_get_bool_default (krb5_context context, const krb5_config_section * c, krb5_boolean def_value,  ...)"
223 .PP
224 \fBkrb5_config_get_bool_default()\fP will convert the configuration option value to a boolean value, where yes/true and any non-zero number means TRUE and other value is FALSE.
225 .PP
226 \fBParameters:\fP
227 .RS 4
228 \fIcontext\fP A Kerberos 5 context. 
229 .br
230 \fIc\fP a configuration section, or NULL to use the section from context 
231 .br
232 \fIdef_value\fP the default value to return if no configuration found in the database. 
233 .br
234 \fI...\fP a list of names, terminated with NULL.
235 .RE
236 .PP
237 \fBReturns:\fP
238 .RS 4
239 TRUE or FALSE 
240 .RE
241 .PP
242
243 .SS "KRB5_LIB_FUNCTION const krb5_config_binding* KRB5_LIB_CALL krb5_config_get_list (krb5_context context, const krb5_config_section * c,  ...)"
244 .PP
245 Get a list of configuration binding list for more processing
246 .PP
247 \fBParameters:\fP
248 .RS 4
249 \fIcontext\fP A Kerberos 5 context. 
250 .br
251 \fIc\fP a configuration section, or NULL to use the section from context 
252 .br
253 \fI...\fP a list of names, terminated with NULL.
254 .RE
255 .PP
256 \fBReturns:\fP
257 .RS 4
258 NULL if configuration list is not found, a list otherwise 
259 .RE
260 .PP
261
262 .SS "KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_config_get_string (krb5_context context, const krb5_config_section * c,  ...)"
263 .PP
264 Returns a 'const char *' to a string in the configuration database. The string may not be valid after a reload of the configuration database so a caller should make a local copy if it needs to keep the string.
265 .PP
266 \fBParameters:\fP
267 .RS 4
268 \fIcontext\fP A Kerberos 5 context. 
269 .br
270 \fIc\fP a configuration section, or NULL to use the section from context 
271 .br
272 \fI...\fP a list of names, terminated with NULL.
273 .RE
274 .PP
275 \fBReturns:\fP
276 .RS 4
277 NULL if configuration string not found, a string otherwise 
278 .RE
279 .PP
280
281 .SS "KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_config_get_string_default (krb5_context context, const krb5_config_section * c, const char * def_value,  ...)"
282 .PP
283 Like \fBkrb5_config_get_string()\fP, but instead of returning NULL, instead return a default value.
284 .PP
285 \fBParameters:\fP
286 .RS 4
287 \fIcontext\fP A Kerberos 5 context. 
288 .br
289 \fIc\fP a configuration section, or NULL to use the section from context 
290 .br
291 \fIdef_value\fP the default value to return if no configuration found in the database. 
292 .br
293 \fI...\fP a list of names, terminated with NULL.
294 .RE
295 .PP
296 \fBReturns:\fP
297 .RS 4
298 a configuration string 
299 .RE
300 .PP
301
302 .SS "KRB5_LIB_FUNCTION char** KRB5_LIB_CALL krb5_config_get_strings (krb5_context context, const krb5_config_section * c,  ...)"
303 .PP
304 Get a list of configuration strings, free the result with \fBkrb5_config_free_strings()\fP.
305 .PP
306 \fBParameters:\fP
307 .RS 4
308 \fIcontext\fP A Kerberos 5 context. 
309 .br
310 \fIc\fP a configuration section, or NULL to use the section from context 
311 .br
312 \fI...\fP a list of names, terminated with NULL.
313 .RE
314 .PP
315 \fBReturns:\fP
316 .RS 4
317 TRUE or FALSE 
318 .RE
319 .PP
320
321 .SS "KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_config_get_time (krb5_context context, const krb5_config_section * c,  ...)"
322 .PP
323 Get the time from the configuration file using a relative time, for example: 1h30s
324 .PP
325 \fBParameters:\fP
326 .RS 4
327 \fIcontext\fP A Kerberos 5 context. 
328 .br
329 \fIc\fP a configuration section, or NULL to use the section from context 
330 .br
331 \fI...\fP a list of names, terminated with NULL.
332 .RE
333 .PP
334 \fBReturns:\fP
335 .RS 4
336 parsed the time or -1 on error 
337 .RE
338 .PP
339
340 .SS "KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_config_get_time_default (krb5_context context, const krb5_config_section * c, int def_value,  ...)"
341 .PP
342 Get the time from the configuration file using a relative time, for example: 1h30s
343 .PP
344 \fBParameters:\fP
345 .RS 4
346 \fIcontext\fP A Kerberos 5 context. 
347 .br
348 \fIc\fP a configuration section, or NULL to use the section from context 
349 .br
350 \fIdef_value\fP the default value to return if no configuration found in the database. 
351 .br
352 \fI...\fP a list of names, terminated with NULL.
353 .RE
354 .PP
355 \fBReturns:\fP
356 .RS 4
357 parsed the time (or def_value on parse error) 
358 .RE
359 .PP
360
361 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_config_parse_file_multi (krb5_context context, const char * fname, krb5_config_section ** res)"
362 .PP
363 Parse a configuration file and add the result into res. This interface can be used to parse several configuration files into one resulting krb5_config_section by calling it repeatably.
364 .PP
365 \fBParameters:\fP
366 .RS 4
367 \fIcontext\fP a Kerberos 5 context. 
368 .br
369 \fIfname\fP a file name to a Kerberos configuration file 
370 .br
371 \fIres\fP the returned result, must be free with \fBkrb5_free_config_files()\fP. 
372 .RE
373 .PP
374 \fBReturns:\fP
375 .RS 4
376 Return an error code or 0, see krb5_get_error_message(). 
377 .RE
378 .PP
379
380 .PP
381 If the fname starts with '~/' parse configuration file in the current users home directory. The behavior can be disabled and enabled by calling \fBkrb5_set_home_dir_access()\fP. 
382 .SS "KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_config_vget_bool (krb5_context context, const krb5_config_section * c, va_list args)"
383 .PP
384 \fBkrb5_config_get_bool()\fP will convert the configuration option value to a boolean value, where yes/true and any non-zero number means TRUE and other value is FALSE.
385 .PP
386 \fBParameters:\fP
387 .RS 4
388 \fIcontext\fP A Kerberos 5 context. 
389 .br
390 \fIc\fP a configuration section, or NULL to use the section from context 
391 .br
392 \fIargs\fP a va_list of arguments
393 .RE
394 .PP
395 \fBReturns:\fP
396 .RS 4
397 TRUE or FALSE 
398 .RE
399 .PP
400
401 .SS "KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_config_vget_bool_default (krb5_context context, const krb5_config_section * c, krb5_boolean def_value, va_list args)"
402 .PP
403 Like \fBkrb5_config_get_bool_default()\fP but with a va_list list of configuration selection.
404 .PP
405 Configuration value to a boolean value, where yes/true and any non-zero number means TRUE and other value is FALSE.
406 .PP
407 \fBParameters:\fP
408 .RS 4
409 \fIcontext\fP A Kerberos 5 context. 
410 .br
411 \fIc\fP a configuration section, or NULL to use the section from context 
412 .br
413 \fIdef_value\fP the default value to return if no configuration found in the database. 
414 .br
415 \fIargs\fP a va_list of arguments
416 .RE
417 .PP
418 \fBReturns:\fP
419 .RS 4
420 TRUE or FALSE 
421 .RE
422 .PP
423
424 .SS "KRB5_LIB_FUNCTION const krb5_config_binding* KRB5_LIB_CALL krb5_config_vget_list (krb5_context context, const krb5_config_section * c, va_list args)"
425 .PP
426 Get a list of configuration binding list for more processing
427 .PP
428 \fBParameters:\fP
429 .RS 4
430 \fIcontext\fP A Kerberos 5 context. 
431 .br
432 \fIc\fP a configuration section, or NULL to use the section from context 
433 .br
434 \fIargs\fP a va_list of arguments
435 .RE
436 .PP
437 \fBReturns:\fP
438 .RS 4
439 NULL if configuration list is not found, a list otherwise 
440 .RE
441 .PP
442
443 .SS "KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_config_vget_string (krb5_context context, const krb5_config_section * c, va_list args)"
444 .PP
445 Like \fBkrb5_config_get_string()\fP, but uses a va_list instead of ...
446 .PP
447 \fBParameters:\fP
448 .RS 4
449 \fIcontext\fP A Kerberos 5 context. 
450 .br
451 \fIc\fP a configuration section, or NULL to use the section from context 
452 .br
453 \fIargs\fP a va_list of arguments
454 .RE
455 .PP
456 \fBReturns:\fP
457 .RS 4
458 NULL if configuration string not found, a string otherwise 
459 .RE
460 .PP
461
462 .SS "KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_config_vget_string_default (krb5_context context, const krb5_config_section * c, const char * def_value, va_list args)"
463 .PP
464 Like \fBkrb5_config_vget_string()\fP, but instead of returning NULL, instead return a default value.
465 .PP
466 \fBParameters:\fP
467 .RS 4
468 \fIcontext\fP A Kerberos 5 context. 
469 .br
470 \fIc\fP a configuration section, or NULL to use the section from context 
471 .br
472 \fIdef_value\fP the default value to return if no configuration found in the database. 
473 .br
474 \fIargs\fP a va_list of arguments
475 .RE
476 .PP
477 \fBReturns:\fP
478 .RS 4
479 a configuration string 
480 .RE
481 .PP
482
483 .SS "KRB5_LIB_FUNCTION char** KRB5_LIB_CALL krb5_config_vget_strings (krb5_context context, const krb5_config_section * c, va_list args)"
484 .PP
485 Get a list of configuration strings, free the result with \fBkrb5_config_free_strings()\fP.
486 .PP
487 \fBParameters:\fP
488 .RS 4
489 \fIcontext\fP A Kerberos 5 context. 
490 .br
491 \fIc\fP a configuration section, or NULL to use the section from context 
492 .br
493 \fIargs\fP a va_list of arguments
494 .RE
495 .PP
496 \fBReturns:\fP
497 .RS 4
498 TRUE or FALSE 
499 .RE
500 .PP
501
502 .SS "KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_config_vget_time (krb5_context context, const krb5_config_section * c, va_list args)"
503 .PP
504 Get the time from the configuration file using a relative time, for example: 1h30s
505 .PP
506 \fBParameters:\fP
507 .RS 4
508 \fIcontext\fP A Kerberos 5 context. 
509 .br
510 \fIc\fP a configuration section, or NULL to use the section from context 
511 .br
512 \fIargs\fP a va_list of arguments
513 .RE
514 .PP
515 \fBReturns:\fP
516 .RS 4
517 parsed the time or -1 on error 
518 .RE
519 .PP
520
521 .SS "KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_config_vget_time_default (krb5_context context, const krb5_config_section * c, int def_value, va_list args)"
522 .PP
523 Get the time from the configuration file using a relative time.
524 .PP
525 Like \fBkrb5_config_get_time_default()\fP but with a va_list list of configuration selection.
526 .PP
527 \fBParameters:\fP
528 .RS 4
529 \fIcontext\fP A Kerberos 5 context. 
530 .br
531 \fIc\fP a configuration section, or NULL to use the section from context 
532 .br
533 \fIdef_value\fP the default value to return if no configuration found in the database. 
534 .br
535 \fIargs\fP a va_list of arguments
536 .RE
537 .PP
538 \fBReturns:\fP
539 .RS 4
540 parsed the time (or def_value on parse error) 
541 .RE
542 .PP
543
544 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_expand_hostname (krb5_context context, const char * orig_hostname, char ** new_hostname)"
545 .PP
546 \fBkrb5_expand_hostname()\fP tries to make orig_hostname into a more canonical one in the newly allocated space returned in new_hostname.
547 .PP
548 \fBParameters:\fP
549 .RS 4
550 \fIcontext\fP a Keberos context 
551 .br
552 \fIorig_hostname\fP hostname to canonicalise. 
553 .br
554 \fInew_hostname\fP output hostname, caller must free hostname with krb5_xfree().
555 .RE
556 .PP
557 \fBReturns:\fP
558 .RS 4
559 Return an error code or 0, see krb5_get_error_message(). 
560 .RE
561 .PP
562
563 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_expand_hostname_realms (krb5_context context, const char * orig_hostname, char ** new_hostname, char *** realms)"
564 .PP
565 \fBkrb5_expand_hostname_realms()\fP expands orig_hostname to a name we believe to be a hostname in newly allocated space in new_hostname and return the realms new_hostname is believed to belong to in realms.
566 .PP
567 \fBParameters:\fP
568 .RS 4
569 \fIcontext\fP a Keberos context 
570 .br
571 \fIorig_hostname\fP hostname to canonicalise. 
572 .br
573 \fInew_hostname\fP output hostname, caller must free hostname with krb5_xfree(). 
574 .br
575 \fIrealms\fP output possible realms, is an array that is terminated with NULL. Caller must free with \fBkrb5_free_host_realm()\fP.
576 .RE
577 .PP
578 \fBReturns:\fP
579 .RS 4
580 Return an error code or 0, see krb5_get_error_message(). 
581 .RE
582 .PP
583
584 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_free_host_realm (krb5_context context, krb5_realm * realmlist)"
585 .PP
586 Free all memory allocated by `realmlist'
587 .PP
588 \fBParameters:\fP
589 .RS 4
590 \fIcontext\fP A Kerberos 5 context. 
591 .br
592 \fIrealmlist\fP realmlist to free, NULL is ok
593 .RE
594 .PP
595 \fBReturns:\fP
596 .RS 4
597 a Kerberos error code, always 0. 
598 .RE
599 .PP
600
601 .SS "KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_kuserok (krb5_context context, krb5_principal principal, const char * luser)"
602 .PP
603 This function takes the name of a local user and checks if principal is allowed to log in as that user.
604 .PP
605 The user may have a ~/.k5login file listing principals that are allowed to login as that user. If that file does not exist, all principals with a first component identical to the username, and a realm considered local, are allowed access.
606 .PP
607 The .k5login file must contain one principal per line, be owned by user and not be writable by group or other (but must be readable by anyone).
608 .PP
609 Note that if the file exists, no implicit access rights are given to user@LOCALREALM.
610 .PP
611 Optionally, a set of files may be put in ~/.k5login.d (a directory), in which case they will all be checked in the same manner as .k5login. The files may be called anything, but files starting with a hash (#) , or ending with a tilde (~) are ignored. Subdirectories are not traversed. Note that this directory may not be checked by other Kerberos implementations.
612 .PP
613 If no configuration file exists, match user against local domains, ie luser@LOCAL-REALMS-IN-CONFIGURATION-FILES.
614 .PP
615 \fBParameters:\fP
616 .RS 4
617 \fIcontext\fP Kerberos 5 context. 
618 .br
619 \fIprincipal\fP principal to check if allowed to login 
620 .br
621 \fIluser\fP local user id
622 .RE
623 .PP
624 \fBReturns:\fP
625 .RS 4
626 returns TRUE if access should be granted, FALSE otherwise. 
627 .RE
628 .PP
629
630 .SS "KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_plugin_register (krb5_context context, enum krb5_plugin_type type, const char * name, void * symbol)"
631 .PP
632 Register a plugin symbol name of specific type. 
633 .PP
634 \fBParameters:\fP
635 .RS 4
636 \fIcontext\fP a Keberos context 
637 .br
638 \fItype\fP type of plugin symbol 
639 .br
640 \fIname\fP name of plugin symbol 
641 .br
642 \fIsymbol\fP a pointer to the named symbol 
643 .RE
644 .PP
645 \fBReturns:\fP
646 .RS 4
647 In case of error a non zero error com_err error is returned and the Kerberos error string is set. 
648 .RE
649 .PP
650