spnego.h revision ec5347e2c775f027573ce5648b910361aa926c01
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews/*
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews * Copyright (C) 2006 Internet Systems Consortium, Inc. ("ISC")
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews *
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews * Permission to use, copy, modify, and/or distribute this software for any
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews * purpose with or without fee is hereby granted, provided that the above
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews * copyright notice and this permission notice appear in all copies.
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews *
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews * PERFORMANCE OF THIS SOFTWARE.
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews */
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews/* $Id: spnego.h,v 1.3 2007/06/18 23:47:41 tbox Exp $ */
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews/*! \file
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews * \brief
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews * Entry points into portable SPNEGO implementation.
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews * See spnego.c for information on the SPNEGO implementation itself.
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews */
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews#ifndef _SPNEGO_H_
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews#define _SPNEGO_H_
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews/*%
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews * Wrapper for GSSAPI gss_init_sec_context(), using portable SPNEGO
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews * implementation instead of the one that's part of the GSSAPI
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews * library. Takes arguments identical to the standard GSSAPI
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews * function, uses standard gss_init_sec_context() to handle
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews * everything inside the SPNEGO wrapper.
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews */
63dd46733010bb9622810faa17d88c3e3c28b730Mark AndrewsOM_uint32
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrewsgss_init_sec_context_spnego(OM_uint32 *,
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews const gss_cred_id_t,
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews gss_ctx_id_t *,
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews const gss_name_t,
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews const gss_OID,
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews OM_uint32,
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews OM_uint32,
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews const gss_channel_bindings_t,
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews const gss_buffer_t,
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews gss_OID *,
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews gss_buffer_t,
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews OM_uint32 *,
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews OM_uint32 *);
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews/*%
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews * Wrapper for GSSAPI gss_accept_sec_context(), using portable SPNEGO
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews * implementation instead of the one that's part of the GSSAPI
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews * library. Takes arguments identical to the standard GSSAPI
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews * function. Checks the OID of the input token to see if it's SPNEGO;
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews * if so, processes it, otherwise hands the call off to the standard
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews * gss_accept_sec_context() function.
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews */
63dd46733010bb9622810faa17d88c3e3c28b730Mark AndrewsOM_uint32 gss_accept_sec_context_spnego(OM_uint32 *,
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews gss_ctx_id_t *,
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews const gss_cred_id_t,
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews const gss_buffer_t,
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews const gss_channel_bindings_t,
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews gss_name_t *,
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews gss_OID *,
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews gss_buffer_t,
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews OM_uint32 *,
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews OM_uint32 *,
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews gss_cred_id_t *);
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews#endif
63dd46733010bb9622810faa17d88c3e3c28b730Mark Andrews