diff options
| author | Stanislav Sedov <stas@FreeBSD.org> | 2011-10-05 07:23:29 +0000 |
|---|---|---|
| committer | Stanislav Sedov <stas@FreeBSD.org> | 2011-10-05 07:23:29 +0000 |
| commit | 7c450da7b446c557e05f34a100b597800967d987 (patch) | |
| tree | 57a48e7e9b592f2d5b713e80a4455820625c2b7b /doc/doxyout/krb5/html/group__krb5__support.html | |
| parent | b4e3a10e9339a8400197298021d6ca9b8e3aa039 (diff) | |
Notes
Diffstat (limited to 'doc/doxyout/krb5/html/group__krb5__support.html')
| -rw-r--r-- | doc/doxyout/krb5/html/group__krb5__support.html | 1320 |
1 files changed, 1320 insertions, 0 deletions
diff --git a/doc/doxyout/krb5/html/group__krb5__support.html b/doc/doxyout/krb5/html/group__krb5__support.html new file mode 100644 index 000000000000..c67f634e9e70 --- /dev/null +++ b/doc/doxyout/krb5/html/group__krb5__support.html @@ -0,0 +1,1320 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>HeimdalKerberos5library: Heimdal Kerberos 5 support functions</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<p> +<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a> +</p> +<!-- end of header marker --> +<!-- Generated by Doxygen 1.5.6 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="pages.html"><span>Related Pages</span></a></li> + <li><a href="modules.html"><span>Modules</span></a></li> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + </ul> + </div> +</div> +<div class="contents"> +<h1>Heimdal Kerberos 5 support functions</h1><table border="0" cellpadding="0" cellspacing="0"> +<tr><td></td></tr> +<tr><td colspan="2"><br><h2>Functions</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> +krb5_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> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> +krb5_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> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> +krb5_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> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> +krb5_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> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION const <br> +krb5_config_binding <br> +*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> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION const <br> +krb5_config_binding <br> +*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> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION const char <br> +*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> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION const char <br> +*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> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION const char <br> +*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> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION const char <br> +*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> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION char <br> +**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> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION char <br> +**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> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br> +KRB5_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> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br> +KRB5_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> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br> +KRB5_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> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br> +KRB5_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> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br> +KRB5_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> + +<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> + +<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> + +<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> + +<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> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> +krb5_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> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> +krb5_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> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> +krb5_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> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br> +KRB5_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> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> +krb5_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> + +</table> +<hr><a name="_details"></a><h2>Detailed Description</h2> +<hr><h2>Function Documentation</h2> +<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,...)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_acl_match_file </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"> <em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"> <em>file</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"> <em>format</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"> <em>...</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +krb5_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> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context. </td></tr> + <tr><td valign="top"></td><td valign="top"><em>file</em> </td><td>file with acl listed in the file. </td></tr> + <tr><td valign="top"></td><td valign="top"><em>format</em> </td><td>format to match. </td></tr> + <tr><td valign="top"></td><td valign="top"><em>...</em> </td><td>parameter to format string.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0.</dd></dl> +<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> + +</div> +</div><p> +<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,...)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_acl_match_string </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"> <em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"> <em>string</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"> <em>format</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"> <em>...</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +krb5_acl_match_string matches ACL format against a string.<p> +The ACL format has three format specifiers: s, f, and r. Each specifier will retrieve one argument from the variable arguments for either matching or storing data. The input string is split up using " " (space) and "\t" (tab) as a delimiter; multiple and "\t" in a row are considered to be the same.<p> +List of format specifiers:<ul> +<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> +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context </td></tr> + <tr><td valign="top"></td><td valign="top"><em>string</em> </td><td>string to match with </td></tr> + <tr><td valign="top"></td><td valign="top"><em>format</em> </td><td>format to match </td></tr> + <tr><td valign="top"></td><td valign="top"><em>...</em> </td><td>parameter to format string</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0.</dd></dl> +<div class="fragment"><pre class="fragment"> <span class="keywordtype">char</span> *s; + + 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>); + <span class="keywordflow">if</span> (ret) + krb5_errx(context, 1, <span class="stringliteral">"acl didn't match"</span>); + ret = <a class="code" href="group__krb5__support.html#g245208f2d59a8fd7187089ad445e51d0">krb5_acl_match_string</a>(context, <span class="stringliteral">"foo foo baz/kaka"</span>, + <span class="stringliteral">"ss"</span>, <span class="stringliteral">"foo"</span>, &s, <span class="stringliteral">"foo/\\*"</span>); + <span class="keywordflow">if</span> (ret) { + <span class="comment">// no need to free(s) on error</span> + assert(s == NULL); + krb5_errx(context, 1, <span class="stringliteral">"acl didn't match"</span>); + } + free(s); +</pre></div><p> +<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> + +</div> +</div><p> +<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)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_config_file_free </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"> <em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">krb5_config_section * </td> + <td class="paramname"> <em>s</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Free 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> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context </td></tr> + <tr><td valign="top"></td><td valign="top"><em>s</em> </td><td>the configuration section to free</td></tr> + </table> +</dl> +<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> + +</div> +</div><p> +<a class="anchor" name="g3440f86b07fa86aae0f0889445a0def2"></a><!-- doxytag: member="config_file.c::krb5_config_free_strings" ref="g3440f86b07fa86aae0f0889445a0def2" args="(char **strings)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_config_free_strings </td> + <td>(</td> + <td class="paramtype">char ** </td> + <td class="paramname"> <em>strings</em> </td> + <td> ) </td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Free the resulting strings from krb5_config-get_strings() and <a class="el" href="group__krb5__support.html#g614850564b4d21b92e113fde9420bf3c">krb5_config_vget_strings()</a>.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>strings</em> </td><td>strings to free </td></tr> + </table> +</dl> + +</div> +</div><p> +<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,...)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_config_get_bool </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"> <em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const krb5_config_section * </td> + <td class="paramname"> <em>c</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"> <em>...</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Like <a class="el" href="group__krb5__support.html#g39402ca8c1b1eb2af4b514eed826f971">krb5_config_get_bool()</a> but with a va_list list of configuration selection.<p> +Configuration value to a boolean value, where yes/true and any non-zero number means TRUE and other value is FALSE.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> + <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> + <tr><td valign="top"></td><td valign="top"><em>...</em> </td><td>a list of names, terminated with NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE or FALSE </dd></dl> + +</div> +</div><p> +<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,...)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_config_get_bool_default </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"> <em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const krb5_config_section * </td> + <td class="paramname"> <em>c</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">krb5_boolean </td> + <td class="paramname"> <em>def_value</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"> <em>...</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +<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> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> + <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> + <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> + <tr><td valign="top"></td><td valign="top"><em>...</em> </td><td>a list of names, terminated with NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE or FALSE </dd></dl> + +</div> +</div><p> +<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,...)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION const krb5_config_binding* KRB5_LIB_CALL krb5_config_get_list </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"> <em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const krb5_config_section * </td> + <td class="paramname"> <em>c</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"> <em>...</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Get a list of configuration binding list for more processing<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> + <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> + <tr><td valign="top"></td><td valign="top"><em>...</em> </td><td>a list of names, terminated with NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>NULL if configuration list is not found, a list otherwise </dd></dl> + +</div> +</div><p> +<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,...)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_config_get_string </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"> <em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const krb5_config_section * </td> + <td class="paramname"> <em>c</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"> <em>...</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns a "const char *" to a string in the configuration database. The string may not be valid after a reload of the configuration database so a caller should make a local copy if it needs to keep the string.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> + <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> + <tr><td valign="top"></td><td valign="top"><em>...</em> </td><td>a list of names, terminated with NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>NULL if configuration string not found, a string otherwise </dd></dl> + +</div> +</div><p> +<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,...)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_config_get_string_default </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"> <em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const krb5_config_section * </td> + <td class="paramname"> <em>c</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"> <em>def_value</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"> <em>...</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Like <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> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> + <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> + <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> + <tr><td valign="top"></td><td valign="top"><em>...</em> </td><td>a list of names, terminated with NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>a configuration string </dd></dl> + +</div> +</div><p> +<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,...)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION char** KRB5_LIB_CALL krb5_config_get_strings </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"> <em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const krb5_config_section * </td> + <td class="paramname"> <em>c</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"> <em>...</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Get a list of configuration strings, free the result with <a class="el" href="group__krb5__support.html#g3440f86b07fa86aae0f0889445a0def2">krb5_config_free_strings()</a>.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> + <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> + <tr><td valign="top"></td><td valign="top"><em>...</em> </td><td>a list of names, terminated with NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE or FALSE </dd></dl> + +</div> +</div><p> +<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,...)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_config_get_time </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"> <em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const krb5_config_section * </td> + <td class="paramname"> <em>c</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"> <em>...</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Get the time from the configuration file using a relative time, for example: 1h30s<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> + <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> + <tr><td valign="top"></td><td valign="top"><em>...</em> </td><td>a list of names, terminated with NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>parsed the time or -1 on error </dd></dl> + +</div> +</div><p> +<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,...)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_config_get_time_default </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"> <em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const krb5_config_section * </td> + <td class="paramname"> <em>c</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">int </td> + <td class="paramname"> <em>def_value</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"> <em>...</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Get the time from the configuration file using a relative time, for example: 1h30s<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> + <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> + <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> + <tr><td valign="top"></td><td valign="top"><em>...</em> </td><td>a list of names, terminated with NULL.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>parsed the time (or def_value on parse error) </dd></dl> + +</div> +</div><p> +<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)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_config_parse_file_multi </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"> <em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"> <em>fname</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">krb5_config_section ** </td> + <td class="paramname"> <em>res</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Parse a configuration file and add the result into res. This interface can be used to parse several configuration files into one resulting krb5_config_section by calling it repeatably.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Kerberos 5 context. </td></tr> + <tr><td valign="top"></td><td valign="top"><em>fname</em> </td><td>a file name to a Kerberos configuration file </td></tr> + <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> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> + +<p> +If 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>. +</div> +</div><p> +<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)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_config_vget_bool </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"> <em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const krb5_config_section * </td> + <td class="paramname"> <em>c</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">va_list </td> + <td class="paramname"> <em>args</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +<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> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> + <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> + <tr><td valign="top"></td><td valign="top"><em>args</em> </td><td>a va_list of arguments</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE or FALSE </dd></dl> + +</div> +</div><p> +<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)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_config_vget_bool_default </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"> <em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const krb5_config_section * </td> + <td class="paramname"> <em>c</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">krb5_boolean </td> + <td class="paramname"> <em>def_value</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">va_list </td> + <td class="paramname"> <em>args</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Like <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> +Configuration value to a boolean value, where yes/true and any non-zero number means TRUE and other value is FALSE.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> + <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> + <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> + <tr><td valign="top"></td><td valign="top"><em>args</em> </td><td>a va_list of arguments</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE or FALSE </dd></dl> + +</div> +</div><p> +<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)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION const krb5_config_binding* KRB5_LIB_CALL krb5_config_vget_list </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"> <em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const krb5_config_section * </td> + <td class="paramname"> <em>c</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">va_list </td> + <td class="paramname"> <em>args</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Get a list of configuration binding list for more processing<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> + <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> + <tr><td valign="top"></td><td valign="top"><em>args</em> </td><td>a va_list of arguments</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>NULL if configuration list is not found, a list otherwise </dd></dl> + +</div> +</div><p> +<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)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_config_vget_string </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"> <em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const krb5_config_section * </td> + <td class="paramname"> <em>c</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">va_list </td> + <td class="paramname"> <em>args</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Like <a class="el" href="group__krb5__support.html#gc0845cba8c8f7fd2e447de60d81556ac">krb5_config_get_string()</a>, but uses a va_list instead of ...<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> + <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> + <tr><td valign="top"></td><td valign="top"><em>args</em> </td><td>a va_list of arguments</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>NULL if configuration string not found, a string otherwise </dd></dl> + +</div> +</div><p> +<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)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_config_vget_string_default </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"> <em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const krb5_config_section * </td> + <td class="paramname"> <em>c</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"> <em>def_value</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">va_list </td> + <td class="paramname"> <em>args</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Like <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> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> + <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> + <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> + <tr><td valign="top"></td><td valign="top"><em>args</em> </td><td>a va_list of arguments</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>a configuration string </dd></dl> + +</div> +</div><p> +<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)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION char** KRB5_LIB_CALL krb5_config_vget_strings </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"> <em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const krb5_config_section * </td> + <td class="paramname"> <em>c</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">va_list </td> + <td class="paramname"> <em>args</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Get a list of configuration strings, free the result with <a class="el" href="group__krb5__support.html#g3440f86b07fa86aae0f0889445a0def2">krb5_config_free_strings()</a>.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> + <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> + <tr><td valign="top"></td><td valign="top"><em>args</em> </td><td>a va_list of arguments</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE or FALSE </dd></dl> + +</div> +</div><p> +<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)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_config_vget_time </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"> <em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const krb5_config_section * </td> + <td class="paramname"> <em>c</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">va_list </td> + <td class="paramname"> <em>args</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Get the time from the configuration file using a relative time, for example: 1h30s<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> + <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> + <tr><td valign="top"></td><td valign="top"><em>args</em> </td><td>a va_list of arguments</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>parsed the time or -1 on error </dd></dl> + +</div> +</div><p> +<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)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_config_vget_time_default </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"> <em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const krb5_config_section * </td> + <td class="paramname"> <em>c</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">int </td> + <td class="paramname"> <em>def_value</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">va_list </td> + <td class="paramname"> <em>args</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Get the time from the configuration file using a relative time.<p> +Like <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> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> + <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> + <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> + <tr><td valign="top"></td><td valign="top"><em>args</em> </td><td>a va_list of arguments</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>parsed the time (or def_value on parse error) </dd></dl> + +</div> +</div><p> +<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)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_expand_hostname </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"> <em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"> <em>orig_hostname</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">char ** </td> + <td class="paramname"> <em>new_hostname</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +<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> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context </td></tr> + <tr><td valign="top"></td><td valign="top"><em>orig_hostname</em> </td><td>hostname to canonicalise. </td></tr> + <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> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> + +</div> +</div><p> +<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)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_expand_hostname_realms </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"> <em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"> <em>orig_hostname</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">char ** </td> + <td class="paramname"> <em>new_hostname</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">char *** </td> + <td class="paramname"> <em>realms</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +<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> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context </td></tr> + <tr><td valign="top"></td><td valign="top"><em>orig_hostname</em> </td><td>hostname to canonicalise. </td></tr> + <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> + <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> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> + +</div> +</div><p> +<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)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_free_host_realm </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"> <em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">krb5_realm * </td> + <td class="paramname"> <em>realmlist</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Free all memory allocated by `realmlist'<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> + <tr><td valign="top"></td><td valign="top"><em>realmlist</em> </td><td>realmlist to free, NULL is ok</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>a Kerberos error code, always 0. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="g6368eceea4261ef2ccb8dc39ecc87772"></a><!-- doxytag: member="kuserok.c::krb5_kuserok" ref="g6368eceea4261ef2ccb8dc39ecc87772" args="(krb5_context context, krb5_principal principal, const char *luser)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_kuserok </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"> <em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">krb5_principal </td> + <td class="paramname"> <em>principal</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"> <em>luser</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +This function takes the name of a local user and checks if principal is allowed to log in as that user.<p> +The user may have a ~/.k5login file listing principals that are allowed to login as that user. If that file does not exist, all principals with a first component identical to the username, and a realm considered local, are allowed access.<p> +The .k5login file must contain one principal per line, be owned by user and not be writable by group or other (but must be readable by anyone).<p> +Note that if the file exists, no implicit access rights are given to user@LOCALREALM.<p> +Optionally, a set of files may be put in ~/.k5login.d (a directory), in which case they will all be checked in the same manner as .k5login. The files may be called anything, but files starting with a hash (#) , or ending with a tilde (~) are ignored. Subdirectories are not traversed. Note that this directory may not be checked by other Kerberos implementations.<p> +If no configuration file exists, match user against local domains, ie luser@LOCAL-REALMS-IN-CONFIGURATION-FILES.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context. </td></tr> + <tr><td valign="top"></td><td valign="top"><em>principal</em> </td><td>principal to check if allowed to login </td></tr> + <tr><td valign="top"></td><td valign="top"><em>luser</em> </td><td>local user id</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>returns TRUE if access should be granted, FALSE otherwise. </dd></dl> + +</div> +</div><p> +<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)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_plugin_register </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"> <em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">enum krb5_plugin_type </td> + <td class="paramname"> <em>type</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"> <em>name</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">void * </td> + <td class="paramname"> <em>symbol</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Register a plugin symbol name of specific type. <dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context </td></tr> + <tr><td valign="top"></td><td valign="top"><em>type</em> </td><td>type of plugin symbol </td></tr> + <tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>name of plugin symbol </td></tr> + <tr><td valign="top"></td><td valign="top"><em>symbol</em> </td><td>a pointer to the named symbol </td></tr> + </table> +</dl> +<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> + +</div> +</div><p> +</div> +<hr size="1"><address style="text-align: right;"><small> +Generated on Sat Jul 30 13:45:40 2011 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> +</body> +</html> |
