2 * Copyright (c) 2009 Kungliga Tekniska Högskolan
3 * (Royal Institute of Technology, Stockholm, Sweden).
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
10 * 1. Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
13 * 2. Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the distribution.
17 * 3. Neither the name of the Institute nor the names of its contributors
18 * may be used to endorse or promote products derived from this software
19 * without specific prior written permission.
21 * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
22 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24 * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
25 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34 /*! @mainpage Heimdal GSS-API Library
36 * Heimdal implements the following mechanisms:
42 * See @ref gssapi_mechs for more describtion about these mechanisms.
44 * The project web page: http://www.h5l.org/
46 * - @ref gssapi_services_intro
48 * - @ref gssapi_api_INvsMN
52 * @page gssapi_services_intro Introduction to GSS-API services
53 * @section gssapi_services GSS-API services
55 * @subsection gssapi_services_context Context creation
58 * - mutual authentication
60 * - use per message before context creation has completed
66 * @subsection gssapi_context_flags Context creation flags
71 * - GSS_C_SEQUENCE_FLAG
75 * - GSS_C_PROT_READY_FLAG
78 * - GSS_C_IDENTIFY_FLAG
79 * - GSS_C_EXTENDED_ERROR_FLAG
80 * - GSS_C_DELEG_POLICY_FLAG
83 * @subsection gssapi_services_permessage Per-message services
94 * @page gssapi_mechs_intro GSS-API mechanisms
95 * @section gssapi_mechs GSS-API mechanisms
97 * - Kerberos 5 - GSS_KRB5_MECHANISM
98 * - SPNEGO - GSS_SPNEGO_MECHANISM
99 * - NTLM - GSS_NTLM_MECHANISM
105 * @page internalVSmechname Internal names and mechanism names
106 * @section gssapi_api_INvsMN Name forms
108 * There are two forms of name in GSS-API, Internal form and
109 * Contiguous string ("flat") form. gss_export_name() and
110 * gss_import_name() can be used to convert between the two forms.
112 * - The contiguous string form is described by an oid specificing the
113 * type and an octet string. A special form of the contiguous
114 * string form is the exported name object. The exported name
115 * defined for each mechanism, is something that can be stored and
116 * complared later. The exported name is what should be used for
119 * - The Internal form
121 * There is also special form of the Internal Name (IN), and that is
122 * the Mechanism Name (MN). In the mechanism name all the generic
123 * information is stripped of and only contain the information for
124 * one mechanism. In GSS-API some function return MN and some
125 * require MN as input. Each of these function is marked up as such.
128 * Describe relationship between import_name, canonicalize_name,
129 * export_name and friends.
132 /** @defgroup gssapi Heimdal GSS-API functions */