1226031Sstas<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 2226031Sstas<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> 3226031Sstas<title>HeimdalKerberos5library: Heimdal Kerberos 5 support functions</title> 4226031Sstas<link href="doxygen.css" rel="stylesheet" type="text/css"> 5226031Sstas<link href="tabs.css" rel="stylesheet" type="text/css"> 6226031Sstas</head><body> 7226031Sstas<p> 8226031Sstas<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a> 9226031Sstas</p> 10226031Sstas<!-- end of header marker --> 11226031Sstas<!-- Generated by Doxygen 1.5.6 --> 12226031Sstas<div class="navigation" id="top"> 13226031Sstas <div class="tabs"> 14226031Sstas <ul> 15226031Sstas <li><a href="index.html"><span>Main Page</span></a></li> 16226031Sstas <li><a href="pages.html"><span>Related Pages</span></a></li> 17226031Sstas <li><a href="modules.html"><span>Modules</span></a></li> 18226031Sstas <li><a href="annotated.html"><span>Data Structures</span></a></li> 19226031Sstas </ul> 20226031Sstas </div> 21226031Sstas</div> 22226031Sstas<div class="contents"> 23226031Sstas<h1>Heimdal Kerberos 5 support functions</h1><table border="0" cellpadding="0" cellspacing="0"> 24226031Sstas<tr><td></td></tr> 25226031Sstas<tr><td colspan="2"><br><h2>Functions</h2></td></tr> 26226031Sstas<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 27226031Sstaskrb5_error_code KRB5_LIB_CALL </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> 28226031Sstas 29226031Sstas<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 30226031Sstaskrb5_error_code KRB5_LIB_CALL </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> 31226031Sstas 32226031Sstas<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 33226031Sstaskrb5_error_code KRB5_LIB_CALL </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> 34226031Sstas 35226031Sstas<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 36226031Sstaskrb5_error_code KRB5_LIB_CALL </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> 37226031Sstas 38226031Sstas<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION const <br> 39226031Sstaskrb5_config_binding <br> 40226031Sstas*KRB5_LIB_CALL </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> 41226031Sstas 42226031Sstas<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION const <br> 43226031Sstaskrb5_config_binding <br> 44226031Sstas*KRB5_LIB_CALL </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> 45226031Sstas 46226031Sstas<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION const char <br> 47226031Sstas*KRB5_LIB_CALL </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> 48226031Sstas 49226031Sstas<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION const char <br> 50226031Sstas*KRB5_LIB_CALL </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> 51226031Sstas 52226031Sstas<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION const char <br> 53226031Sstas*KRB5_LIB_CALL </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> 54226031Sstas 55226031Sstas<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION const char <br> 56226031Sstas*KRB5_LIB_CALL </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> 57226031Sstas 58226031Sstas<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION char <br> 59226031Sstas**KRB5_LIB_CALL </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> 60226031Sstas 61226031Sstas<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION char <br> 62226031Sstas**KRB5_LIB_CALL </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> 63226031Sstas 64226031Sstas<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br> 65226031SstasKRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#g3440f86b07fa86aae0f0889445a0def2">krb5_config_free_strings</a> (char **strings)</td></tr> 66226031Sstas 67226031Sstas<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br> 68226031SstasKRB5_LIB_CALL </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> 69226031Sstas 70226031Sstas<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br> 71226031SstasKRB5_LIB_CALL </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> 72226031Sstas 73226031Sstas<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br> 74226031SstasKRB5_LIB_CALL </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> 75226031Sstas 76226031Sstas<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br> 77226031SstasKRB5_LIB_CALL </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> 78226031Sstas 79226031Sstas<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION int KRB5_LIB_CALL </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> 80226031Sstas 81226031Sstas<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION int KRB5_LIB_CALL </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> 82226031Sstas 83226031Sstas<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION int KRB5_LIB_CALL </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> 84226031Sstas 85226031Sstas<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION int KRB5_LIB_CALL </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> 86226031Sstas 87226031Sstas<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 88226031Sstaskrb5_error_code KRB5_LIB_CALL </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> 89226031Sstas 90226031Sstas<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 91226031Sstaskrb5_error_code KRB5_LIB_CALL </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> 92226031Sstas 93226031Sstas<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 94226031Sstaskrb5_error_code KRB5_LIB_CALL </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> 95226031Sstas 96226031Sstas<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br> 97226031SstasKRB5_LIB_CALL </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> 98226031Sstas 99226031Sstas<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 100226031Sstaskrb5_error_code KRB5_LIB_CALL </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> 101226031Sstas 102226031Sstas</table> 103226031Sstas<hr><a name="_details"></a><h2>Detailed Description</h2> 104226031Sstas<hr><h2>Function Documentation</h2> 105226031Sstas<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,...)" --> 106226031Sstas<div class="memitem"> 107226031Sstas<div class="memproto"> 108226031Sstas <table class="memname"> 109226031Sstas <tr> 110226031Sstas <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_acl_match_file </td> 111226031Sstas <td>(</td> 112226031Sstas <td class="paramtype">krb5_context </td> 113226031Sstas <td class="paramname"> <em>context</em>, </td> 114226031Sstas </tr> 115226031Sstas <tr> 116226031Sstas <td class="paramkey"></td> 117226031Sstas <td></td> 118226031Sstas <td class="paramtype">const char * </td> 119226031Sstas <td class="paramname"> <em>file</em>, </td> 120226031Sstas </tr> 121226031Sstas <tr> 122226031Sstas <td class="paramkey"></td> 123226031Sstas <td></td> 124226031Sstas <td class="paramtype">const char * </td> 125226031Sstas <td class="paramname"> <em>format</em>, </td> 126226031Sstas </tr> 127226031Sstas <tr> 128226031Sstas <td class="paramkey"></td> 129226031Sstas <td></td> 130226031Sstas <td class="paramtype"> </td> 131226031Sstas <td class="paramname"> <em>...</em></td><td> </td> 132226031Sstas </tr> 133226031Sstas <tr> 134226031Sstas <td></td> 135226031Sstas <td>)</td> 136226031Sstas <td></td><td></td><td></td> 137226031Sstas </tr> 138226031Sstas </table> 139226031Sstas</div> 140226031Sstas<div class="memdoc"> 141226031Sstas 142226031Sstas<p> 143226031Sstaskrb5_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> 144226031Sstas<dl compact><dt><b>Parameters:</b></dt><dd> 145226031Sstas <table border="0" cellspacing="2" cellpadding="0"> 146226031Sstas <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context. </td></tr> 147226031Sstas <tr><td valign="top"></td><td valign="top"><em>file</em> </td><td>file with acl listed in the file. </td></tr> 148226031Sstas <tr><td valign="top"></td><td valign="top"><em>format</em> </td><td>format to match. </td></tr> 149226031Sstas <tr><td valign="top"></td><td valign="top"><em>...</em> </td><td>parameter to format string.</td></tr> 150226031Sstas </table> 151226031Sstas</dl> 152226031Sstas<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0.</dd></dl> 153226031Sstas<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> 154226031Sstas 155226031Sstas</div> 156226031Sstas</div><p> 157226031Sstas<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,...)" --> 158226031Sstas<div class="memitem"> 159226031Sstas<div class="memproto"> 160226031Sstas <table class="memname"> 161226031Sstas <tr> 162226031Sstas <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_acl_match_string </td> 163226031Sstas <td>(</td> 164226031Sstas <td class="paramtype">krb5_context </td> 165226031Sstas <td class="paramname"> <em>context</em>, </td> 166226031Sstas </tr> 167226031Sstas <tr> 168226031Sstas <td class="paramkey"></td> 169226031Sstas <td></td> 170226031Sstas <td class="paramtype">const char * </td> 171226031Sstas <td class="paramname"> <em>string</em>, </td> 172226031Sstas </tr> 173226031Sstas <tr> 174226031Sstas <td class="paramkey"></td> 175226031Sstas <td></td> 176226031Sstas <td class="paramtype">const char * </td> 177226031Sstas <td class="paramname"> <em>format</em>, </td> 178226031Sstas </tr> 179226031Sstas <tr> 180226031Sstas <td class="paramkey"></td> 181226031Sstas <td></td> 182226031Sstas <td class="paramtype"> </td> 183226031Sstas <td class="paramname"> <em>...</em></td><td> </td> 184226031Sstas </tr> 185226031Sstas <tr> 186226031Sstas <td></td> 187226031Sstas <td>)</td> 188226031Sstas <td></td><td></td><td></td> 189226031Sstas </tr> 190226031Sstas </table> 191226031Sstas</div> 192226031Sstas<div class="memdoc"> 193226031Sstas 194226031Sstas<p> 195226031Sstaskrb5_acl_match_string matches ACL format against a string.<p> 196226031SstasThe 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> 197226031SstasList of format specifiers:<ul> 198226031Sstas<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> 199226031Sstas<p> 200226031Sstas<dl compact><dt><b>Parameters:</b></dt><dd> 201226031Sstas <table border="0" cellspacing="2" cellpadding="0"> 202226031Sstas <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context </td></tr> 203226031Sstas <tr><td valign="top"></td><td valign="top"><em>string</em> </td><td>string to match with </td></tr> 204226031Sstas <tr><td valign="top"></td><td valign="top"><em>format</em> </td><td>format to match </td></tr> 205226031Sstas <tr><td valign="top"></td><td valign="top"><em>...</em> </td><td>parameter to format string</td></tr> 206226031Sstas </table> 207226031Sstas</dl> 208226031Sstas<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0.</dd></dl> 209226031Sstas<div class="fragment"><pre class="fragment"> <span class="keywordtype">char</span> *s; 210226031Sstas 211226031Sstas 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>); 212226031Sstas <span class="keywordflow">if</span> (ret) 213226031Sstas krb5_errx(context, 1, <span class="stringliteral">"acl didn't match"</span>); 214226031Sstas ret = <a class="code" href="group__krb5__support.html#g245208f2d59a8fd7187089ad445e51d0">krb5_acl_match_string</a>(context, <span class="stringliteral">"foo foo baz/kaka"</span>, 215226031Sstas <span class="stringliteral">"ss"</span>, <span class="stringliteral">"foo"</span>, &s, <span class="stringliteral">"foo/\\*"</span>); 216226031Sstas <span class="keywordflow">if</span> (ret) { 217226031Sstas <span class="comment">// no need to free(s) on error</span> 218226031Sstas assert(s == NULL); 219226031Sstas krb5_errx(context, 1, <span class="stringliteral">"acl didn't match"</span>); 220226031Sstas } 221226031Sstas free(s); 222226031Sstas</pre></div><p> 223226031Sstas<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> 224226031Sstas 225226031Sstas</div> 226226031Sstas</div><p> 227226031Sstas<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)" --> 228226031Sstas<div class="memitem"> 229226031Sstas<div class="memproto"> 230226031Sstas <table class="memname"> 231226031Sstas <tr> 232226031Sstas <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_config_file_free </td> 233226031Sstas <td>(</td> 234226031Sstas <td class="paramtype">krb5_context </td> 235226031Sstas <td class="paramname"> <em>context</em>, </td> 236226031Sstas </tr> 237226031Sstas <tr> 238226031Sstas <td class="paramkey"></td> 239226031Sstas <td></td> 240226031Sstas <td class="paramtype">krb5_config_section * </td> 241226031Sstas <td class="paramname"> <em>s</em></td><td> </td> 242226031Sstas </tr> 243226031Sstas <tr> 244226031Sstas <td></td> 245226031Sstas <td>)</td> 246226031Sstas <td></td><td></td><td></td> 247226031Sstas </tr> 248226031Sstas </table> 249226031Sstas</div> 250226031Sstas<div class="memdoc"> 251226031Sstas 252226031Sstas<p> 253226031SstasFree 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> 254226031Sstas<dl compact><dt><b>Parameters:</b></dt><dd> 255226031Sstas <table border="0" cellspacing="2" cellpadding="0"> 256226031Sstas <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context </td></tr> 257226031Sstas <tr><td valign="top"></td><td valign="top"><em>s</em> </td><td>the configuration section to free</td></tr> 258226031Sstas </table> 259226031Sstas</dl> 260226031Sstas<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> 261226031Sstas 262226031Sstas</div> 263226031Sstas</div><p> 264226031Sstas<a class="anchor" name="g3440f86b07fa86aae0f0889445a0def2"></a><!-- doxytag: member="config_file.c::krb5_config_free_strings" ref="g3440f86b07fa86aae0f0889445a0def2" args="(char **strings)" --> 265226031Sstas<div class="memitem"> 266226031Sstas<div class="memproto"> 267226031Sstas <table class="memname"> 268226031Sstas <tr> 269226031Sstas <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_config_free_strings </td> 270226031Sstas <td>(</td> 271226031Sstas <td class="paramtype">char ** </td> 272226031Sstas <td class="paramname"> <em>strings</em> </td> 273226031Sstas <td> ) </td> 274226031Sstas <td></td> 275226031Sstas </tr> 276226031Sstas </table> 277226031Sstas</div> 278226031Sstas<div class="memdoc"> 279226031Sstas 280226031Sstas<p> 281226031SstasFree the resulting strings from krb5_config-get_strings() and <a class="el" href="group__krb5__support.html#g614850564b4d21b92e113fde9420bf3c">krb5_config_vget_strings()</a>.<p> 282226031Sstas<dl compact><dt><b>Parameters:</b></dt><dd> 283226031Sstas <table border="0" cellspacing="2" cellpadding="0"> 284226031Sstas <tr><td valign="top"></td><td valign="top"><em>strings</em> </td><td>strings to free </td></tr> 285226031Sstas </table> 286226031Sstas</dl> 287226031Sstas 288226031Sstas</div> 289226031Sstas</div><p> 290226031Sstas<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,...)" --> 291226031Sstas<div class="memitem"> 292226031Sstas<div class="memproto"> 293226031Sstas <table class="memname"> 294226031Sstas <tr> 295226031Sstas <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_config_get_bool </td> 296226031Sstas <td>(</td> 297226031Sstas <td class="paramtype">krb5_context </td> 298226031Sstas <td class="paramname"> <em>context</em>, </td> 299226031Sstas </tr> 300226031Sstas <tr> 301226031Sstas <td class="paramkey"></td> 302226031Sstas <td></td> 303226031Sstas <td class="paramtype">const krb5_config_section * </td> 304226031Sstas <td class="paramname"> <em>c</em>, </td> 305226031Sstas </tr> 306226031Sstas <tr> 307226031Sstas <td class="paramkey"></td> 308226031Sstas <td></td> 309226031Sstas <td class="paramtype"> </td> 310226031Sstas <td class="paramname"> <em>...</em></td><td> </td> 311226031Sstas </tr> 312226031Sstas <tr> 313226031Sstas <td></td> 314226031Sstas <td>)</td> 315226031Sstas <td></td><td></td><td></td> 316226031Sstas </tr> 317226031Sstas </table> 318226031Sstas</div> 319226031Sstas<div class="memdoc"> 320226031Sstas 321226031Sstas<p> 322226031SstasLike <a class="el" href="group__krb5__support.html#g39402ca8c1b1eb2af4b514eed826f971">krb5_config_get_bool()</a> but with a va_list list of configuration selection.<p> 323226031SstasConfiguration value to a boolean value, where yes/true and any non-zero number means TRUE and other value is FALSE.<p> 324226031Sstas<dl compact><dt><b>Parameters:</b></dt><dd> 325226031Sstas <table border="0" cellspacing="2" cellpadding="0"> 326226031Sstas <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> 327226031Sstas <tr><td valign="top"></td><td valign="top"><em>c</em> </td><td>a configuration section, or NULL to use the section from context </td></tr> 328226031Sstas <tr><td valign="top"></td><td valign="top"><em>...</em> </td><td>a list of names, terminated with NULL.</td></tr> 329226031Sstas </table> 330226031Sstas</dl> 331226031Sstas<dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE or FALSE </dd></dl> 332226031Sstas 333226031Sstas</div> 334226031Sstas</div><p> 335226031Sstas<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,...)" --> 336226031Sstas<div class="memitem"> 337226031Sstas<div class="memproto"> 338226031Sstas <table class="memname"> 339226031Sstas <tr> 340226031Sstas <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_config_get_bool_default </td> 341226031Sstas <td>(</td> 342226031Sstas <td class="paramtype">krb5_context </td> 343226031Sstas <td class="paramname"> <em>context</em>, </td> 344226031Sstas </tr> 345226031Sstas <tr> 346226031Sstas <td class="paramkey"></td> 347226031Sstas <td></td> 348226031Sstas <td class="paramtype">const krb5_config_section * </td> 349226031Sstas <td class="paramname"> <em>c</em>, </td> 350226031Sstas </tr> 351226031Sstas <tr> 352226031Sstas <td class="paramkey"></td> 353226031Sstas <td></td> 354226031Sstas <td class="paramtype">krb5_boolean </td> 355226031Sstas <td class="paramname"> <em>def_value</em>, </td> 356226031Sstas </tr> 357226031Sstas <tr> 358226031Sstas <td class="paramkey"></td> 359226031Sstas <td></td> 360226031Sstas <td class="paramtype"> </td> 361226031Sstas <td class="paramname"> <em>...</em></td><td> </td> 362226031Sstas </tr> 363226031Sstas <tr> 364226031Sstas <td></td> 365226031Sstas <td>)</td> 366226031Sstas <td></td><td></td><td></td> 367226031Sstas </tr> 368226031Sstas </table> 369226031Sstas</div> 370226031Sstas<div class="memdoc"> 371226031Sstas 372226031Sstas<p> 373226031Sstas<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> 374226031Sstas<dl compact><dt><b>Parameters:</b></dt><dd> 375226031Sstas <table border="0" cellspacing="2" cellpadding="0"> 376226031Sstas <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> 377226031Sstas <tr><td valign="top"></td><td valign="top"><em>c</em> </td><td>a configuration section, or NULL to use the section from context </td></tr> 378226031Sstas <tr><td valign="top"></td><td valign="top"><em>def_value</em> </td><td>the default value to return if no configuration found in the database. </td></tr> 379226031Sstas <tr><td valign="top"></td><td valign="top"><em>...</em> </td><td>a list of names, terminated with NULL.</td></tr> 380226031Sstas </table> 381226031Sstas</dl> 382226031Sstas<dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE or FALSE </dd></dl> 383226031Sstas 384226031Sstas</div> 385226031Sstas</div><p> 386226031Sstas<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,...)" --> 387226031Sstas<div class="memitem"> 388226031Sstas<div class="memproto"> 389226031Sstas <table class="memname"> 390226031Sstas <tr> 391226031Sstas <td class="memname">KRB5_LIB_FUNCTION const krb5_config_binding* KRB5_LIB_CALL krb5_config_get_list </td> 392226031Sstas <td>(</td> 393226031Sstas <td class="paramtype">krb5_context </td> 394226031Sstas <td class="paramname"> <em>context</em>, </td> 395226031Sstas </tr> 396226031Sstas <tr> 397226031Sstas <td class="paramkey"></td> 398226031Sstas <td></td> 399226031Sstas <td class="paramtype">const krb5_config_section * </td> 400226031Sstas <td class="paramname"> <em>c</em>, </td> 401226031Sstas </tr> 402226031Sstas <tr> 403226031Sstas <td class="paramkey"></td> 404226031Sstas <td></td> 405226031Sstas <td class="paramtype"> </td> 406226031Sstas <td class="paramname"> <em>...</em></td><td> </td> 407226031Sstas </tr> 408226031Sstas <tr> 409226031Sstas <td></td> 410226031Sstas <td>)</td> 411226031Sstas <td></td><td></td><td></td> 412226031Sstas </tr> 413226031Sstas </table> 414226031Sstas</div> 415226031Sstas<div class="memdoc"> 416226031Sstas 417226031Sstas<p> 418226031SstasGet a list of configuration binding list for more processing<p> 419226031Sstas<dl compact><dt><b>Parameters:</b></dt><dd> 420226031Sstas <table border="0" cellspacing="2" cellpadding="0"> 421226031Sstas <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> 422226031Sstas <tr><td valign="top"></td><td valign="top"><em>c</em> </td><td>a configuration section, or NULL to use the section from context </td></tr> 423226031Sstas <tr><td valign="top"></td><td valign="top"><em>...</em> </td><td>a list of names, terminated with NULL.</td></tr> 424226031Sstas </table> 425226031Sstas</dl> 426226031Sstas<dl class="return" compact><dt><b>Returns:</b></dt><dd>NULL if configuration list is not found, a list otherwise </dd></dl> 427226031Sstas 428226031Sstas</div> 429226031Sstas</div><p> 430226031Sstas<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,...)" --> 431226031Sstas<div class="memitem"> 432226031Sstas<div class="memproto"> 433226031Sstas <table class="memname"> 434226031Sstas <tr> 435226031Sstas <td class="memname">KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_config_get_string </td> 436226031Sstas <td>(</td> 437226031Sstas <td class="paramtype">krb5_context </td> 438226031Sstas <td class="paramname"> <em>context</em>, </td> 439226031Sstas </tr> 440226031Sstas <tr> 441226031Sstas <td class="paramkey"></td> 442226031Sstas <td></td> 443226031Sstas <td class="paramtype">const krb5_config_section * </td> 444226031Sstas <td class="paramname"> <em>c</em>, </td> 445226031Sstas </tr> 446226031Sstas <tr> 447226031Sstas <td class="paramkey"></td> 448226031Sstas <td></td> 449226031Sstas <td class="paramtype"> </td> 450226031Sstas <td class="paramname"> <em>...</em></td><td> </td> 451226031Sstas </tr> 452226031Sstas <tr> 453226031Sstas <td></td> 454226031Sstas <td>)</td> 455226031Sstas <td></td><td></td><td></td> 456226031Sstas </tr> 457226031Sstas </table> 458226031Sstas</div> 459226031Sstas<div class="memdoc"> 460226031Sstas 461226031Sstas<p> 462226031SstasReturns 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> 463226031Sstas<dl compact><dt><b>Parameters:</b></dt><dd> 464226031Sstas <table border="0" cellspacing="2" cellpadding="0"> 465226031Sstas <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> 466226031Sstas <tr><td valign="top"></td><td valign="top"><em>c</em> </td><td>a configuration section, or NULL to use the section from context </td></tr> 467226031Sstas <tr><td valign="top"></td><td valign="top"><em>...</em> </td><td>a list of names, terminated with NULL.</td></tr> 468226031Sstas </table> 469226031Sstas</dl> 470226031Sstas<dl class="return" compact><dt><b>Returns:</b></dt><dd>NULL if configuration string not found, a string otherwise </dd></dl> 471226031Sstas 472226031Sstas</div> 473226031Sstas</div><p> 474226031Sstas<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,...)" --> 475226031Sstas<div class="memitem"> 476226031Sstas<div class="memproto"> 477226031Sstas <table class="memname"> 478226031Sstas <tr> 479226031Sstas <td class="memname">KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_config_get_string_default </td> 480226031Sstas <td>(</td> 481226031Sstas <td class="paramtype">krb5_context </td> 482226031Sstas <td class="paramname"> <em>context</em>, </td> 483226031Sstas </tr> 484226031Sstas <tr> 485226031Sstas <td class="paramkey"></td> 486226031Sstas <td></td> 487226031Sstas <td class="paramtype">const krb5_config_section * </td> 488226031Sstas <td class="paramname"> <em>c</em>, </td> 489226031Sstas </tr> 490226031Sstas <tr> 491226031Sstas <td class="paramkey"></td> 492226031Sstas <td></td> 493226031Sstas <td class="paramtype">const char * </td> 494226031Sstas <td class="paramname"> <em>def_value</em>, </td> 495226031Sstas </tr> 496226031Sstas <tr> 497226031Sstas <td class="paramkey"></td> 498226031Sstas <td></td> 499226031Sstas <td class="paramtype"> </td> 500226031Sstas <td class="paramname"> <em>...</em></td><td> </td> 501226031Sstas </tr> 502226031Sstas <tr> 503226031Sstas <td></td> 504226031Sstas <td>)</td> 505226031Sstas <td></td><td></td><td></td> 506226031Sstas </tr> 507226031Sstas </table> 508226031Sstas</div> 509226031Sstas<div class="memdoc"> 510226031Sstas 511226031Sstas<p> 512226031SstasLike <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> 513226031Sstas<dl compact><dt><b>Parameters:</b></dt><dd> 514226031Sstas <table border="0" cellspacing="2" cellpadding="0"> 515226031Sstas <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> 516226031Sstas <tr><td valign="top"></td><td valign="top"><em>c</em> </td><td>a configuration section, or NULL to use the section from context </td></tr> 517226031Sstas <tr><td valign="top"></td><td valign="top"><em>def_value</em> </td><td>the default value to return if no configuration found in the database. </td></tr> 518226031Sstas <tr><td valign="top"></td><td valign="top"><em>...</em> </td><td>a list of names, terminated with NULL.</td></tr> 519226031Sstas </table> 520226031Sstas</dl> 521226031Sstas<dl class="return" compact><dt><b>Returns:</b></dt><dd>a configuration string </dd></dl> 522226031Sstas 523226031Sstas</div> 524226031Sstas</div><p> 525226031Sstas<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,...)" --> 526226031Sstas<div class="memitem"> 527226031Sstas<div class="memproto"> 528226031Sstas <table class="memname"> 529226031Sstas <tr> 530226031Sstas <td class="memname">KRB5_LIB_FUNCTION char** KRB5_LIB_CALL krb5_config_get_strings </td> 531226031Sstas <td>(</td> 532226031Sstas <td class="paramtype">krb5_context </td> 533226031Sstas <td class="paramname"> <em>context</em>, </td> 534226031Sstas </tr> 535226031Sstas <tr> 536226031Sstas <td class="paramkey"></td> 537226031Sstas <td></td> 538226031Sstas <td class="paramtype">const krb5_config_section * </td> 539226031Sstas <td class="paramname"> <em>c</em>, </td> 540226031Sstas </tr> 541226031Sstas <tr> 542226031Sstas <td class="paramkey"></td> 543226031Sstas <td></td> 544226031Sstas <td class="paramtype"> </td> 545226031Sstas <td class="paramname"> <em>...</em></td><td> </td> 546226031Sstas </tr> 547226031Sstas <tr> 548226031Sstas <td></td> 549226031Sstas <td>)</td> 550226031Sstas <td></td><td></td><td></td> 551226031Sstas </tr> 552226031Sstas </table> 553226031Sstas</div> 554226031Sstas<div class="memdoc"> 555226031Sstas 556226031Sstas<p> 557226031SstasGet a list of configuration strings, free the result with <a class="el" href="group__krb5__support.html#g3440f86b07fa86aae0f0889445a0def2">krb5_config_free_strings()</a>.<p> 558226031Sstas<dl compact><dt><b>Parameters:</b></dt><dd> 559226031Sstas <table border="0" cellspacing="2" cellpadding="0"> 560226031Sstas <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> 561226031Sstas <tr><td valign="top"></td><td valign="top"><em>c</em> </td><td>a configuration section, or NULL to use the section from context </td></tr> 562226031Sstas <tr><td valign="top"></td><td valign="top"><em>...</em> </td><td>a list of names, terminated with NULL.</td></tr> 563226031Sstas </table> 564226031Sstas</dl> 565226031Sstas<dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE or FALSE </dd></dl> 566226031Sstas 567226031Sstas</div> 568226031Sstas</div><p> 569226031Sstas<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,...)" --> 570226031Sstas<div class="memitem"> 571226031Sstas<div class="memproto"> 572226031Sstas <table class="memname"> 573226031Sstas <tr> 574226031Sstas <td class="memname">KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_config_get_time </td> 575226031Sstas <td>(</td> 576226031Sstas <td class="paramtype">krb5_context </td> 577226031Sstas <td class="paramname"> <em>context</em>, </td> 578226031Sstas </tr> 579226031Sstas <tr> 580226031Sstas <td class="paramkey"></td> 581226031Sstas <td></td> 582226031Sstas <td class="paramtype">const krb5_config_section * </td> 583226031Sstas <td class="paramname"> <em>c</em>, </td> 584226031Sstas </tr> 585226031Sstas <tr> 586226031Sstas <td class="paramkey"></td> 587226031Sstas <td></td> 588226031Sstas <td class="paramtype"> </td> 589226031Sstas <td class="paramname"> <em>...</em></td><td> </td> 590226031Sstas </tr> 591226031Sstas <tr> 592226031Sstas <td></td> 593226031Sstas <td>)</td> 594226031Sstas <td></td><td></td><td></td> 595226031Sstas </tr> 596226031Sstas </table> 597226031Sstas</div> 598226031Sstas<div class="memdoc"> 599226031Sstas 600226031Sstas<p> 601226031SstasGet the time from the configuration file using a relative time, for example: 1h30s<p> 602226031Sstas<dl compact><dt><b>Parameters:</b></dt><dd> 603226031Sstas <table border="0" cellspacing="2" cellpadding="0"> 604226031Sstas <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> 605226031Sstas <tr><td valign="top"></td><td valign="top"><em>c</em> </td><td>a configuration section, or NULL to use the section from context </td></tr> 606226031Sstas <tr><td valign="top"></td><td valign="top"><em>...</em> </td><td>a list of names, terminated with NULL.</td></tr> 607226031Sstas </table> 608226031Sstas</dl> 609226031Sstas<dl class="return" compact><dt><b>Returns:</b></dt><dd>parsed the time or -1 on error </dd></dl> 610226031Sstas 611226031Sstas</div> 612226031Sstas</div><p> 613226031Sstas<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,...)" --> 614226031Sstas<div class="memitem"> 615226031Sstas<div class="memproto"> 616226031Sstas <table class="memname"> 617226031Sstas <tr> 618226031Sstas <td class="memname">KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_config_get_time_default </td> 619226031Sstas <td>(</td> 620226031Sstas <td class="paramtype">krb5_context </td> 621226031Sstas <td class="paramname"> <em>context</em>, </td> 622226031Sstas </tr> 623226031Sstas <tr> 624226031Sstas <td class="paramkey"></td> 625226031Sstas <td></td> 626226031Sstas <td class="paramtype">const krb5_config_section * </td> 627226031Sstas <td class="paramname"> <em>c</em>, </td> 628226031Sstas </tr> 629226031Sstas <tr> 630226031Sstas <td class="paramkey"></td> 631226031Sstas <td></td> 632226031Sstas <td class="paramtype">int </td> 633226031Sstas <td class="paramname"> <em>def_value</em>, </td> 634226031Sstas </tr> 635226031Sstas <tr> 636226031Sstas <td class="paramkey"></td> 637226031Sstas <td></td> 638226031Sstas <td class="paramtype"> </td> 639226031Sstas <td class="paramname"> <em>...</em></td><td> </td> 640226031Sstas </tr> 641226031Sstas <tr> 642226031Sstas <td></td> 643226031Sstas <td>)</td> 644226031Sstas <td></td><td></td><td></td> 645226031Sstas </tr> 646226031Sstas </table> 647226031Sstas</div> 648226031Sstas<div class="memdoc"> 649226031Sstas 650226031Sstas<p> 651226031SstasGet the time from the configuration file using a relative time, for example: 1h30s<p> 652226031Sstas<dl compact><dt><b>Parameters:</b></dt><dd> 653226031Sstas <table border="0" cellspacing="2" cellpadding="0"> 654226031Sstas <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> 655226031Sstas <tr><td valign="top"></td><td valign="top"><em>c</em> </td><td>a configuration section, or NULL to use the section from context </td></tr> 656226031Sstas <tr><td valign="top"></td><td valign="top"><em>def_value</em> </td><td>the default value to return if no configuration found in the database. </td></tr> 657226031Sstas <tr><td valign="top"></td><td valign="top"><em>...</em> </td><td>a list of names, terminated with NULL.</td></tr> 658226031Sstas </table> 659226031Sstas</dl> 660226031Sstas<dl class="return" compact><dt><b>Returns:</b></dt><dd>parsed the time (or def_value on parse error) </dd></dl> 661226031Sstas 662226031Sstas</div> 663226031Sstas</div><p> 664226031Sstas<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)" --> 665226031Sstas<div class="memitem"> 666226031Sstas<div class="memproto"> 667226031Sstas <table class="memname"> 668226031Sstas <tr> 669226031Sstas <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_config_parse_file_multi </td> 670226031Sstas <td>(</td> 671226031Sstas <td class="paramtype">krb5_context </td> 672226031Sstas <td class="paramname"> <em>context</em>, </td> 673226031Sstas </tr> 674226031Sstas <tr> 675226031Sstas <td class="paramkey"></td> 676226031Sstas <td></td> 677226031Sstas <td class="paramtype">const char * </td> 678226031Sstas <td class="paramname"> <em>fname</em>, </td> 679226031Sstas </tr> 680226031Sstas <tr> 681226031Sstas <td class="paramkey"></td> 682226031Sstas <td></td> 683226031Sstas <td class="paramtype">krb5_config_section ** </td> 684226031Sstas <td class="paramname"> <em>res</em></td><td> </td> 685226031Sstas </tr> 686226031Sstas <tr> 687226031Sstas <td></td> 688226031Sstas <td>)</td> 689226031Sstas <td></td><td></td><td></td> 690226031Sstas </tr> 691226031Sstas </table> 692226031Sstas</div> 693226031Sstas<div class="memdoc"> 694226031Sstas 695226031Sstas<p> 696226031SstasParse 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> 697226031Sstas<dl compact><dt><b>Parameters:</b></dt><dd> 698226031Sstas <table border="0" cellspacing="2" cellpadding="0"> 699226031Sstas <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Kerberos 5 context. </td></tr> 700226031Sstas <tr><td valign="top"></td><td valign="top"><em>fname</em> </td><td>a file name to a Kerberos configuration file </td></tr> 701226031Sstas <tr><td valign="top"></td><td valign="top"><em>res</em> </td><td>the returned result, must be free with <a class="el" href="group__krb5.html#gce1b568d05875e7c4fbc6e5af5a8bdbf">krb5_free_config_files()</a>. </td></tr> 702226031Sstas </table> 703226031Sstas</dl> 704226031Sstas<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> 705226031Sstas 706226031Sstas<p> 707226031SstasIf 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>. 708226031Sstas</div> 709226031Sstas</div><p> 710226031Sstas<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)" --> 711226031Sstas<div class="memitem"> 712226031Sstas<div class="memproto"> 713226031Sstas <table class="memname"> 714226031Sstas <tr> 715226031Sstas <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_config_vget_bool </td> 716226031Sstas <td>(</td> 717226031Sstas <td class="paramtype">krb5_context </td> 718226031Sstas <td class="paramname"> <em>context</em>, </td> 719226031Sstas </tr> 720226031Sstas <tr> 721226031Sstas <td class="paramkey"></td> 722226031Sstas <td></td> 723226031Sstas <td class="paramtype">const krb5_config_section * </td> 724226031Sstas <td class="paramname"> <em>c</em>, </td> 725226031Sstas </tr> 726226031Sstas <tr> 727226031Sstas <td class="paramkey"></td> 728226031Sstas <td></td> 729226031Sstas <td class="paramtype">va_list </td> 730226031Sstas <td class="paramname"> <em>args</em></td><td> </td> 731226031Sstas </tr> 732226031Sstas <tr> 733226031Sstas <td></td> 734226031Sstas <td>)</td> 735226031Sstas <td></td><td></td><td></td> 736226031Sstas </tr> 737226031Sstas </table> 738226031Sstas</div> 739226031Sstas<div class="memdoc"> 740226031Sstas 741226031Sstas<p> 742226031Sstas<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> 743226031Sstas<dl compact><dt><b>Parameters:</b></dt><dd> 744226031Sstas <table border="0" cellspacing="2" cellpadding="0"> 745226031Sstas <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> 746226031Sstas <tr><td valign="top"></td><td valign="top"><em>c</em> </td><td>a configuration section, or NULL to use the section from context </td></tr> 747226031Sstas <tr><td valign="top"></td><td valign="top"><em>args</em> </td><td>a va_list of arguments</td></tr> 748226031Sstas </table> 749226031Sstas</dl> 750226031Sstas<dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE or FALSE </dd></dl> 751226031Sstas 752226031Sstas</div> 753226031Sstas</div><p> 754226031Sstas<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)" --> 755226031Sstas<div class="memitem"> 756226031Sstas<div class="memproto"> 757226031Sstas <table class="memname"> 758226031Sstas <tr> 759226031Sstas <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_config_vget_bool_default </td> 760226031Sstas <td>(</td> 761226031Sstas <td class="paramtype">krb5_context </td> 762226031Sstas <td class="paramname"> <em>context</em>, </td> 763226031Sstas </tr> 764226031Sstas <tr> 765226031Sstas <td class="paramkey"></td> 766226031Sstas <td></td> 767226031Sstas <td class="paramtype">const krb5_config_section * </td> 768226031Sstas <td class="paramname"> <em>c</em>, </td> 769226031Sstas </tr> 770226031Sstas <tr> 771226031Sstas <td class="paramkey"></td> 772226031Sstas <td></td> 773226031Sstas <td class="paramtype">krb5_boolean </td> 774226031Sstas <td class="paramname"> <em>def_value</em>, </td> 775226031Sstas </tr> 776226031Sstas <tr> 777226031Sstas <td class="paramkey"></td> 778226031Sstas <td></td> 779226031Sstas <td class="paramtype">va_list </td> 780226031Sstas <td class="paramname"> <em>args</em></td><td> </td> 781226031Sstas </tr> 782226031Sstas <tr> 783226031Sstas <td></td> 784226031Sstas <td>)</td> 785226031Sstas <td></td><td></td><td></td> 786226031Sstas </tr> 787226031Sstas </table> 788226031Sstas</div> 789226031Sstas<div class="memdoc"> 790226031Sstas 791226031Sstas<p> 792226031SstasLike <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> 793226031SstasConfiguration value to a boolean value, where yes/true and any non-zero number means TRUE and other value is FALSE.<p> 794226031Sstas<dl compact><dt><b>Parameters:</b></dt><dd> 795226031Sstas <table border="0" cellspacing="2" cellpadding="0"> 796226031Sstas <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> 797226031Sstas <tr><td valign="top"></td><td valign="top"><em>c</em> </td><td>a configuration section, or NULL to use the section from context </td></tr> 798226031Sstas <tr><td valign="top"></td><td valign="top"><em>def_value</em> </td><td>the default value to return if no configuration found in the database. </td></tr> 799226031Sstas <tr><td valign="top"></td><td valign="top"><em>args</em> </td><td>a va_list of arguments</td></tr> 800226031Sstas </table> 801226031Sstas</dl> 802226031Sstas<dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE or FALSE </dd></dl> 803226031Sstas 804226031Sstas</div> 805226031Sstas</div><p> 806226031Sstas<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)" --> 807226031Sstas<div class="memitem"> 808226031Sstas<div class="memproto"> 809226031Sstas <table class="memname"> 810226031Sstas <tr> 811226031Sstas <td class="memname">KRB5_LIB_FUNCTION const krb5_config_binding* KRB5_LIB_CALL krb5_config_vget_list </td> 812226031Sstas <td>(</td> 813226031Sstas <td class="paramtype">krb5_context </td> 814226031Sstas <td class="paramname"> <em>context</em>, </td> 815226031Sstas </tr> 816226031Sstas <tr> 817226031Sstas <td class="paramkey"></td> 818226031Sstas <td></td> 819226031Sstas <td class="paramtype">const krb5_config_section * </td> 820226031Sstas <td class="paramname"> <em>c</em>, </td> 821226031Sstas </tr> 822226031Sstas <tr> 823226031Sstas <td class="paramkey"></td> 824226031Sstas <td></td> 825226031Sstas <td class="paramtype">va_list </td> 826226031Sstas <td class="paramname"> <em>args</em></td><td> </td> 827226031Sstas </tr> 828226031Sstas <tr> 829226031Sstas <td></td> 830226031Sstas <td>)</td> 831226031Sstas <td></td><td></td><td></td> 832226031Sstas </tr> 833226031Sstas </table> 834226031Sstas</div> 835226031Sstas<div class="memdoc"> 836226031Sstas 837226031Sstas<p> 838226031SstasGet a list of configuration binding list for more processing<p> 839226031Sstas<dl compact><dt><b>Parameters:</b></dt><dd> 840226031Sstas <table border="0" cellspacing="2" cellpadding="0"> 841226031Sstas <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> 842226031Sstas <tr><td valign="top"></td><td valign="top"><em>c</em> </td><td>a configuration section, or NULL to use the section from context </td></tr> 843226031Sstas <tr><td valign="top"></td><td valign="top"><em>args</em> </td><td>a va_list of arguments</td></tr> 844226031Sstas </table> 845226031Sstas</dl> 846226031Sstas<dl class="return" compact><dt><b>Returns:</b></dt><dd>NULL if configuration list is not found, a list otherwise </dd></dl> 847226031Sstas 848226031Sstas</div> 849226031Sstas</div><p> 850226031Sstas<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)" --> 851226031Sstas<div class="memitem"> 852226031Sstas<div class="memproto"> 853226031Sstas <table class="memname"> 854226031Sstas <tr> 855226031Sstas <td class="memname">KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_config_vget_string </td> 856226031Sstas <td>(</td> 857226031Sstas <td class="paramtype">krb5_context </td> 858226031Sstas <td class="paramname"> <em>context</em>, </td> 859226031Sstas </tr> 860226031Sstas <tr> 861226031Sstas <td class="paramkey"></td> 862226031Sstas <td></td> 863226031Sstas <td class="paramtype">const krb5_config_section * </td> 864226031Sstas <td class="paramname"> <em>c</em>, </td> 865226031Sstas </tr> 866226031Sstas <tr> 867226031Sstas <td class="paramkey"></td> 868226031Sstas <td></td> 869226031Sstas <td class="paramtype">va_list </td> 870226031Sstas <td class="paramname"> <em>args</em></td><td> </td> 871226031Sstas </tr> 872226031Sstas <tr> 873226031Sstas <td></td> 874226031Sstas <td>)</td> 875226031Sstas <td></td><td></td><td></td> 876226031Sstas </tr> 877226031Sstas </table> 878226031Sstas</div> 879226031Sstas<div class="memdoc"> 880226031Sstas 881226031Sstas<p> 882226031SstasLike <a class="el" href="group__krb5__support.html#gc0845cba8c8f7fd2e447de60d81556ac">krb5_config_get_string()</a>, but uses a va_list instead of ...<p> 883226031Sstas<dl compact><dt><b>Parameters:</b></dt><dd> 884226031Sstas <table border="0" cellspacing="2" cellpadding="0"> 885226031Sstas <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> 886226031Sstas <tr><td valign="top"></td><td valign="top"><em>c</em> </td><td>a configuration section, or NULL to use the section from context </td></tr> 887226031Sstas <tr><td valign="top"></td><td valign="top"><em>args</em> </td><td>a va_list of arguments</td></tr> 888226031Sstas </table> 889226031Sstas</dl> 890226031Sstas<dl class="return" compact><dt><b>Returns:</b></dt><dd>NULL if configuration string not found, a string otherwise </dd></dl> 891226031Sstas 892226031Sstas</div> 893226031Sstas</div><p> 894226031Sstas<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)" --> 895226031Sstas<div class="memitem"> 896226031Sstas<div class="memproto"> 897226031Sstas <table class="memname"> 898226031Sstas <tr> 899226031Sstas <td class="memname">KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_config_vget_string_default </td> 900226031Sstas <td>(</td> 901226031Sstas <td class="paramtype">krb5_context </td> 902226031Sstas <td class="paramname"> <em>context</em>, </td> 903226031Sstas </tr> 904226031Sstas <tr> 905226031Sstas <td class="paramkey"></td> 906226031Sstas <td></td> 907226031Sstas <td class="paramtype">const krb5_config_section * </td> 908226031Sstas <td class="paramname"> <em>c</em>, </td> 909226031Sstas </tr> 910226031Sstas <tr> 911226031Sstas <td class="paramkey"></td> 912226031Sstas <td></td> 913226031Sstas <td class="paramtype">const char * </td> 914226031Sstas <td class="paramname"> <em>def_value</em>, </td> 915226031Sstas </tr> 916226031Sstas <tr> 917226031Sstas <td class="paramkey"></td> 918226031Sstas <td></td> 919226031Sstas <td class="paramtype">va_list </td> 920226031Sstas <td class="paramname"> <em>args</em></td><td> </td> 921226031Sstas </tr> 922226031Sstas <tr> 923226031Sstas <td></td> 924226031Sstas <td>)</td> 925226031Sstas <td></td><td></td><td></td> 926226031Sstas </tr> 927226031Sstas </table> 928226031Sstas</div> 929226031Sstas<div class="memdoc"> 930226031Sstas 931226031Sstas<p> 932226031SstasLike <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> 933226031Sstas<dl compact><dt><b>Parameters:</b></dt><dd> 934226031Sstas <table border="0" cellspacing="2" cellpadding="0"> 935226031Sstas <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> 936226031Sstas <tr><td valign="top"></td><td valign="top"><em>c</em> </td><td>a configuration section, or NULL to use the section from context </td></tr> 937226031Sstas <tr><td valign="top"></td><td valign="top"><em>def_value</em> </td><td>the default value to return if no configuration found in the database. </td></tr> 938226031Sstas <tr><td valign="top"></td><td valign="top"><em>args</em> </td><td>a va_list of arguments</td></tr> 939226031Sstas </table> 940226031Sstas</dl> 941226031Sstas<dl class="return" compact><dt><b>Returns:</b></dt><dd>a configuration string </dd></dl> 942226031Sstas 943226031Sstas</div> 944226031Sstas</div><p> 945226031Sstas<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)" --> 946226031Sstas<div class="memitem"> 947226031Sstas<div class="memproto"> 948226031Sstas <table class="memname"> 949226031Sstas <tr> 950226031Sstas <td class="memname">KRB5_LIB_FUNCTION char** KRB5_LIB_CALL krb5_config_vget_strings </td> 951226031Sstas <td>(</td> 952226031Sstas <td class="paramtype">krb5_context </td> 953226031Sstas <td class="paramname"> <em>context</em>, </td> 954226031Sstas </tr> 955226031Sstas <tr> 956226031Sstas <td class="paramkey"></td> 957226031Sstas <td></td> 958226031Sstas <td class="paramtype">const krb5_config_section * </td> 959226031Sstas <td class="paramname"> <em>c</em>, </td> 960226031Sstas </tr> 961226031Sstas <tr> 962226031Sstas <td class="paramkey"></td> 963226031Sstas <td></td> 964226031Sstas <td class="paramtype">va_list </td> 965226031Sstas <td class="paramname"> <em>args</em></td><td> </td> 966226031Sstas </tr> 967226031Sstas <tr> 968226031Sstas <td></td> 969226031Sstas <td>)</td> 970226031Sstas <td></td><td></td><td></td> 971226031Sstas </tr> 972226031Sstas </table> 973226031Sstas</div> 974226031Sstas<div class="memdoc"> 975226031Sstas 976226031Sstas<p> 977226031SstasGet a list of configuration strings, free the result with <a class="el" href="group__krb5__support.html#g3440f86b07fa86aae0f0889445a0def2">krb5_config_free_strings()</a>.<p> 978226031Sstas<dl compact><dt><b>Parameters:</b></dt><dd> 979226031Sstas <table border="0" cellspacing="2" cellpadding="0"> 980226031Sstas <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> 981226031Sstas <tr><td valign="top"></td><td valign="top"><em>c</em> </td><td>a configuration section, or NULL to use the section from context </td></tr> 982226031Sstas <tr><td valign="top"></td><td valign="top"><em>args</em> </td><td>a va_list of arguments</td></tr> 983226031Sstas </table> 984226031Sstas</dl> 985226031Sstas<dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE or FALSE </dd></dl> 986226031Sstas 987226031Sstas</div> 988226031Sstas</div><p> 989226031Sstas<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)" --> 990226031Sstas<div class="memitem"> 991226031Sstas<div class="memproto"> 992226031Sstas <table class="memname"> 993226031Sstas <tr> 994226031Sstas <td class="memname">KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_config_vget_time </td> 995226031Sstas <td>(</td> 996226031Sstas <td class="paramtype">krb5_context </td> 997226031Sstas <td class="paramname"> <em>context</em>, </td> 998226031Sstas </tr> 999226031Sstas <tr> 1000226031Sstas <td class="paramkey"></td> 1001226031Sstas <td></td> 1002226031Sstas <td class="paramtype">const krb5_config_section * </td> 1003226031Sstas <td class="paramname"> <em>c</em>, </td> 1004226031Sstas </tr> 1005226031Sstas <tr> 1006226031Sstas <td class="paramkey"></td> 1007226031Sstas <td></td> 1008226031Sstas <td class="paramtype">va_list </td> 1009226031Sstas <td class="paramname"> <em>args</em></td><td> </td> 1010226031Sstas </tr> 1011226031Sstas <tr> 1012226031Sstas <td></td> 1013226031Sstas <td>)</td> 1014226031Sstas <td></td><td></td><td></td> 1015226031Sstas </tr> 1016226031Sstas </table> 1017226031Sstas</div> 1018226031Sstas<div class="memdoc"> 1019226031Sstas 1020226031Sstas<p> 1021226031SstasGet the time from the configuration file using a relative time, for example: 1h30s<p> 1022226031Sstas<dl compact><dt><b>Parameters:</b></dt><dd> 1023226031Sstas <table border="0" cellspacing="2" cellpadding="0"> 1024226031Sstas <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> 1025226031Sstas <tr><td valign="top"></td><td valign="top"><em>c</em> </td><td>a configuration section, or NULL to use the section from context </td></tr> 1026226031Sstas <tr><td valign="top"></td><td valign="top"><em>args</em> </td><td>a va_list of arguments</td></tr> 1027226031Sstas </table> 1028226031Sstas</dl> 1029226031Sstas<dl class="return" compact><dt><b>Returns:</b></dt><dd>parsed the time or -1 on error </dd></dl> 1030226031Sstas 1031226031Sstas</div> 1032226031Sstas</div><p> 1033226031Sstas<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)" --> 1034226031Sstas<div class="memitem"> 1035226031Sstas<div class="memproto"> 1036226031Sstas <table class="memname"> 1037226031Sstas <tr> 1038226031Sstas <td class="memname">KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_config_vget_time_default </td> 1039226031Sstas <td>(</td> 1040226031Sstas <td class="paramtype">krb5_context </td> 1041226031Sstas <td class="paramname"> <em>context</em>, </td> 1042226031Sstas </tr> 1043226031Sstas <tr> 1044226031Sstas <td class="paramkey"></td> 1045226031Sstas <td></td> 1046226031Sstas <td class="paramtype">const krb5_config_section * </td> 1047226031Sstas <td class="paramname"> <em>c</em>, </td> 1048226031Sstas </tr> 1049226031Sstas <tr> 1050226031Sstas <td class="paramkey"></td> 1051226031Sstas <td></td> 1052226031Sstas <td class="paramtype">int </td> 1053226031Sstas <td class="paramname"> <em>def_value</em>, </td> 1054226031Sstas </tr> 1055226031Sstas <tr> 1056226031Sstas <td class="paramkey"></td> 1057226031Sstas <td></td> 1058226031Sstas <td class="paramtype">va_list </td> 1059226031Sstas <td class="paramname"> <em>args</em></td><td> </td> 1060226031Sstas </tr> 1061226031Sstas <tr> 1062226031Sstas <td></td> 1063226031Sstas <td>)</td> 1064226031Sstas <td></td><td></td><td></td> 1065226031Sstas </tr> 1066226031Sstas </table> 1067226031Sstas</div> 1068226031Sstas<div class="memdoc"> 1069226031Sstas 1070226031Sstas<p> 1071226031SstasGet the time from the configuration file using a relative time.<p> 1072226031SstasLike <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> 1073226031Sstas<dl compact><dt><b>Parameters:</b></dt><dd> 1074226031Sstas <table border="0" cellspacing="2" cellpadding="0"> 1075226031Sstas <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> 1076226031Sstas <tr><td valign="top"></td><td valign="top"><em>c</em> </td><td>a configuration section, or NULL to use the section from context </td></tr> 1077226031Sstas <tr><td valign="top"></td><td valign="top"><em>def_value</em> </td><td>the default value to return if no configuration found in the database. </td></tr> 1078226031Sstas <tr><td valign="top"></td><td valign="top"><em>args</em> </td><td>a va_list of arguments</td></tr> 1079226031Sstas </table> 1080226031Sstas</dl> 1081226031Sstas<dl class="return" compact><dt><b>Returns:</b></dt><dd>parsed the time (or def_value on parse error) </dd></dl> 1082226031Sstas 1083226031Sstas</div> 1084226031Sstas</div><p> 1085226031Sstas<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)" --> 1086226031Sstas<div class="memitem"> 1087226031Sstas<div class="memproto"> 1088226031Sstas <table class="memname"> 1089226031Sstas <tr> 1090226031Sstas <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_expand_hostname </td> 1091226031Sstas <td>(</td> 1092226031Sstas <td class="paramtype">krb5_context </td> 1093226031Sstas <td class="paramname"> <em>context</em>, </td> 1094226031Sstas </tr> 1095226031Sstas <tr> 1096226031Sstas <td class="paramkey"></td> 1097226031Sstas <td></td> 1098226031Sstas <td class="paramtype">const char * </td> 1099226031Sstas <td class="paramname"> <em>orig_hostname</em>, </td> 1100226031Sstas </tr> 1101226031Sstas <tr> 1102226031Sstas <td class="paramkey"></td> 1103226031Sstas <td></td> 1104226031Sstas <td class="paramtype">char ** </td> 1105226031Sstas <td class="paramname"> <em>new_hostname</em></td><td> </td> 1106226031Sstas </tr> 1107226031Sstas <tr> 1108226031Sstas <td></td> 1109226031Sstas <td>)</td> 1110226031Sstas <td></td><td></td><td></td> 1111226031Sstas </tr> 1112226031Sstas </table> 1113226031Sstas</div> 1114226031Sstas<div class="memdoc"> 1115226031Sstas 1116226031Sstas<p> 1117226031Sstas<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> 1118226031Sstas<dl compact><dt><b>Parameters:</b></dt><dd> 1119226031Sstas <table border="0" cellspacing="2" cellpadding="0"> 1120226031Sstas <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context </td></tr> 1121226031Sstas <tr><td valign="top"></td><td valign="top"><em>orig_hostname</em> </td><td>hostname to canonicalise. </td></tr> 1122226031Sstas <tr><td valign="top"></td><td valign="top"><em>new_hostname</em> </td><td>output hostname, caller must free hostname with krb5_xfree().</td></tr> 1123226031Sstas </table> 1124226031Sstas</dl> 1125226031Sstas<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> 1126226031Sstas 1127226031Sstas</div> 1128226031Sstas</div><p> 1129226031Sstas<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)" --> 1130226031Sstas<div class="memitem"> 1131226031Sstas<div class="memproto"> 1132226031Sstas <table class="memname"> 1133226031Sstas <tr> 1134226031Sstas <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_expand_hostname_realms </td> 1135226031Sstas <td>(</td> 1136226031Sstas <td class="paramtype">krb5_context </td> 1137226031Sstas <td class="paramname"> <em>context</em>, </td> 1138226031Sstas </tr> 1139226031Sstas <tr> 1140226031Sstas <td class="paramkey"></td> 1141226031Sstas <td></td> 1142226031Sstas <td class="paramtype">const char * </td> 1143226031Sstas <td class="paramname"> <em>orig_hostname</em>, </td> 1144226031Sstas </tr> 1145226031Sstas <tr> 1146226031Sstas <td class="paramkey"></td> 1147226031Sstas <td></td> 1148226031Sstas <td class="paramtype">char ** </td> 1149226031Sstas <td class="paramname"> <em>new_hostname</em>, </td> 1150226031Sstas </tr> 1151226031Sstas <tr> 1152226031Sstas <td class="paramkey"></td> 1153226031Sstas <td></td> 1154226031Sstas <td class="paramtype">char *** </td> 1155226031Sstas <td class="paramname"> <em>realms</em></td><td> </td> 1156226031Sstas </tr> 1157226031Sstas <tr> 1158226031Sstas <td></td> 1159226031Sstas <td>)</td> 1160226031Sstas <td></td><td></td><td></td> 1161226031Sstas </tr> 1162226031Sstas </table> 1163226031Sstas</div> 1164226031Sstas<div class="memdoc"> 1165226031Sstas 1166226031Sstas<p> 1167226031Sstas<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> 1168226031Sstas<dl compact><dt><b>Parameters:</b></dt><dd> 1169226031Sstas <table border="0" cellspacing="2" cellpadding="0"> 1170226031Sstas <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context </td></tr> 1171226031Sstas <tr><td valign="top"></td><td valign="top"><em>orig_hostname</em> </td><td>hostname to canonicalise. </td></tr> 1172226031Sstas <tr><td valign="top"></td><td valign="top"><em>new_hostname</em> </td><td>output hostname, caller must free hostname with krb5_xfree(). </td></tr> 1173226031Sstas <tr><td valign="top"></td><td valign="top"><em>realms</em> </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> 1174226031Sstas </table> 1175226031Sstas</dl> 1176226031Sstas<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> 1177226031Sstas 1178226031Sstas</div> 1179226031Sstas</div><p> 1180226031Sstas<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)" --> 1181226031Sstas<div class="memitem"> 1182226031Sstas<div class="memproto"> 1183226031Sstas <table class="memname"> 1184226031Sstas <tr> 1185226031Sstas <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_free_host_realm </td> 1186226031Sstas <td>(</td> 1187226031Sstas <td class="paramtype">krb5_context </td> 1188226031Sstas <td class="paramname"> <em>context</em>, </td> 1189226031Sstas </tr> 1190226031Sstas <tr> 1191226031Sstas <td class="paramkey"></td> 1192226031Sstas <td></td> 1193226031Sstas <td class="paramtype">krb5_realm * </td> 1194226031Sstas <td class="paramname"> <em>realmlist</em></td><td> </td> 1195226031Sstas </tr> 1196226031Sstas <tr> 1197226031Sstas <td></td> 1198226031Sstas <td>)</td> 1199226031Sstas <td></td><td></td><td></td> 1200226031Sstas </tr> 1201226031Sstas </table> 1202226031Sstas</div> 1203226031Sstas<div class="memdoc"> 1204226031Sstas 1205226031Sstas<p> 1206226031SstasFree all memory allocated by `realmlist'<p> 1207226031Sstas<dl compact><dt><b>Parameters:</b></dt><dd> 1208226031Sstas <table border="0" cellspacing="2" cellpadding="0"> 1209226031Sstas <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> 1210226031Sstas <tr><td valign="top"></td><td valign="top"><em>realmlist</em> </td><td>realmlist to free, NULL is ok</td></tr> 1211226031Sstas </table> 1212226031Sstas</dl> 1213226031Sstas<dl class="return" compact><dt><b>Returns:</b></dt><dd>a Kerberos error code, always 0. </dd></dl> 1214226031Sstas 1215226031Sstas</div> 1216226031Sstas</div><p> 1217226031Sstas<a class="anchor" name="g6368eceea4261ef2ccb8dc39ecc87772"></a><!-- doxytag: member="kuserok.c::krb5_kuserok" ref="g6368eceea4261ef2ccb8dc39ecc87772" args="(krb5_context context, krb5_principal principal, const char *luser)" --> 1218226031Sstas<div class="memitem"> 1219226031Sstas<div class="memproto"> 1220226031Sstas <table class="memname"> 1221226031Sstas <tr> 1222226031Sstas <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_kuserok </td> 1223226031Sstas <td>(</td> 1224226031Sstas <td class="paramtype">krb5_context </td> 1225226031Sstas <td class="paramname"> <em>context</em>, </td> 1226226031Sstas </tr> 1227226031Sstas <tr> 1228226031Sstas <td class="paramkey"></td> 1229226031Sstas <td></td> 1230226031Sstas <td class="paramtype">krb5_principal </td> 1231226031Sstas <td class="paramname"> <em>principal</em>, </td> 1232226031Sstas </tr> 1233226031Sstas <tr> 1234226031Sstas <td class="paramkey"></td> 1235226031Sstas <td></td> 1236226031Sstas <td class="paramtype">const char * </td> 1237226031Sstas <td class="paramname"> <em>luser</em></td><td> </td> 1238226031Sstas </tr> 1239226031Sstas <tr> 1240226031Sstas <td></td> 1241226031Sstas <td>)</td> 1242226031Sstas <td></td><td></td><td></td> 1243226031Sstas </tr> 1244226031Sstas </table> 1245226031Sstas</div> 1246226031Sstas<div class="memdoc"> 1247226031Sstas 1248226031Sstas<p> 1249226031SstasThis function takes the name of a local user and checks if principal is allowed to log in as that user.<p> 1250226031SstasThe 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> 1251226031SstasThe .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> 1252226031SstasNote that if the file exists, no implicit access rights are given to user@LOCALREALM.<p> 1253226031SstasOptionally, 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> 1254226031SstasIf no configuration file exists, match user against local domains, ie luser@LOCAL-REALMS-IN-CONFIGURATION-FILES.<p> 1255226031Sstas<dl compact><dt><b>Parameters:</b></dt><dd> 1256226031Sstas <table border="0" cellspacing="2" cellpadding="0"> 1257226031Sstas <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context. </td></tr> 1258226031Sstas <tr><td valign="top"></td><td valign="top"><em>principal</em> </td><td>principal to check if allowed to login </td></tr> 1259226031Sstas <tr><td valign="top"></td><td valign="top"><em>luser</em> </td><td>local user id</td></tr> 1260226031Sstas </table> 1261226031Sstas</dl> 1262226031Sstas<dl class="return" compact><dt><b>Returns:</b></dt><dd>returns TRUE if access should be granted, FALSE otherwise. </dd></dl> 1263226031Sstas 1264226031Sstas</div> 1265226031Sstas</div><p> 1266226031Sstas<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)" --> 1267226031Sstas<div class="memitem"> 1268226031Sstas<div class="memproto"> 1269226031Sstas <table class="memname"> 1270226031Sstas <tr> 1271226031Sstas <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_plugin_register </td> 1272226031Sstas <td>(</td> 1273226031Sstas <td class="paramtype">krb5_context </td> 1274226031Sstas <td class="paramname"> <em>context</em>, </td> 1275226031Sstas </tr> 1276226031Sstas <tr> 1277226031Sstas <td class="paramkey"></td> 1278226031Sstas <td></td> 1279226031Sstas <td class="paramtype">enum krb5_plugin_type </td> 1280226031Sstas <td class="paramname"> <em>type</em>, </td> 1281226031Sstas </tr> 1282226031Sstas <tr> 1283226031Sstas <td class="paramkey"></td> 1284226031Sstas <td></td> 1285226031Sstas <td class="paramtype">const char * </td> 1286226031Sstas <td class="paramname"> <em>name</em>, </td> 1287226031Sstas </tr> 1288226031Sstas <tr> 1289226031Sstas <td class="paramkey"></td> 1290226031Sstas <td></td> 1291226031Sstas <td class="paramtype">void * </td> 1292226031Sstas <td class="paramname"> <em>symbol</em></td><td> </td> 1293226031Sstas </tr> 1294226031Sstas <tr> 1295226031Sstas <td></td> 1296226031Sstas <td>)</td> 1297226031Sstas <td></td><td></td><td></td> 1298226031Sstas </tr> 1299226031Sstas </table> 1300226031Sstas</div> 1301226031Sstas<div class="memdoc"> 1302226031Sstas 1303226031Sstas<p> 1304226031SstasRegister a plugin symbol name of specific type. <dl compact><dt><b>Parameters:</b></dt><dd> 1305226031Sstas <table border="0" cellspacing="2" cellpadding="0"> 1306226031Sstas <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context </td></tr> 1307226031Sstas <tr><td valign="top"></td><td valign="top"><em>type</em> </td><td>type of plugin symbol </td></tr> 1308226031Sstas <tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>name of plugin symbol </td></tr> 1309226031Sstas <tr><td valign="top"></td><td valign="top"><em>symbol</em> </td><td>a pointer to the named symbol </td></tr> 1310226031Sstas </table> 1311226031Sstas</dl> 1312226031Sstas<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> 1313226031Sstas 1314226031Sstas</div> 1315226031Sstas</div><p> 1316226031Sstas</div> 1317226031Sstas<hr size="1"><address style="text-align: right;"><small> 1318234027SstasGenerated on Wed Jan 11 14:07:50 2012 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address> 1319226031Sstas</body> 1320226031Sstas</html> 1321