1184588Sdfr#- 2184588Sdfr# Copyright (c) 2008 Isilon Inc http://www.isilon.com/ 3184588Sdfr# Authors: Doug Rabson <dfr@rabson.org> 4184588Sdfr# Developed with Red Inc: Alfred Perlstein <alfred@freebsd.org> 5184588Sdfr# 6184588Sdfr# Redistribution and use in source and binary forms, with or without 7184588Sdfr# modification, are permitted provided that the following conditions 8184588Sdfr# are met: 9184588Sdfr# 1. Redistributions of source code must retain the above copyright 10184588Sdfr# notice, this list of conditions and the following disclaimer. 11184588Sdfr# 2. Redistributions in binary form must reproduce the above copyright 12184588Sdfr# notice, this list of conditions and the following disclaimer in the 13184588Sdfr# documentation and/or other materials provided with the distribution. 14184588Sdfr# 15184588Sdfr# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16184588Sdfr# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17184588Sdfr# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18184588Sdfr# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19184588Sdfr# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20184588Sdfr# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21184588Sdfr# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22184588Sdfr# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23184588Sdfr# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24184588Sdfr# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25184588Sdfr# SUCH DAMAGE. 26184588Sdfr# 27184588Sdfr# $FreeBSD$ 28184588Sdfr 29184588Sdfr# Interface for the in-kernel part of a GSS-API mechanism 30184588Sdfr 31184588Sdfr#include <kgssapi/gssapi.h> 32184588Sdfr#include "gssd.h" 33184588Sdfr 34184588SdfrINTERFACE kgss; 35184588Sdfr 36184588SdfrMETHOD void init { 37184588Sdfr gss_ctx_id_t ctx; 38184588Sdfr}; 39184588Sdfr 40184588SdfrMETHOD OM_uint32 import { 41184588Sdfr gss_ctx_id_t ctx; 42184588Sdfr enum sec_context_format format; 43184588Sdfr const gss_buffer_t context_token; 44184588Sdfr}; 45184588Sdfr 46184588SdfrMETHOD void delete { 47184588Sdfr gss_ctx_id_t ctx; 48184588Sdfr gss_buffer_t output_token; 49184588Sdfr}; 50184588Sdfr 51184588SdfrMETHOD gss_OID mech_type { 52184588Sdfr gss_ctx_id_t ctx; 53184588Sdfr}; 54184588Sdfr 55184588SdfrMETHOD OM_uint32 get_mic { 56184588Sdfr gss_ctx_id_t ctx; 57184588Sdfr OM_uint32 *minor_status; 58184588Sdfr gss_qop_t qop_req; 59184588Sdfr struct mbuf *message_buffer; 60184588Sdfr struct mbuf **message_token; 61184588Sdfr}; 62184588Sdfr 63184588SdfrMETHOD OM_uint32 verify_mic { 64184588Sdfr gss_ctx_id_t ctx; 65184588Sdfr OM_uint32 *minor_status; 66184588Sdfr struct mbuf *message_buffer; 67184588Sdfr struct mbuf *token_buffer; 68184588Sdfr gss_qop_t *qop_state; 69184588Sdfr}; 70184588Sdfr 71184588SdfrMETHOD OM_uint32 wrap { 72184588Sdfr gss_ctx_id_t ctx; 73184588Sdfr OM_uint32 *minor_status; 74184588Sdfr int conf_req_flag; 75184588Sdfr gss_qop_t qop_req; 76184588Sdfr struct mbuf **message_buffer; 77184588Sdfr int *conf_state; 78184588Sdfr}; 79184588Sdfr 80184588SdfrMETHOD OM_uint32 unwrap { 81184588Sdfr gss_ctx_id_t ctx; 82184588Sdfr OM_uint32 *minor_status; 83184588Sdfr struct mbuf **message_buffer; 84184588Sdfr int *conf_state; 85184588Sdfr gss_qop_t *qop_state; 86184588Sdfr}; 87184588Sdfr 88184588SdfrMETHOD OM_uint32 wrap_size_limit { 89184588Sdfr gss_ctx_id_t ctx; 90184588Sdfr OM_uint32 *minor_status; 91184588Sdfr int conf_req_flag; 92184588Sdfr gss_qop_t qop_req; 93184588Sdfr OM_uint32 req_ouput_size; 94184588Sdfr OM_uint32 *max_input_size; 95184588Sdfr} 96