1 /* 2 * Copyright (c) 2009 Kungliga Tekniska Högskolan 3 * (Royal Institute of Technology, Stockholm, Sweden). 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: 9 * 10 * 1. Redistributions of source code must retain the above copyright 11 * notice, this list of conditions and the following disclaimer. 12 * 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. 16 * 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. 20 * 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 31 * SUCH DAMAGE. 32 */ 33 34 /*! @mainpage Heimdal GSS-API Library 35 * 36 * Heimdal implements the following mechanisms: 37 * 38 * - Kerberos 5 39 * - SPNEGO 40 * - NTLM 41 * 42 * See @ref gssapi_mechs for more describtion about these mechanisms. 43 * 44 * The project web page: http://www.h5l.org/ 45 * 46 * - @ref gssapi_services_intro 47 * - @ref gssapi_mechs 48 * - @ref gssapi_api_INvsMN 49 */ 50 51 /** 52 * @page gssapi_services_intro Introduction to GSS-API services 53 * @section gssapi_services GSS-API services 54 * 55 * @subsection gssapi_services_context Context creation 56 * 57 * - delegation 58 * - mutual authentication 59 * - anonymous 60 * - use per message before context creation has completed 61 * 62 * return status: 63 * - support conf 64 * - support int 65 * 66 * @subsection gssapi_context_flags Context creation flags 67 * 68 * - GSS_C_DELEG_FLAG 69 * - GSS_C_MUTUAL_FLAG 70 * - GSS_C_REPLAY_FLAG 71 * - GSS_C_SEQUENCE_FLAG 72 * - GSS_C_CONF_FLAG 73 * - GSS_C_INTEG_FLAG 74 * - GSS_C_ANON_FLAG 75 * - GSS_C_PROT_READY_FLAG 76 * - GSS_C_TRANS_FLAG 77 * - GSS_C_DCE_STYLE 78 * - GSS_C_IDENTIFY_FLAG 79 * - GSS_C_EXTENDED_ERROR_FLAG 80 * - GSS_C_DELEG_POLICY_FLAG 81 * 82 * 83 * @subsection gssapi_services_permessage Per-message services 84 * 85 * - conf 86 * - int 87 * - message integrity 88 * - replay detection 89 * - out of sequence 90 * 91 */ 92 93 /** 94 * @page gssapi_mechs_intro GSS-API mechanisms 95 * @section gssapi_mechs GSS-API mechanisms 96 * 97 * - Kerberos 5 - GSS_KRB5_MECHANISM 98 * - SPNEGO - GSS_SPNEGO_MECHANISM 99 * - NTLM - GSS_NTLM_MECHANISM 100 101 */ 102 103 104 /** 105 * @page internalVSmechname Internal names and mechanism names 106 * @section gssapi_api_INvsMN Name forms 107 * 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. 111 * 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 117 * ACLs comparisons. 118 * 119 * - The Internal form 120 * 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. 126 * 127 * 128 * Describe relationship between import_name, canonicalize_name, 129 * export_name and friends. 130 */ 131 132 /** @defgroup gssapi Heimdal GSS-API functions */ 133