GSSAPI_LIB_CALL </td><tdclass="memItemRight"valign="bottom"><aclass="el"href="group__gssapi.html#gb02ec963066cc8e5e6682799457208e9">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>
GSSAPI_LIB_CALL </td><tdclass="memItemRight"valign="bottom"><aclass="el"href="group__gssapi.html#g6216cfcb1ba8dc2d1a1d680d21752f26">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>
<tr><tdclass="memItemLeft"nowrapalign="right"valign="top">GSSAPI_LIB_FUNCTION int <br>
GSSAPI_LIB_CALL </td><tdclass="memItemRight"valign="bottom"><aclass="el"href="group__gssapi.html#gc98677df7ae9bbc387cd68002a97ad15">gss_oid_equal</a> (gss_const_OID a, gss_const_OID b)</td></tr>
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>
If there is a duplicate member of the oid, the new member is not added to to the set.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>minor_status</em> </td><td>minor status code. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>member_oid</em> </td><td>member to add to the oid set </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>oid_set</em> </td><td>oid set to add the member too</td></tr>
</table>
</dl>
<dlclass="return"compact><dt><b>Returns:</b></dt><dd>a gss_error code, see gss_display_status() about printing the error code. </dd></dl>
gss_canonicalize_name takes a Internal Name (IN) and converts in into a mechanism specific Mechanism Name (MN).<p>
The input name may multiple name, or generic name types.<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>
For more information about <aclass="el"href="internalvsmechname.html">internalVSmechname</a>.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>minor_status</em> </td><td>minor status code. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>input_name</em> </td><td>name to covert, unchanged by <aclass="el"href="group__gssapi.html#g06e9814b830ed2fc4a756775a5bfd943">gss_canonicalize_name()</a>. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>mech_type</em> </td><td>the type to convert Name too. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>output_name</em> </td><td>the resulting type, release with <aclass="el"href="group__gssapi.html#g0691190338f1f24170bd5f695ff1e721">gss_release_name()</a>, independent of input_name.</td></tr>
</table>
</dl>
<dlclass="return"compact><dt><b>Returns:</b></dt><dd>a gss_error code, see gss_display_status() about printing the error code. </dd></dl>
For more information about <aclass="el"href="internalvsmechname.html">internalVSmechname</a>.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>minor_status</em> </td><td>minor status code </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>input_name_buffer</em> </td><td>import name buffer </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>input_name_type</em> </td><td>type of the import name buffer </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>output_name</em> </td><td>the resulting type, release with <aclass="el"href="group__gssapi.html#g0691190338f1f24170bd5f695ff1e721">gss_release_name()</a>, independent of input_name</td></tr>
</table>
</dl>
<dlclass="return"compact><dt><b>Returns:</b></dt><dd>a gss_error code, see gss_display_status() about printing the error code. </dd></dl>
As the initiator build a context with an acceptor.<p>
Returns in the major<ul>
<li>GSS_S_COMPLETE - if the context if build</li><li>GSS_S_CONTINUE_NEEDED - if the caller needs to continue another round of gss_i nit_sec_context</li><li>error code - any other error code</li></ul>
<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>minor_status</em> </td><td>minor status code.</td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>initiator_cred_handle</em> </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>
<tr><tdvalign="top"></td><tdvalign="top"><em>context_handle</em> </td><td>a pointer to a context handle, will be returned as long as there is not an error.</td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>target_name</em> </td><td>the target name of acceptor, created using <aclass="el"href="group__gssapi.html#g0afe06fd5264ebfb93ecca4bcc70895b">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>
<tr><tdvalign="top"></td><tdvalign="top"><em>input_mech_type</em> </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 <aclass="el"href="gssapi_mechs_intro.html">GSS-API mechanisms</a> section.</td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>req_flags</em> </td><td>flags using when building the context, see <aclass="el"href="gssapi_services_intro.html#gssapi_context_flags">Context creation flags</a></td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>time_req</em> </td><td>time requested this context should be valid in seconds, common used value is GSS_C_INDEFINITE</td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>input_chan_bindings</em> </td><td>Channel bindings used, if not exepected otherwise, used GSS_C_NO_CHANNEL_BINDINGS</td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>input_token</em> </td><td>input token sent from the acceptor, for the initial packet the buffer of { NULL, 0 } should be used.</td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>actual_mech_type</em> </td><td>the actual mech used, MUST NOT be freed since it pointing to static memory.</td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>output_token</em> </td><td>if there is an output token, regardless of complete, continue_needed, or error it should be sent to the acceptor</td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>ret_flags</em> </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>
<tr><tdvalign="top"></td><tdvalign="top"><em>time_rec</em> </td><td>amount of time this context is valid for</td></tr>
</table>
</dl>
<dlclass="return"compact><dt><b>Returns:</b></dt><dd>a gss_error code, see gss_display_status() about printing the error code. </dd></dl>
List support attributes for a mech and/or all mechanisms.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>minor_status</em> </td><td>minor status code </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>mech</em> </td><td>given together with mech_attr will return the list of attributes for mechanism, can optionally be GSS_C_NO_OID. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>mech_attr</em> </td><td>see mech parameter, can optionally be NULL, release with gss_release_oid_set(). </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>known_mech_attrs</em> </td><td>all attributes for mechanisms supported, release with gss_release_oid_set(). </td></tr>
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>
Free all buffer allocated by <aclass="el"href="group__gssapi.html#gb02ec963066cc8e5e6682799457208e9">gss_wrap_iov()</a> or <aclass="el"href="group__gssapi.html#g399bb326e47574aca7b28d6886d29fd0">gss_unwrap_iov()</a> by looking at the GSS_IOV_BUFFER_FLAG_ALLOCATED flag.
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>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>minor_status</em> </td><td>minor status code </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>input_name</em> </td><td>name to free</td></tr>
</table>
</dl>
<dlclass="return"compact><dt><b>Returns:</b></dt><dd>a gss_error code, see gss_display_status() about printing the error code. </dd></dl>
</div>
</div><p>
<aclass="anchor"name="g399bb326e47574aca7b28d6886d29fd0"></a><!-- doxytag: member="gss_aeap.c::gss_unwrap_iov" ref="g399bb326e47574aca7b28d6886d29fd0" args="(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)" -->
<tr><tdvalign="top"></td><tdvalign="top"><em>conf_req_flag</em> </td><td>if non zero, confidentiality is requestd. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>qop_req</em> </td><td>type of protection needed, in most cases it GSS_C_QOP_DEFAULT should be passed in. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>input_message_buffer</em> </td><td>messages to wrap </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>conf_state</em> </td><td>returns non zero if confidentiality was honoured. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>output_message_buffer</em> </td><td>the resulting buffer, release with gss_release_buffer(). </td></tr>
</table>
</dl>
</div>
</div><p>
<aclass="anchor"name="gb02ec963066cc8e5e6682799457208e9"></a><!-- doxytag: member="gss_aeap.c::gss_wrap_iov" ref="gb02ec963066cc8e5e6682799457208e9" args="(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)" -->
This is a more complicated version of <aclass="el"href="group__gssapi.html#g89a6d98056b75a8a25152de268833f51">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>
The maximum packet size is gss_context_stream_sizes.max_msg_size.<p>
The caller needs provide the folloing buffers when using in conf_req_flag=1 mode:<p>
<ul>
<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></ul>
<p>
<ul>
<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></ul>
<p>
HEADER, PADDING, TRAILER will be shrunken to the size required to transmit any of them too large.<p>
To generate <aclass="el"href="group__gssapi.html#g89a6d98056b75a8a25152de268833f51">gss_wrap()</a> compatible packets, use: HEADER | DATA | PADDING | TRAILER<p>
When used in conf_req_flag=0,<p>
<ul>
<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></ul>
<p>
The input sizes of HEADER, PADDING and TRAILER can be fetched using <aclass="el"href="group__gssapi.html#g6216cfcb1ba8dc2d1a1d680d21752f26">gss_wrap_iov_length()</a> or gss_context_query_attributes().
</div>
</div><p>
<aclass="anchor"name="g6216cfcb1ba8dc2d1a1d680d21752f26"></a><!-- doxytag: member="gss_aeap.c::gss_wrap_iov_length" ref="g6216cfcb1ba8dc2d1a1d680d21752f26" args="(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)" -->
Generated on Wed Jan 11 14:07:44 2012 for HeimdalGSS-APIlibrary by <ahref="http://www.doxygen.org/index.html"><imgsrc="doxygen.png"alt="doxygen"align="middle"border="0"></a> 1.5.6</small></address>