/* Create a wrap token for the text "kernelwrap" and send it to stdout. */ static void send_wrap_token(gss_ctx_id_t ctx) { OM_uint32 major, minor; gss_buffer_desc buf, wrapped; buf.value = "kernelwrap"; buf.length = 10; major = krb5_gss_wrap(&minor, ctx, 1, GSS_C_QOP_DEFAULT, &buf, NULL, &wrapped); check(major, minor, "krb5_gss_wrap"); send_data(STDOUT_FILENO, wrapped.value, wrapped.length); free(wrapped.value); }
OM_uint32 KRB5_CALLCONV iakerb_gss_wrap(OM_uint32 *minor_status, gss_ctx_id_t context_handle, int conf_req_flag, gss_qop_t qop_req, gss_buffer_t input_message_buffer, int *conf_state, gss_buffer_t output_message_buffer) { iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle; if (ctx->gssc == GSS_C_NO_CONTEXT) return GSS_S_NO_CONTEXT; return krb5_gss_wrap(minor_status, ctx->gssc, conf_req_flag, qop_req, input_message_buffer, conf_state, output_message_buffer); }