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