xref: /freebsd-src/crypto/heimdal/doc/doxyout/krb5/html/group__krb5__support.html (revision 6a068746777241722b2b32c5d0bc443a2a64d80b)
1ae771770SStanislav Sedov<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2ae771770SStanislav Sedov<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3ae771770SStanislav Sedov<title>HeimdalKerberos5library: Heimdal Kerberos 5 support functions</title>
4ae771770SStanislav Sedov<link href="doxygen.css" rel="stylesheet" type="text/css">
5ae771770SStanislav Sedov<link href="tabs.css" rel="stylesheet" type="text/css">
6ae771770SStanislav Sedov</head><body>
7ae771770SStanislav Sedov<p>
8ae771770SStanislav Sedov<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
9ae771770SStanislav Sedov</p>
10ae771770SStanislav Sedov<!-- end of header marker -->
11ae771770SStanislav Sedov<!-- Generated by Doxygen 1.5.6 -->
12ae771770SStanislav Sedov<div class="navigation" id="top">
13ae771770SStanislav Sedov  <div class="tabs">
14ae771770SStanislav Sedov    <ul>
15ae771770SStanislav Sedov      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
16ae771770SStanislav Sedov      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
17ae771770SStanislav Sedov      <li><a href="modules.html"><span>Modules</span></a></li>
18ae771770SStanislav Sedov      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
19ae771770SStanislav Sedov    </ul>
20ae771770SStanislav Sedov  </div>
21ae771770SStanislav Sedov</div>
22ae771770SStanislav Sedov<div class="contents">
23ae771770SStanislav Sedov<h1>Heimdal Kerberos 5 support functions</h1><table border="0" cellpadding="0" cellspacing="0">
24ae771770SStanislav Sedov<tr><td></td></tr>
25ae771770SStanislav Sedov<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
26ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
27ae771770SStanislav Sedovkrb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#g245208f2d59a8fd7187089ad445e51d0">krb5_acl_match_string</a> (krb5_context context, const char *string, const char *format,...)</td></tr>
28ae771770SStanislav Sedov
29ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
30ae771770SStanislav Sedovkrb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#g7c5dbc1743dc0bc63765edf82d10eb9e">krb5_acl_match_file</a> (krb5_context context, const char *file, const char *format,...)</td></tr>
31ae771770SStanislav Sedov
32ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
33ae771770SStanislav Sedovkrb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#g59892cdf61d0a6a59b3dd2e9998b541a">krb5_config_parse_file_multi</a> (krb5_context context, const char *fname, krb5_config_section **res)</td></tr>
34ae771770SStanislav Sedov
35ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
36ae771770SStanislav Sedovkrb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#g84277205c4b221cc28f1fd36be19dba8">krb5_config_file_free</a> (krb5_context context, krb5_config_section *s)</td></tr>
37ae771770SStanislav Sedov
38ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION const <br>
39ae771770SStanislav Sedovkrb5_config_binding <br>
40ae771770SStanislav Sedov*KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#gee87399e25e34ac1e0e4a1841951e2fa">krb5_config_get_list</a> (krb5_context context, const krb5_config_section *c,...)</td></tr>
41ae771770SStanislav Sedov
42ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION const <br>
43ae771770SStanislav Sedovkrb5_config_binding <br>
44ae771770SStanislav Sedov*KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#gfbc6548d480aaf5118025b742f4f468d">krb5_config_vget_list</a> (krb5_context context, const krb5_config_section *c, va_list args)</td></tr>
45ae771770SStanislav Sedov
46ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION const char <br>
47ae771770SStanislav Sedov*KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#gc0845cba8c8f7fd2e447de60d81556ac">krb5_config_get_string</a> (krb5_context context, const krb5_config_section *c,...)</td></tr>
48ae771770SStanislav Sedov
49ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION const char <br>
50ae771770SStanislav Sedov*KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#gec7eaee2b6f04f1ed4a64b37efa767e4">krb5_config_vget_string</a> (krb5_context context, const krb5_config_section *c, va_list args)</td></tr>
51ae771770SStanislav Sedov
52ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION const char <br>
53ae771770SStanislav Sedov*KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#g124f18195eb05c3662ce2bcf06c7451b">krb5_config_vget_string_default</a> (krb5_context context, const krb5_config_section *c, const char *def_value, va_list args)</td></tr>
54ae771770SStanislav Sedov
55ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION const char <br>
56ae771770SStanislav Sedov*KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#gaef298c290e0c315d7f4bf07ba272b60">krb5_config_get_string_default</a> (krb5_context context, const krb5_config_section *c, const char *def_value,...)</td></tr>
57ae771770SStanislav Sedov
58ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION char <br>
59ae771770SStanislav Sedov**KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#g614850564b4d21b92e113fde9420bf3c">krb5_config_vget_strings</a> (krb5_context context, const krb5_config_section *c, va_list args)</td></tr>
60ae771770SStanislav Sedov
61ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION char <br>
62ae771770SStanislav Sedov**KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#g8f43dbe4a34a820a70d081e5d3190e01">krb5_config_get_strings</a> (krb5_context context, const krb5_config_section *c,...)</td></tr>
63ae771770SStanislav Sedov
64ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br>
65ae771770SStanislav SedovKRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#g3440f86b07fa86aae0f0889445a0def2">krb5_config_free_strings</a> (char **strings)</td></tr>
66ae771770SStanislav Sedov
67ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br>
68ae771770SStanislav SedovKRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#g8a29a130369232a638629cb37bfbeb66">krb5_config_vget_bool_default</a> (krb5_context context, const krb5_config_section *c, krb5_boolean def_value, va_list args)</td></tr>
69ae771770SStanislav Sedov
70ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br>
71ae771770SStanislav SedovKRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#g16e5b2da5e3751d7b3d4fe8d43f0a677">krb5_config_vget_bool</a> (krb5_context context, const krb5_config_section *c, va_list args)</td></tr>
72ae771770SStanislav Sedov
73ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br>
74ae771770SStanislav SedovKRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#gca6abdb90a74af3747f87bfb5e9c85ab">krb5_config_get_bool_default</a> (krb5_context context, const krb5_config_section *c, krb5_boolean def_value,...)</td></tr>
75ae771770SStanislav Sedov
76ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br>
77ae771770SStanislav SedovKRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#g39402ca8c1b1eb2af4b514eed826f971">krb5_config_get_bool</a> (krb5_context context, const krb5_config_section *c,...)</td></tr>
78ae771770SStanislav Sedov
79ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION int KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#g11d7ea1fa9a910acb568c42d8dd28350">krb5_config_vget_time_default</a> (krb5_context context, const krb5_config_section *c, int def_value, va_list args)</td></tr>
80ae771770SStanislav Sedov
81ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION int KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#g88331c69f41e1e65abc49a9b66efc7d5">krb5_config_vget_time</a> (krb5_context context, const krb5_config_section *c, va_list args)</td></tr>
82ae771770SStanislav Sedov
83ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION int KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#g019554d71140a32f64b6e4a2244d1168">krb5_config_get_time_default</a> (krb5_context context, const krb5_config_section *c, int def_value,...)</td></tr>
84ae771770SStanislav Sedov
85ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION int KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#gf797bad7e8499b7be6099ccff7f56226">krb5_config_get_time</a> (krb5_context context, const krb5_config_section *c,...)</td></tr>
86ae771770SStanislav Sedov
87ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
88ae771770SStanislav Sedovkrb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#g947f1780e8b73fe0edb4f64da2f0b2f3">krb5_expand_hostname</a> (krb5_context context, const char *orig_hostname, char **new_hostname)</td></tr>
89ae771770SStanislav Sedov
90ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
91ae771770SStanislav Sedovkrb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#g933f524c34ae6a80ba8aa6c0700992ef">krb5_expand_hostname_realms</a> (krb5_context context, const char *orig_hostname, char **new_hostname, char ***realms)</td></tr>
92ae771770SStanislav Sedov
93ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
94ae771770SStanislav Sedovkrb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#gca0ab80d3affb5986aa5061f3782401b">krb5_free_host_realm</a> (krb5_context context, krb5_realm *realmlist)</td></tr>
95ae771770SStanislav Sedov
96ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br>
97ae771770SStanislav SedovKRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#g6368eceea4261ef2ccb8dc39ecc87772">krb5_kuserok</a> (krb5_context context, krb5_principal principal, const char *luser)</td></tr>
98ae771770SStanislav Sedov
99ae771770SStanislav Sedov<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br>
100ae771770SStanislav Sedovkrb5_error_code KRB5_LIB_CALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#gb6e4d59cca3b2e65abbd83204ad0e789">krb5_plugin_register</a> (krb5_context context, enum krb5_plugin_type type, const char *name, void *symbol)</td></tr>
101ae771770SStanislav Sedov
102ae771770SStanislav Sedov</table>
103ae771770SStanislav Sedov<hr><a name="_details"></a><h2>Detailed Description</h2>
104ae771770SStanislav Sedov<hr><h2>Function Documentation</h2>
105ae771770SStanislav Sedov<a class="anchor" name="g7c5dbc1743dc0bc63765edf82d10eb9e"></a><!-- doxytag: member="acl.c::krb5_acl_match_file" ref="g7c5dbc1743dc0bc63765edf82d10eb9e" args="(krb5_context context, const char *file, const char *format,...)" -->
106ae771770SStanislav Sedov<div class="memitem">
107ae771770SStanislav Sedov<div class="memproto">
108ae771770SStanislav Sedov      <table class="memname">
109ae771770SStanislav Sedov        <tr>
110ae771770SStanislav Sedov          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_acl_match_file           </td>
111ae771770SStanislav Sedov          <td>(</td>
112ae771770SStanislav Sedov          <td class="paramtype">krb5_context&nbsp;</td>
113ae771770SStanislav Sedov          <td class="paramname"> <em>context</em>, </td>
114ae771770SStanislav Sedov        </tr>
115ae771770SStanislav Sedov        <tr>
116ae771770SStanislav Sedov          <td class="paramkey"></td>
117ae771770SStanislav Sedov          <td></td>
118ae771770SStanislav Sedov          <td class="paramtype">const char *&nbsp;</td>
119ae771770SStanislav Sedov          <td class="paramname"> <em>file</em>, </td>
120ae771770SStanislav Sedov        </tr>
121ae771770SStanislav Sedov        <tr>
122ae771770SStanislav Sedov          <td class="paramkey"></td>
123ae771770SStanislav Sedov          <td></td>
124ae771770SStanislav Sedov          <td class="paramtype">const char *&nbsp;</td>
125ae771770SStanislav Sedov          <td class="paramname"> <em>format</em>, </td>
126ae771770SStanislav Sedov        </tr>
127ae771770SStanislav Sedov        <tr>
128ae771770SStanislav Sedov          <td class="paramkey"></td>
129ae771770SStanislav Sedov          <td></td>
130ae771770SStanislav Sedov          <td class="paramtype">&nbsp;</td>
131ae771770SStanislav Sedov          <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
132ae771770SStanislav Sedov        </tr>
133ae771770SStanislav Sedov        <tr>
134ae771770SStanislav Sedov          <td></td>
135ae771770SStanislav Sedov          <td>)</td>
136ae771770SStanislav Sedov          <td></td><td></td><td></td>
137ae771770SStanislav Sedov        </tr>
138ae771770SStanislav Sedov      </table>
139ae771770SStanislav Sedov</div>
140ae771770SStanislav Sedov<div class="memdoc">
141ae771770SStanislav Sedov
142ae771770SStanislav Sedov<p>
143ae771770SStanislav Sedovkrb5_acl_match_file matches ACL format against each line in a file using <a class="el" href="group__krb5__support.html#g245208f2d59a8fd7187089ad445e51d0">krb5_acl_match_string()</a>. Lines starting with # are treated like comments and ignored.<p>
144ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd>
145ae771770SStanislav Sedov  <table border="0" cellspacing="2" cellpadding="0">
146ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>Kerberos 5 context. </td></tr>
147ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>file</em>&nbsp;</td><td>file with acl listed in the file. </td></tr>
148ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>format</em>&nbsp;</td><td>format to match. </td></tr>
149ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>...</em>&nbsp;</td><td>parameter to format string.</td></tr>
150ae771770SStanislav Sedov  </table>
151ae771770SStanislav Sedov</dl>
152ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0.</dd></dl>
153ae771770SStanislav Sedov<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__krb5__support.html#g245208f2d59a8fd7187089ad445e51d0">krb5_acl_match_string</a> </dd></dl>
154ae771770SStanislav Sedov
155ae771770SStanislav Sedov</div>
156ae771770SStanislav Sedov</div><p>
157ae771770SStanislav Sedov<a class="anchor" name="g245208f2d59a8fd7187089ad445e51d0"></a><!-- doxytag: member="acl.c::krb5_acl_match_string" ref="g245208f2d59a8fd7187089ad445e51d0" args="(krb5_context context, const char *string, const char *format,...)" -->
158ae771770SStanislav Sedov<div class="memitem">
159ae771770SStanislav Sedov<div class="memproto">
160ae771770SStanislav Sedov      <table class="memname">
161ae771770SStanislav Sedov        <tr>
162ae771770SStanislav Sedov          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_acl_match_string           </td>
163ae771770SStanislav Sedov          <td>(</td>
164ae771770SStanislav Sedov          <td class="paramtype">krb5_context&nbsp;</td>
165ae771770SStanislav Sedov          <td class="paramname"> <em>context</em>, </td>
166ae771770SStanislav Sedov        </tr>
167ae771770SStanislav Sedov        <tr>
168ae771770SStanislav Sedov          <td class="paramkey"></td>
169ae771770SStanislav Sedov          <td></td>
170ae771770SStanislav Sedov          <td class="paramtype">const char *&nbsp;</td>
171ae771770SStanislav Sedov          <td class="paramname"> <em>string</em>, </td>
172ae771770SStanislav Sedov        </tr>
173ae771770SStanislav Sedov        <tr>
174ae771770SStanislav Sedov          <td class="paramkey"></td>
175ae771770SStanislav Sedov          <td></td>
176ae771770SStanislav Sedov          <td class="paramtype">const char *&nbsp;</td>
177ae771770SStanislav Sedov          <td class="paramname"> <em>format</em>, </td>
178ae771770SStanislav Sedov        </tr>
179ae771770SStanislav Sedov        <tr>
180ae771770SStanislav Sedov          <td class="paramkey"></td>
181ae771770SStanislav Sedov          <td></td>
182ae771770SStanislav Sedov          <td class="paramtype">&nbsp;</td>
183ae771770SStanislav Sedov          <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
184ae771770SStanislav Sedov        </tr>
185ae771770SStanislav Sedov        <tr>
186ae771770SStanislav Sedov          <td></td>
187ae771770SStanislav Sedov          <td>)</td>
188ae771770SStanislav Sedov          <td></td><td></td><td></td>
189ae771770SStanislav Sedov        </tr>
190ae771770SStanislav Sedov      </table>
191ae771770SStanislav Sedov</div>
192ae771770SStanislav Sedov<div class="memdoc">
193ae771770SStanislav Sedov
194ae771770SStanislav Sedov<p>
195ae771770SStanislav Sedovkrb5_acl_match_string matches ACL format against a string.<p>
196ae771770SStanislav SedovThe 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.<p>
197ae771770SStanislav SedovList of format specifiers:<ul>
198ae771770SStanislav Sedov<li>s Matches a string using strcmp(3) (case sensitive).</li><li>f Matches the string with fnmatch(3). Theflags argument (the last argument) passed to the fnmatch function is 0.</li><li>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.</li></ul>
199ae771770SStanislav Sedov<p>
200ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd>
201ae771770SStanislav Sedov  <table border="0" cellspacing="2" cellpadding="0">
202ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>Kerberos 5 context </td></tr>
203ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>string</em>&nbsp;</td><td>string to match with </td></tr>
204ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>format</em>&nbsp;</td><td>format to match </td></tr>
205ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>...</em>&nbsp;</td><td>parameter to format string</td></tr>
206ae771770SStanislav Sedov  </table>
207ae771770SStanislav Sedov</dl>
208ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0.</dd></dl>
209ae771770SStanislav Sedov<div class="fragment"><pre class="fragment"> <span class="keywordtype">char</span> *s;
210ae771770SStanislav Sedov
211ae771770SStanislav Sedov ret = <a class="code" href="group__krb5__support.html#g245208f2d59a8fd7187089ad445e51d0">krb5_acl_match_string</a>(context, <span class="stringliteral">"foo"</span>, <span class="stringliteral">"s"</span>, <span class="stringliteral">"foo"</span>);
212ae771770SStanislav Sedov <span class="keywordflow">if</span> (ret)
213ae771770SStanislav Sedov     krb5_errx(context, 1, <span class="stringliteral">"acl didn't match"</span>);
214ae771770SStanislav Sedov ret = <a class="code" href="group__krb5__support.html#g245208f2d59a8fd7187089ad445e51d0">krb5_acl_match_string</a>(context, <span class="stringliteral">"foo foo baz/kaka"</span>,
215ae771770SStanislav Sedov     <span class="stringliteral">"ss"</span>, <span class="stringliteral">"foo"</span>, &amp;s, <span class="stringliteral">"foo/\\*"</span>);
216ae771770SStanislav Sedov <span class="keywordflow">if</span> (ret) {
217ae771770SStanislav Sedov     <span class="comment">// no need to free(s) on error</span>
218ae771770SStanislav Sedov     assert(s == NULL);
219ae771770SStanislav Sedov     krb5_errx(context, 1, <span class="stringliteral">"acl didn't match"</span>);
220ae771770SStanislav Sedov }
221ae771770SStanislav Sedov free(s);
222ae771770SStanislav Sedov</pre></div><p>
223ae771770SStanislav Sedov<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__krb5__support.html#g7c5dbc1743dc0bc63765edf82d10eb9e">krb5_acl_match_file</a> </dd></dl>
224ae771770SStanislav Sedov
225ae771770SStanislav Sedov</div>
226ae771770SStanislav Sedov</div><p>
227ae771770SStanislav Sedov<a class="anchor" name="g84277205c4b221cc28f1fd36be19dba8"></a><!-- doxytag: member="config_file.c::krb5_config_file_free" ref="g84277205c4b221cc28f1fd36be19dba8" args="(krb5_context context, krb5_config_section *s)" -->
228ae771770SStanislav Sedov<div class="memitem">
229ae771770SStanislav Sedov<div class="memproto">
230ae771770SStanislav Sedov      <table class="memname">
231ae771770SStanislav Sedov        <tr>
232ae771770SStanislav Sedov          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_config_file_free           </td>
233ae771770SStanislav Sedov          <td>(</td>
234ae771770SStanislav Sedov          <td class="paramtype">krb5_context&nbsp;</td>
235ae771770SStanislav Sedov          <td class="paramname"> <em>context</em>, </td>
236ae771770SStanislav Sedov        </tr>
237ae771770SStanislav Sedov        <tr>
238ae771770SStanislav Sedov          <td class="paramkey"></td>
239ae771770SStanislav Sedov          <td></td>
240ae771770SStanislav Sedov          <td class="paramtype">krb5_config_section *&nbsp;</td>
241ae771770SStanislav Sedov          <td class="paramname"> <em>s</em></td><td>&nbsp;</td>
242ae771770SStanislav Sedov        </tr>
243ae771770SStanislav Sedov        <tr>
244ae771770SStanislav Sedov          <td></td>
245ae771770SStanislav Sedov          <td>)</td>
246ae771770SStanislav Sedov          <td></td><td></td><td></td>
247ae771770SStanislav Sedov        </tr>
248ae771770SStanislav Sedov      </table>
249ae771770SStanislav Sedov</div>
250ae771770SStanislav Sedov<div class="memdoc">
251ae771770SStanislav Sedov
252ae771770SStanislav Sedov<p>
253ae771770SStanislav SedovFree configuration file section, the result of krb5_config_parse_file() and <a class="el" href="group__krb5__support.html#g59892cdf61d0a6a59b3dd2e9998b541a">krb5_config_parse_file_multi()</a>.<p>
254ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd>
255ae771770SStanislav Sedov  <table border="0" cellspacing="2" cellpadding="0">
256ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>A Kerberos 5 context </td></tr>
257ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>s</em>&nbsp;</td><td>the configuration section to free</td></tr>
258ae771770SStanislav Sedov  </table>
259ae771770SStanislav Sedov</dl>
260ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>returns 0 on successes, otherwise an error code, see krb5_get_error_message() </dd></dl>
261ae771770SStanislav Sedov
262ae771770SStanislav Sedov</div>
263ae771770SStanislav Sedov</div><p>
264ae771770SStanislav Sedov<a class="anchor" name="g3440f86b07fa86aae0f0889445a0def2"></a><!-- doxytag: member="config_file.c::krb5_config_free_strings" ref="g3440f86b07fa86aae0f0889445a0def2" args="(char **strings)" -->
265ae771770SStanislav Sedov<div class="memitem">
266ae771770SStanislav Sedov<div class="memproto">
267ae771770SStanislav Sedov      <table class="memname">
268ae771770SStanislav Sedov        <tr>
269ae771770SStanislav Sedov          <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_config_free_strings           </td>
270ae771770SStanislav Sedov          <td>(</td>
271ae771770SStanislav Sedov          <td class="paramtype">char **&nbsp;</td>
272ae771770SStanislav Sedov          <td class="paramname"> <em>strings</em>          </td>
273ae771770SStanislav Sedov          <td>&nbsp;)&nbsp;</td>
274ae771770SStanislav Sedov          <td></td>
275ae771770SStanislav Sedov        </tr>
276ae771770SStanislav Sedov      </table>
277ae771770SStanislav Sedov</div>
278ae771770SStanislav Sedov<div class="memdoc">
279ae771770SStanislav Sedov
280ae771770SStanislav Sedov<p>
281ae771770SStanislav SedovFree the resulting strings from krb5_config-get_strings() and <a class="el" href="group__krb5__support.html#g614850564b4d21b92e113fde9420bf3c">krb5_config_vget_strings()</a>.<p>
282ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd>
283ae771770SStanislav Sedov  <table border="0" cellspacing="2" cellpadding="0">
284ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>strings</em>&nbsp;</td><td>strings to free </td></tr>
285ae771770SStanislav Sedov  </table>
286ae771770SStanislav Sedov</dl>
287ae771770SStanislav Sedov
288ae771770SStanislav Sedov</div>
289ae771770SStanislav Sedov</div><p>
290ae771770SStanislav Sedov<a class="anchor" name="g39402ca8c1b1eb2af4b514eed826f971"></a><!-- doxytag: member="config_file.c::krb5_config_get_bool" ref="g39402ca8c1b1eb2af4b514eed826f971" args="(krb5_context context, const krb5_config_section *c,...)" -->
291ae771770SStanislav Sedov<div class="memitem">
292ae771770SStanislav Sedov<div class="memproto">
293ae771770SStanislav Sedov      <table class="memname">
294ae771770SStanislav Sedov        <tr>
295ae771770SStanislav Sedov          <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_config_get_bool           </td>
296ae771770SStanislav Sedov          <td>(</td>
297ae771770SStanislav Sedov          <td class="paramtype">krb5_context&nbsp;</td>
298ae771770SStanislav Sedov          <td class="paramname"> <em>context</em>, </td>
299ae771770SStanislav Sedov        </tr>
300ae771770SStanislav Sedov        <tr>
301ae771770SStanislav Sedov          <td class="paramkey"></td>
302ae771770SStanislav Sedov          <td></td>
303ae771770SStanislav Sedov          <td class="paramtype">const krb5_config_section *&nbsp;</td>
304ae771770SStanislav Sedov          <td class="paramname"> <em>c</em>, </td>
305ae771770SStanislav Sedov        </tr>
306ae771770SStanislav Sedov        <tr>
307ae771770SStanislav Sedov          <td class="paramkey"></td>
308ae771770SStanislav Sedov          <td></td>
309ae771770SStanislav Sedov          <td class="paramtype">&nbsp;</td>
310ae771770SStanislav Sedov          <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
311ae771770SStanislav Sedov        </tr>
312ae771770SStanislav Sedov        <tr>
313ae771770SStanislav Sedov          <td></td>
314ae771770SStanislav Sedov          <td>)</td>
315ae771770SStanislav Sedov          <td></td><td></td><td></td>
316ae771770SStanislav Sedov        </tr>
317ae771770SStanislav Sedov      </table>
318ae771770SStanislav Sedov</div>
319ae771770SStanislav Sedov<div class="memdoc">
320ae771770SStanislav Sedov
321ae771770SStanislav Sedov<p>
322ae771770SStanislav SedovLike <a class="el" href="group__krb5__support.html#g39402ca8c1b1eb2af4b514eed826f971">krb5_config_get_bool()</a> but with a va_list list of configuration selection.<p>
323ae771770SStanislav SedovConfiguration value to a boolean value, where yes/true and any non-zero number means TRUE and other value is FALSE.<p>
324ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd>
325ae771770SStanislav Sedov  <table border="0" cellspacing="2" cellpadding="0">
326ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>A Kerberos 5 context. </td></tr>
327ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>a configuration section, or NULL to use the section from context </td></tr>
328ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>...</em>&nbsp;</td><td>a list of names, terminated with NULL.</td></tr>
329ae771770SStanislav Sedov  </table>
330ae771770SStanislav Sedov</dl>
331ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE or FALSE </dd></dl>
332ae771770SStanislav Sedov
333ae771770SStanislav Sedov</div>
334ae771770SStanislav Sedov</div><p>
335ae771770SStanislav Sedov<a class="anchor" name="gca6abdb90a74af3747f87bfb5e9c85ab"></a><!-- doxytag: member="config_file.c::krb5_config_get_bool_default" ref="gca6abdb90a74af3747f87bfb5e9c85ab" args="(krb5_context context, const krb5_config_section *c, krb5_boolean def_value,...)" -->
336ae771770SStanislav Sedov<div class="memitem">
337ae771770SStanislav Sedov<div class="memproto">
338ae771770SStanislav Sedov      <table class="memname">
339ae771770SStanislav Sedov        <tr>
340ae771770SStanislav Sedov          <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_config_get_bool_default           </td>
341ae771770SStanislav Sedov          <td>(</td>
342ae771770SStanislav Sedov          <td class="paramtype">krb5_context&nbsp;</td>
343ae771770SStanislav Sedov          <td class="paramname"> <em>context</em>, </td>
344ae771770SStanislav Sedov        </tr>
345ae771770SStanislav Sedov        <tr>
346ae771770SStanislav Sedov          <td class="paramkey"></td>
347ae771770SStanislav Sedov          <td></td>
348ae771770SStanislav Sedov          <td class="paramtype">const krb5_config_section *&nbsp;</td>
349ae771770SStanislav Sedov          <td class="paramname"> <em>c</em>, </td>
350ae771770SStanislav Sedov        </tr>
351ae771770SStanislav Sedov        <tr>
352ae771770SStanislav Sedov          <td class="paramkey"></td>
353ae771770SStanislav Sedov          <td></td>
354ae771770SStanislav Sedov          <td class="paramtype">krb5_boolean&nbsp;</td>
355ae771770SStanislav Sedov          <td class="paramname"> <em>def_value</em>, </td>
356ae771770SStanislav Sedov        </tr>
357ae771770SStanislav Sedov        <tr>
358ae771770SStanislav Sedov          <td class="paramkey"></td>
359ae771770SStanislav Sedov          <td></td>
360ae771770SStanislav Sedov          <td class="paramtype">&nbsp;</td>
361ae771770SStanislav Sedov          <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
362ae771770SStanislav Sedov        </tr>
363ae771770SStanislav Sedov        <tr>
364ae771770SStanislav Sedov          <td></td>
365ae771770SStanislav Sedov          <td>)</td>
366ae771770SStanislav Sedov          <td></td><td></td><td></td>
367ae771770SStanislav Sedov        </tr>
368ae771770SStanislav Sedov      </table>
369ae771770SStanislav Sedov</div>
370ae771770SStanislav Sedov<div class="memdoc">
371ae771770SStanislav Sedov
372ae771770SStanislav Sedov<p>
373ae771770SStanislav Sedov<a class="el" href="group__krb5__support.html#gca6abdb90a74af3747f87bfb5e9c85ab">krb5_config_get_bool_default()</a> 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.<p>
374ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd>
375ae771770SStanislav Sedov  <table border="0" cellspacing="2" cellpadding="0">
376ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>A Kerberos 5 context. </td></tr>
377ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>a configuration section, or NULL to use the section from context </td></tr>
378ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>def_value</em>&nbsp;</td><td>the default value to return if no configuration found in the database. </td></tr>
379ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>...</em>&nbsp;</td><td>a list of names, terminated with NULL.</td></tr>
380ae771770SStanislav Sedov  </table>
381ae771770SStanislav Sedov</dl>
382ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE or FALSE </dd></dl>
383ae771770SStanislav Sedov
384ae771770SStanislav Sedov</div>
385ae771770SStanislav Sedov</div><p>
386ae771770SStanislav Sedov<a class="anchor" name="gee87399e25e34ac1e0e4a1841951e2fa"></a><!-- doxytag: member="config_file.c::krb5_config_get_list" ref="gee87399e25e34ac1e0e4a1841951e2fa" args="(krb5_context context, const krb5_config_section *c,...)" -->
387ae771770SStanislav Sedov<div class="memitem">
388ae771770SStanislav Sedov<div class="memproto">
389ae771770SStanislav Sedov      <table class="memname">
390ae771770SStanislav Sedov        <tr>
391ae771770SStanislav Sedov          <td class="memname">KRB5_LIB_FUNCTION const krb5_config_binding* KRB5_LIB_CALL krb5_config_get_list           </td>
392ae771770SStanislav Sedov          <td>(</td>
393ae771770SStanislav Sedov          <td class="paramtype">krb5_context&nbsp;</td>
394ae771770SStanislav Sedov          <td class="paramname"> <em>context</em>, </td>
395ae771770SStanislav Sedov        </tr>
396ae771770SStanislav Sedov        <tr>
397ae771770SStanislav Sedov          <td class="paramkey"></td>
398ae771770SStanislav Sedov          <td></td>
399ae771770SStanislav Sedov          <td class="paramtype">const krb5_config_section *&nbsp;</td>
400ae771770SStanislav Sedov          <td class="paramname"> <em>c</em>, </td>
401ae771770SStanislav Sedov        </tr>
402ae771770SStanislav Sedov        <tr>
403ae771770SStanislav Sedov          <td class="paramkey"></td>
404ae771770SStanislav Sedov          <td></td>
405ae771770SStanislav Sedov          <td class="paramtype">&nbsp;</td>
406ae771770SStanislav Sedov          <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
407ae771770SStanislav Sedov        </tr>
408ae771770SStanislav Sedov        <tr>
409ae771770SStanislav Sedov          <td></td>
410ae771770SStanislav Sedov          <td>)</td>
411ae771770SStanislav Sedov          <td></td><td></td><td></td>
412ae771770SStanislav Sedov        </tr>
413ae771770SStanislav Sedov      </table>
414ae771770SStanislav Sedov</div>
415ae771770SStanislav Sedov<div class="memdoc">
416ae771770SStanislav Sedov
417ae771770SStanislav Sedov<p>
418ae771770SStanislav SedovGet a list of configuration binding list for more processing<p>
419ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd>
420ae771770SStanislav Sedov  <table border="0" cellspacing="2" cellpadding="0">
421ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>A Kerberos 5 context. </td></tr>
422ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>a configuration section, or NULL to use the section from context </td></tr>
423ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>...</em>&nbsp;</td><td>a list of names, terminated with NULL.</td></tr>
424ae771770SStanislav Sedov  </table>
425ae771770SStanislav Sedov</dl>
426ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>NULL if configuration list is not found, a list otherwise </dd></dl>
427ae771770SStanislav Sedov
428ae771770SStanislav Sedov</div>
429ae771770SStanislav Sedov</div><p>
430ae771770SStanislav Sedov<a class="anchor" name="gc0845cba8c8f7fd2e447de60d81556ac"></a><!-- doxytag: member="config_file.c::krb5_config_get_string" ref="gc0845cba8c8f7fd2e447de60d81556ac" args="(krb5_context context, const krb5_config_section *c,...)" -->
431ae771770SStanislav Sedov<div class="memitem">
432ae771770SStanislav Sedov<div class="memproto">
433ae771770SStanislav Sedov      <table class="memname">
434ae771770SStanislav Sedov        <tr>
435ae771770SStanislav Sedov          <td class="memname">KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_config_get_string           </td>
436ae771770SStanislav Sedov          <td>(</td>
437ae771770SStanislav Sedov          <td class="paramtype">krb5_context&nbsp;</td>
438ae771770SStanislav Sedov          <td class="paramname"> <em>context</em>, </td>
439ae771770SStanislav Sedov        </tr>
440ae771770SStanislav Sedov        <tr>
441ae771770SStanislav Sedov          <td class="paramkey"></td>
442ae771770SStanislav Sedov          <td></td>
443ae771770SStanislav Sedov          <td class="paramtype">const krb5_config_section *&nbsp;</td>
444ae771770SStanislav Sedov          <td class="paramname"> <em>c</em>, </td>
445ae771770SStanislav Sedov        </tr>
446ae771770SStanislav Sedov        <tr>
447ae771770SStanislav Sedov          <td class="paramkey"></td>
448ae771770SStanislav Sedov          <td></td>
449ae771770SStanislav Sedov          <td class="paramtype">&nbsp;</td>
450ae771770SStanislav Sedov          <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
451ae771770SStanislav Sedov        </tr>
452ae771770SStanislav Sedov        <tr>
453ae771770SStanislav Sedov          <td></td>
454ae771770SStanislav Sedov          <td>)</td>
455ae771770SStanislav Sedov          <td></td><td></td><td></td>
456ae771770SStanislav Sedov        </tr>
457ae771770SStanislav Sedov      </table>
458ae771770SStanislav Sedov</div>
459ae771770SStanislav Sedov<div class="memdoc">
460ae771770SStanislav Sedov
461ae771770SStanislav Sedov<p>
462ae771770SStanislav SedovReturns 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.<p>
463ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd>
464ae771770SStanislav Sedov  <table border="0" cellspacing="2" cellpadding="0">
465ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>A Kerberos 5 context. </td></tr>
466ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>a configuration section, or NULL to use the section from context </td></tr>
467ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>...</em>&nbsp;</td><td>a list of names, terminated with NULL.</td></tr>
468ae771770SStanislav Sedov  </table>
469ae771770SStanislav Sedov</dl>
470ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>NULL if configuration string not found, a string otherwise </dd></dl>
471ae771770SStanislav Sedov
472ae771770SStanislav Sedov</div>
473ae771770SStanislav Sedov</div><p>
474ae771770SStanislav Sedov<a class="anchor" name="gaef298c290e0c315d7f4bf07ba272b60"></a><!-- doxytag: member="config_file.c::krb5_config_get_string_default" ref="gaef298c290e0c315d7f4bf07ba272b60" args="(krb5_context context, const krb5_config_section *c, const char *def_value,...)" -->
475ae771770SStanislav Sedov<div class="memitem">
476ae771770SStanislav Sedov<div class="memproto">
477ae771770SStanislav Sedov      <table class="memname">
478ae771770SStanislav Sedov        <tr>
479ae771770SStanislav Sedov          <td class="memname">KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_config_get_string_default           </td>
480ae771770SStanislav Sedov          <td>(</td>
481ae771770SStanislav Sedov          <td class="paramtype">krb5_context&nbsp;</td>
482ae771770SStanislav Sedov          <td class="paramname"> <em>context</em>, </td>
483ae771770SStanislav Sedov        </tr>
484ae771770SStanislav Sedov        <tr>
485ae771770SStanislav Sedov          <td class="paramkey"></td>
486ae771770SStanislav Sedov          <td></td>
487ae771770SStanislav Sedov          <td class="paramtype">const krb5_config_section *&nbsp;</td>
488ae771770SStanislav Sedov          <td class="paramname"> <em>c</em>, </td>
489ae771770SStanislav Sedov        </tr>
490ae771770SStanislav Sedov        <tr>
491ae771770SStanislav Sedov          <td class="paramkey"></td>
492ae771770SStanislav Sedov          <td></td>
493ae771770SStanislav Sedov          <td class="paramtype">const char *&nbsp;</td>
494ae771770SStanislav Sedov          <td class="paramname"> <em>def_value</em>, </td>
495ae771770SStanislav Sedov        </tr>
496ae771770SStanislav Sedov        <tr>
497ae771770SStanislav Sedov          <td class="paramkey"></td>
498ae771770SStanislav Sedov          <td></td>
499ae771770SStanislav Sedov          <td class="paramtype">&nbsp;</td>
500ae771770SStanislav Sedov          <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
501ae771770SStanislav Sedov        </tr>
502ae771770SStanislav Sedov        <tr>
503ae771770SStanislav Sedov          <td></td>
504ae771770SStanislav Sedov          <td>)</td>
505ae771770SStanislav Sedov          <td></td><td></td><td></td>
506ae771770SStanislav Sedov        </tr>
507ae771770SStanislav Sedov      </table>
508ae771770SStanislav Sedov</div>
509ae771770SStanislav Sedov<div class="memdoc">
510ae771770SStanislav Sedov
511ae771770SStanislav Sedov<p>
512ae771770SStanislav SedovLike <a class="el" href="group__krb5__support.html#gc0845cba8c8f7fd2e447de60d81556ac">krb5_config_get_string()</a>, but instead of returning NULL, instead return a default value.<p>
513ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd>
514ae771770SStanislav Sedov  <table border="0" cellspacing="2" cellpadding="0">
515ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>A Kerberos 5 context. </td></tr>
516ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>a configuration section, or NULL to use the section from context </td></tr>
517ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>def_value</em>&nbsp;</td><td>the default value to return if no configuration found in the database. </td></tr>
518ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>...</em>&nbsp;</td><td>a list of names, terminated with NULL.</td></tr>
519ae771770SStanislav Sedov  </table>
520ae771770SStanislav Sedov</dl>
521ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>a configuration string </dd></dl>
522ae771770SStanislav Sedov
523ae771770SStanislav Sedov</div>
524ae771770SStanislav Sedov</div><p>
525ae771770SStanislav Sedov<a class="anchor" name="g8f43dbe4a34a820a70d081e5d3190e01"></a><!-- doxytag: member="config_file.c::krb5_config_get_strings" ref="g8f43dbe4a34a820a70d081e5d3190e01" args="(krb5_context context, const krb5_config_section *c,...)" -->
526ae771770SStanislav Sedov<div class="memitem">
527ae771770SStanislav Sedov<div class="memproto">
528ae771770SStanislav Sedov      <table class="memname">
529ae771770SStanislav Sedov        <tr>
530ae771770SStanislav Sedov          <td class="memname">KRB5_LIB_FUNCTION char** KRB5_LIB_CALL krb5_config_get_strings           </td>
531ae771770SStanislav Sedov          <td>(</td>
532ae771770SStanislav Sedov          <td class="paramtype">krb5_context&nbsp;</td>
533ae771770SStanislav Sedov          <td class="paramname"> <em>context</em>, </td>
534ae771770SStanislav Sedov        </tr>
535ae771770SStanislav Sedov        <tr>
536ae771770SStanislav Sedov          <td class="paramkey"></td>
537ae771770SStanislav Sedov          <td></td>
538ae771770SStanislav Sedov          <td class="paramtype">const krb5_config_section *&nbsp;</td>
539ae771770SStanislav Sedov          <td class="paramname"> <em>c</em>, </td>
540ae771770SStanislav Sedov        </tr>
541ae771770SStanislav Sedov        <tr>
542ae771770SStanislav Sedov          <td class="paramkey"></td>
543ae771770SStanislav Sedov          <td></td>
544ae771770SStanislav Sedov          <td class="paramtype">&nbsp;</td>
545ae771770SStanislav Sedov          <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
546ae771770SStanislav Sedov        </tr>
547ae771770SStanislav Sedov        <tr>
548ae771770SStanislav Sedov          <td></td>
549ae771770SStanislav Sedov          <td>)</td>
550ae771770SStanislav Sedov          <td></td><td></td><td></td>
551ae771770SStanislav Sedov        </tr>
552ae771770SStanislav Sedov      </table>
553ae771770SStanislav Sedov</div>
554ae771770SStanislav Sedov<div class="memdoc">
555ae771770SStanislav Sedov
556ae771770SStanislav Sedov<p>
557ae771770SStanislav SedovGet a list of configuration strings, free the result with <a class="el" href="group__krb5__support.html#g3440f86b07fa86aae0f0889445a0def2">krb5_config_free_strings()</a>.<p>
558ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd>
559ae771770SStanislav Sedov  <table border="0" cellspacing="2" cellpadding="0">
560ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>A Kerberos 5 context. </td></tr>
561ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>a configuration section, or NULL to use the section from context </td></tr>
562ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>...</em>&nbsp;</td><td>a list of names, terminated with NULL.</td></tr>
563ae771770SStanislav Sedov  </table>
564ae771770SStanislav Sedov</dl>
565ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE or FALSE </dd></dl>
566ae771770SStanislav Sedov
567ae771770SStanislav Sedov</div>
568ae771770SStanislav Sedov</div><p>
569ae771770SStanislav Sedov<a class="anchor" name="gf797bad7e8499b7be6099ccff7f56226"></a><!-- doxytag: member="config_file.c::krb5_config_get_time" ref="gf797bad7e8499b7be6099ccff7f56226" args="(krb5_context context, const krb5_config_section *c,...)" -->
570ae771770SStanislav Sedov<div class="memitem">
571ae771770SStanislav Sedov<div class="memproto">
572ae771770SStanislav Sedov      <table class="memname">
573ae771770SStanislav Sedov        <tr>
574ae771770SStanislav Sedov          <td class="memname">KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_config_get_time           </td>
575ae771770SStanislav Sedov          <td>(</td>
576ae771770SStanislav Sedov          <td class="paramtype">krb5_context&nbsp;</td>
577ae771770SStanislav Sedov          <td class="paramname"> <em>context</em>, </td>
578ae771770SStanislav Sedov        </tr>
579ae771770SStanislav Sedov        <tr>
580ae771770SStanislav Sedov          <td class="paramkey"></td>
581ae771770SStanislav Sedov          <td></td>
582ae771770SStanislav Sedov          <td class="paramtype">const krb5_config_section *&nbsp;</td>
583ae771770SStanislav Sedov          <td class="paramname"> <em>c</em>, </td>
584ae771770SStanislav Sedov        </tr>
585ae771770SStanislav Sedov        <tr>
586ae771770SStanislav Sedov          <td class="paramkey"></td>
587ae771770SStanislav Sedov          <td></td>
588ae771770SStanislav Sedov          <td class="paramtype">&nbsp;</td>
589ae771770SStanislav Sedov          <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
590ae771770SStanislav Sedov        </tr>
591ae771770SStanislav Sedov        <tr>
592ae771770SStanislav Sedov          <td></td>
593ae771770SStanislav Sedov          <td>)</td>
594ae771770SStanislav Sedov          <td></td><td></td><td></td>
595ae771770SStanislav Sedov        </tr>
596ae771770SStanislav Sedov      </table>
597ae771770SStanislav Sedov</div>
598ae771770SStanislav Sedov<div class="memdoc">
599ae771770SStanislav Sedov
600ae771770SStanislav Sedov<p>
601ae771770SStanislav SedovGet the time from the configuration file using a relative time, for example: 1h30s<p>
602ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd>
603ae771770SStanislav Sedov  <table border="0" cellspacing="2" cellpadding="0">
604ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>A Kerberos 5 context. </td></tr>
605ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>a configuration section, or NULL to use the section from context </td></tr>
606ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>...</em>&nbsp;</td><td>a list of names, terminated with NULL.</td></tr>
607ae771770SStanislav Sedov  </table>
608ae771770SStanislav Sedov</dl>
609ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>parsed the time or -1 on error </dd></dl>
610ae771770SStanislav Sedov
611ae771770SStanislav Sedov</div>
612ae771770SStanislav Sedov</div><p>
613ae771770SStanislav Sedov<a class="anchor" name="g019554d71140a32f64b6e4a2244d1168"></a><!-- doxytag: member="config_file.c::krb5_config_get_time_default" ref="g019554d71140a32f64b6e4a2244d1168" args="(krb5_context context, const krb5_config_section *c, int def_value,...)" -->
614ae771770SStanislav Sedov<div class="memitem">
615ae771770SStanislav Sedov<div class="memproto">
616ae771770SStanislav Sedov      <table class="memname">
617ae771770SStanislav Sedov        <tr>
618ae771770SStanislav Sedov          <td class="memname">KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_config_get_time_default           </td>
619ae771770SStanislav Sedov          <td>(</td>
620ae771770SStanislav Sedov          <td class="paramtype">krb5_context&nbsp;</td>
621ae771770SStanislav Sedov          <td class="paramname"> <em>context</em>, </td>
622ae771770SStanislav Sedov        </tr>
623ae771770SStanislav Sedov        <tr>
624ae771770SStanislav Sedov          <td class="paramkey"></td>
625ae771770SStanislav Sedov          <td></td>
626ae771770SStanislav Sedov          <td class="paramtype">const krb5_config_section *&nbsp;</td>
627ae771770SStanislav Sedov          <td class="paramname"> <em>c</em>, </td>
628ae771770SStanislav Sedov        </tr>
629ae771770SStanislav Sedov        <tr>
630ae771770SStanislav Sedov          <td class="paramkey"></td>
631ae771770SStanislav Sedov          <td></td>
632ae771770SStanislav Sedov          <td class="paramtype">int&nbsp;</td>
633ae771770SStanislav Sedov          <td class="paramname"> <em>def_value</em>, </td>
634ae771770SStanislav Sedov        </tr>
635ae771770SStanislav Sedov        <tr>
636ae771770SStanislav Sedov          <td class="paramkey"></td>
637ae771770SStanislav Sedov          <td></td>
638ae771770SStanislav Sedov          <td class="paramtype">&nbsp;</td>
639ae771770SStanislav Sedov          <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
640ae771770SStanislav Sedov        </tr>
641ae771770SStanislav Sedov        <tr>
642ae771770SStanislav Sedov          <td></td>
643ae771770SStanislav Sedov          <td>)</td>
644ae771770SStanislav Sedov          <td></td><td></td><td></td>
645ae771770SStanislav Sedov        </tr>
646ae771770SStanislav Sedov      </table>
647ae771770SStanislav Sedov</div>
648ae771770SStanislav Sedov<div class="memdoc">
649ae771770SStanislav Sedov
650ae771770SStanislav Sedov<p>
651ae771770SStanislav SedovGet the time from the configuration file using a relative time, for example: 1h30s<p>
652ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd>
653ae771770SStanislav Sedov  <table border="0" cellspacing="2" cellpadding="0">
654ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>A Kerberos 5 context. </td></tr>
655ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>a configuration section, or NULL to use the section from context </td></tr>
656ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>def_value</em>&nbsp;</td><td>the default value to return if no configuration found in the database. </td></tr>
657ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>...</em>&nbsp;</td><td>a list of names, terminated with NULL.</td></tr>
658ae771770SStanislav Sedov  </table>
659ae771770SStanislav Sedov</dl>
660ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>parsed the time (or def_value on parse error) </dd></dl>
661ae771770SStanislav Sedov
662ae771770SStanislav Sedov</div>
663ae771770SStanislav Sedov</div><p>
664ae771770SStanislav Sedov<a class="anchor" name="g59892cdf61d0a6a59b3dd2e9998b541a"></a><!-- doxytag: member="config_file.c::krb5_config_parse_file_multi" ref="g59892cdf61d0a6a59b3dd2e9998b541a" args="(krb5_context context, const char *fname, krb5_config_section **res)" -->
665ae771770SStanislav Sedov<div class="memitem">
666ae771770SStanislav Sedov<div class="memproto">
667ae771770SStanislav Sedov      <table class="memname">
668ae771770SStanislav Sedov        <tr>
669ae771770SStanislav Sedov          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_config_parse_file_multi           </td>
670ae771770SStanislav Sedov          <td>(</td>
671ae771770SStanislav Sedov          <td class="paramtype">krb5_context&nbsp;</td>
672ae771770SStanislav Sedov          <td class="paramname"> <em>context</em>, </td>
673ae771770SStanislav Sedov        </tr>
674ae771770SStanislav Sedov        <tr>
675ae771770SStanislav Sedov          <td class="paramkey"></td>
676ae771770SStanislav Sedov          <td></td>
677ae771770SStanislav Sedov          <td class="paramtype">const char *&nbsp;</td>
678ae771770SStanislav Sedov          <td class="paramname"> <em>fname</em>, </td>
679ae771770SStanislav Sedov        </tr>
680ae771770SStanislav Sedov        <tr>
681ae771770SStanislav Sedov          <td class="paramkey"></td>
682ae771770SStanislav Sedov          <td></td>
683ae771770SStanislav Sedov          <td class="paramtype">krb5_config_section **&nbsp;</td>
684ae771770SStanislav Sedov          <td class="paramname"> <em>res</em></td><td>&nbsp;</td>
685ae771770SStanislav Sedov        </tr>
686ae771770SStanislav Sedov        <tr>
687ae771770SStanislav Sedov          <td></td>
688ae771770SStanislav Sedov          <td>)</td>
689ae771770SStanislav Sedov          <td></td><td></td><td></td>
690ae771770SStanislav Sedov        </tr>
691ae771770SStanislav Sedov      </table>
692ae771770SStanislav Sedov</div>
693ae771770SStanislav Sedov<div class="memdoc">
694ae771770SStanislav Sedov
695ae771770SStanislav Sedov<p>
696ae771770SStanislav SedovParse 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.<p>
697ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd>
698ae771770SStanislav Sedov  <table border="0" cellspacing="2" cellpadding="0">
699ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>a Kerberos 5 context. </td></tr>
700ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>fname</em>&nbsp;</td><td>a file name to a Kerberos configuration file </td></tr>
701ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>res</em>&nbsp;</td><td>the returned result, must be free with <a class="el" href="group__krb5.html#gce1b568d05875e7c4fbc6e5af5a8bdbf">krb5_free_config_files()</a>. </td></tr>
702ae771770SStanislav Sedov  </table>
703ae771770SStanislav Sedov</dl>
704ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl>
705ae771770SStanislav Sedov
706ae771770SStanislav Sedov<p>
707ae771770SStanislav SedovIf the fname starts with "~/" parse configuration file in the current users home directory. The behavior can be disabled and enabled by calling <a class="el" href="group__krb5.html#g3a8e40d622ff1460b2f554d83a9059ea">krb5_set_home_dir_access()</a>.
708ae771770SStanislav Sedov</div>
709ae771770SStanislav Sedov</div><p>
710ae771770SStanislav Sedov<a class="anchor" name="g16e5b2da5e3751d7b3d4fe8d43f0a677"></a><!-- doxytag: member="config_file.c::krb5_config_vget_bool" ref="g16e5b2da5e3751d7b3d4fe8d43f0a677" args="(krb5_context context, const krb5_config_section *c, va_list args)" -->
711ae771770SStanislav Sedov<div class="memitem">
712ae771770SStanislav Sedov<div class="memproto">
713ae771770SStanislav Sedov      <table class="memname">
714ae771770SStanislav Sedov        <tr>
715ae771770SStanislav Sedov          <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_config_vget_bool           </td>
716ae771770SStanislav Sedov          <td>(</td>
717ae771770SStanislav Sedov          <td class="paramtype">krb5_context&nbsp;</td>
718ae771770SStanislav Sedov          <td class="paramname"> <em>context</em>, </td>
719ae771770SStanislav Sedov        </tr>
720ae771770SStanislav Sedov        <tr>
721ae771770SStanislav Sedov          <td class="paramkey"></td>
722ae771770SStanislav Sedov          <td></td>
723ae771770SStanislav Sedov          <td class="paramtype">const krb5_config_section *&nbsp;</td>
724ae771770SStanislav Sedov          <td class="paramname"> <em>c</em>, </td>
725ae771770SStanislav Sedov        </tr>
726ae771770SStanislav Sedov        <tr>
727ae771770SStanislav Sedov          <td class="paramkey"></td>
728ae771770SStanislav Sedov          <td></td>
729ae771770SStanislav Sedov          <td class="paramtype">va_list&nbsp;</td>
730ae771770SStanislav Sedov          <td class="paramname"> <em>args</em></td><td>&nbsp;</td>
731ae771770SStanislav Sedov        </tr>
732ae771770SStanislav Sedov        <tr>
733ae771770SStanislav Sedov          <td></td>
734ae771770SStanislav Sedov          <td>)</td>
735ae771770SStanislav Sedov          <td></td><td></td><td></td>
736ae771770SStanislav Sedov        </tr>
737ae771770SStanislav Sedov      </table>
738ae771770SStanislav Sedov</div>
739ae771770SStanislav Sedov<div class="memdoc">
740ae771770SStanislav Sedov
741ae771770SStanislav Sedov<p>
742ae771770SStanislav Sedov<a class="el" href="group__krb5__support.html#g39402ca8c1b1eb2af4b514eed826f971">krb5_config_get_bool()</a> 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.<p>
743ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd>
744ae771770SStanislav Sedov  <table border="0" cellspacing="2" cellpadding="0">
745ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>A Kerberos 5 context. </td></tr>
746ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>a configuration section, or NULL to use the section from context </td></tr>
747ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>args</em>&nbsp;</td><td>a va_list of arguments</td></tr>
748ae771770SStanislav Sedov  </table>
749ae771770SStanislav Sedov</dl>
750ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE or FALSE </dd></dl>
751ae771770SStanislav Sedov
752ae771770SStanislav Sedov</div>
753ae771770SStanislav Sedov</div><p>
754ae771770SStanislav Sedov<a class="anchor" name="g8a29a130369232a638629cb37bfbeb66"></a><!-- doxytag: member="config_file.c::krb5_config_vget_bool_default" ref="g8a29a130369232a638629cb37bfbeb66" args="(krb5_context context, const krb5_config_section *c, krb5_boolean def_value, va_list args)" -->
755ae771770SStanislav Sedov<div class="memitem">
756ae771770SStanislav Sedov<div class="memproto">
757ae771770SStanislav Sedov      <table class="memname">
758ae771770SStanislav Sedov        <tr>
759ae771770SStanislav Sedov          <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_config_vget_bool_default           </td>
760ae771770SStanislav Sedov          <td>(</td>
761ae771770SStanislav Sedov          <td class="paramtype">krb5_context&nbsp;</td>
762ae771770SStanislav Sedov          <td class="paramname"> <em>context</em>, </td>
763ae771770SStanislav Sedov        </tr>
764ae771770SStanislav Sedov        <tr>
765ae771770SStanislav Sedov          <td class="paramkey"></td>
766ae771770SStanislav Sedov          <td></td>
767ae771770SStanislav Sedov          <td class="paramtype">const krb5_config_section *&nbsp;</td>
768ae771770SStanislav Sedov          <td class="paramname"> <em>c</em>, </td>
769ae771770SStanislav Sedov        </tr>
770ae771770SStanislav Sedov        <tr>
771ae771770SStanislav Sedov          <td class="paramkey"></td>
772ae771770SStanislav Sedov          <td></td>
773ae771770SStanislav Sedov          <td class="paramtype">krb5_boolean&nbsp;</td>
774ae771770SStanislav Sedov          <td class="paramname"> <em>def_value</em>, </td>
775ae771770SStanislav Sedov        </tr>
776ae771770SStanislav Sedov        <tr>
777ae771770SStanislav Sedov          <td class="paramkey"></td>
778ae771770SStanislav Sedov          <td></td>
779ae771770SStanislav Sedov          <td class="paramtype">va_list&nbsp;</td>
780ae771770SStanislav Sedov          <td class="paramname"> <em>args</em></td><td>&nbsp;</td>
781ae771770SStanislav Sedov        </tr>
782ae771770SStanislav Sedov        <tr>
783ae771770SStanislav Sedov          <td></td>
784ae771770SStanislav Sedov          <td>)</td>
785ae771770SStanislav Sedov          <td></td><td></td><td></td>
786ae771770SStanislav Sedov        </tr>
787ae771770SStanislav Sedov      </table>
788ae771770SStanislav Sedov</div>
789ae771770SStanislav Sedov<div class="memdoc">
790ae771770SStanislav Sedov
791ae771770SStanislav Sedov<p>
792ae771770SStanislav SedovLike <a class="el" href="group__krb5__support.html#gca6abdb90a74af3747f87bfb5e9c85ab">krb5_config_get_bool_default()</a> but with a va_list list of configuration selection.<p>
793ae771770SStanislav SedovConfiguration value to a boolean value, where yes/true and any non-zero number means TRUE and other value is FALSE.<p>
794ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd>
795ae771770SStanislav Sedov  <table border="0" cellspacing="2" cellpadding="0">
796ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>A Kerberos 5 context. </td></tr>
797ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>a configuration section, or NULL to use the section from context </td></tr>
798ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>def_value</em>&nbsp;</td><td>the default value to return if no configuration found in the database. </td></tr>
799ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>args</em>&nbsp;</td><td>a va_list of arguments</td></tr>
800ae771770SStanislav Sedov  </table>
801ae771770SStanislav Sedov</dl>
802ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE or FALSE </dd></dl>
803ae771770SStanislav Sedov
804ae771770SStanislav Sedov</div>
805ae771770SStanislav Sedov</div><p>
806ae771770SStanislav Sedov<a class="anchor" name="gfbc6548d480aaf5118025b742f4f468d"></a><!-- doxytag: member="config_file.c::krb5_config_vget_list" ref="gfbc6548d480aaf5118025b742f4f468d" args="(krb5_context context, const krb5_config_section *c, va_list args)" -->
807ae771770SStanislav Sedov<div class="memitem">
808ae771770SStanislav Sedov<div class="memproto">
809ae771770SStanislav Sedov      <table class="memname">
810ae771770SStanislav Sedov        <tr>
811ae771770SStanislav Sedov          <td class="memname">KRB5_LIB_FUNCTION const krb5_config_binding* KRB5_LIB_CALL krb5_config_vget_list           </td>
812ae771770SStanislav Sedov          <td>(</td>
813ae771770SStanislav Sedov          <td class="paramtype">krb5_context&nbsp;</td>
814ae771770SStanislav Sedov          <td class="paramname"> <em>context</em>, </td>
815ae771770SStanislav Sedov        </tr>
816ae771770SStanislav Sedov        <tr>
817ae771770SStanislav Sedov          <td class="paramkey"></td>
818ae771770SStanislav Sedov          <td></td>
819ae771770SStanislav Sedov          <td class="paramtype">const krb5_config_section *&nbsp;</td>
820ae771770SStanislav Sedov          <td class="paramname"> <em>c</em>, </td>
821ae771770SStanislav Sedov        </tr>
822ae771770SStanislav Sedov        <tr>
823ae771770SStanislav Sedov          <td class="paramkey"></td>
824ae771770SStanislav Sedov          <td></td>
825ae771770SStanislav Sedov          <td class="paramtype">va_list&nbsp;</td>
826ae771770SStanislav Sedov          <td class="paramname"> <em>args</em></td><td>&nbsp;</td>
827ae771770SStanislav Sedov        </tr>
828ae771770SStanislav Sedov        <tr>
829ae771770SStanislav Sedov          <td></td>
830ae771770SStanislav Sedov          <td>)</td>
831ae771770SStanislav Sedov          <td></td><td></td><td></td>
832ae771770SStanislav Sedov        </tr>
833ae771770SStanislav Sedov      </table>
834ae771770SStanislav Sedov</div>
835ae771770SStanislav Sedov<div class="memdoc">
836ae771770SStanislav Sedov
837ae771770SStanislav Sedov<p>
838ae771770SStanislav SedovGet a list of configuration binding list for more processing<p>
839ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd>
840ae771770SStanislav Sedov  <table border="0" cellspacing="2" cellpadding="0">
841ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>A Kerberos 5 context. </td></tr>
842ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>a configuration section, or NULL to use the section from context </td></tr>
843ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>args</em>&nbsp;</td><td>a va_list of arguments</td></tr>
844ae771770SStanislav Sedov  </table>
845ae771770SStanislav Sedov</dl>
846ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>NULL if configuration list is not found, a list otherwise </dd></dl>
847ae771770SStanislav Sedov
848ae771770SStanislav Sedov</div>
849ae771770SStanislav Sedov</div><p>
850ae771770SStanislav Sedov<a class="anchor" name="gec7eaee2b6f04f1ed4a64b37efa767e4"></a><!-- doxytag: member="config_file.c::krb5_config_vget_string" ref="gec7eaee2b6f04f1ed4a64b37efa767e4" args="(krb5_context context, const krb5_config_section *c, va_list args)" -->
851ae771770SStanislav Sedov<div class="memitem">
852ae771770SStanislav Sedov<div class="memproto">
853ae771770SStanislav Sedov      <table class="memname">
854ae771770SStanislav Sedov        <tr>
855ae771770SStanislav Sedov          <td class="memname">KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_config_vget_string           </td>
856ae771770SStanislav Sedov          <td>(</td>
857ae771770SStanislav Sedov          <td class="paramtype">krb5_context&nbsp;</td>
858ae771770SStanislav Sedov          <td class="paramname"> <em>context</em>, </td>
859ae771770SStanislav Sedov        </tr>
860ae771770SStanislav Sedov        <tr>
861ae771770SStanislav Sedov          <td class="paramkey"></td>
862ae771770SStanislav Sedov          <td></td>
863ae771770SStanislav Sedov          <td class="paramtype">const krb5_config_section *&nbsp;</td>
864ae771770SStanislav Sedov          <td class="paramname"> <em>c</em>, </td>
865ae771770SStanislav Sedov        </tr>
866ae771770SStanislav Sedov        <tr>
867ae771770SStanislav Sedov          <td class="paramkey"></td>
868ae771770SStanislav Sedov          <td></td>
869ae771770SStanislav Sedov          <td class="paramtype">va_list&nbsp;</td>
870ae771770SStanislav Sedov          <td class="paramname"> <em>args</em></td><td>&nbsp;</td>
871ae771770SStanislav Sedov        </tr>
872ae771770SStanislav Sedov        <tr>
873ae771770SStanislav Sedov          <td></td>
874ae771770SStanislav Sedov          <td>)</td>
875ae771770SStanislav Sedov          <td></td><td></td><td></td>
876ae771770SStanislav Sedov        </tr>
877ae771770SStanislav Sedov      </table>
878ae771770SStanislav Sedov</div>
879ae771770SStanislav Sedov<div class="memdoc">
880ae771770SStanislav Sedov
881ae771770SStanislav Sedov<p>
882ae771770SStanislav SedovLike <a class="el" href="group__krb5__support.html#gc0845cba8c8f7fd2e447de60d81556ac">krb5_config_get_string()</a>, but uses a va_list instead of ...<p>
883ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd>
884ae771770SStanislav Sedov  <table border="0" cellspacing="2" cellpadding="0">
885ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>A Kerberos 5 context. </td></tr>
886ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>a configuration section, or NULL to use the section from context </td></tr>
887ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>args</em>&nbsp;</td><td>a va_list of arguments</td></tr>
888ae771770SStanislav Sedov  </table>
889ae771770SStanislav Sedov</dl>
890ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>NULL if configuration string not found, a string otherwise </dd></dl>
891ae771770SStanislav Sedov
892ae771770SStanislav Sedov</div>
893ae771770SStanislav Sedov</div><p>
894ae771770SStanislav Sedov<a class="anchor" name="g124f18195eb05c3662ce2bcf06c7451b"></a><!-- doxytag: member="config_file.c::krb5_config_vget_string_default" ref="g124f18195eb05c3662ce2bcf06c7451b" args="(krb5_context context, const krb5_config_section *c, const char *def_value, va_list args)" -->
895ae771770SStanislav Sedov<div class="memitem">
896ae771770SStanislav Sedov<div class="memproto">
897ae771770SStanislav Sedov      <table class="memname">
898ae771770SStanislav Sedov        <tr>
899ae771770SStanislav Sedov          <td class="memname">KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_config_vget_string_default           </td>
900ae771770SStanislav Sedov          <td>(</td>
901ae771770SStanislav Sedov          <td class="paramtype">krb5_context&nbsp;</td>
902ae771770SStanislav Sedov          <td class="paramname"> <em>context</em>, </td>
903ae771770SStanislav Sedov        </tr>
904ae771770SStanislav Sedov        <tr>
905ae771770SStanislav Sedov          <td class="paramkey"></td>
906ae771770SStanislav Sedov          <td></td>
907ae771770SStanislav Sedov          <td class="paramtype">const krb5_config_section *&nbsp;</td>
908ae771770SStanislav Sedov          <td class="paramname"> <em>c</em>, </td>
909ae771770SStanislav Sedov        </tr>
910ae771770SStanislav Sedov        <tr>
911ae771770SStanislav Sedov          <td class="paramkey"></td>
912ae771770SStanislav Sedov          <td></td>
913ae771770SStanislav Sedov          <td class="paramtype">const char *&nbsp;</td>
914ae771770SStanislav Sedov          <td class="paramname"> <em>def_value</em>, </td>
915ae771770SStanislav Sedov        </tr>
916ae771770SStanislav Sedov        <tr>
917ae771770SStanislav Sedov          <td class="paramkey"></td>
918ae771770SStanislav Sedov          <td></td>
919ae771770SStanislav Sedov          <td class="paramtype">va_list&nbsp;</td>
920ae771770SStanislav Sedov          <td class="paramname"> <em>args</em></td><td>&nbsp;</td>
921ae771770SStanislav Sedov        </tr>
922ae771770SStanislav Sedov        <tr>
923ae771770SStanislav Sedov          <td></td>
924ae771770SStanislav Sedov          <td>)</td>
925ae771770SStanislav Sedov          <td></td><td></td><td></td>
926ae771770SStanislav Sedov        </tr>
927ae771770SStanislav Sedov      </table>
928ae771770SStanislav Sedov</div>
929ae771770SStanislav Sedov<div class="memdoc">
930ae771770SStanislav Sedov
931ae771770SStanislav Sedov<p>
932ae771770SStanislav SedovLike <a class="el" href="group__krb5__support.html#gec7eaee2b6f04f1ed4a64b37efa767e4">krb5_config_vget_string()</a>, but instead of returning NULL, instead return a default value.<p>
933ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd>
934ae771770SStanislav Sedov  <table border="0" cellspacing="2" cellpadding="0">
935ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>A Kerberos 5 context. </td></tr>
936ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>a configuration section, or NULL to use the section from context </td></tr>
937ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>def_value</em>&nbsp;</td><td>the default value to return if no configuration found in the database. </td></tr>
938ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>args</em>&nbsp;</td><td>a va_list of arguments</td></tr>
939ae771770SStanislav Sedov  </table>
940ae771770SStanislav Sedov</dl>
941ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>a configuration string </dd></dl>
942ae771770SStanislav Sedov
943ae771770SStanislav Sedov</div>
944ae771770SStanislav Sedov</div><p>
945ae771770SStanislav Sedov<a class="anchor" name="g614850564b4d21b92e113fde9420bf3c"></a><!-- doxytag: member="config_file.c::krb5_config_vget_strings" ref="g614850564b4d21b92e113fde9420bf3c" args="(krb5_context context, const krb5_config_section *c, va_list args)" -->
946ae771770SStanislav Sedov<div class="memitem">
947ae771770SStanislav Sedov<div class="memproto">
948ae771770SStanislav Sedov      <table class="memname">
949ae771770SStanislav Sedov        <tr>
950ae771770SStanislav Sedov          <td class="memname">KRB5_LIB_FUNCTION char** KRB5_LIB_CALL krb5_config_vget_strings           </td>
951ae771770SStanislav Sedov          <td>(</td>
952ae771770SStanislav Sedov          <td class="paramtype">krb5_context&nbsp;</td>
953ae771770SStanislav Sedov          <td class="paramname"> <em>context</em>, </td>
954ae771770SStanislav Sedov        </tr>
955ae771770SStanislav Sedov        <tr>
956ae771770SStanislav Sedov          <td class="paramkey"></td>
957ae771770SStanislav Sedov          <td></td>
958ae771770SStanislav Sedov          <td class="paramtype">const krb5_config_section *&nbsp;</td>
959ae771770SStanislav Sedov          <td class="paramname"> <em>c</em>, </td>
960ae771770SStanislav Sedov        </tr>
961ae771770SStanislav Sedov        <tr>
962ae771770SStanislav Sedov          <td class="paramkey"></td>
963ae771770SStanislav Sedov          <td></td>
964ae771770SStanislav Sedov          <td class="paramtype">va_list&nbsp;</td>
965ae771770SStanislav Sedov          <td class="paramname"> <em>args</em></td><td>&nbsp;</td>
966ae771770SStanislav Sedov        </tr>
967ae771770SStanislav Sedov        <tr>
968ae771770SStanislav Sedov          <td></td>
969ae771770SStanislav Sedov          <td>)</td>
970ae771770SStanislav Sedov          <td></td><td></td><td></td>
971ae771770SStanislav Sedov        </tr>
972ae771770SStanislav Sedov      </table>
973ae771770SStanislav Sedov</div>
974ae771770SStanislav Sedov<div class="memdoc">
975ae771770SStanislav Sedov
976ae771770SStanislav Sedov<p>
977ae771770SStanislav SedovGet a list of configuration strings, free the result with <a class="el" href="group__krb5__support.html#g3440f86b07fa86aae0f0889445a0def2">krb5_config_free_strings()</a>.<p>
978ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd>
979ae771770SStanislav Sedov  <table border="0" cellspacing="2" cellpadding="0">
980ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>A Kerberos 5 context. </td></tr>
981ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>a configuration section, or NULL to use the section from context </td></tr>
982ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>args</em>&nbsp;</td><td>a va_list of arguments</td></tr>
983ae771770SStanislav Sedov  </table>
984ae771770SStanislav Sedov</dl>
985ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE or FALSE </dd></dl>
986ae771770SStanislav Sedov
987ae771770SStanislav Sedov</div>
988ae771770SStanislav Sedov</div><p>
989ae771770SStanislav Sedov<a class="anchor" name="g88331c69f41e1e65abc49a9b66efc7d5"></a><!-- doxytag: member="config_file.c::krb5_config_vget_time" ref="g88331c69f41e1e65abc49a9b66efc7d5" args="(krb5_context context, const krb5_config_section *c, va_list args)" -->
990ae771770SStanislav Sedov<div class="memitem">
991ae771770SStanislav Sedov<div class="memproto">
992ae771770SStanislav Sedov      <table class="memname">
993ae771770SStanislav Sedov        <tr>
994ae771770SStanislav Sedov          <td class="memname">KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_config_vget_time           </td>
995ae771770SStanislav Sedov          <td>(</td>
996ae771770SStanislav Sedov          <td class="paramtype">krb5_context&nbsp;</td>
997ae771770SStanislav Sedov          <td class="paramname"> <em>context</em>, </td>
998ae771770SStanislav Sedov        </tr>
999ae771770SStanislav Sedov        <tr>
1000ae771770SStanislav Sedov          <td class="paramkey"></td>
1001ae771770SStanislav Sedov          <td></td>
1002ae771770SStanislav Sedov          <td class="paramtype">const krb5_config_section *&nbsp;</td>
1003ae771770SStanislav Sedov          <td class="paramname"> <em>c</em>, </td>
1004ae771770SStanislav Sedov        </tr>
1005ae771770SStanislav Sedov        <tr>
1006ae771770SStanislav Sedov          <td class="paramkey"></td>
1007ae771770SStanislav Sedov          <td></td>
1008ae771770SStanislav Sedov          <td class="paramtype">va_list&nbsp;</td>
1009ae771770SStanislav Sedov          <td class="paramname"> <em>args</em></td><td>&nbsp;</td>
1010ae771770SStanislav Sedov        </tr>
1011ae771770SStanislav Sedov        <tr>
1012ae771770SStanislav Sedov          <td></td>
1013ae771770SStanislav Sedov          <td>)</td>
1014ae771770SStanislav Sedov          <td></td><td></td><td></td>
1015ae771770SStanislav Sedov        </tr>
1016ae771770SStanislav Sedov      </table>
1017ae771770SStanislav Sedov</div>
1018ae771770SStanislav Sedov<div class="memdoc">
1019ae771770SStanislav Sedov
1020ae771770SStanislav Sedov<p>
1021ae771770SStanislav SedovGet the time from the configuration file using a relative time, for example: 1h30s<p>
1022ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd>
1023ae771770SStanislav Sedov  <table border="0" cellspacing="2" cellpadding="0">
1024ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>A Kerberos 5 context. </td></tr>
1025ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>a configuration section, or NULL to use the section from context </td></tr>
1026ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>args</em>&nbsp;</td><td>a va_list of arguments</td></tr>
1027ae771770SStanislav Sedov  </table>
1028ae771770SStanislav Sedov</dl>
1029ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>parsed the time or -1 on error </dd></dl>
1030ae771770SStanislav Sedov
1031ae771770SStanislav Sedov</div>
1032ae771770SStanislav Sedov</div><p>
1033ae771770SStanislav Sedov<a class="anchor" name="g11d7ea1fa9a910acb568c42d8dd28350"></a><!-- doxytag: member="config_file.c::krb5_config_vget_time_default" ref="g11d7ea1fa9a910acb568c42d8dd28350" args="(krb5_context context, const krb5_config_section *c, int def_value, va_list args)" -->
1034ae771770SStanislav Sedov<div class="memitem">
1035ae771770SStanislav Sedov<div class="memproto">
1036ae771770SStanislav Sedov      <table class="memname">
1037ae771770SStanislav Sedov        <tr>
1038ae771770SStanislav Sedov          <td class="memname">KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_config_vget_time_default           </td>
1039ae771770SStanislav Sedov          <td>(</td>
1040ae771770SStanislav Sedov          <td class="paramtype">krb5_context&nbsp;</td>
1041ae771770SStanislav Sedov          <td class="paramname"> <em>context</em>, </td>
1042ae771770SStanislav Sedov        </tr>
1043ae771770SStanislav Sedov        <tr>
1044ae771770SStanislav Sedov          <td class="paramkey"></td>
1045ae771770SStanislav Sedov          <td></td>
1046ae771770SStanislav Sedov          <td class="paramtype">const krb5_config_section *&nbsp;</td>
1047ae771770SStanislav Sedov          <td class="paramname"> <em>c</em>, </td>
1048ae771770SStanislav Sedov        </tr>
1049ae771770SStanislav Sedov        <tr>
1050ae771770SStanislav Sedov          <td class="paramkey"></td>
1051ae771770SStanislav Sedov          <td></td>
1052ae771770SStanislav Sedov          <td class="paramtype">int&nbsp;</td>
1053ae771770SStanislav Sedov          <td class="paramname"> <em>def_value</em>, </td>
1054ae771770SStanislav Sedov        </tr>
1055ae771770SStanislav Sedov        <tr>
1056ae771770SStanislav Sedov          <td class="paramkey"></td>
1057ae771770SStanislav Sedov          <td></td>
1058ae771770SStanislav Sedov          <td class="paramtype">va_list&nbsp;</td>
1059ae771770SStanislav Sedov          <td class="paramname"> <em>args</em></td><td>&nbsp;</td>
1060ae771770SStanislav Sedov        </tr>
1061ae771770SStanislav Sedov        <tr>
1062ae771770SStanislav Sedov          <td></td>
1063ae771770SStanislav Sedov          <td>)</td>
1064ae771770SStanislav Sedov          <td></td><td></td><td></td>
1065ae771770SStanislav Sedov        </tr>
1066ae771770SStanislav Sedov      </table>
1067ae771770SStanislav Sedov</div>
1068ae771770SStanislav Sedov<div class="memdoc">
1069ae771770SStanislav Sedov
1070ae771770SStanislav Sedov<p>
1071ae771770SStanislav SedovGet the time from the configuration file using a relative time.<p>
1072ae771770SStanislav SedovLike <a class="el" href="group__krb5__support.html#g019554d71140a32f64b6e4a2244d1168">krb5_config_get_time_default()</a> but with a va_list list of configuration selection.<p>
1073ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd>
1074ae771770SStanislav Sedov  <table border="0" cellspacing="2" cellpadding="0">
1075ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>A Kerberos 5 context. </td></tr>
1076ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>a configuration section, or NULL to use the section from context </td></tr>
1077ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>def_value</em>&nbsp;</td><td>the default value to return if no configuration found in the database. </td></tr>
1078ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>args</em>&nbsp;</td><td>a va_list of arguments</td></tr>
1079ae771770SStanislav Sedov  </table>
1080ae771770SStanislav Sedov</dl>
1081ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>parsed the time (or def_value on parse error) </dd></dl>
1082ae771770SStanislav Sedov
1083ae771770SStanislav Sedov</div>
1084ae771770SStanislav Sedov</div><p>
1085ae771770SStanislav Sedov<a class="anchor" name="g947f1780e8b73fe0edb4f64da2f0b2f3"></a><!-- doxytag: member="expand_hostname.c::krb5_expand_hostname" ref="g947f1780e8b73fe0edb4f64da2f0b2f3" args="(krb5_context context, const char *orig_hostname, char **new_hostname)" -->
1086ae771770SStanislav Sedov<div class="memitem">
1087ae771770SStanislav Sedov<div class="memproto">
1088ae771770SStanislav Sedov      <table class="memname">
1089ae771770SStanislav Sedov        <tr>
1090ae771770SStanislav Sedov          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_expand_hostname           </td>
1091ae771770SStanislav Sedov          <td>(</td>
1092ae771770SStanislav Sedov          <td class="paramtype">krb5_context&nbsp;</td>
1093ae771770SStanislav Sedov          <td class="paramname"> <em>context</em>, </td>
1094ae771770SStanislav Sedov        </tr>
1095ae771770SStanislav Sedov        <tr>
1096ae771770SStanislav Sedov          <td class="paramkey"></td>
1097ae771770SStanislav Sedov          <td></td>
1098ae771770SStanislav Sedov          <td class="paramtype">const char *&nbsp;</td>
1099ae771770SStanislav Sedov          <td class="paramname"> <em>orig_hostname</em>, </td>
1100ae771770SStanislav Sedov        </tr>
1101ae771770SStanislav Sedov        <tr>
1102ae771770SStanislav Sedov          <td class="paramkey"></td>
1103ae771770SStanislav Sedov          <td></td>
1104ae771770SStanislav Sedov          <td class="paramtype">char **&nbsp;</td>
1105ae771770SStanislav Sedov          <td class="paramname"> <em>new_hostname</em></td><td>&nbsp;</td>
1106ae771770SStanislav Sedov        </tr>
1107ae771770SStanislav Sedov        <tr>
1108ae771770SStanislav Sedov          <td></td>
1109ae771770SStanislav Sedov          <td>)</td>
1110ae771770SStanislav Sedov          <td></td><td></td><td></td>
1111ae771770SStanislav Sedov        </tr>
1112ae771770SStanislav Sedov      </table>
1113ae771770SStanislav Sedov</div>
1114ae771770SStanislav Sedov<div class="memdoc">
1115ae771770SStanislav Sedov
1116ae771770SStanislav Sedov<p>
1117ae771770SStanislav Sedov<a class="el" href="group__krb5__support.html#g947f1780e8b73fe0edb4f64da2f0b2f3">krb5_expand_hostname()</a> tries to make orig_hostname into a more canonical one in the newly allocated space returned in new_hostname.<p>
1118ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd>
1119ae771770SStanislav Sedov  <table border="0" cellspacing="2" cellpadding="0">
1120ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>a Keberos context </td></tr>
1121ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>orig_hostname</em>&nbsp;</td><td>hostname to canonicalise. </td></tr>
1122ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>new_hostname</em>&nbsp;</td><td>output hostname, caller must free hostname with krb5_xfree().</td></tr>
1123ae771770SStanislav Sedov  </table>
1124ae771770SStanislav Sedov</dl>
1125ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl>
1126ae771770SStanislav Sedov
1127ae771770SStanislav Sedov</div>
1128ae771770SStanislav Sedov</div><p>
1129ae771770SStanislav Sedov<a class="anchor" name="g933f524c34ae6a80ba8aa6c0700992ef"></a><!-- doxytag: member="expand_hostname.c::krb5_expand_hostname_realms" ref="g933f524c34ae6a80ba8aa6c0700992ef" args="(krb5_context context, const char *orig_hostname, char **new_hostname, char ***realms)" -->
1130ae771770SStanislav Sedov<div class="memitem">
1131ae771770SStanislav Sedov<div class="memproto">
1132ae771770SStanislav Sedov      <table class="memname">
1133ae771770SStanislav Sedov        <tr>
1134ae771770SStanislav Sedov          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_expand_hostname_realms           </td>
1135ae771770SStanislav Sedov          <td>(</td>
1136ae771770SStanislav Sedov          <td class="paramtype">krb5_context&nbsp;</td>
1137ae771770SStanislav Sedov          <td class="paramname"> <em>context</em>, </td>
1138ae771770SStanislav Sedov        </tr>
1139ae771770SStanislav Sedov        <tr>
1140ae771770SStanislav Sedov          <td class="paramkey"></td>
1141ae771770SStanislav Sedov          <td></td>
1142ae771770SStanislav Sedov          <td class="paramtype">const char *&nbsp;</td>
1143ae771770SStanislav Sedov          <td class="paramname"> <em>orig_hostname</em>, </td>
1144ae771770SStanislav Sedov        </tr>
1145ae771770SStanislav Sedov        <tr>
1146ae771770SStanislav Sedov          <td class="paramkey"></td>
1147ae771770SStanislav Sedov          <td></td>
1148ae771770SStanislav Sedov          <td class="paramtype">char **&nbsp;</td>
1149ae771770SStanislav Sedov          <td class="paramname"> <em>new_hostname</em>, </td>
1150ae771770SStanislav Sedov        </tr>
1151ae771770SStanislav Sedov        <tr>
1152ae771770SStanislav Sedov          <td class="paramkey"></td>
1153ae771770SStanislav Sedov          <td></td>
1154ae771770SStanislav Sedov          <td class="paramtype">char ***&nbsp;</td>
1155ae771770SStanislav Sedov          <td class="paramname"> <em>realms</em></td><td>&nbsp;</td>
1156ae771770SStanislav Sedov        </tr>
1157ae771770SStanislav Sedov        <tr>
1158ae771770SStanislav Sedov          <td></td>
1159ae771770SStanislav Sedov          <td>)</td>
1160ae771770SStanislav Sedov          <td></td><td></td><td></td>
1161ae771770SStanislav Sedov        </tr>
1162ae771770SStanislav Sedov      </table>
1163ae771770SStanislav Sedov</div>
1164ae771770SStanislav Sedov<div class="memdoc">
1165ae771770SStanislav Sedov
1166ae771770SStanislav Sedov<p>
1167ae771770SStanislav Sedov<a class="el" href="group__krb5__support.html#g933f524c34ae6a80ba8aa6c0700992ef">krb5_expand_hostname_realms()</a> 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.<p>
1168ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd>
1169ae771770SStanislav Sedov  <table border="0" cellspacing="2" cellpadding="0">
1170ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>a Keberos context </td></tr>
1171ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>orig_hostname</em>&nbsp;</td><td>hostname to canonicalise. </td></tr>
1172ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>new_hostname</em>&nbsp;</td><td>output hostname, caller must free hostname with krb5_xfree(). </td></tr>
1173ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>realms</em>&nbsp;</td><td>output possible realms, is an array that is terminated with NULL. Caller must free with <a class="el" href="group__krb5__support.html#gca0ab80d3affb5986aa5061f3782401b">krb5_free_host_realm()</a>.</td></tr>
1174ae771770SStanislav Sedov  </table>
1175ae771770SStanislav Sedov</dl>
1176ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl>
1177ae771770SStanislav Sedov
1178ae771770SStanislav Sedov</div>
1179ae771770SStanislav Sedov</div><p>
1180ae771770SStanislav Sedov<a class="anchor" name="gca0ab80d3affb5986aa5061f3782401b"></a><!-- doxytag: member="free_host_realm.c::krb5_free_host_realm" ref="gca0ab80d3affb5986aa5061f3782401b" args="(krb5_context context, krb5_realm *realmlist)" -->
1181ae771770SStanislav Sedov<div class="memitem">
1182ae771770SStanislav Sedov<div class="memproto">
1183ae771770SStanislav Sedov      <table class="memname">
1184ae771770SStanislav Sedov        <tr>
1185ae771770SStanislav Sedov          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_free_host_realm           </td>
1186ae771770SStanislav Sedov          <td>(</td>
1187ae771770SStanislav Sedov          <td class="paramtype">krb5_context&nbsp;</td>
1188ae771770SStanislav Sedov          <td class="paramname"> <em>context</em>, </td>
1189ae771770SStanislav Sedov        </tr>
1190ae771770SStanislav Sedov        <tr>
1191ae771770SStanislav Sedov          <td class="paramkey"></td>
1192ae771770SStanislav Sedov          <td></td>
1193ae771770SStanislav Sedov          <td class="paramtype">krb5_realm *&nbsp;</td>
1194ae771770SStanislav Sedov          <td class="paramname"> <em>realmlist</em></td><td>&nbsp;</td>
1195ae771770SStanislav Sedov        </tr>
1196ae771770SStanislav Sedov        <tr>
1197ae771770SStanislav Sedov          <td></td>
1198ae771770SStanislav Sedov          <td>)</td>
1199ae771770SStanislav Sedov          <td></td><td></td><td></td>
1200ae771770SStanislav Sedov        </tr>
1201ae771770SStanislav Sedov      </table>
1202ae771770SStanislav Sedov</div>
1203ae771770SStanislav Sedov<div class="memdoc">
1204ae771770SStanislav Sedov
1205ae771770SStanislav Sedov<p>
1206ae771770SStanislav SedovFree all memory allocated by `realmlist'<p>
1207ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd>
1208ae771770SStanislav Sedov  <table border="0" cellspacing="2" cellpadding="0">
1209ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>A Kerberos 5 context. </td></tr>
1210ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>realmlist</em>&nbsp;</td><td>realmlist to free, NULL is ok</td></tr>
1211ae771770SStanislav Sedov  </table>
1212ae771770SStanislav Sedov</dl>
1213ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>a Kerberos error code, always 0. </dd></dl>
1214ae771770SStanislav Sedov
1215ae771770SStanislav Sedov</div>
1216ae771770SStanislav Sedov</div><p>
1217ae771770SStanislav Sedov<a class="anchor" name="g6368eceea4261ef2ccb8dc39ecc87772"></a><!-- doxytag: member="kuserok.c::krb5_kuserok" ref="g6368eceea4261ef2ccb8dc39ecc87772" args="(krb5_context context, krb5_principal principal, const char *luser)" -->
1218ae771770SStanislav Sedov<div class="memitem">
1219ae771770SStanislav Sedov<div class="memproto">
1220ae771770SStanislav Sedov      <table class="memname">
1221ae771770SStanislav Sedov        <tr>
1222ae771770SStanislav Sedov          <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_kuserok           </td>
1223ae771770SStanislav Sedov          <td>(</td>
1224ae771770SStanislav Sedov          <td class="paramtype">krb5_context&nbsp;</td>
1225ae771770SStanislav Sedov          <td class="paramname"> <em>context</em>, </td>
1226ae771770SStanislav Sedov        </tr>
1227ae771770SStanislav Sedov        <tr>
1228ae771770SStanislav Sedov          <td class="paramkey"></td>
1229ae771770SStanislav Sedov          <td></td>
1230ae771770SStanislav Sedov          <td class="paramtype">krb5_principal&nbsp;</td>
1231ae771770SStanislav Sedov          <td class="paramname"> <em>principal</em>, </td>
1232ae771770SStanislav Sedov        </tr>
1233ae771770SStanislav Sedov        <tr>
1234ae771770SStanislav Sedov          <td class="paramkey"></td>
1235ae771770SStanislav Sedov          <td></td>
1236ae771770SStanislav Sedov          <td class="paramtype">const char *&nbsp;</td>
1237ae771770SStanislav Sedov          <td class="paramname"> <em>luser</em></td><td>&nbsp;</td>
1238ae771770SStanislav Sedov        </tr>
1239ae771770SStanislav Sedov        <tr>
1240ae771770SStanislav Sedov          <td></td>
1241ae771770SStanislav Sedov          <td>)</td>
1242ae771770SStanislav Sedov          <td></td><td></td><td></td>
1243ae771770SStanislav Sedov        </tr>
1244ae771770SStanislav Sedov      </table>
1245ae771770SStanislav Sedov</div>
1246ae771770SStanislav Sedov<div class="memdoc">
1247ae771770SStanislav Sedov
1248ae771770SStanislav Sedov<p>
1249ae771770SStanislav SedovThis function takes the name of a local user and checks if principal is allowed to log in as that user.<p>
1250ae771770SStanislav SedovThe 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.<p>
1251ae771770SStanislav SedovThe .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).<p>
1252ae771770SStanislav SedovNote that if the file exists, no implicit access rights are given to user@LOCALREALM.<p>
1253ae771770SStanislav SedovOptionally, 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.<p>
1254ae771770SStanislav SedovIf no configuration file exists, match user against local domains, ie luser@LOCAL-REALMS-IN-CONFIGURATION-FILES.<p>
1255ae771770SStanislav Sedov<dl compact><dt><b>Parameters:</b></dt><dd>
1256ae771770SStanislav Sedov  <table border="0" cellspacing="2" cellpadding="0">
1257ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>Kerberos 5 context. </td></tr>
1258ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>principal</em>&nbsp;</td><td>principal to check if allowed to login </td></tr>
1259ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>luser</em>&nbsp;</td><td>local user id</td></tr>
1260ae771770SStanislav Sedov  </table>
1261ae771770SStanislav Sedov</dl>
1262ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>returns TRUE if access should be granted, FALSE otherwise. </dd></dl>
1263ae771770SStanislav Sedov
1264ae771770SStanislav Sedov</div>
1265ae771770SStanislav Sedov</div><p>
1266ae771770SStanislav Sedov<a class="anchor" name="gb6e4d59cca3b2e65abbd83204ad0e789"></a><!-- doxytag: member="plugin.c::krb5_plugin_register" ref="gb6e4d59cca3b2e65abbd83204ad0e789" args="(krb5_context context, enum krb5_plugin_type type, const char *name, void *symbol)" -->
1267ae771770SStanislav Sedov<div class="memitem">
1268ae771770SStanislav Sedov<div class="memproto">
1269ae771770SStanislav Sedov      <table class="memname">
1270ae771770SStanislav Sedov        <tr>
1271ae771770SStanislav Sedov          <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_plugin_register           </td>
1272ae771770SStanislav Sedov          <td>(</td>
1273ae771770SStanislav Sedov          <td class="paramtype">krb5_context&nbsp;</td>
1274ae771770SStanislav Sedov          <td class="paramname"> <em>context</em>, </td>
1275ae771770SStanislav Sedov        </tr>
1276ae771770SStanislav Sedov        <tr>
1277ae771770SStanislav Sedov          <td class="paramkey"></td>
1278ae771770SStanislav Sedov          <td></td>
1279ae771770SStanislav Sedov          <td class="paramtype">enum krb5_plugin_type&nbsp;</td>
1280ae771770SStanislav Sedov          <td class="paramname"> <em>type</em>, </td>
1281ae771770SStanislav Sedov        </tr>
1282ae771770SStanislav Sedov        <tr>
1283ae771770SStanislav Sedov          <td class="paramkey"></td>
1284ae771770SStanislav Sedov          <td></td>
1285ae771770SStanislav Sedov          <td class="paramtype">const char *&nbsp;</td>
1286ae771770SStanislav Sedov          <td class="paramname"> <em>name</em>, </td>
1287ae771770SStanislav Sedov        </tr>
1288ae771770SStanislav Sedov        <tr>
1289ae771770SStanislav Sedov          <td class="paramkey"></td>
1290ae771770SStanislav Sedov          <td></td>
1291ae771770SStanislav Sedov          <td class="paramtype">void *&nbsp;</td>
1292ae771770SStanislav Sedov          <td class="paramname"> <em>symbol</em></td><td>&nbsp;</td>
1293ae771770SStanislav Sedov        </tr>
1294ae771770SStanislav Sedov        <tr>
1295ae771770SStanislav Sedov          <td></td>
1296ae771770SStanislav Sedov          <td>)</td>
1297ae771770SStanislav Sedov          <td></td><td></td><td></td>
1298ae771770SStanislav Sedov        </tr>
1299ae771770SStanislav Sedov      </table>
1300ae771770SStanislav Sedov</div>
1301ae771770SStanislav Sedov<div class="memdoc">
1302ae771770SStanislav Sedov
1303ae771770SStanislav Sedov<p>
1304ae771770SStanislav SedovRegister a plugin symbol name of specific type. <dl compact><dt><b>Parameters:</b></dt><dd>
1305ae771770SStanislav Sedov  <table border="0" cellspacing="2" cellpadding="0">
1306ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>a Keberos context </td></tr>
1307ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>type of plugin symbol </td></tr>
1308ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>name of plugin symbol </td></tr>
1309ae771770SStanislav Sedov    <tr><td valign="top"></td><td valign="top"><em>symbol</em>&nbsp;</td><td>a pointer to the named symbol </td></tr>
1310ae771770SStanislav Sedov  </table>
1311ae771770SStanislav Sedov</dl>
1312ae771770SStanislav Sedov<dl class="return" compact><dt><b>Returns:</b></dt><dd>In case of error a non zero error com_err error is returned and the Kerberos error string is set. </dd></dl>
1313ae771770SStanislav Sedov
1314ae771770SStanislav Sedov</div>
1315ae771770SStanislav Sedov</div><p>
1316ae771770SStanislav Sedov</div>
1317ae771770SStanislav Sedov<hr size="1"><address style="text-align: right;"><small>
1318*cf771f22SStanislav SedovGenerated on Wed Jan 11 14:07:50 2012 for HeimdalKerberos5library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address>
1319ae771770SStanislav Sedov</body>
1320ae771770SStanislav Sedov</html>
1321