xref: /minix3/crypto/external/bsd/heimdal/dist/lib/gssapi/mech/doxygen.c (revision ebfedea0ce5bbe81e252ddf32d732e40fb633fae)
1*ebfedea0SLionel Sambuc /*	$NetBSD: doxygen.c,v 1.1.1.1 2011/04/13 18:14:46 elric Exp $	*/
2*ebfedea0SLionel Sambuc 
3*ebfedea0SLionel Sambuc /*
4*ebfedea0SLionel Sambuc  * Copyright (c) 2009 Kungliga Tekniska Högskolan
5*ebfedea0SLionel Sambuc  * (Royal Institute of Technology, Stockholm, Sweden).
6*ebfedea0SLionel Sambuc  * All rights reserved.
7*ebfedea0SLionel Sambuc  *
8*ebfedea0SLionel Sambuc  * Redistribution and use in source and binary forms, with or without
9*ebfedea0SLionel Sambuc  * modification, are permitted provided that the following conditions
10*ebfedea0SLionel Sambuc  * are met:
11*ebfedea0SLionel Sambuc  *
12*ebfedea0SLionel Sambuc  * 1. Redistributions of source code must retain the above copyright
13*ebfedea0SLionel Sambuc  *    notice, this list of conditions and the following disclaimer.
14*ebfedea0SLionel Sambuc  *
15*ebfedea0SLionel Sambuc  * 2. Redistributions in binary form must reproduce the above copyright
16*ebfedea0SLionel Sambuc  *    notice, this list of conditions and the following disclaimer in the
17*ebfedea0SLionel Sambuc  *    documentation and/or other materials provided with the distribution.
18*ebfedea0SLionel Sambuc  *
19*ebfedea0SLionel Sambuc  * 3. Neither the name of the Institute nor the names of its contributors
20*ebfedea0SLionel Sambuc  *    may be used to endorse or promote products derived from this software
21*ebfedea0SLionel Sambuc  *    without specific prior written permission.
22*ebfedea0SLionel Sambuc  *
23*ebfedea0SLionel Sambuc  * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
24*ebfedea0SLionel Sambuc  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25*ebfedea0SLionel Sambuc  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26*ebfedea0SLionel Sambuc  * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
27*ebfedea0SLionel Sambuc  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28*ebfedea0SLionel Sambuc  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29*ebfedea0SLionel Sambuc  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30*ebfedea0SLionel Sambuc  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31*ebfedea0SLionel Sambuc  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32*ebfedea0SLionel Sambuc  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33*ebfedea0SLionel Sambuc  * SUCH DAMAGE.
34*ebfedea0SLionel Sambuc  */
35*ebfedea0SLionel Sambuc 
36*ebfedea0SLionel Sambuc /*! @mainpage Heimdal GSS-API Library
37*ebfedea0SLionel Sambuc  *
38*ebfedea0SLionel Sambuc  * Heimdal implements the following mechanisms:
39*ebfedea0SLionel Sambuc  *
40*ebfedea0SLionel Sambuc  * - Kerberos 5
41*ebfedea0SLionel Sambuc  * - SPNEGO
42*ebfedea0SLionel Sambuc  * - NTLM
43*ebfedea0SLionel Sambuc  *
44*ebfedea0SLionel Sambuc  * See @ref gssapi_mechs for more describtion about these mechanisms.
45*ebfedea0SLionel Sambuc  *
46*ebfedea0SLionel Sambuc  * The project web page: http://www.h5l.org/
47*ebfedea0SLionel Sambuc  *
48*ebfedea0SLionel Sambuc  * - @ref gssapi_services_intro
49*ebfedea0SLionel Sambuc  * - @ref gssapi_mechs
50*ebfedea0SLionel Sambuc  * - @ref gssapi_api_INvsMN
51*ebfedea0SLionel Sambuc  */
52*ebfedea0SLionel Sambuc 
53*ebfedea0SLionel Sambuc /**
54*ebfedea0SLionel Sambuc  * @page gssapi_services_intro Introduction to GSS-API services
55*ebfedea0SLionel Sambuc  * @section gssapi_services GSS-API services
56*ebfedea0SLionel Sambuc  *
57*ebfedea0SLionel Sambuc  * @subsection gssapi_services_context Context creation
58*ebfedea0SLionel Sambuc  *
59*ebfedea0SLionel Sambuc  *  - delegation
60*ebfedea0SLionel Sambuc  *  - mutual authentication
61*ebfedea0SLionel Sambuc  *  - anonymous
62*ebfedea0SLionel Sambuc  *  - use per message before context creation has completed
63*ebfedea0SLionel Sambuc  *
64*ebfedea0SLionel Sambuc  *  return status:
65*ebfedea0SLionel Sambuc  *  - support conf
66*ebfedea0SLionel Sambuc  *  - support int
67*ebfedea0SLionel Sambuc  *
68*ebfedea0SLionel Sambuc  * @subsection gssapi_context_flags Context creation flags
69*ebfedea0SLionel Sambuc  *
70*ebfedea0SLionel Sambuc  * - GSS_C_DELEG_FLAG
71*ebfedea0SLionel Sambuc  * - GSS_C_MUTUAL_FLAG
72*ebfedea0SLionel Sambuc  * - GSS_C_REPLAY_FLAG
73*ebfedea0SLionel Sambuc  * - GSS_C_SEQUENCE_FLAG
74*ebfedea0SLionel Sambuc  * - GSS_C_CONF_FLAG
75*ebfedea0SLionel Sambuc  * - GSS_C_INTEG_FLAG
76*ebfedea0SLionel Sambuc  * - GSS_C_ANON_FLAG
77*ebfedea0SLionel Sambuc  * - GSS_C_PROT_READY_FLAG
78*ebfedea0SLionel Sambuc  * - GSS_C_TRANS_FLAG
79*ebfedea0SLionel Sambuc  * - GSS_C_DCE_STYLE
80*ebfedea0SLionel Sambuc  * - GSS_C_IDENTIFY_FLAG
81*ebfedea0SLionel Sambuc  * - GSS_C_EXTENDED_ERROR_FLAG
82*ebfedea0SLionel Sambuc  * - GSS_C_DELEG_POLICY_FLAG
83*ebfedea0SLionel Sambuc  *
84*ebfedea0SLionel Sambuc  *
85*ebfedea0SLionel Sambuc  * @subsection gssapi_services_permessage Per-message services
86*ebfedea0SLionel Sambuc  *
87*ebfedea0SLionel Sambuc  *  - conf
88*ebfedea0SLionel Sambuc  *  - int
89*ebfedea0SLionel Sambuc  *  - message integrity
90*ebfedea0SLionel Sambuc  *  - replay detection
91*ebfedea0SLionel Sambuc  *  - out of sequence
92*ebfedea0SLionel Sambuc  *
93*ebfedea0SLionel Sambuc  */
94*ebfedea0SLionel Sambuc 
95*ebfedea0SLionel Sambuc /**
96*ebfedea0SLionel Sambuc  * @page gssapi_mechs_intro GSS-API mechanisms
97*ebfedea0SLionel Sambuc  * @section gssapi_mechs GSS-API mechanisms
98*ebfedea0SLionel Sambuc  *
99*ebfedea0SLionel Sambuc  * - Kerberos 5 - GSS_KRB5_MECHANISM
100*ebfedea0SLionel Sambuc  * - SPNEGO - GSS_SPNEGO_MECHANISM
101*ebfedea0SLionel Sambuc  * - NTLM - GSS_NTLM_MECHANISM
102*ebfedea0SLionel Sambuc 
103*ebfedea0SLionel Sambuc  */
104*ebfedea0SLionel Sambuc 
105*ebfedea0SLionel Sambuc 
106*ebfedea0SLionel Sambuc /**
107*ebfedea0SLionel Sambuc  * @page internalVSmechname Internal names and mechanism names
108*ebfedea0SLionel Sambuc  * @section gssapi_api_INvsMN Name forms
109*ebfedea0SLionel Sambuc  *
110*ebfedea0SLionel Sambuc  * There are two forms of name in GSS-API, Internal form and
111*ebfedea0SLionel Sambuc  * Contiguous string ("flat") form. gss_export_name() and
112*ebfedea0SLionel Sambuc  * gss_import_name() can be used to convert between the two forms.
113*ebfedea0SLionel Sambuc  *
114*ebfedea0SLionel Sambuc  * - The contiguous string form is described by an oid specificing the
115*ebfedea0SLionel Sambuc  *   type and an octet string. A special form of the contiguous
116*ebfedea0SLionel Sambuc  *   string form is the exported name object. The exported name
117*ebfedea0SLionel Sambuc  *   defined for each mechanism, is something that can be stored and
118*ebfedea0SLionel Sambuc  *   complared later. The exported name is what should be used for
119*ebfedea0SLionel Sambuc  *   ACLs comparisons.
120*ebfedea0SLionel Sambuc  *
121*ebfedea0SLionel Sambuc  * - The Internal form
122*ebfedea0SLionel Sambuc  *
123*ebfedea0SLionel Sambuc  *   There is also special form of the Internal Name (IN), and that is
124*ebfedea0SLionel Sambuc  *   the Mechanism Name (MN). In the mechanism name all the generic
125*ebfedea0SLionel Sambuc  *   information is stripped of and only contain the information for
126*ebfedea0SLionel Sambuc  *   one mechanism.  In GSS-API some function return MN and some
127*ebfedea0SLionel Sambuc  *   require MN as input. Each of these function is marked up as such.
128*ebfedea0SLionel Sambuc  *
129*ebfedea0SLionel Sambuc  *
130*ebfedea0SLionel Sambuc  * Describe relationship between import_name, canonicalize_name,
131*ebfedea0SLionel Sambuc  * export_name and friends.
132*ebfedea0SLionel Sambuc  */
133*ebfedea0SLionel Sambuc 
134*ebfedea0SLionel Sambuc /** @defgroup gssapi Heimdal GSS-API functions */
135