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