1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> 3<title>Heimdal Kerberos 5 principal functions</title> 4<link href="doxygen.css" rel="stylesheet" type="text/css"> 5<link href="tabs.css" rel="stylesheet" type="text/css"> 6</head><body> 7<p> 8<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a> 9</p> 10<!-- end of header marker --> 11<!-- Generated by Doxygen 1.9.1 --> 12<script type="text/javascript" src="menudata.js"></script> 13<script type="text/javascript" src="menu.js"></script> 14<script type="text/javascript"> 15/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ 16$(function() { 17 initMenu('',false,false,'search.php','Search'); 18}); 19/* @license-end */</script> 20<div id="main-nav"></div> 21</div><!-- top --> 22<div class="header"> 23 <div class="summary"> 24<a href="#func-members">Functions</a> </div> 25 <div class="headertitle"> 26<div class="title">Heimdal Kerberos 5 principal functions</div> </div> 27</div><!--header--> 28<div class="contents"> 29<table class="memberdecls"> 30<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> 31Functions</h2></td></tr> 32<tr class="memitem:ga5bd3f620ebe8cd4fe44b5c858ba17d22"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION void KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga5bd3f620ebe8cd4fe44b5c858ba17d22">krb5_free_principal</a> (krb5_context context, krb5_principal p)</td></tr> 33<tr class="separator:ga5bd3f620ebe8cd4fe44b5c858ba17d22"><td class="memSeparator" colspan="2"> </td></tr> 34<tr class="memitem:ga28b750b990452f02922bc74a6cac0313"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION void KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga28b750b990452f02922bc74a6cac0313">krb5_principal_set_type</a> (krb5_context context, krb5_principal principal, int type)</td></tr> 35<tr class="separator:ga28b750b990452f02922bc74a6cac0313"><td class="memSeparator" colspan="2"> </td></tr> 36<tr class="memitem:gaf4a599c42592ff7485753e80b8de67b7"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION int KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gaf4a599c42592ff7485753e80b8de67b7">krb5_principal_get_type</a> (krb5_context context, krb5_const_principal principal)</td></tr> 37<tr class="separator:gaf4a599c42592ff7485753e80b8de67b7"><td class="memSeparator" colspan="2"> </td></tr> 38<tr class="memitem:gaccd23426798cf776a96c23a455576362"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION const char *KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gaccd23426798cf776a96c23a455576362">krb5_principal_get_realm</a> (krb5_context context, krb5_const_principal principal)</td></tr> 39<tr class="separator:gaccd23426798cf776a96c23a455576362"><td class="memSeparator" colspan="2"> </td></tr> 40<tr class="memitem:ga0138febd5414ace4835d3af78694833c"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION unsigned int KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga0138febd5414ace4835d3af78694833c">krb5_principal_get_num_comp</a> (krb5_context context, krb5_const_principal principal)</td></tr> 41<tr class="separator:ga0138febd5414ace4835d3af78694833c"><td class="memSeparator" colspan="2"> </td></tr> 42<tr class="memitem:ga1f1c6a19e7ccffb3284545ed3c12b827"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga1f1c6a19e7ccffb3284545ed3c12b827">krb5_parse_name_flags</a> (krb5_context context, const char *name, int flags, krb5_principal *principal)</td></tr> 43<tr class="separator:ga1f1c6a19e7ccffb3284545ed3c12b827"><td class="memSeparator" colspan="2"> </td></tr> 44<tr class="memitem:gaf0b0da913ab93d6e2577c0ccf4631f24"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gaf0b0da913ab93d6e2577c0ccf4631f24">krb5_parse_name</a> (krb5_context context, const char *name, krb5_principal *principal)</td></tr> 45<tr class="separator:gaf0b0da913ab93d6e2577c0ccf4631f24"><td class="memSeparator" colspan="2"> </td></tr> 46<tr class="memitem:ga6f173badfb37ad41fdab6db77bde7689"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga6f173badfb37ad41fdab6db77bde7689">krb5_unparse_name_fixed</a> (krb5_context context, krb5_const_principal principal, char *name, size_t len)</td></tr> 47<tr class="separator:ga6f173badfb37ad41fdab6db77bde7689"><td class="memSeparator" colspan="2"> </td></tr> 48<tr class="memitem:gacebe44e0685fc7b6c89a53eca71e7d24"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gacebe44e0685fc7b6c89a53eca71e7d24">krb5_unparse_name_fixed_short</a> (krb5_context context, krb5_const_principal principal, char *name, size_t len)</td></tr> 49<tr class="separator:gacebe44e0685fc7b6c89a53eca71e7d24"><td class="memSeparator" colspan="2"> </td></tr> 50<tr class="memitem:gad9ba42e18d79aa27458338967b66693f"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gad9ba42e18d79aa27458338967b66693f">krb5_unparse_name_fixed_flags</a> (krb5_context context, krb5_const_principal principal, int flags, char *name, size_t len)</td></tr> 51<tr class="separator:gad9ba42e18d79aa27458338967b66693f"><td class="memSeparator" colspan="2"> </td></tr> 52<tr class="memitem:gaac881051ed59fe0dcd08cee62280b332"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gaac881051ed59fe0dcd08cee62280b332">krb5_unparse_name</a> (krb5_context context, krb5_const_principal principal, char **name)</td></tr> 53<tr class="separator:gaac881051ed59fe0dcd08cee62280b332"><td class="memSeparator" colspan="2"> </td></tr> 54<tr class="memitem:gad46122cd0e543b6c1219abb8730378e7"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gad46122cd0e543b6c1219abb8730378e7">krb5_unparse_name_flags</a> (krb5_context context, krb5_const_principal principal, int flags, char **name)</td></tr> 55<tr class="separator:gad46122cd0e543b6c1219abb8730378e7"><td class="memSeparator" colspan="2"> </td></tr> 56<tr class="memitem:ga600247895edbde37e195c8b2089295a3"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga600247895edbde37e195c8b2089295a3">krb5_unparse_name_short</a> (krb5_context context, krb5_const_principal principal, char **name)</td></tr> 57<tr class="separator:ga600247895edbde37e195c8b2089295a3"><td class="memSeparator" colspan="2"> </td></tr> 58<tr class="memitem:gaaacf06babb00b391f35a8468a0ec96f9"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gaaacf06babb00b391f35a8468a0ec96f9">krb5_principal_set_realm</a> (krb5_context context, krb5_principal principal, krb5_const_realm realm)</td></tr> 59<tr class="separator:gaaacf06babb00b391f35a8468a0ec96f9"><td class="memSeparator" colspan="2"> </td></tr> 60<tr class="memitem:gab22638ec4ccdb648366653426708c1c5"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gab22638ec4ccdb648366653426708c1c5">krb5_build_principal</a> (krb5_context context, krb5_principal *principal, int rlen, krb5_const_realm realm,...)</td></tr> 61<tr class="separator:gab22638ec4ccdb648366653426708c1c5"><td class="memSeparator" colspan="2"> </td></tr> 62<tr class="memitem:gae744b61285c2ed08317e6c7cc433dd48"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gae744b61285c2ed08317e6c7cc433dd48">krb5_make_principal</a> (krb5_context context, krb5_principal *principal, krb5_const_realm realm,...)</td></tr> 63<tr class="separator:gae744b61285c2ed08317e6c7cc433dd48"><td class="memSeparator" colspan="2"> </td></tr> 64<tr class="memitem:gaf8405ffca469a2fd936eb109cb3d9b16"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gaf8405ffca469a2fd936eb109cb3d9b16">krb5_copy_principal</a> (krb5_context context, krb5_const_principal inprinc, krb5_principal *outprinc)</td></tr> 65<tr class="separator:gaf8405ffca469a2fd936eb109cb3d9b16"><td class="memSeparator" colspan="2"> </td></tr> 66<tr class="memitem:ga3c49cc0c1dac96d31a91aa263d8cdb4a"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga3c49cc0c1dac96d31a91aa263d8cdb4a">krb5_principal_compare_any_realm</a> (krb5_context context, krb5_const_principal princ1, krb5_const_principal princ2)</td></tr> 67<tr class="separator:ga3c49cc0c1dac96d31a91aa263d8cdb4a"><td class="memSeparator" colspan="2"> </td></tr> 68<tr class="memitem:ga13c84ce37f704c99353888eb03a19ea6"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga13c84ce37f704c99353888eb03a19ea6">krb5_principal_compare</a> (krb5_context context, krb5_const_principal princ1, krb5_const_principal princ2)</td></tr> 69<tr class="separator:ga13c84ce37f704c99353888eb03a19ea6"><td class="memSeparator" colspan="2"> </td></tr> 70<tr class="memitem:ga15abb49ce86457827a66f4ddfdd5b60c"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga15abb49ce86457827a66f4ddfdd5b60c">krb5_realm_compare</a> (krb5_context context, krb5_const_principal princ1, krb5_const_principal princ2)</td></tr> 71<tr class="separator:ga15abb49ce86457827a66f4ddfdd5b60c"><td class="memSeparator" colspan="2"> </td></tr> 72<tr class="memitem:ga6cf45d0f9cb4b0bf3b6ef574d9e5cc6a"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga6cf45d0f9cb4b0bf3b6ef574d9e5cc6a">krb5_principal_match</a> (krb5_context context, krb5_const_principal princ, krb5_const_principal pattern)</td></tr> 73<tr class="separator:ga6cf45d0f9cb4b0bf3b6ef574d9e5cc6a"><td class="memSeparator" colspan="2"> </td></tr> 74<tr class="memitem:gab044a3dca038ef4c61779cf1d0dc1e87"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gab044a3dca038ef4c61779cf1d0dc1e87">krb5_parse_nametype</a> (krb5_context context, const char *str, int32_t *nametype)</td></tr> 75<tr class="separator:gab044a3dca038ef4c61779cf1d0dc1e87"><td class="memSeparator" colspan="2"> </td></tr> 76<tr class="memitem:ga2760addfecb90af894f6e70999afdf5c"><td class="memItemLeft" align="right" valign="top">krb5_boolean KRB5_LIB_FUNCTION </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga2760addfecb90af894f6e70999afdf5c">krb5_principal_is_null</a> (krb5_context context, krb5_const_principal principal)</td></tr> 77<tr class="separator:ga2760addfecb90af894f6e70999afdf5c"><td class="memSeparator" colspan="2"> </td></tr> 78<tr class="memitem:gad129661d63fc3478459495cff16c031c"><td class="memItemLeft" align="right" valign="top">krb5_boolean KRB5_LIB_FUNCTION </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gad129661d63fc3478459495cff16c031c">krb5_realm_is_lkdc</a> (const char *realm)</td></tr> 79<tr class="separator:gad129661d63fc3478459495cff16c031c"><td class="memSeparator" colspan="2"> </td></tr> 80<tr class="memitem:gad0ddef8f28bd6d3def810d38c3d41e86"><td class="memItemLeft" align="right" valign="top">krb5_boolean KRB5_LIB_FUNCTION </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gad0ddef8f28bd6d3def810d38c3d41e86">krb5_principal_is_lkdc</a> (krb5_context context, krb5_const_principal principal)</td></tr> 81<tr class="separator:gad0ddef8f28bd6d3def810d38c3d41e86"><td class="memSeparator" colspan="2"> </td></tr> 82<tr class="memitem:ga8875768ac0bf48fa7dd2673696b1a9cc"><td class="memItemLeft" align="right" valign="top">krb5_boolean KRB5_LIB_FUNCTION </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga8875768ac0bf48fa7dd2673696b1a9cc">krb5_principal_is_pku2u</a> (krb5_context context, krb5_const_principal principal)</td></tr> 83<tr class="separator:ga8875768ac0bf48fa7dd2673696b1a9cc"><td class="memSeparator" colspan="2"> </td></tr> 84<tr class="memitem:ga9b24f6db481f24b86a93702eaa2755fc"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga9b24f6db481f24b86a93702eaa2755fc">krb5_principal_is_krbtgt</a> (krb5_context context, krb5_const_principal p)</td></tr> 85<tr class="separator:ga9b24f6db481f24b86a93702eaa2755fc"><td class="memSeparator" colspan="2"> </td></tr> 86<tr class="memitem:gac02e16cbed909d4535fd030b5651c978"><td class="memItemLeft" align="right" valign="top">krb5_boolean KRB5_LIB_FUNCTION </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gac02e16cbed909d4535fd030b5651c978">krb5_principal_is_gss_hostbased_service</a> (krb5_context context, krb5_const_principal principal)</td></tr> 87<tr class="separator:gac02e16cbed909d4535fd030b5651c978"><td class="memSeparator" colspan="2"> </td></tr> 88<tr class="memitem:ga2c4425068eb189d876e4e0747636f628"><td class="memItemLeft" align="right" valign="top">krb5_boolean KRB5_LIB_FUNCTION </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga2c4425068eb189d876e4e0747636f628">krb5_principal_is_root_krbtgt</a> (krb5_context context, krb5_const_principal p)</td></tr> 89<tr class="separator:ga2c4425068eb189d876e4e0747636f628"><td class="memSeparator" colspan="2"> </td></tr> 90<tr class="memitem:ga2e7740d323d81838d5e00dfd4bf408ff"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga2e7740d323d81838d5e00dfd4bf408ff">krb5_principal_is_anonymous</a> (krb5_context context, krb5_const_principal p, unsigned int flags)</td></tr> 91<tr class="separator:ga2e7740d323d81838d5e00dfd4bf408ff"><td class="memSeparator" colspan="2"> </td></tr> 92<tr class="memitem:ga8be0f5000da6ee0d4bd5dcaf3cb01d08"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga8be0f5000da6ee0d4bd5dcaf3cb01d08">krb5_sname_to_principal</a> (krb5_context context, const char *hostname, const char *sname, int32_t type, krb5_principal *ret_princ)</td></tr> 93<tr class="separator:ga8be0f5000da6ee0d4bd5dcaf3cb01d08"><td class="memSeparator" colspan="2"> </td></tr> 94</table> 95<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> 96<h2 class="groupheader">Function Documentation</h2> 97<a id="gab22638ec4ccdb648366653426708c1c5"></a> 98<h2 class="memtitle"><span class="permalink"><a href="#gab22638ec4ccdb648366653426708c1c5">◆ </a></span>krb5_build_principal()</h2> 99 100<div class="memitem"> 101<div class="memproto"> 102 <table class="memname"> 103 <tr> 104 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_build_principal </td> 105 <td>(</td> 106 <td class="paramtype">krb5_context </td> 107 <td class="paramname"><em>context</em>, </td> 108 </tr> 109 <tr> 110 <td class="paramkey"></td> 111 <td></td> 112 <td class="paramtype">krb5_principal * </td> 113 <td class="paramname"><em>principal</em>, </td> 114 </tr> 115 <tr> 116 <td class="paramkey"></td> 117 <td></td> 118 <td class="paramtype">int </td> 119 <td class="paramname"><em>rlen</em>, </td> 120 </tr> 121 <tr> 122 <td class="paramkey"></td> 123 <td></td> 124 <td class="paramtype">krb5_const_realm </td> 125 <td class="paramname"><em>realm</em>, </td> 126 </tr> 127 <tr> 128 <td class="paramkey"></td> 129 <td></td> 130 <td class="paramtype"> </td> 131 <td class="paramname"><em>...</em> </td> 132 </tr> 133 <tr> 134 <td></td> 135 <td>)</td> 136 <td></td><td></td> 137 </tr> 138 </table> 139</div><div class="memdoc"> 140<p>Build a principal using vararg style building</p> 141<dl class="params"><dt>Parameters</dt><dd> 142 <table class="params"> 143 <tr><td class="paramname">context</td><td>A Kerberos context. </td></tr> 144 <tr><td class="paramname">principal</td><td>returned principal </td></tr> 145 <tr><td class="paramname">rlen</td><td>length of realm </td></tr> 146 <tr><td class="paramname">realm</td><td>realm name </td></tr> 147 <tr><td class="paramname">...</td><td>a list of components ended with NULL.</td></tr> 148 </table> 149 </dd> 150</dl> 151<dl class="section return"><dt>Returns</dt><dd>An krb5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> 152 153</div> 154</div> 155<a id="gaf8405ffca469a2fd936eb109cb3d9b16"></a> 156<h2 class="memtitle"><span class="permalink"><a href="#gaf8405ffca469a2fd936eb109cb3d9b16">◆ </a></span>krb5_copy_principal()</h2> 157 158<div class="memitem"> 159<div class="memproto"> 160 <table class="memname"> 161 <tr> 162 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_copy_principal </td> 163 <td>(</td> 164 <td class="paramtype">krb5_context </td> 165 <td class="paramname"><em>context</em>, </td> 166 </tr> 167 <tr> 168 <td class="paramkey"></td> 169 <td></td> 170 <td class="paramtype">krb5_const_principal </td> 171 <td class="paramname"><em>inprinc</em>, </td> 172 </tr> 173 <tr> 174 <td class="paramkey"></td> 175 <td></td> 176 <td class="paramtype">krb5_principal * </td> 177 <td class="paramname"><em>outprinc</em> </td> 178 </tr> 179 <tr> 180 <td></td> 181 <td>)</td> 182 <td></td><td></td> 183 </tr> 184 </table> 185</div><div class="memdoc"> 186<p>Copy a principal</p> 187<dl class="params"><dt>Parameters</dt><dd> 188 <table class="params"> 189 <tr><td class="paramname">context</td><td>A Kerberos context. </td></tr> 190 <tr><td class="paramname">inprinc</td><td>principal to copy </td></tr> 191 <tr><td class="paramname">outprinc</td><td>copied principal, free with <a class="el" href="group__krb5__principal.html#ga5bd3f620ebe8cd4fe44b5c858ba17d22">krb5_free_principal()</a></td></tr> 192 </table> 193 </dd> 194</dl> 195<dl class="section return"><dt>Returns</dt><dd>An krb5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> 196 197</div> 198</div> 199<a id="ga5bd3f620ebe8cd4fe44b5c858ba17d22"></a> 200<h2 class="memtitle"><span class="permalink"><a href="#ga5bd3f620ebe8cd4fe44b5c858ba17d22">◆ </a></span>krb5_free_principal()</h2> 201 202<div class="memitem"> 203<div class="memproto"> 204 <table class="memname"> 205 <tr> 206 <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_free_principal </td> 207 <td>(</td> 208 <td class="paramtype">krb5_context </td> 209 <td class="paramname"><em>context</em>, </td> 210 </tr> 211 <tr> 212 <td class="paramkey"></td> 213 <td></td> 214 <td class="paramtype">krb5_principal </td> 215 <td class="paramname"><em>p</em> </td> 216 </tr> 217 <tr> 218 <td></td> 219 <td>)</td> 220 <td></td><td></td> 221 </tr> 222 </table> 223</div><div class="memdoc"> 224<p>Frees a Kerberos principal allocated by the library with <a class="el" href="group__krb5__principal.html#gaf0b0da913ab93d6e2577c0ccf4631f24">krb5_parse_name()</a>, <a class="el" href="group__krb5__principal.html#gae744b61285c2ed08317e6c7cc433dd48">krb5_make_principal()</a> or any other related principal functions.</p> 225<dl class="params"><dt>Parameters</dt><dd> 226 <table class="params"> 227 <tr><td class="paramname">context</td><td>A Kerberos context. </td></tr> 228 <tr><td class="paramname">p</td><td>a principal to free.</td></tr> 229 </table> 230 </dd> 231</dl> 232<dl class="section return"><dt>Returns</dt><dd>An krb5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> 233 234</div> 235</div> 236<a id="gae744b61285c2ed08317e6c7cc433dd48"></a> 237<h2 class="memtitle"><span class="permalink"><a href="#gae744b61285c2ed08317e6c7cc433dd48">◆ </a></span>krb5_make_principal()</h2> 238 239<div class="memitem"> 240<div class="memproto"> 241 <table class="memname"> 242 <tr> 243 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_make_principal </td> 244 <td>(</td> 245 <td class="paramtype">krb5_context </td> 246 <td class="paramname"><em>context</em>, </td> 247 </tr> 248 <tr> 249 <td class="paramkey"></td> 250 <td></td> 251 <td class="paramtype">krb5_principal * </td> 252 <td class="paramname"><em>principal</em>, </td> 253 </tr> 254 <tr> 255 <td class="paramkey"></td> 256 <td></td> 257 <td class="paramtype">krb5_const_realm </td> 258 <td class="paramname"><em>realm</em>, </td> 259 </tr> 260 <tr> 261 <td class="paramkey"></td> 262 <td></td> 263 <td class="paramtype"> </td> 264 <td class="paramname"><em>...</em> </td> 265 </tr> 266 <tr> 267 <td></td> 268 <td>)</td> 269 <td></td><td></td> 270 </tr> 271 </table> 272</div><div class="memdoc"> 273<p>Build a principal using vararg style building</p> 274<dl class="params"><dt>Parameters</dt><dd> 275 <table class="params"> 276 <tr><td class="paramname">context</td><td>A Kerberos context. </td></tr> 277 <tr><td class="paramname">principal</td><td>returned principal </td></tr> 278 <tr><td class="paramname">realm</td><td>realm name </td></tr> 279 <tr><td class="paramname">...</td><td>a list of components ended with NULL.</td></tr> 280 </table> 281 </dd> 282</dl> 283<dl class="section return"><dt>Returns</dt><dd>An krb5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> 284 285</div> 286</div> 287<a id="gaf0b0da913ab93d6e2577c0ccf4631f24"></a> 288<h2 class="memtitle"><span class="permalink"><a href="#gaf0b0da913ab93d6e2577c0ccf4631f24">◆ </a></span>krb5_parse_name()</h2> 289 290<div class="memitem"> 291<div class="memproto"> 292 <table class="memname"> 293 <tr> 294 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_parse_name </td> 295 <td>(</td> 296 <td class="paramtype">krb5_context </td> 297 <td class="paramname"><em>context</em>, </td> 298 </tr> 299 <tr> 300 <td class="paramkey"></td> 301 <td></td> 302 <td class="paramtype">const char * </td> 303 <td class="paramname"><em>name</em>, </td> 304 </tr> 305 <tr> 306 <td class="paramkey"></td> 307 <td></td> 308 <td class="paramtype">krb5_principal * </td> 309 <td class="paramname"><em>principal</em> </td> 310 </tr> 311 <tr> 312 <td></td> 313 <td>)</td> 314 <td></td><td></td> 315 </tr> 316 </table> 317</div><div class="memdoc"> 318<p>Parse a name into a krb5_principal structure</p> 319<dl class="params"><dt>Parameters</dt><dd> 320 <table class="params"> 321 <tr><td class="paramname">context</td><td>Kerberos 5 context </td></tr> 322 <tr><td class="paramname">name</td><td>name to parse into a Kerberos principal </td></tr> 323 <tr><td class="paramname">principal</td><td>returned principal, free with <a class="el" href="group__krb5__principal.html#ga5bd3f620ebe8cd4fe44b5c858ba17d22">krb5_free_principal()</a>.</td></tr> 324 </table> 325 </dd> 326</dl> 327<dl class="section return"><dt>Returns</dt><dd>An krb5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> 328 329</div> 330</div> 331<a id="ga1f1c6a19e7ccffb3284545ed3c12b827"></a> 332<h2 class="memtitle"><span class="permalink"><a href="#ga1f1c6a19e7ccffb3284545ed3c12b827">◆ </a></span>krb5_parse_name_flags()</h2> 333 334<div class="memitem"> 335<div class="memproto"> 336 <table class="memname"> 337 <tr> 338 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_parse_name_flags </td> 339 <td>(</td> 340 <td class="paramtype">krb5_context </td> 341 <td class="paramname"><em>context</em>, </td> 342 </tr> 343 <tr> 344 <td class="paramkey"></td> 345 <td></td> 346 <td class="paramtype">const char * </td> 347 <td class="paramname"><em>name</em>, </td> 348 </tr> 349 <tr> 350 <td class="paramkey"></td> 351 <td></td> 352 <td class="paramtype">int </td> 353 <td class="paramname"><em>flags</em>, </td> 354 </tr> 355 <tr> 356 <td class="paramkey"></td> 357 <td></td> 358 <td class="paramtype">krb5_principal * </td> 359 <td class="paramname"><em>principal</em> </td> 360 </tr> 361 <tr> 362 <td></td> 363 <td>)</td> 364 <td></td><td></td> 365 </tr> 366 </table> 367</div><div class="memdoc"> 368<p>Parse a name into a krb5_principal structure, flags controls the behavior.</p> 369<dl class="params"><dt>Parameters</dt><dd> 370 <table class="params"> 371 <tr><td class="paramname">context</td><td>Kerberos 5 context </td></tr> 372 <tr><td class="paramname">name</td><td>name to parse into a Kerberos principal </td></tr> 373 <tr><td class="paramname">flags</td><td>flags to control the behavior </td></tr> 374 <tr><td class="paramname">principal</td><td>returned principal, free with <a class="el" href="group__krb5__principal.html#ga5bd3f620ebe8cd4fe44b5c858ba17d22">krb5_free_principal()</a>.</td></tr> 375 </table> 376 </dd> 377</dl> 378<dl class="section return"><dt>Returns</dt><dd>An krb5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> 379 380</div> 381</div> 382<a id="gab044a3dca038ef4c61779cf1d0dc1e87"></a> 383<h2 class="memtitle"><span class="permalink"><a href="#gab044a3dca038ef4c61779cf1d0dc1e87">◆ </a></span>krb5_parse_nametype()</h2> 384 385<div class="memitem"> 386<div class="memproto"> 387 <table class="memname"> 388 <tr> 389 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_parse_nametype </td> 390 <td>(</td> 391 <td class="paramtype">krb5_context </td> 392 <td class="paramname"><em>context</em>, </td> 393 </tr> 394 <tr> 395 <td class="paramkey"></td> 396 <td></td> 397 <td class="paramtype">const char * </td> 398 <td class="paramname"><em>str</em>, </td> 399 </tr> 400 <tr> 401 <td class="paramkey"></td> 402 <td></td> 403 <td class="paramtype">int32_t * </td> 404 <td class="paramname"><em>nametype</em> </td> 405 </tr> 406 <tr> 407 <td></td> 408 <td>)</td> 409 <td></td><td></td> 410 </tr> 411 </table> 412</div><div class="memdoc"> 413<p>Parse nametype string and return a nametype integer </p> 414 415</div> 416</div> 417<a id="ga13c84ce37f704c99353888eb03a19ea6"></a> 418<h2 class="memtitle"><span class="permalink"><a href="#ga13c84ce37f704c99353888eb03a19ea6">◆ </a></span>krb5_principal_compare()</h2> 419 420<div class="memitem"> 421<div class="memproto"> 422 <table class="memname"> 423 <tr> 424 <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_principal_compare </td> 425 <td>(</td> 426 <td class="paramtype">krb5_context </td> 427 <td class="paramname"><em>context</em>, </td> 428 </tr> 429 <tr> 430 <td class="paramkey"></td> 431 <td></td> 432 <td class="paramtype">krb5_const_principal </td> 433 <td class="paramname"><em>princ1</em>, </td> 434 </tr> 435 <tr> 436 <td class="paramkey"></td> 437 <td></td> 438 <td class="paramtype">krb5_const_principal </td> 439 <td class="paramname"><em>princ2</em> </td> 440 </tr> 441 <tr> 442 <td></td> 443 <td>)</td> 444 <td></td><td></td> 445 </tr> 446 </table> 447</div><div class="memdoc"> 448<p>Compares the two principals, including realm of the principals and returns TRUE if they are the same and FALSE if not.</p> 449<dl class="params"><dt>Parameters</dt><dd> 450 <table class="params"> 451 <tr><td class="paramname">context</td><td>Kerberos 5 context </td></tr> 452 <tr><td class="paramname">princ1</td><td>first principal to compare </td></tr> 453 <tr><td class="paramname">princ2</td><td>second principal to compare</td></tr> 454 </table> 455 </dd> 456</dl> 457<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__krb5__principal.html#ga3c49cc0c1dac96d31a91aa263d8cdb4a">krb5_principal_compare_any_realm()</a> </dd> 458<dd> 459<a class="el" href="group__krb5__principal.html#ga15abb49ce86457827a66f4ddfdd5b60c">krb5_realm_compare()</a> </dd></dl> 460 461</div> 462</div> 463<a id="ga3c49cc0c1dac96d31a91aa263d8cdb4a"></a> 464<h2 class="memtitle"><span class="permalink"><a href="#ga3c49cc0c1dac96d31a91aa263d8cdb4a">◆ </a></span>krb5_principal_compare_any_realm()</h2> 465 466<div class="memitem"> 467<div class="memproto"> 468 <table class="memname"> 469 <tr> 470 <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_principal_compare_any_realm </td> 471 <td>(</td> 472 <td class="paramtype">krb5_context </td> 473 <td class="paramname"><em>context</em>, </td> 474 </tr> 475 <tr> 476 <td class="paramkey"></td> 477 <td></td> 478 <td class="paramtype">krb5_const_principal </td> 479 <td class="paramname"><em>princ1</em>, </td> 480 </tr> 481 <tr> 482 <td class="paramkey"></td> 483 <td></td> 484 <td class="paramtype">krb5_const_principal </td> 485 <td class="paramname"><em>princ2</em> </td> 486 </tr> 487 <tr> 488 <td></td> 489 <td>)</td> 490 <td></td><td></td> 491 </tr> 492 </table> 493</div><div class="memdoc"> 494<p>Return TRUE iff princ1 == princ2 (without considering the realm)</p> 495<dl class="params"><dt>Parameters</dt><dd> 496 <table class="params"> 497 <tr><td class="paramname">context</td><td>Kerberos 5 context </td></tr> 498 <tr><td class="paramname">princ1</td><td>first principal to compare </td></tr> 499 <tr><td class="paramname">princ2</td><td>second principal to compare</td></tr> 500 </table> 501 </dd> 502</dl> 503<dl class="section return"><dt>Returns</dt><dd>non zero if equal, 0 if not</dd></dl> 504<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__krb5__principal.html#ga13c84ce37f704c99353888eb03a19ea6">krb5_principal_compare()</a> </dd> 505<dd> 506<a class="el" href="group__krb5__principal.html#ga15abb49ce86457827a66f4ddfdd5b60c">krb5_realm_compare()</a> </dd></dl> 507 508</div> 509</div> 510<a id="ga0138febd5414ace4835d3af78694833c"></a> 511<h2 class="memtitle"><span class="permalink"><a href="#ga0138febd5414ace4835d3af78694833c">◆ </a></span>krb5_principal_get_num_comp()</h2> 512 513<div class="memitem"> 514<div class="memproto"> 515 <table class="memname"> 516 <tr> 517 <td class="memname">KRB5_LIB_FUNCTION unsigned int KRB5_LIB_CALL krb5_principal_get_num_comp </td> 518 <td>(</td> 519 <td class="paramtype">krb5_context </td> 520 <td class="paramname"><em>context</em>, </td> 521 </tr> 522 <tr> 523 <td class="paramkey"></td> 524 <td></td> 525 <td class="paramtype">krb5_const_principal </td> 526 <td class="paramname"><em>principal</em> </td> 527 </tr> 528 <tr> 529 <td></td> 530 <td>)</td> 531 <td></td><td></td> 532 </tr> 533 </table> 534</div><div class="memdoc"> 535<p>Get number of component is principal.</p> 536<dl class="params"><dt>Parameters</dt><dd> 537 <table class="params"> 538 <tr><td class="paramname">context</td><td>Kerberos 5 context </td></tr> 539 <tr><td class="paramname">principal</td><td>principal to query</td></tr> 540 </table> 541 </dd> 542</dl> 543<dl class="section return"><dt>Returns</dt><dd>number of components in string </dd></dl> 544 545</div> 546</div> 547<a id="gaccd23426798cf776a96c23a455576362"></a> 548<h2 class="memtitle"><span class="permalink"><a href="#gaccd23426798cf776a96c23a455576362">◆ </a></span>krb5_principal_get_realm()</h2> 549 550<div class="memitem"> 551<div class="memproto"> 552 <table class="memname"> 553 <tr> 554 <td class="memname">KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_principal_get_realm </td> 555 <td>(</td> 556 <td class="paramtype">krb5_context </td> 557 <td class="paramname"><em>context</em>, </td> 558 </tr> 559 <tr> 560 <td class="paramkey"></td> 561 <td></td> 562 <td class="paramtype">krb5_const_principal </td> 563 <td class="paramname"><em>principal</em> </td> 564 </tr> 565 <tr> 566 <td></td> 567 <td>)</td> 568 <td></td><td></td> 569 </tr> 570 </table> 571</div><div class="memdoc"> 572<p>Get the realm of the principal</p> 573<dl class="params"><dt>Parameters</dt><dd> 574 <table class="params"> 575 <tr><td class="paramname">context</td><td>A Kerberos context. </td></tr> 576 <tr><td class="paramname">principal</td><td>principal to get the realm for</td></tr> 577 </table> 578 </dd> 579</dl> 580<dl class="section return"><dt>Returns</dt><dd>realm of the principal, don't free or use after krb5_principal is freed </dd></dl> 581 582</div> 583</div> 584<a id="gaf4a599c42592ff7485753e80b8de67b7"></a> 585<h2 class="memtitle"><span class="permalink"><a href="#gaf4a599c42592ff7485753e80b8de67b7">◆ </a></span>krb5_principal_get_type()</h2> 586 587<div class="memitem"> 588<div class="memproto"> 589 <table class="memname"> 590 <tr> 591 <td class="memname">KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_principal_get_type </td> 592 <td>(</td> 593 <td class="paramtype">krb5_context </td> 594 <td class="paramname"><em>context</em>, </td> 595 </tr> 596 <tr> 597 <td class="paramkey"></td> 598 <td></td> 599 <td class="paramtype">krb5_const_principal </td> 600 <td class="paramname"><em>principal</em> </td> 601 </tr> 602 <tr> 603 <td></td> 604 <td>)</td> 605 <td></td><td></td> 606 </tr> 607 </table> 608</div><div class="memdoc"> 609<p>Get the type of the principal</p> 610<dl class="params"><dt>Parameters</dt><dd> 611 <table class="params"> 612 <tr><td class="paramname">context</td><td>A Kerberos context. </td></tr> 613 <tr><td class="paramname">principal</td><td>principal to get the type for</td></tr> 614 </table> 615 </dd> 616</dl> 617<dl class="section return"><dt>Returns</dt><dd>the type of principal </dd></dl> 618 619</div> 620</div> 621<a id="ga2e7740d323d81838d5e00dfd4bf408ff"></a> 622<h2 class="memtitle"><span class="permalink"><a href="#ga2e7740d323d81838d5e00dfd4bf408ff">◆ </a></span>krb5_principal_is_anonymous()</h2> 623 624<div class="memitem"> 625<div class="memproto"> 626 <table class="memname"> 627 <tr> 628 <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_principal_is_anonymous </td> 629 <td>(</td> 630 <td class="paramtype">krb5_context </td> 631 <td class="paramname"><em>context</em>, </td> 632 </tr> 633 <tr> 634 <td class="paramkey"></td> 635 <td></td> 636 <td class="paramtype">krb5_const_principal </td> 637 <td class="paramname"><em>p</em>, </td> 638 </tr> 639 <tr> 640 <td class="paramkey"></td> 641 <td></td> 642 <td class="paramtype">unsigned int </td> 643 <td class="paramname"><em>flags</em> </td> 644 </tr> 645 <tr> 646 <td></td> 647 <td>)</td> 648 <td></td><td></td> 649 </tr> 650 </table> 651</div><div class="memdoc"> 652<p>Returns true iff name is WELLKNOWN/ANONYMOUS </p> 653 654</div> 655</div> 656<a id="gac02e16cbed909d4535fd030b5651c978"></a> 657<h2 class="memtitle"><span class="permalink"><a href="#gac02e16cbed909d4535fd030b5651c978">◆ </a></span>krb5_principal_is_gss_hostbased_service()</h2> 658 659<div class="memitem"> 660<div class="memproto"> 661 <table class="memname"> 662 <tr> 663 <td class="memname">krb5_boolean KRB5_LIB_FUNCTION krb5_principal_is_gss_hostbased_service </td> 664 <td>(</td> 665 <td class="paramtype">krb5_context </td> 666 <td class="paramname"><em>context</em>, </td> 667 </tr> 668 <tr> 669 <td class="paramkey"></td> 670 <td></td> 671 <td class="paramtype">krb5_const_principal </td> 672 <td class="paramname"><em>principal</em> </td> 673 </tr> 674 <tr> 675 <td></td> 676 <td>)</td> 677 <td></td><td></td> 678 </tr> 679 </table> 680</div><div class="memdoc"> 681<p>Returns true iff name is an WELLKNOWN:ORG.H5L.HOSTBASED-SERVICE </p> 682 683</div> 684</div> 685<a id="ga9b24f6db481f24b86a93702eaa2755fc"></a> 686<h2 class="memtitle"><span class="permalink"><a href="#ga9b24f6db481f24b86a93702eaa2755fc">◆ </a></span>krb5_principal_is_krbtgt()</h2> 687 688<div class="memitem"> 689<div class="memproto"> 690 <table class="memname"> 691 <tr> 692 <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_principal_is_krbtgt </td> 693 <td>(</td> 694 <td class="paramtype">krb5_context </td> 695 <td class="paramname"><em>context</em>, </td> 696 </tr> 697 <tr> 698 <td class="paramkey"></td> 699 <td></td> 700 <td class="paramtype">krb5_const_principal </td> 701 <td class="paramname"><em>p</em> </td> 702 </tr> 703 <tr> 704 <td></td> 705 <td>)</td> 706 <td></td><td></td> 707 </tr> 708 </table> 709</div><div class="memdoc"> 710<p>Check if the cname part of the principal is a krbtgt principal </p> 711 712</div> 713</div> 714<a id="gad0ddef8f28bd6d3def810d38c3d41e86"></a> 715<h2 class="memtitle"><span class="permalink"><a href="#gad0ddef8f28bd6d3def810d38c3d41e86">◆ </a></span>krb5_principal_is_lkdc()</h2> 716 717<div class="memitem"> 718<div class="memproto"> 719 <table class="memname"> 720 <tr> 721 <td class="memname">krb5_boolean KRB5_LIB_FUNCTION krb5_principal_is_lkdc </td> 722 <td>(</td> 723 <td class="paramtype">krb5_context </td> 724 <td class="paramname"><em>context</em>, </td> 725 </tr> 726 <tr> 727 <td class="paramkey"></td> 728 <td></td> 729 <td class="paramtype">krb5_const_principal </td> 730 <td class="paramname"><em>principal</em> </td> 731 </tr> 732 <tr> 733 <td></td> 734 <td>)</td> 735 <td></td><td></td> 736 </tr> 737 </table> 738</div><div class="memdoc"> 739<p>Returns true if name is Kerberos an LKDC realm </p> 740 741</div> 742</div> 743<a id="ga2760addfecb90af894f6e70999afdf5c"></a> 744<h2 class="memtitle"><span class="permalink"><a href="#ga2760addfecb90af894f6e70999afdf5c">◆ </a></span>krb5_principal_is_null()</h2> 745 746<div class="memitem"> 747<div class="memproto"> 748 <table class="memname"> 749 <tr> 750 <td class="memname">krb5_boolean KRB5_LIB_FUNCTION krb5_principal_is_null </td> 751 <td>(</td> 752 <td class="paramtype">krb5_context </td> 753 <td class="paramname"><em>context</em>, </td> 754 </tr> 755 <tr> 756 <td class="paramkey"></td> 757 <td></td> 758 <td class="paramtype">krb5_const_principal </td> 759 <td class="paramname"><em>principal</em> </td> 760 </tr> 761 <tr> 762 <td></td> 763 <td>)</td> 764 <td></td><td></td> 765 </tr> 766 </table> 767</div><div class="memdoc"> 768<p>Returns true if name is Kerberos NULL name </p> 769 770</div> 771</div> 772<a id="ga8875768ac0bf48fa7dd2673696b1a9cc"></a> 773<h2 class="memtitle"><span class="permalink"><a href="#ga8875768ac0bf48fa7dd2673696b1a9cc">◆ </a></span>krb5_principal_is_pku2u()</h2> 774 775<div class="memitem"> 776<div class="memproto"> 777 <table class="memname"> 778 <tr> 779 <td class="memname">krb5_boolean KRB5_LIB_FUNCTION krb5_principal_is_pku2u </td> 780 <td>(</td> 781 <td class="paramtype">krb5_context </td> 782 <td class="paramname"><em>context</em>, </td> 783 </tr> 784 <tr> 785 <td class="paramkey"></td> 786 <td></td> 787 <td class="paramtype">krb5_const_principal </td> 788 <td class="paramname"><em>principal</em> </td> 789 </tr> 790 <tr> 791 <td></td> 792 <td>)</td> 793 <td></td><td></td> 794 </tr> 795 </table> 796</div><div class="memdoc"> 797<p>Returns true if name is Kerberos an LKDC realm </p> 798 799</div> 800</div> 801<a id="ga2c4425068eb189d876e4e0747636f628"></a> 802<h2 class="memtitle"><span class="permalink"><a href="#ga2c4425068eb189d876e4e0747636f628">◆ </a></span>krb5_principal_is_root_krbtgt()</h2> 803 804<div class="memitem"> 805<div class="memproto"> 806 <table class="memname"> 807 <tr> 808 <td class="memname">krb5_boolean KRB5_LIB_FUNCTION krb5_principal_is_root_krbtgt </td> 809 <td>(</td> 810 <td class="paramtype">krb5_context </td> 811 <td class="paramname"><em>context</em>, </td> 812 </tr> 813 <tr> 814 <td class="paramkey"></td> 815 <td></td> 816 <td class="paramtype">krb5_const_principal </td> 817 <td class="paramname"><em>p</em> </td> 818 </tr> 819 <tr> 820 <td></td> 821 <td>)</td> 822 <td></td><td></td> 823 </tr> 824 </table> 825</div><div class="memdoc"> 826<p>Check if the cname part of the principal is a initial or renewed krbtgt principal </p> 827 828</div> 829</div> 830<a id="ga6cf45d0f9cb4b0bf3b6ef574d9e5cc6a"></a> 831<h2 class="memtitle"><span class="permalink"><a href="#ga6cf45d0f9cb4b0bf3b6ef574d9e5cc6a">◆ </a></span>krb5_principal_match()</h2> 832 833<div class="memitem"> 834<div class="memproto"> 835 <table class="memname"> 836 <tr> 837 <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_principal_match </td> 838 <td>(</td> 839 <td class="paramtype">krb5_context </td> 840 <td class="paramname"><em>context</em>, </td> 841 </tr> 842 <tr> 843 <td class="paramkey"></td> 844 <td></td> 845 <td class="paramtype">krb5_const_principal </td> 846 <td class="paramname"><em>princ</em>, </td> 847 </tr> 848 <tr> 849 <td class="paramkey"></td> 850 <td></td> 851 <td class="paramtype">krb5_const_principal </td> 852 <td class="paramname"><em>pattern</em> </td> 853 </tr> 854 <tr> 855 <td></td> 856 <td>)</td> 857 <td></td><td></td> 858 </tr> 859 </table> 860</div><div class="memdoc"> 861<p>return TRUE iff princ matches pattern </p> 862 863</div> 864</div> 865<a id="gaaacf06babb00b391f35a8468a0ec96f9"></a> 866<h2 class="memtitle"><span class="permalink"><a href="#gaaacf06babb00b391f35a8468a0ec96f9">◆ </a></span>krb5_principal_set_realm()</h2> 867 868<div class="memitem"> 869<div class="memproto"> 870 <table class="memname"> 871 <tr> 872 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_principal_set_realm </td> 873 <td>(</td> 874 <td class="paramtype">krb5_context </td> 875 <td class="paramname"><em>context</em>, </td> 876 </tr> 877 <tr> 878 <td class="paramkey"></td> 879 <td></td> 880 <td class="paramtype">krb5_principal </td> 881 <td class="paramname"><em>principal</em>, </td> 882 </tr> 883 <tr> 884 <td class="paramkey"></td> 885 <td></td> 886 <td class="paramtype">krb5_const_realm </td> 887 <td class="paramname"><em>realm</em> </td> 888 </tr> 889 <tr> 890 <td></td> 891 <td>)</td> 892 <td></td><td></td> 893 </tr> 894 </table> 895</div><div class="memdoc"> 896<p>Set a new realm for a principal, and as a side-effect free the previous realm.</p> 897<dl class="params"><dt>Parameters</dt><dd> 898 <table class="params"> 899 <tr><td class="paramname">context</td><td>A Kerberos context. </td></tr> 900 <tr><td class="paramname">principal</td><td>principal set the realm for </td></tr> 901 <tr><td class="paramname">realm</td><td>the new realm to set</td></tr> 902 </table> 903 </dd> 904</dl> 905<dl class="section return"><dt>Returns</dt><dd>An krb5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> 906 907</div> 908</div> 909<a id="ga28b750b990452f02922bc74a6cac0313"></a> 910<h2 class="memtitle"><span class="permalink"><a href="#ga28b750b990452f02922bc74a6cac0313">◆ </a></span>krb5_principal_set_type()</h2> 911 912<div class="memitem"> 913<div class="memproto"> 914 <table class="memname"> 915 <tr> 916 <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_principal_set_type </td> 917 <td>(</td> 918 <td class="paramtype">krb5_context </td> 919 <td class="paramname"><em>context</em>, </td> 920 </tr> 921 <tr> 922 <td class="paramkey"></td> 923 <td></td> 924 <td class="paramtype">krb5_principal </td> 925 <td class="paramname"><em>principal</em>, </td> 926 </tr> 927 <tr> 928 <td class="paramkey"></td> 929 <td></td> 930 <td class="paramtype">int </td> 931 <td class="paramname"><em>type</em> </td> 932 </tr> 933 <tr> 934 <td></td> 935 <td>)</td> 936 <td></td><td></td> 937 </tr> 938 </table> 939</div><div class="memdoc"> 940<p>Set the type of the principal</p> 941<dl class="params"><dt>Parameters</dt><dd> 942 <table class="params"> 943 <tr><td class="paramname">context</td><td>A Kerberos context. </td></tr> 944 <tr><td class="paramname">principal</td><td>principal to set the type for </td></tr> 945 <tr><td class="paramname">type</td><td>the new type</td></tr> 946 </table> 947 </dd> 948</dl> 949<dl class="section return"><dt>Returns</dt><dd>An krb5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> 950 951</div> 952</div> 953<a id="ga15abb49ce86457827a66f4ddfdd5b60c"></a> 954<h2 class="memtitle"><span class="permalink"><a href="#ga15abb49ce86457827a66f4ddfdd5b60c">◆ </a></span>krb5_realm_compare()</h2> 955 956<div class="memitem"> 957<div class="memproto"> 958 <table class="memname"> 959 <tr> 960 <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_realm_compare </td> 961 <td>(</td> 962 <td class="paramtype">krb5_context </td> 963 <td class="paramname"><em>context</em>, </td> 964 </tr> 965 <tr> 966 <td class="paramkey"></td> 967 <td></td> 968 <td class="paramtype">krb5_const_principal </td> 969 <td class="paramname"><em>princ1</em>, </td> 970 </tr> 971 <tr> 972 <td class="paramkey"></td> 973 <td></td> 974 <td class="paramtype">krb5_const_principal </td> 975 <td class="paramname"><em>princ2</em> </td> 976 </tr> 977 <tr> 978 <td></td> 979 <td>)</td> 980 <td></td><td></td> 981 </tr> 982 </table> 983</div><div class="memdoc"> 984<p>return TRUE iff realm(princ1) == realm(princ2)</p> 985<dl class="params"><dt>Parameters</dt><dd> 986 <table class="params"> 987 <tr><td class="paramname">context</td><td>Kerberos 5 context </td></tr> 988 <tr><td class="paramname">princ1</td><td>first principal to compare </td></tr> 989 <tr><td class="paramname">princ2</td><td>second principal to compare</td></tr> 990 </table> 991 </dd> 992</dl> 993<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__krb5__principal.html#ga3c49cc0c1dac96d31a91aa263d8cdb4a">krb5_principal_compare_any_realm()</a> </dd> 994<dd> 995<a class="el" href="group__krb5__principal.html#ga13c84ce37f704c99353888eb03a19ea6">krb5_principal_compare()</a> </dd></dl> 996 997</div> 998</div> 999<a id="gad129661d63fc3478459495cff16c031c"></a> 1000<h2 class="memtitle"><span class="permalink"><a href="#gad129661d63fc3478459495cff16c031c">◆ </a></span>krb5_realm_is_lkdc()</h2> 1001 1002<div class="memitem"> 1003<div class="memproto"> 1004 <table class="memname"> 1005 <tr> 1006 <td class="memname">krb5_boolean KRB5_LIB_FUNCTION krb5_realm_is_lkdc </td> 1007 <td>(</td> 1008 <td class="paramtype">const char * </td> 1009 <td class="paramname"><em>realm</em></td><td>)</td> 1010 <td></td> 1011 </tr> 1012 </table> 1013</div><div class="memdoc"> 1014<p>Returns true if name is Kerberos an LKDC realm </p> 1015 1016</div> 1017</div> 1018<a id="ga8be0f5000da6ee0d4bd5dcaf3cb01d08"></a> 1019<h2 class="memtitle"><span class="permalink"><a href="#ga8be0f5000da6ee0d4bd5dcaf3cb01d08">◆ </a></span>krb5_sname_to_principal()</h2> 1020 1021<div class="memitem"> 1022<div class="memproto"> 1023 <table class="memname"> 1024 <tr> 1025 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_sname_to_principal </td> 1026 <td>(</td> 1027 <td class="paramtype">krb5_context </td> 1028 <td class="paramname"><em>context</em>, </td> 1029 </tr> 1030 <tr> 1031 <td class="paramkey"></td> 1032 <td></td> 1033 <td class="paramtype">const char * </td> 1034 <td class="paramname"><em>hostname</em>, </td> 1035 </tr> 1036 <tr> 1037 <td class="paramkey"></td> 1038 <td></td> 1039 <td class="paramtype">const char * </td> 1040 <td class="paramname"><em>sname</em>, </td> 1041 </tr> 1042 <tr> 1043 <td class="paramkey"></td> 1044 <td></td> 1045 <td class="paramtype">int32_t </td> 1046 <td class="paramname"><em>type</em>, </td> 1047 </tr> 1048 <tr> 1049 <td class="paramkey"></td> 1050 <td></td> 1051 <td class="paramtype">krb5_principal * </td> 1052 <td class="paramname"><em>ret_princ</em> </td> 1053 </tr> 1054 <tr> 1055 <td></td> 1056 <td>)</td> 1057 <td></td><td></td> 1058 </tr> 1059 </table> 1060</div><div class="memdoc"> 1061<p>Create a principal for the given service running on the given hostname. If KRB5_NT_SRV_HST is used, the hostname is canonicalized according the configured name canonicalization rules, with canonicalization delayed in some cases. One rule involves DNS, which is insecure unless DNSSEC is used, but we don't use DNSSEC-capable resolver APIs here, so that if DNSSEC is used we wouldn't know it.</p> 1062<p>Canonicalization is immediate (not delayed) only when there is only one canonicalization rule and that rule indicates that we should do a host lookup by name (i.e., DNS).</p> 1063<dl class="params"><dt>Parameters</dt><dd> 1064 <table class="params"> 1065 <tr><td class="paramname">context</td><td>A Kerberos context. </td></tr> 1066 <tr><td class="paramname">hostname</td><td>hostname to use </td></tr> 1067 <tr><td class="paramname">sname</td><td>Service name to use </td></tr> 1068 <tr><td class="paramname">type</td><td>name type of principal, use KRB5_NT_SRV_HST or KRB5_NT_UNKNOWN. </td></tr> 1069 <tr><td class="paramname">ret_princ</td><td>return principal, free with <a class="el" href="group__krb5__principal.html#ga5bd3f620ebe8cd4fe44b5c858ba17d22">krb5_free_principal()</a>.</td></tr> 1070 </table> 1071 </dd> 1072</dl> 1073<dl class="section return"><dt>Returns</dt><dd>An krb5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> 1074 1075</div> 1076</div> 1077<a id="gaac881051ed59fe0dcd08cee62280b332"></a> 1078<h2 class="memtitle"><span class="permalink"><a href="#gaac881051ed59fe0dcd08cee62280b332">◆ </a></span>krb5_unparse_name()</h2> 1079 1080<div class="memitem"> 1081<div class="memproto"> 1082 <table class="memname"> 1083 <tr> 1084 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_unparse_name </td> 1085 <td>(</td> 1086 <td class="paramtype">krb5_context </td> 1087 <td class="paramname"><em>context</em>, </td> 1088 </tr> 1089 <tr> 1090 <td class="paramkey"></td> 1091 <td></td> 1092 <td class="paramtype">krb5_const_principal </td> 1093 <td class="paramname"><em>principal</em>, </td> 1094 </tr> 1095 <tr> 1096 <td class="paramkey"></td> 1097 <td></td> 1098 <td class="paramtype">char ** </td> 1099 <td class="paramname"><em>name</em> </td> 1100 </tr> 1101 <tr> 1102 <td></td> 1103 <td>)</td> 1104 <td></td><td></td> 1105 </tr> 1106 </table> 1107</div><div class="memdoc"> 1108<p>Unparse the Kerberos name into a string</p> 1109<dl class="params"><dt>Parameters</dt><dd> 1110 <table class="params"> 1111 <tr><td class="paramname">context</td><td>Kerberos 5 context </td></tr> 1112 <tr><td class="paramname">principal</td><td>principal to query </td></tr> 1113 <tr><td class="paramname">name</td><td>resulting string, free with krb5_xfree()</td></tr> 1114 </table> 1115 </dd> 1116</dl> 1117<dl class="section return"><dt>Returns</dt><dd>An krb5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> 1118 1119</div> 1120</div> 1121<a id="ga6f173badfb37ad41fdab6db77bde7689"></a> 1122<h2 class="memtitle"><span class="permalink"><a href="#ga6f173badfb37ad41fdab6db77bde7689">◆ </a></span>krb5_unparse_name_fixed()</h2> 1123 1124<div class="memitem"> 1125<div class="memproto"> 1126 <table class="memname"> 1127 <tr> 1128 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_unparse_name_fixed </td> 1129 <td>(</td> 1130 <td class="paramtype">krb5_context </td> 1131 <td class="paramname"><em>context</em>, </td> 1132 </tr> 1133 <tr> 1134 <td class="paramkey"></td> 1135 <td></td> 1136 <td class="paramtype">krb5_const_principal </td> 1137 <td class="paramname"><em>principal</em>, </td> 1138 </tr> 1139 <tr> 1140 <td class="paramkey"></td> 1141 <td></td> 1142 <td class="paramtype">char * </td> 1143 <td class="paramname"><em>name</em>, </td> 1144 </tr> 1145 <tr> 1146 <td class="paramkey"></td> 1147 <td></td> 1148 <td class="paramtype">size_t </td> 1149 <td class="paramname"><em>len</em> </td> 1150 </tr> 1151 <tr> 1152 <td></td> 1153 <td>)</td> 1154 <td></td><td></td> 1155 </tr> 1156 </table> 1157</div><div class="memdoc"> 1158<p>Unparse the principal name to a fixed buffer</p> 1159<dl class="params"><dt>Parameters</dt><dd> 1160 <table class="params"> 1161 <tr><td class="paramname">context</td><td>A Kerberos context. </td></tr> 1162 <tr><td class="paramname">principal</td><td>principal to unparse </td></tr> 1163 <tr><td class="paramname">name</td><td>buffer to write name to </td></tr> 1164 <tr><td class="paramname">len</td><td>length of buffer</td></tr> 1165 </table> 1166 </dd> 1167</dl> 1168<dl class="section return"><dt>Returns</dt><dd>An krb5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> 1169 1170</div> 1171</div> 1172<a id="gad9ba42e18d79aa27458338967b66693f"></a> 1173<h2 class="memtitle"><span class="permalink"><a href="#gad9ba42e18d79aa27458338967b66693f">◆ </a></span>krb5_unparse_name_fixed_flags()</h2> 1174 1175<div class="memitem"> 1176<div class="memproto"> 1177 <table class="memname"> 1178 <tr> 1179 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_unparse_name_fixed_flags </td> 1180 <td>(</td> 1181 <td class="paramtype">krb5_context </td> 1182 <td class="paramname"><em>context</em>, </td> 1183 </tr> 1184 <tr> 1185 <td class="paramkey"></td> 1186 <td></td> 1187 <td class="paramtype">krb5_const_principal </td> 1188 <td class="paramname"><em>principal</em>, </td> 1189 </tr> 1190 <tr> 1191 <td class="paramkey"></td> 1192 <td></td> 1193 <td class="paramtype">int </td> 1194 <td class="paramname"><em>flags</em>, </td> 1195 </tr> 1196 <tr> 1197 <td class="paramkey"></td> 1198 <td></td> 1199 <td class="paramtype">char * </td> 1200 <td class="paramname"><em>name</em>, </td> 1201 </tr> 1202 <tr> 1203 <td class="paramkey"></td> 1204 <td></td> 1205 <td class="paramtype">size_t </td> 1206 <td class="paramname"><em>len</em> </td> 1207 </tr> 1208 <tr> 1209 <td></td> 1210 <td>)</td> 1211 <td></td><td></td> 1212 </tr> 1213 </table> 1214</div><div class="memdoc"> 1215<p>Unparse the principal name with unparse flags to a fixed buffer.</p> 1216<dl class="params"><dt>Parameters</dt><dd> 1217 <table class="params"> 1218 <tr><td class="paramname">context</td><td>A Kerberos context. </td></tr> 1219 <tr><td class="paramname">principal</td><td>principal to unparse </td></tr> 1220 <tr><td class="paramname">flags</td><td>unparse flags </td></tr> 1221 <tr><td class="paramname">name</td><td>buffer to write name to </td></tr> 1222 <tr><td class="paramname">len</td><td>length of buffer</td></tr> 1223 </table> 1224 </dd> 1225</dl> 1226<dl class="section return"><dt>Returns</dt><dd>An krb5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> 1227 1228</div> 1229</div> 1230<a id="gacebe44e0685fc7b6c89a53eca71e7d24"></a> 1231<h2 class="memtitle"><span class="permalink"><a href="#gacebe44e0685fc7b6c89a53eca71e7d24">◆ </a></span>krb5_unparse_name_fixed_short()</h2> 1232 1233<div class="memitem"> 1234<div class="memproto"> 1235 <table class="memname"> 1236 <tr> 1237 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_unparse_name_fixed_short </td> 1238 <td>(</td> 1239 <td class="paramtype">krb5_context </td> 1240 <td class="paramname"><em>context</em>, </td> 1241 </tr> 1242 <tr> 1243 <td class="paramkey"></td> 1244 <td></td> 1245 <td class="paramtype">krb5_const_principal </td> 1246 <td class="paramname"><em>principal</em>, </td> 1247 </tr> 1248 <tr> 1249 <td class="paramkey"></td> 1250 <td></td> 1251 <td class="paramtype">char * </td> 1252 <td class="paramname"><em>name</em>, </td> 1253 </tr> 1254 <tr> 1255 <td class="paramkey"></td> 1256 <td></td> 1257 <td class="paramtype">size_t </td> 1258 <td class="paramname"><em>len</em> </td> 1259 </tr> 1260 <tr> 1261 <td></td> 1262 <td>)</td> 1263 <td></td><td></td> 1264 </tr> 1265 </table> 1266</div><div class="memdoc"> 1267<p>Unparse the principal name to a fixed buffer. The realm is skipped if its a default realm.</p> 1268<dl class="params"><dt>Parameters</dt><dd> 1269 <table class="params"> 1270 <tr><td class="paramname">context</td><td>A Kerberos context. </td></tr> 1271 <tr><td class="paramname">principal</td><td>principal to unparse </td></tr> 1272 <tr><td class="paramname">name</td><td>buffer to write name to </td></tr> 1273 <tr><td class="paramname">len</td><td>length of buffer</td></tr> 1274 </table> 1275 </dd> 1276</dl> 1277<dl class="section return"><dt>Returns</dt><dd>An krb5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> 1278 1279</div> 1280</div> 1281<a id="gad46122cd0e543b6c1219abb8730378e7"></a> 1282<h2 class="memtitle"><span class="permalink"><a href="#gad46122cd0e543b6c1219abb8730378e7">◆ </a></span>krb5_unparse_name_flags()</h2> 1283 1284<div class="memitem"> 1285<div class="memproto"> 1286 <table class="memname"> 1287 <tr> 1288 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_unparse_name_flags </td> 1289 <td>(</td> 1290 <td class="paramtype">krb5_context </td> 1291 <td class="paramname"><em>context</em>, </td> 1292 </tr> 1293 <tr> 1294 <td class="paramkey"></td> 1295 <td></td> 1296 <td class="paramtype">krb5_const_principal </td> 1297 <td class="paramname"><em>principal</em>, </td> 1298 </tr> 1299 <tr> 1300 <td class="paramkey"></td> 1301 <td></td> 1302 <td class="paramtype">int </td> 1303 <td class="paramname"><em>flags</em>, </td> 1304 </tr> 1305 <tr> 1306 <td class="paramkey"></td> 1307 <td></td> 1308 <td class="paramtype">char ** </td> 1309 <td class="paramname"><em>name</em> </td> 1310 </tr> 1311 <tr> 1312 <td></td> 1313 <td>)</td> 1314 <td></td><td></td> 1315 </tr> 1316 </table> 1317</div><div class="memdoc"> 1318<p>Unparse the Kerberos name into a string</p> 1319<dl class="params"><dt>Parameters</dt><dd> 1320 <table class="params"> 1321 <tr><td class="paramname">context</td><td>Kerberos 5 context </td></tr> 1322 <tr><td class="paramname">principal</td><td>principal to query </td></tr> 1323 <tr><td class="paramname">flags</td><td>flag to determine the behavior </td></tr> 1324 <tr><td class="paramname">name</td><td>resulting string, free with krb5_xfree()</td></tr> 1325 </table> 1326 </dd> 1327</dl> 1328<dl class="section return"><dt>Returns</dt><dd>An krb5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> 1329 1330</div> 1331</div> 1332<a id="ga600247895edbde37e195c8b2089295a3"></a> 1333<h2 class="memtitle"><span class="permalink"><a href="#ga600247895edbde37e195c8b2089295a3">◆ </a></span>krb5_unparse_name_short()</h2> 1334 1335<div class="memitem"> 1336<div class="memproto"> 1337 <table class="memname"> 1338 <tr> 1339 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_unparse_name_short </td> 1340 <td>(</td> 1341 <td class="paramtype">krb5_context </td> 1342 <td class="paramname"><em>context</em>, </td> 1343 </tr> 1344 <tr> 1345 <td class="paramkey"></td> 1346 <td></td> 1347 <td class="paramtype">krb5_const_principal </td> 1348 <td class="paramname"><em>principal</em>, </td> 1349 </tr> 1350 <tr> 1351 <td class="paramkey"></td> 1352 <td></td> 1353 <td class="paramtype">char ** </td> 1354 <td class="paramname"><em>name</em> </td> 1355 </tr> 1356 <tr> 1357 <td></td> 1358 <td>)</td> 1359 <td></td><td></td> 1360 </tr> 1361 </table> 1362</div><div class="memdoc"> 1363<p>Unparse the principal name to a allocated buffer. The realm is skipped if its a default realm.</p> 1364<dl class="params"><dt>Parameters</dt><dd> 1365 <table class="params"> 1366 <tr><td class="paramname">context</td><td>A Kerberos context. </td></tr> 1367 <tr><td class="paramname">principal</td><td>principal to unparse </td></tr> 1368 <tr><td class="paramname">name</td><td>returned buffer, free with krb5_xfree()</td></tr> 1369 </table> 1370 </dd> 1371</dl> 1372<dl class="section return"><dt>Returns</dt><dd>An krb5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> 1373 1374</div> 1375</div> 1376</div><!-- contents --> 1377<hr size="1"><address style="text-align: right;"><small> 1378Generated on Tue Nov 15 2022 14:04:26 for Heimdal Kerberos 5 library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address> 1379</body> 1380</html> 1381