/*
* Copyright (c) 2009 Kungliga Tekniska Högskolan
* (Royal Institute of Technology, Stockholm, Sweden).
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* 3. Neither the name of the Institute nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
/*! @mainpage Heimdal GSS-API Library
*
* Heimdal implements the following mechanisms:
*
* - Kerberos 5
* - SPNEGO
* - NTLM
*
* See @ref gssapi_mechs for more describtion about these mechanisms.
*
* The project web page: http://www.h5l.org/
*
* - @ref gssapi_services_intro
* - @ref gssapi_mechs
* - @ref gssapi_api_INvsMN
*/
/**
* @page gssapi_services_intro Introduction to GSS-API services
* @section gssapi_services GSS-API services
*
* @subsection gssapi_services_context Context creation
*
* - delegation
* - mutual authentication
* - anonymous
* - use per message before context creation has completed
*
* return status:
* - support conf
* - support int
*
* @subsection gssapi_context_flags Context creation flags
*
* - GSS_C_DELEG_FLAG
* - GSS_C_MUTUAL_FLAG
* - GSS_C_REPLAY_FLAG
* - GSS_C_SEQUENCE_FLAG
* - GSS_C_CONF_FLAG
* - GSS_C_INTEG_FLAG
* - GSS_C_ANON_FLAG
* - GSS_C_PROT_READY_FLAG
* - GSS_C_TRANS_FLAG
* - GSS_C_DCE_STYLE
* - GSS_C_IDENTIFY_FLAG
* - GSS_C_EXTENDED_ERROR_FLAG
* - GSS_C_DELEG_POLICY_FLAG
*
*
* @subsection gssapi_services_permessage Per-message services
*
* - conf
* - int
* - message integrity
* - replay detection
* - out of sequence
*
*/
/**
* @page gssapi_mechs_intro GSS-API mechanisms
* @section gssapi_mechs GSS-API mechanisms
*
* - Kerberos 5 - GSS_KRB5_MECHANISM
* - SPNEGO - GSS_SPNEGO_MECHANISM
* - NTLM - GSS_NTLM_MECHANISM
*/
/**
* @page internalVSmechname Internal names and mechanism names
* @section gssapi_api_INvsMN Name forms
*
* There are two forms of name in GSS-API, Internal form and
* Contiguous string ("flat") form. gss_export_name() and
* gss_import_name() can be used to convert between the two forms.
*
* - The contiguous string form is described by an oid specificing the
* type and an octet string. A special form of the contiguous
* string form is the exported name object. The exported name
* defined for each mechanism, is something that can be stored and
* complared later. The exported name is what should be used for
* ACLs comparisons.
*
* - The Internal form
*
* There is also special form of the Internal Name (IN), and that is
* the Mechanism Name (MN). In the mechanism name all the generic
* information is stripped of and only contain the information for
* one mechanism. In GSS-API some function return MN and some
* require MN as input. Each of these function is marked up as such.
*
*
* Describe relationship between import_name, canonicalize_name,
* export_name and friends.
*/
/** @defgroup gssapi Heimdal GSS-API functions */