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 GSS-API 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> | 25<a href="#var-members">Variables</a> </div> 26 <div class="headertitle"> 27<div class="title">Heimdal GSS-API functions</div> </div> 28</div><!--header--> 29<div class="contents"> 30<table class="memberdecls"> 31<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> 32Functions</h2></td></tr> 33<tr class="memitem:ga233373d4e0baa31615eb4d4f0ccb9683"><td class="memItemLeft" align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#ga233373d4e0baa31615eb4d4f0ccb9683">gss_add_oid_set_member</a> (OM_uint32 *minor_status, const gss_OID member_oid, gss_OID_set *oid_set)</td></tr> 34<tr class="separator:ga233373d4e0baa31615eb4d4f0ccb9683"><td class="memSeparator" colspan="2"> </td></tr> 35<tr class="memitem:gab02ec963066cc8e5e6682799457208e9"><td class="memItemLeft" align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#gab02ec963066cc8e5e6682799457208e9">gss_wrap_iov</a> (OM_uint32 *minor_status, gss_ctx_id_t context_handle, int conf_req_flag, gss_qop_t qop_req, int *conf_state, gss_iov_buffer_desc *iov, int iov_count)</td></tr> 36<tr class="separator:gab02ec963066cc8e5e6682799457208e9"><td class="memSeparator" colspan="2"> </td></tr> 37<tr class="memitem:ga399bb326e47574aca7b28d6886d29fd0"><td class="memItemLeft" align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#ga399bb326e47574aca7b28d6886d29fd0">gss_unwrap_iov</a> (OM_uint32 *minor_status, gss_ctx_id_t context_handle, int *conf_state, gss_qop_t *qop_state, gss_iov_buffer_desc *iov, int iov_count)</td></tr> 38<tr class="separator:ga399bb326e47574aca7b28d6886d29fd0"><td class="memSeparator" colspan="2"> </td></tr> 39<tr class="memitem:ga6216cfcb1ba8dc2d1a1d680d21752f26"><td class="memItemLeft" align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#ga6216cfcb1ba8dc2d1a1d680d21752f26">gss_wrap_iov_length</a> (OM_uint32 *minor_status, gss_ctx_id_t context_handle, int conf_req_flag, gss_qop_t qop_req, int *conf_state, gss_iov_buffer_desc *iov, int iov_count)</td></tr> 40<tr class="separator:ga6216cfcb1ba8dc2d1a1d680d21752f26"><td class="memSeparator" colspan="2"> </td></tr> 41<tr class="memitem:ga2dbb20a4c9a3cf5072ef081cd37e54b4"><td class="memItemLeft" align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#ga2dbb20a4c9a3cf5072ef081cd37e54b4">gss_release_iov_buffer</a> (OM_uint32 *minor_status, gss_iov_buffer_desc *iov, int iov_count)</td></tr> 42<tr class="separator:ga2dbb20a4c9a3cf5072ef081cd37e54b4"><td class="memSeparator" colspan="2"> </td></tr> 43<tr class="memitem:gae00fe4a91f13d61172361a30fb24a06e"><td class="memItemLeft" align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#gae00fe4a91f13d61172361a30fb24a06e">gss_canonicalize_name</a> (OM_uint32 *minor_status, gss_const_name_t input_name, const gss_OID mech_type, gss_name_t *output_name)</td></tr> 44<tr class="separator:gae00fe4a91f13d61172361a30fb24a06e"><td class="memSeparator" colspan="2"> </td></tr> 45<tr class="memitem:ga770d87c1b80a58e91ec3a9ed70468122"><td class="memItemLeft" align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#ga770d87c1b80a58e91ec3a9ed70468122">gss_display_status</a> (OM_uint32 *minor_status, OM_uint32 status_value, int status_type, const gss_OID mech_type, OM_uint32 *message_context, gss_buffer_t status_string)</td></tr> 46<tr class="separator:ga770d87c1b80a58e91ec3a9ed70468122"><td class="memSeparator" colspan="2"> </td></tr> 47<tr class="memitem:ga353814c7de38c9e2894ca66f0c15c8eb"><td class="memItemLeft" align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#ga353814c7de38c9e2894ca66f0c15c8eb">gss_export_name</a> (OM_uint32 *minor_status, gss_const_name_t input_name, gss_buffer_t exported_name)</td></tr> 48<tr class="separator:ga353814c7de38c9e2894ca66f0c15c8eb"><td class="memSeparator" colspan="2"> </td></tr> 49<tr class="memitem:ga0afe06fd5264ebfb93ecca4bcc70895b"><td class="memItemLeft" align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#ga0afe06fd5264ebfb93ecca4bcc70895b">gss_import_name</a> (OM_uint32 *minor_status, const gss_buffer_t input_name_buffer, const gss_OID input_name_type, gss_name_t *output_name)</td></tr> 50<tr class="separator:ga0afe06fd5264ebfb93ecca4bcc70895b"><td class="memSeparator" colspan="2"> </td></tr> 51<tr class="memitem:ga890d690b8598288f33e31370bcfd3127"><td class="memItemLeft" align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#ga890d690b8598288f33e31370bcfd3127">gss_init_sec_context</a> (OM_uint32 *minor_status, gss_const_cred_id_t initiator_cred_handle, gss_ctx_id_t *context_handle, gss_const_name_t target_name, const gss_OID input_mech_type, OM_uint32 req_flags, OM_uint32 time_req, const gss_channel_bindings_t input_chan_bindings, const gss_buffer_t input_token, gss_OID *actual_mech_type, gss_buffer_t output_token, OM_uint32 *ret_flags, OM_uint32 *time_rec)</td></tr> 52<tr class="separator:ga890d690b8598288f33e31370bcfd3127"><td class="memSeparator" colspan="2"> </td></tr> 53<tr class="memitem:gadc725eaf82322d8cf50812fc26442893"><td class="memItemLeft" align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#gadc725eaf82322d8cf50812fc26442893">gss_inquire_saslname_for_mech</a> (OM_uint32 *minor_status, const gss_OID desired_mech, gss_buffer_t sasl_mech_name, gss_buffer_t mech_name, gss_buffer_t mech_description)</td></tr> 54<tr class="separator:gadc725eaf82322d8cf50812fc26442893"><td class="memSeparator" colspan="2"> </td></tr> 55<tr class="memitem:gaf472671a43512495de04ca0c69079e5d"><td class="memItemLeft" align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#gaf472671a43512495de04ca0c69079e5d">gss_inquire_attrs_for_mech</a> (OM_uint32 *minor_status, gss_const_OID mech, gss_OID_set *mech_attr, gss_OID_set *known_mech_attrs)</td></tr> 56<tr class="separator:gaf472671a43512495de04ca0c69079e5d"><td class="memSeparator" colspan="2"> </td></tr> 57<tr class="memitem:gac98677df7ae9bbc387cd68002a97ad15"><td class="memItemLeft" align="right" valign="top">GSSAPI_LIB_FUNCTION int GSSAPI_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#gac98677df7ae9bbc387cd68002a97ad15">gss_oid_equal</a> (gss_const_OID a, gss_const_OID b)</td></tr> 58<tr class="separator:gac98677df7ae9bbc387cd68002a97ad15"><td class="memSeparator" colspan="2"> </td></tr> 59<tr class="memitem:gad2990721c56fe83e06d45648874680d7"><td class="memItemLeft" align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#gad2990721c56fe83e06d45648874680d7">gss_release_cred</a> (OM_uint32 *minor_status, gss_cred_id_t *cred_handle)</td></tr> 60<tr class="separator:gad2990721c56fe83e06d45648874680d7"><td class="memSeparator" colspan="2"> </td></tr> 61<tr class="memitem:ga0691190338f1f24170bd5f695ff1e721"><td class="memItemLeft" align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#ga0691190338f1f24170bd5f695ff1e721">gss_release_name</a> (OM_uint32 *minor_status, gss_name_t *input_name)</td></tr> 62<tr class="separator:ga0691190338f1f24170bd5f695ff1e721"><td class="memSeparator" colspan="2"> </td></tr> 63<tr class="memitem:ga4058cf5c3b04fd25f8339c71dd5e964c"><td class="memItemLeft" align="right" valign="top">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#ga4058cf5c3b04fd25f8339c71dd5e964c">gss_wrap</a> (OM_uint32 *minor_status, gss_const_ctx_id_t context_handle, int conf_req_flag, gss_qop_t qop_req, const gss_buffer_t input_message_buffer, int *conf_state, gss_buffer_t output_message_buffer)</td></tr> 64<tr class="separator:ga4058cf5c3b04fd25f8339c71dd5e964c"><td class="memSeparator" colspan="2"> </td></tr> 65</table><table class="memberdecls"> 66<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a> 67Variables</h2></td></tr> 68<tr class="memitem:ga961f7a7f9f92e06b91c6d503e524a672"><td class="memItemLeft" align="right" valign="top">gss_OID_desc GSSAPI_LIB_FUNCTION </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gssapi.html#ga961f7a7f9f92e06b91c6d503e524a672">__gss_c_attr_stream_sizes_oid_desc</a></td></tr> 69<tr class="separator:ga961f7a7f9f92e06b91c6d503e524a672"><td class="memSeparator" colspan="2"> </td></tr> 70</table> 71<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> 72<h2 class="groupheader">Function Documentation</h2> 73<a id="ga233373d4e0baa31615eb4d4f0ccb9683"></a> 74<h2 class="memtitle"><span class="permalink"><a href="#ga233373d4e0baa31615eb4d4f0ccb9683">◆ </a></span>gss_add_oid_set_member()</h2> 75 76<div class="memitem"> 77<div class="memproto"> 78 <table class="memname"> 79 <tr> 80 <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_add_oid_set_member </td> 81 <td>(</td> 82 <td class="paramtype">OM_uint32 * </td> 83 <td class="paramname"><em>minor_status</em>, </td> 84 </tr> 85 <tr> 86 <td class="paramkey"></td> 87 <td></td> 88 <td class="paramtype">const gss_OID </td> 89 <td class="paramname"><em>member_oid</em>, </td> 90 </tr> 91 <tr> 92 <td class="paramkey"></td> 93 <td></td> 94 <td class="paramtype">gss_OID_set * </td> 95 <td class="paramname"><em>oid_set</em> </td> 96 </tr> 97 <tr> 98 <td></td> 99 <td>)</td> 100 <td></td><td></td> 101 </tr> 102 </table> 103</div><div class="memdoc"> 104<p>Add a oid to the oid set, function does not make a copy of the oid, so the pointer to member_oid needs to be stable for the whole time oid_set is used.</p> 105<p>If there is a duplicate member of the oid, the new member is not added to to the set.</p> 106<dl class="params"><dt>Parameters</dt><dd> 107 <table class="params"> 108 <tr><td class="paramname">minor_status</td><td>minor status code. </td></tr> 109 <tr><td class="paramname">member_oid</td><td>member to add to the oid set </td></tr> 110 <tr><td class="paramname">oid_set</td><td>oid set to add the member too</td></tr> 111 </table> 112 </dd> 113</dl> 114<dl class="section return"><dt>Returns</dt><dd>a gss_error code, see <a class="el" href="group__gssapi.html#ga770d87c1b80a58e91ec3a9ed70468122">gss_display_status()</a> about printing the error code. </dd></dl> 115 116</div> 117</div> 118<a id="gae00fe4a91f13d61172361a30fb24a06e"></a> 119<h2 class="memtitle"><span class="permalink"><a href="#gae00fe4a91f13d61172361a30fb24a06e">◆ </a></span>gss_canonicalize_name()</h2> 120 121<div class="memitem"> 122<div class="memproto"> 123 <table class="memname"> 124 <tr> 125 <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_canonicalize_name </td> 126 <td>(</td> 127 <td class="paramtype">OM_uint32 * </td> 128 <td class="paramname"><em>minor_status</em>, </td> 129 </tr> 130 <tr> 131 <td class="paramkey"></td> 132 <td></td> 133 <td class="paramtype">gss_const_name_t </td> 134 <td class="paramname"><em>input_name</em>, </td> 135 </tr> 136 <tr> 137 <td class="paramkey"></td> 138 <td></td> 139 <td class="paramtype">const gss_OID </td> 140 <td class="paramname"><em>mech_type</em>, </td> 141 </tr> 142 <tr> 143 <td class="paramkey"></td> 144 <td></td> 145 <td class="paramtype">gss_name_t * </td> 146 <td class="paramname"><em>output_name</em> </td> 147 </tr> 148 <tr> 149 <td></td> 150 <td>)</td> 151 <td></td><td></td> 152 </tr> 153 </table> 154</div><div class="memdoc"> 155<p>gss_canonicalize_name takes a Internal Name (IN) and converts in into a mechanism specific Mechanism Name (MN).</p> 156<p>The input name may multiple name, or generic name types.</p> 157<p>If the input_name if of the GSS_C_NT_USER_NAME, and the Kerberos mechanism is specified, the resulting MN type is a GSS_KRB5_NT_PRINCIPAL_NAME.</p> 158<p>For more information about <a class="el" href="internal_v_smechname.html">Internal names and mechanism names</a>.</p> 159<dl class="params"><dt>Parameters</dt><dd> 160 <table class="params"> 161 <tr><td class="paramname">minor_status</td><td>minor status code. </td></tr> 162 <tr><td class="paramname">input_name</td><td>name to covert, unchanged by <a class="el" href="group__gssapi.html#gae00fe4a91f13d61172361a30fb24a06e">gss_canonicalize_name()</a>. </td></tr> 163 <tr><td class="paramname">mech_type</td><td>the type to convert Name too. </td></tr> 164 <tr><td class="paramname">output_name</td><td>the resulting type, release with <a class="el" href="group__gssapi.html#ga0691190338f1f24170bd5f695ff1e721">gss_release_name()</a>, independent of input_name.</td></tr> 165 </table> 166 </dd> 167</dl> 168<dl class="section return"><dt>Returns</dt><dd>a gss_error code, see <a class="el" href="group__gssapi.html#ga770d87c1b80a58e91ec3a9ed70468122">gss_display_status()</a> about printing the error code. </dd></dl> 169 170</div> 171</div> 172<a id="ga770d87c1b80a58e91ec3a9ed70468122"></a> 173<h2 class="memtitle"><span class="permalink"><a href="#ga770d87c1b80a58e91ec3a9ed70468122">◆ </a></span>gss_display_status()</h2> 174 175<div class="memitem"> 176<div class="memproto"> 177 <table class="memname"> 178 <tr> 179 <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_display_status </td> 180 <td>(</td> 181 <td class="paramtype">OM_uint32 * </td> 182 <td class="paramname"><em>minor_status</em>, </td> 183 </tr> 184 <tr> 185 <td class="paramkey"></td> 186 <td></td> 187 <td class="paramtype">OM_uint32 </td> 188 <td class="paramname"><em>status_value</em>, </td> 189 </tr> 190 <tr> 191 <td class="paramkey"></td> 192 <td></td> 193 <td class="paramtype">int </td> 194 <td class="paramname"><em>status_type</em>, </td> 195 </tr> 196 <tr> 197 <td class="paramkey"></td> 198 <td></td> 199 <td class="paramtype">const gss_OID </td> 200 <td class="paramname"><em>mech_type</em>, </td> 201 </tr> 202 <tr> 203 <td class="paramkey"></td> 204 <td></td> 205 <td class="paramtype">OM_uint32 * </td> 206 <td class="paramname"><em>message_context</em>, </td> 207 </tr> 208 <tr> 209 <td class="paramkey"></td> 210 <td></td> 211 <td class="paramtype">gss_buffer_t </td> 212 <td class="paramname"><em>status_string</em> </td> 213 </tr> 214 <tr> 215 <td></td> 216 <td>)</td> 217 <td></td><td></td> 218 </tr> 219 </table> 220</div><div class="memdoc"> 221<p>Convert a GSS-API status code to text</p> 222<dl class="params"><dt>Parameters</dt><dd> 223 <table class="params"> 224 <tr><td class="paramname">minor_status</td><td>minor status code </td></tr> 225 <tr><td class="paramname">status_value</td><td>status value to convert </td></tr> 226 <tr><td class="paramname">status_type</td><td>One of: GSS_C_GSS_CODE - status_value is a GSS status code, GSS_C_MECH_CODE - status_value is a mechanism status code </td></tr> 227 <tr><td class="paramname">mech_type</td><td>underlying mechanism. Use GSS_C_NO_OID to obtain the system default. </td></tr> 228 <tr><td class="paramname">message_context</td><td>state information to extract further messages from the status_value </td></tr> 229 <tr><td class="paramname">status_string</td><td>the allocated text representation. Release with gss_release_buffer()</td></tr> 230 </table> 231 </dd> 232</dl> 233<dl class="section return"><dt>Returns</dt><dd>a gss_error code. </dd></dl> 234 235</div> 236</div> 237<a id="ga353814c7de38c9e2894ca66f0c15c8eb"></a> 238<h2 class="memtitle"><span class="permalink"><a href="#ga353814c7de38c9e2894ca66f0c15c8eb">◆ </a></span>gss_export_name()</h2> 239 240<div class="memitem"> 241<div class="memproto"> 242 <table class="memname"> 243 <tr> 244 <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_export_name </td> 245 <td>(</td> 246 <td class="paramtype">OM_uint32 * </td> 247 <td class="paramname"><em>minor_status</em>, </td> 248 </tr> 249 <tr> 250 <td class="paramkey"></td> 251 <td></td> 252 <td class="paramtype">gss_const_name_t </td> 253 <td class="paramname"><em>input_name</em>, </td> 254 </tr> 255 <tr> 256 <td class="paramkey"></td> 257 <td></td> 258 <td class="paramtype">gss_buffer_t </td> 259 <td class="paramname"><em>exported_name</em> </td> 260 </tr> 261 <tr> 262 <td></td> 263 <td>)</td> 264 <td></td><td></td> 265 </tr> 266 </table> 267</div><div class="memdoc"> 268<p>Convert a GGS-API name from internal form to contiguous string.</p> 269<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__gssapi.html#ga0afe06fd5264ebfb93ecca4bcc70895b">gss_import_name()</a>, <a class="el" href="internal_v_smechname.html">Internal names and mechanism names</a>.</dd></dl> 270<dl class="params"><dt>Parameters</dt><dd> 271 <table class="params"> 272 <tr><td class="paramname">minor_status</td><td>minor status code </td></tr> 273 <tr><td class="paramname">input_name</td><td>input name in internal name form </td></tr> 274 <tr><td class="paramname">exported_name</td><td>output name in contiguos string form</td></tr> 275 </table> 276 </dd> 277</dl> 278<dl class="section return"><dt>Returns</dt><dd>a gss_error code, see <a class="el" href="group__gssapi.html#ga770d87c1b80a58e91ec3a9ed70468122">gss_display_status()</a> about printing the error code. </dd></dl> 279 280</div> 281</div> 282<a id="ga0afe06fd5264ebfb93ecca4bcc70895b"></a> 283<h2 class="memtitle"><span class="permalink"><a href="#ga0afe06fd5264ebfb93ecca4bcc70895b">◆ </a></span>gss_import_name()</h2> 284 285<div class="memitem"> 286<div class="memproto"> 287 <table class="memname"> 288 <tr> 289 <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_import_name </td> 290 <td>(</td> 291 <td class="paramtype">OM_uint32 * </td> 292 <td class="paramname"><em>minor_status</em>, </td> 293 </tr> 294 <tr> 295 <td class="paramkey"></td> 296 <td></td> 297 <td class="paramtype">const gss_buffer_t </td> 298 <td class="paramname"><em>input_name_buffer</em>, </td> 299 </tr> 300 <tr> 301 <td class="paramkey"></td> 302 <td></td> 303 <td class="paramtype">const gss_OID </td> 304 <td class="paramname"><em>input_name_type</em>, </td> 305 </tr> 306 <tr> 307 <td class="paramkey"></td> 308 <td></td> 309 <td class="paramtype">gss_name_t * </td> 310 <td class="paramname"><em>output_name</em> </td> 311 </tr> 312 <tr> 313 <td></td> 314 <td>)</td> 315 <td></td><td></td> 316 </tr> 317 </table> 318</div><div class="memdoc"> 319<p>Convert a GGS-API name from contiguous string to internal form.</p> 320<p>Type of name and their format:</p><ul> 321<li>GSS_C_NO_OID</li> 322<li>GSS_C_NT_USER_NAME</li> 323<li>GSS_C_NT_HOSTBASED_SERVICE</li> 324<li>GSS_C_NT_EXPORT_NAME</li> 325<li>GSS_C_NT_ANONYMOUS</li> 326<li>GSS_KRB5_NT_PRINCIPAL_NAME</li> 327</ul> 328<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__gssapi.html#ga353814c7de38c9e2894ca66f0c15c8eb">gss_export_name()</a>, <a class="el" href="internal_v_smechname.html">Internal names and mechanism names</a>.</dd></dl> 329<dl class="params"><dt>Parameters</dt><dd> 330 <table class="params"> 331 <tr><td class="paramname">minor_status</td><td>minor status code </td></tr> 332 <tr><td class="paramname">input_name_buffer</td><td>import name buffer </td></tr> 333 <tr><td class="paramname">input_name_type</td><td>type of the import name buffer </td></tr> 334 <tr><td class="paramname">output_name</td><td>the resulting type, release with <a class="el" href="group__gssapi.html#ga0691190338f1f24170bd5f695ff1e721">gss_release_name()</a>, independent of input_name</td></tr> 335 </table> 336 </dd> 337</dl> 338<dl class="section return"><dt>Returns</dt><dd>a gss_error code, see <a class="el" href="group__gssapi.html#ga770d87c1b80a58e91ec3a9ed70468122">gss_display_status()</a> about printing the error code. </dd></dl> 339 340</div> 341</div> 342<a id="ga890d690b8598288f33e31370bcfd3127"></a> 343<h2 class="memtitle"><span class="permalink"><a href="#ga890d690b8598288f33e31370bcfd3127">◆ </a></span>gss_init_sec_context()</h2> 344 345<div class="memitem"> 346<div class="memproto"> 347 <table class="memname"> 348 <tr> 349 <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_init_sec_context </td> 350 <td>(</td> 351 <td class="paramtype">OM_uint32 * </td> 352 <td class="paramname"><em>minor_status</em>, </td> 353 </tr> 354 <tr> 355 <td class="paramkey"></td> 356 <td></td> 357 <td class="paramtype">gss_const_cred_id_t </td> 358 <td class="paramname"><em>initiator_cred_handle</em>, </td> 359 </tr> 360 <tr> 361 <td class="paramkey"></td> 362 <td></td> 363 <td class="paramtype">gss_ctx_id_t * </td> 364 <td class="paramname"><em>context_handle</em>, </td> 365 </tr> 366 <tr> 367 <td class="paramkey"></td> 368 <td></td> 369 <td class="paramtype">gss_const_name_t </td> 370 <td class="paramname"><em>target_name</em>, </td> 371 </tr> 372 <tr> 373 <td class="paramkey"></td> 374 <td></td> 375 <td class="paramtype">const gss_OID </td> 376 <td class="paramname"><em>input_mech_type</em>, </td> 377 </tr> 378 <tr> 379 <td class="paramkey"></td> 380 <td></td> 381 <td class="paramtype">OM_uint32 </td> 382 <td class="paramname"><em>req_flags</em>, </td> 383 </tr> 384 <tr> 385 <td class="paramkey"></td> 386 <td></td> 387 <td class="paramtype">OM_uint32 </td> 388 <td class="paramname"><em>time_req</em>, </td> 389 </tr> 390 <tr> 391 <td class="paramkey"></td> 392 <td></td> 393 <td class="paramtype">const gss_channel_bindings_t </td> 394 <td class="paramname"><em>input_chan_bindings</em>, </td> 395 </tr> 396 <tr> 397 <td class="paramkey"></td> 398 <td></td> 399 <td class="paramtype">const gss_buffer_t </td> 400 <td class="paramname"><em>input_token</em>, </td> 401 </tr> 402 <tr> 403 <td class="paramkey"></td> 404 <td></td> 405 <td class="paramtype">gss_OID * </td> 406 <td class="paramname"><em>actual_mech_type</em>, </td> 407 </tr> 408 <tr> 409 <td class="paramkey"></td> 410 <td></td> 411 <td class="paramtype">gss_buffer_t </td> 412 <td class="paramname"><em>output_token</em>, </td> 413 </tr> 414 <tr> 415 <td class="paramkey"></td> 416 <td></td> 417 <td class="paramtype">OM_uint32 * </td> 418 <td class="paramname"><em>ret_flags</em>, </td> 419 </tr> 420 <tr> 421 <td class="paramkey"></td> 422 <td></td> 423 <td class="paramtype">OM_uint32 * </td> 424 <td class="paramname"><em>time_rec</em> </td> 425 </tr> 426 <tr> 427 <td></td> 428 <td>)</td> 429 <td></td><td></td> 430 </tr> 431 </table> 432</div><div class="memdoc"> 433<p>As the initiator build a context with an acceptor.</p> 434<p>Returns in the major</p><ul> 435<li>GSS_S_COMPLETE - if the context if build</li> 436<li>GSS_S_CONTINUE_NEEDED - if the caller needs to continue another round of gss_i nit_sec_context</li> 437<li>error code - any other error code</li> 438</ul> 439<dl class="params"><dt>Parameters</dt><dd> 440 <table class="params"> 441 <tr><td class="paramname">minor_status</td><td>minor status code.</td></tr> 442 <tr><td class="paramname">initiator_cred_handle</td><td>the credential to use when building the context, if GSS_C_NO_CREDENTIAL is passed, the default credential for the mechanism will be used.</td></tr> 443 <tr><td class="paramname">context_handle</td><td>a pointer to a context handle, will be returned as long as there is not an error.</td></tr> 444 <tr><td class="paramname">target_name</td><td>the target name of acceptor, created using <a class="el" href="group__gssapi.html#ga0afe06fd5264ebfb93ecca4bcc70895b">gss_import_name()</a>. The name is can be of any name types the mechanism supports, check supported name types with gss_inquire_names_for_mech().</td></tr> 445 <tr><td class="paramname">input_mech_type</td><td>mechanism type to use, if GSS_C_NO_OID is used, Kerberos (GSS_KRB5_MECHANISM) will be tried. Other available mechanism are listed in the <a class="el" href="gssapi_mechs_intro.html">GSS-API mechanisms</a> section.</td></tr> 446 <tr><td class="paramname">req_flags</td><td>flags using when building the context, see <a class="el" href="gssapi_services_intro.html#gssapi_context_flags">Context creation flags</a></td></tr> 447 <tr><td class="paramname">time_req</td><td>time requested this context should be valid in seconds, common used value is GSS_C_INDEFINITE</td></tr> 448 <tr><td class="paramname">input_chan_bindings</td><td>Channel bindings used, if not exepected otherwise, used GSS_C_NO_CHANNEL_BINDINGS</td></tr> 449 <tr><td class="paramname">input_token</td><td>input token sent from the acceptor, for the initial packet the buffer of { NULL, 0 } should be used.</td></tr> 450 <tr><td class="paramname">actual_mech_type</td><td>the actual mech used, MUST NOT be freed since it pointing to static memory.</td></tr> 451 <tr><td class="paramname">output_token</td><td>if there is an output token, regardless of complete, continue_needed, or error it should be sent to the acceptor</td></tr> 452 <tr><td class="paramname">ret_flags</td><td>return what flags was negotitated, caller should check if they are accetable. For example, if GSS_C_MUTUAL_FLAG was negotiated with the acceptor or not.</td></tr> 453 <tr><td class="paramname">time_rec</td><td>amount of time this context is valid for</td></tr> 454 </table> 455 </dd> 456</dl> 457<dl class="section return"><dt>Returns</dt><dd>a gss_error code, see <a class="el" href="group__gssapi.html#ga770d87c1b80a58e91ec3a9ed70468122">gss_display_status()</a> about printing the error code. </dd></dl> 458 459</div> 460</div> 461<a id="gaf472671a43512495de04ca0c69079e5d"></a> 462<h2 class="memtitle"><span class="permalink"><a href="#gaf472671a43512495de04ca0c69079e5d">◆ </a></span>gss_inquire_attrs_for_mech()</h2> 463 464<div class="memitem"> 465<div class="memproto"> 466 <table class="memname"> 467 <tr> 468 <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_inquire_attrs_for_mech </td> 469 <td>(</td> 470 <td class="paramtype">OM_uint32 * </td> 471 <td class="paramname"><em>minor_status</em>, </td> 472 </tr> 473 <tr> 474 <td class="paramkey"></td> 475 <td></td> 476 <td class="paramtype">gss_const_OID </td> 477 <td class="paramname"><em>mech</em>, </td> 478 </tr> 479 <tr> 480 <td class="paramkey"></td> 481 <td></td> 482 <td class="paramtype">gss_OID_set * </td> 483 <td class="paramname"><em>mech_attr</em>, </td> 484 </tr> 485 <tr> 486 <td class="paramkey"></td> 487 <td></td> 488 <td class="paramtype">gss_OID_set * </td> 489 <td class="paramname"><em>known_mech_attrs</em> </td> 490 </tr> 491 <tr> 492 <td></td> 493 <td>)</td> 494 <td></td><td></td> 495 </tr> 496 </table> 497</div><div class="memdoc"> 498<p>List support attributes for a mech and/or all mechanisms.</p> 499<dl class="params"><dt>Parameters</dt><dd> 500 <table class="params"> 501 <tr><td class="paramname">minor_status</td><td>minor status code </td></tr> 502 <tr><td class="paramname">mech</td><td>given together with mech_attr will return the list of attributes for mechanism, can optionally be GSS_C_NO_OID. </td></tr> 503 <tr><td class="paramname">mech_attr</td><td>see mech parameter, can optionally be NULL, release with gss_release_oid_set(). </td></tr> 504 <tr><td class="paramname">known_mech_attrs</td><td>all attributes for mechanisms supported, release with gss_release_oid_set(). </td></tr> 505 </table> 506 </dd> 507</dl> 508 509</div> 510</div> 511<a id="gadc725eaf82322d8cf50812fc26442893"></a> 512<h2 class="memtitle"><span class="permalink"><a href="#gadc725eaf82322d8cf50812fc26442893">◆ </a></span>gss_inquire_saslname_for_mech()</h2> 513 514<div class="memitem"> 515<div class="memproto"> 516 <table class="memname"> 517 <tr> 518 <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_inquire_saslname_for_mech </td> 519 <td>(</td> 520 <td class="paramtype">OM_uint32 * </td> 521 <td class="paramname"><em>minor_status</em>, </td> 522 </tr> 523 <tr> 524 <td class="paramkey"></td> 525 <td></td> 526 <td class="paramtype">const gss_OID </td> 527 <td class="paramname"><em>desired_mech</em>, </td> 528 </tr> 529 <tr> 530 <td class="paramkey"></td> 531 <td></td> 532 <td class="paramtype">gss_buffer_t </td> 533 <td class="paramname"><em>sasl_mech_name</em>, </td> 534 </tr> 535 <tr> 536 <td class="paramkey"></td> 537 <td></td> 538 <td class="paramtype">gss_buffer_t </td> 539 <td class="paramname"><em>mech_name</em>, </td> 540 </tr> 541 <tr> 542 <td class="paramkey"></td> 543 <td></td> 544 <td class="paramtype">gss_buffer_t </td> 545 <td class="paramname"><em>mech_description</em> </td> 546 </tr> 547 <tr> 548 <td></td> 549 <td>)</td> 550 <td></td><td></td> 551 </tr> 552 </table> 553</div><div class="memdoc"> 554<p>Returns different protocol names and description of the mechanism.</p> 555<dl class="params"><dt>Parameters</dt><dd> 556 <table class="params"> 557 <tr><td class="paramname">minor_status</td><td>minor status code </td></tr> 558 <tr><td class="paramname">desired_mech</td><td>mech list query </td></tr> 559 <tr><td class="paramname">sasl_mech_name</td><td>SASL GS2 protocol name </td></tr> 560 <tr><td class="paramname">mech_name</td><td>gssapi protocol name </td></tr> 561 <tr><td class="paramname">mech_description</td><td>description of gssapi mech</td></tr> 562 </table> 563 </dd> 564</dl> 565<dl class="section return"><dt>Returns</dt><dd>returns GSS_S_COMPLETE or a error code. </dd></dl> 566 567</div> 568</div> 569<a id="gac98677df7ae9bbc387cd68002a97ad15"></a> 570<h2 class="memtitle"><span class="permalink"><a href="#gac98677df7ae9bbc387cd68002a97ad15">◆ </a></span>gss_oid_equal()</h2> 571 572<div class="memitem"> 573<div class="memproto"> 574 <table class="memname"> 575 <tr> 576 <td class="memname">GSSAPI_LIB_FUNCTION int GSSAPI_LIB_CALL gss_oid_equal </td> 577 <td>(</td> 578 <td class="paramtype">gss_const_OID </td> 579 <td class="paramname"><em>a</em>, </td> 580 </tr> 581 <tr> 582 <td class="paramkey"></td> 583 <td></td> 584 <td class="paramtype">gss_const_OID </td> 585 <td class="paramname"><em>b</em> </td> 586 </tr> 587 <tr> 588 <td></td> 589 <td>)</td> 590 <td></td><td></td> 591 </tr> 592 </table> 593</div><div class="memdoc"> 594<p>Compare two GSS-API OIDs with each other.</p> 595<p>GSS_C_NO_OID matches nothing, not even it-self.</p> 596<dl class="params"><dt>Parameters</dt><dd> 597 <table class="params"> 598 <tr><td class="paramname">a</td><td>first oid to compare </td></tr> 599 <tr><td class="paramname">b</td><td>second oid to compare</td></tr> 600 </table> 601 </dd> 602</dl> 603<dl class="section return"><dt>Returns</dt><dd>non-zero when both oid are the same OID, zero when they are not the same. </dd></dl> 604 605</div> 606</div> 607<a id="gad2990721c56fe83e06d45648874680d7"></a> 608<h2 class="memtitle"><span class="permalink"><a href="#gad2990721c56fe83e06d45648874680d7">◆ </a></span>gss_release_cred()</h2> 609 610<div class="memitem"> 611<div class="memproto"> 612 <table class="memname"> 613 <tr> 614 <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_release_cred </td> 615 <td>(</td> 616 <td class="paramtype">OM_uint32 * </td> 617 <td class="paramname"><em>minor_status</em>, </td> 618 </tr> 619 <tr> 620 <td class="paramkey"></td> 621 <td></td> 622 <td class="paramtype">gss_cred_id_t * </td> 623 <td class="paramname"><em>cred_handle</em> </td> 624 </tr> 625 <tr> 626 <td></td> 627 <td>)</td> 628 <td></td><td></td> 629 </tr> 630 </table> 631</div><div class="memdoc"> 632<p>Release a credentials</p> 633<p>Its ok to release the GSS_C_NO_CREDENTIAL/NULL credential, it will return a GSS_S_COMPLETE error code. On return cred_handle is set ot GSS_C_NO_CREDENTIAL.</p> 634<p>Example:</p> 635<div class="fragment"><div class="line">gss_cred_id_t cred = GSS_C_NO_CREDENTIAL;</div> 636<div class="line">major = <a class="code" href="group__gssapi.html#gad2990721c56fe83e06d45648874680d7">gss_release_cred</a>(&minor, &cred);</div> 637<div class="ttc" id="agroup__gssapi_html_gad2990721c56fe83e06d45648874680d7"><div class="ttname"><a href="group__gssapi.html#gad2990721c56fe83e06d45648874680d7">gss_release_cred</a></div><div class="ttdeci">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_release_cred(OM_uint32 *, gss_cred_id_t *)</div><div class="ttdef"><b>Definition:</b> gss_release_cred.c:54</div></div> 638</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd> 639 <table class="params"> 640 <tr><td class="paramname">minor_status</td><td>minor status return code, mech specific </td></tr> 641 <tr><td class="paramname">cred_handle</td><td>a pointer to the credential too release</td></tr> 642 </table> 643 </dd> 644</dl> 645<dl class="section return"><dt>Returns</dt><dd>an gssapi error code </dd></dl> 646 647</div> 648</div> 649<a id="ga2dbb20a4c9a3cf5072ef081cd37e54b4"></a> 650<h2 class="memtitle"><span class="permalink"><a href="#ga2dbb20a4c9a3cf5072ef081cd37e54b4">◆ </a></span>gss_release_iov_buffer()</h2> 651 652<div class="memitem"> 653<div class="memproto"> 654 <table class="memname"> 655 <tr> 656 <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_release_iov_buffer </td> 657 <td>(</td> 658 <td class="paramtype">OM_uint32 * </td> 659 <td class="paramname"><em>minor_status</em>, </td> 660 </tr> 661 <tr> 662 <td class="paramkey"></td> 663 <td></td> 664 <td class="paramtype">gss_iov_buffer_desc * </td> 665 <td class="paramname"><em>iov</em>, </td> 666 </tr> 667 <tr> 668 <td class="paramkey"></td> 669 <td></td> 670 <td class="paramtype">int </td> 671 <td class="paramname"><em>iov_count</em> </td> 672 </tr> 673 <tr> 674 <td></td> 675 <td>)</td> 676 <td></td><td></td> 677 </tr> 678 </table> 679</div><div class="memdoc"> 680<p>Free all buffer allocated by <a class="el" href="group__gssapi.html#gab02ec963066cc8e5e6682799457208e9">gss_wrap_iov()</a> or <a class="el" href="group__gssapi.html#ga399bb326e47574aca7b28d6886d29fd0">gss_unwrap_iov()</a> by looking at the GSS_IOV_BUFFER_FLAG_ALLOCATED flag. </p> 681 682</div> 683</div> 684<a id="ga0691190338f1f24170bd5f695ff1e721"></a> 685<h2 class="memtitle"><span class="permalink"><a href="#ga0691190338f1f24170bd5f695ff1e721">◆ </a></span>gss_release_name()</h2> 686 687<div class="memitem"> 688<div class="memproto"> 689 <table class="memname"> 690 <tr> 691 <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_release_name </td> 692 <td>(</td> 693 <td class="paramtype">OM_uint32 * </td> 694 <td class="paramname"><em>minor_status</em>, </td> 695 </tr> 696 <tr> 697 <td class="paramkey"></td> 698 <td></td> 699 <td class="paramtype">gss_name_t * </td> 700 <td class="paramname"><em>input_name</em> </td> 701 </tr> 702 <tr> 703 <td></td> 704 <td>)</td> 705 <td></td><td></td> 706 </tr> 707 </table> 708</div><div class="memdoc"> 709<p>Free a name</p> 710<p>import_name can point to NULL or be NULL, or a pointer to a gss_name_t structure. If it was a pointer to gss_name_t, the pointer will be set to NULL on success and failure.</p> 711<dl class="params"><dt>Parameters</dt><dd> 712 <table class="params"> 713 <tr><td class="paramname">minor_status</td><td>minor status code </td></tr> 714 <tr><td class="paramname">input_name</td><td>name to free</td></tr> 715 </table> 716 </dd> 717</dl> 718<dl class="section return"><dt>Returns</dt><dd>a gss_error code, see <a class="el" href="group__gssapi.html#ga770d87c1b80a58e91ec3a9ed70468122">gss_display_status()</a> about printing the error code. </dd></dl> 719 720</div> 721</div> 722<a id="ga399bb326e47574aca7b28d6886d29fd0"></a> 723<h2 class="memtitle"><span class="permalink"><a href="#ga399bb326e47574aca7b28d6886d29fd0">◆ </a></span>gss_unwrap_iov()</h2> 724 725<div class="memitem"> 726<div class="memproto"> 727 <table class="memname"> 728 <tr> 729 <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_unwrap_iov </td> 730 <td>(</td> 731 <td class="paramtype">OM_uint32 * </td> 732 <td class="paramname"><em>minor_status</em>, </td> 733 </tr> 734 <tr> 735 <td class="paramkey"></td> 736 <td></td> 737 <td class="paramtype">gss_ctx_id_t </td> 738 <td class="paramname"><em>context_handle</em>, </td> 739 </tr> 740 <tr> 741 <td class="paramkey"></td> 742 <td></td> 743 <td class="paramtype">int * </td> 744 <td class="paramname"><em>conf_state</em>, </td> 745 </tr> 746 <tr> 747 <td class="paramkey"></td> 748 <td></td> 749 <td class="paramtype">gss_qop_t * </td> 750 <td class="paramname"><em>qop_state</em>, </td> 751 </tr> 752 <tr> 753 <td class="paramkey"></td> 754 <td></td> 755 <td class="paramtype">gss_iov_buffer_desc * </td> 756 <td class="paramname"><em>iov</em>, </td> 757 </tr> 758 <tr> 759 <td class="paramkey"></td> 760 <td></td> 761 <td class="paramtype">int </td> 762 <td class="paramname"><em>iov_count</em> </td> 763 </tr> 764 <tr> 765 <td></td> 766 <td>)</td> 767 <td></td><td></td> 768 </tr> 769 </table> 770</div><div class="memdoc"> 771<p>Decrypt or verifies the signature on the data. </p> 772 773</div> 774</div> 775<a id="ga4058cf5c3b04fd25f8339c71dd5e964c"></a> 776<h2 class="memtitle"><span class="permalink"><a href="#ga4058cf5c3b04fd25f8339c71dd5e964c">◆ </a></span>gss_wrap()</h2> 777 778<div class="memitem"> 779<div class="memproto"> 780 <table class="memname"> 781 <tr> 782 <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_wrap </td> 783 <td>(</td> 784 <td class="paramtype">OM_uint32 * </td> 785 <td class="paramname"><em>minor_status</em>, </td> 786 </tr> 787 <tr> 788 <td class="paramkey"></td> 789 <td></td> 790 <td class="paramtype">gss_const_ctx_id_t </td> 791 <td class="paramname"><em>context_handle</em>, </td> 792 </tr> 793 <tr> 794 <td class="paramkey"></td> 795 <td></td> 796 <td class="paramtype">int </td> 797 <td class="paramname"><em>conf_req_flag</em>, </td> 798 </tr> 799 <tr> 800 <td class="paramkey"></td> 801 <td></td> 802 <td class="paramtype">gss_qop_t </td> 803 <td class="paramname"><em>qop_req</em>, </td> 804 </tr> 805 <tr> 806 <td class="paramkey"></td> 807 <td></td> 808 <td class="paramtype">const gss_buffer_t </td> 809 <td class="paramname"><em>input_message_buffer</em>, </td> 810 </tr> 811 <tr> 812 <td class="paramkey"></td> 813 <td></td> 814 <td class="paramtype">int * </td> 815 <td class="paramname"><em>conf_state</em>, </td> 816 </tr> 817 <tr> 818 <td class="paramkey"></td> 819 <td></td> 820 <td class="paramtype">gss_buffer_t </td> 821 <td class="paramname"><em>output_message_buffer</em> </td> 822 </tr> 823 <tr> 824 <td></td> 825 <td>)</td> 826 <td></td><td></td> 827 </tr> 828 </table> 829</div><div class="memdoc"> 830<p>Wrap a message using either confidentiality (encryption + signature) or sealing (signature).</p> 831<dl class="params"><dt>Parameters</dt><dd> 832 <table class="params"> 833 <tr><td class="paramname">minor_status</td><td>minor status code. </td></tr> 834 <tr><td class="paramname">context_handle</td><td>context handle. </td></tr> 835 <tr><td class="paramname">conf_req_flag</td><td>if non zero, confidentiality is requestd. </td></tr> 836 <tr><td class="paramname">qop_req</td><td>type of protection needed, in most cases it GSS_C_QOP_DEFAULT should be passed in. </td></tr> 837 <tr><td class="paramname">input_message_buffer</td><td>messages to wrap </td></tr> 838 <tr><td class="paramname">conf_state</td><td>returns non zero if confidentiality was honoured. </td></tr> 839 <tr><td class="paramname">output_message_buffer</td><td>the resulting buffer, release with gss_release_buffer(). </td></tr> 840 </table> 841 </dd> 842</dl> 843 844</div> 845</div> 846<a id="gab02ec963066cc8e5e6682799457208e9"></a> 847<h2 class="memtitle"><span class="permalink"><a href="#gab02ec963066cc8e5e6682799457208e9">◆ </a></span>gss_wrap_iov()</h2> 848 849<div class="memitem"> 850<div class="memproto"> 851 <table class="memname"> 852 <tr> 853 <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_wrap_iov </td> 854 <td>(</td> 855 <td class="paramtype">OM_uint32 * </td> 856 <td class="paramname"><em>minor_status</em>, </td> 857 </tr> 858 <tr> 859 <td class="paramkey"></td> 860 <td></td> 861 <td class="paramtype">gss_ctx_id_t </td> 862 <td class="paramname"><em>context_handle</em>, </td> 863 </tr> 864 <tr> 865 <td class="paramkey"></td> 866 <td></td> 867 <td class="paramtype">int </td> 868 <td class="paramname"><em>conf_req_flag</em>, </td> 869 </tr> 870 <tr> 871 <td class="paramkey"></td> 872 <td></td> 873 <td class="paramtype">gss_qop_t </td> 874 <td class="paramname"><em>qop_req</em>, </td> 875 </tr> 876 <tr> 877 <td class="paramkey"></td> 878 <td></td> 879 <td class="paramtype">int * </td> 880 <td class="paramname"><em>conf_state</em>, </td> 881 </tr> 882 <tr> 883 <td class="paramkey"></td> 884 <td></td> 885 <td class="paramtype">gss_iov_buffer_desc * </td> 886 <td class="paramname"><em>iov</em>, </td> 887 </tr> 888 <tr> 889 <td class="paramkey"></td> 890 <td></td> 891 <td class="paramtype">int </td> 892 <td class="paramname"><em>iov_count</em> </td> 893 </tr> 894 <tr> 895 <td></td> 896 <td>)</td> 897 <td></td><td></td> 898 </tr> 899 </table> 900</div><div class="memdoc"> 901<p>Encrypts or sign the data.</p> 902<p>This is a more complicated version of <a class="el" href="group__gssapi.html#ga4058cf5c3b04fd25f8339c71dd5e964c">gss_wrap()</a>, it allows the caller to use AEAD data (signed header/trailer) and allow greater controll over where the encrypted data is placed.</p> 903<p>The maximum packet size is gss_context_stream_sizes.max_msg_size.</p> 904<p>The caller needs provide the folloing buffers when using in conf_req_flag=1 mode:</p> 905<ul> 906<li>HEADER (of size gss_context_stream_sizes.header) { DATA or SIGN_ONLY } (optional, zero or more) PADDING (of size gss_context_stream_sizes.blocksize, if zero padding is zero, can be omitted) TRAILER (of size gss_context_stream_sizes.trailer)</li> 907<li>on DCE-RPC mode, the caller can skip PADDING and TRAILER if the DATA elements is padded to a block bountry and header is of at least size gss_context_stream_sizes.header + gss_context_stream_sizes.trailer.</li> 908</ul> 909<p>HEADER, PADDING, TRAILER will be shrunken to the size required to transmit any of them too large.</p> 910<p>To generate <a class="el" href="group__gssapi.html#ga4058cf5c3b04fd25f8339c71dd5e964c">gss_wrap()</a> compatible packets, use: HEADER | DATA | PADDING | TRAILER</p> 911<p>When used in conf_req_flag=0,</p> 912<ul> 913<li>HEADER (of size gss_context_stream_sizes.header) { DATA or SIGN_ONLY } (optional, zero or more) PADDING (of size gss_context_stream_sizes.blocksize, if zero padding is zero, can be omitted) TRAILER (of size gss_context_stream_sizes.trailer)</li> 914</ul> 915<p>The input sizes of HEADER, PADDING and TRAILER can be fetched using <a class="el" href="group__gssapi.html#ga6216cfcb1ba8dc2d1a1d680d21752f26">gss_wrap_iov_length()</a> or gss_context_query_attributes(). </p> 916 917</div> 918</div> 919<a id="ga6216cfcb1ba8dc2d1a1d680d21752f26"></a> 920<h2 class="memtitle"><span class="permalink"><a href="#ga6216cfcb1ba8dc2d1a1d680d21752f26">◆ </a></span>gss_wrap_iov_length()</h2> 921 922<div class="memitem"> 923<div class="memproto"> 924 <table class="memname"> 925 <tr> 926 <td class="memname">GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_wrap_iov_length </td> 927 <td>(</td> 928 <td class="paramtype">OM_uint32 * </td> 929 <td class="paramname"><em>minor_status</em>, </td> 930 </tr> 931 <tr> 932 <td class="paramkey"></td> 933 <td></td> 934 <td class="paramtype">gss_ctx_id_t </td> 935 <td class="paramname"><em>context_handle</em>, </td> 936 </tr> 937 <tr> 938 <td class="paramkey"></td> 939 <td></td> 940 <td class="paramtype">int </td> 941 <td class="paramname"><em>conf_req_flag</em>, </td> 942 </tr> 943 <tr> 944 <td class="paramkey"></td> 945 <td></td> 946 <td class="paramtype">gss_qop_t </td> 947 <td class="paramname"><em>qop_req</em>, </td> 948 </tr> 949 <tr> 950 <td class="paramkey"></td> 951 <td></td> 952 <td class="paramtype">int * </td> 953 <td class="paramname"><em>conf_state</em>, </td> 954 </tr> 955 <tr> 956 <td class="paramkey"></td> 957 <td></td> 958 <td class="paramtype">gss_iov_buffer_desc * </td> 959 <td class="paramname"><em>iov</em>, </td> 960 </tr> 961 <tr> 962 <td class="paramkey"></td> 963 <td></td> 964 <td class="paramtype">int </td> 965 <td class="paramname"><em>iov_count</em> </td> 966 </tr> 967 <tr> 968 <td></td> 969 <td>)</td> 970 <td></td><td></td> 971 </tr> 972 </table> 973</div><div class="memdoc"> 974<p>Update the length fields in iov buffer for the types:</p><ul> 975<li>GSS_IOV_BUFFER_TYPE_HEADER</li> 976<li>GSS_IOV_BUFFER_TYPE_PADDING</li> 977<li>GSS_IOV_BUFFER_TYPE_TRAILER</li> 978</ul> 979<p>Consider using gss_context_query_attributes() to fetch the data instead. </p> 980 981</div> 982</div> 983<h2 class="groupheader">Variable Documentation</h2> 984<a id="ga961f7a7f9f92e06b91c6d503e524a672"></a> 985<h2 class="memtitle"><span class="permalink"><a href="#ga961f7a7f9f92e06b91c6d503e524a672">◆ </a></span>__gss_c_attr_stream_sizes_oid_desc</h2> 986 987<div class="memitem"> 988<div class="memproto"> 989 <table class="memname"> 990 <tr> 991 <td class="memname">gss_OID_desc GSSAPI_LIB_FUNCTION __gss_c_attr_stream_sizes_oid_desc</td> 992 </tr> 993 </table> 994</div><div class="memdoc"> 995<b>Initial value:</b><div class="fragment"><div class="line">=</div> 996<div class="line"> {10, rk_UNCONST(<span class="stringliteral">"\x2a\x86\x48\x86\xf7\x12\x01\x02\x01\x03"</span>)}</div> 997</div><!-- fragment --><p>Query the context for parameters.</p> 998<p>SSPI equivalent if this function is QueryContextAttributes.</p> 999<ul> 1000<li>GSS_C_ATTR_STREAM_SIZES data is a gss_context_stream_sizes. </li> 1001</ul> 1002 1003</div> 1004</div> 1005</div><!-- contents --> 1006<hr size="1"><address style="text-align: right;"><small> 1007Generated on Tue Nov 15 2022 14:04:25 for Heimdal GSS-API 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> 1008</body> 1009</html> 1010