1@subheading gss_import_name 2@anchor{gss_import_name} 3@deftypefun {OM_uint32} {gss_import_name} (OM_uint32 * @var{minor_status}, const gss_buffer_t @var{input_name_buffer}, const gss_OID @var{input_name_type}, gss_name_t * @var{output_name}) 4@var{minor_status}: (Integer, modify) Mechanism specific status code. 5 6@var{input_name_buffer}: (buffer, octet-string, read) Buffer containing 7contiguous string name to convert. 8 9@var{input_name_type}: (Object ID, read, optional) Object ID specifying 10type of printable name. Applications may specify either 11GSS_C_NO_OID to use a mechanism-specific default printable 12syntax, or an OID recognized by the GSS-API implementation to 13name a specific namespace. 14 15@var{output_name}: (gss_name_t, modify) Returned name in internal form. 16Storage associated with this name must be freed by the 17application after use with a call to gss_release_name(). 18 19 20Convert a contiguous string name to internal form. In general, the 21internal name returned (via the @@output_name parameter) will not 22be an MN; the exception to this is if the @@input_name_type 23indicates that the contiguous string provided via the 24@@input_name_buffer parameter is of type GSS_C_NT_EXPORT_NAME, in 25which case the returned internal name will be an MN for the 26mechanism that exported the name. 27 28Return value: 29 30 31@code{GSS_S_COMPLETE}: Successful completion. 32 33 34@code{GSS_S_BAD_NAMETYPE}: The input_name_type was unrecognized. 35 36 37@code{GSS_S_BAD_NAME}: The input_name parameter could not be interpreted 38as a name of the specified type. 39 40 41@code{GSS_S_BAD_MECH}: The input name-type was GSS_C_NT_EXPORT_NAME, but 42the mechanism contained within the input-name is not supported. 43@end deftypefun 44 45@subheading gss_display_name 46@anchor{gss_display_name} 47@deftypefun {OM_uint32} {gss_display_name} (OM_uint32 * @var{minor_status}, const gss_name_t @var{input_name}, gss_buffer_t @var{output_name_buffer}, gss_OID * @var{output_name_type}) 48@var{minor_status}: (Integer, modify) Mechanism specific status code. 49 50@var{input_name}: (gss_name_t, read) Name to be displayed. 51 52@var{output_name_buffer}: (buffer, character-string, modify) Buffer to 53receive textual name string. The application must free storage 54associated with this name after use with a call to 55gss_release_buffer(). 56 57@var{output_name_type}: (Object ID, modify, optional) The type of the 58returned name. The returned gss_OID will be a pointer into 59static storage, and should be treated as read-only by the caller 60(in particular, the application should not attempt to free 61it). Specify NULL if not required. 62 63 64Allows an application to obtain a textual representation of an 65opaque internal-form name for display purposes. The syntax of a 66printable name is defined by the GSS-API implementation. 67 68 69If input_name denotes an anonymous principal, the implementation 70should return the gss_OID value GSS_C_NT_ANONYMOUS as the 71output_name_type, and a textual name that is syntactically distinct 72from all valid supported printable names in output_name_buffer. 73 74 75If input_name was created by a call to gss_import_name, specifying 76GSS_C_NO_OID as the name-type, implementations that employ lazy 77conversion between name types may return GSS_C_NO_OID via the 78output_name_type parameter. 79 80Return value: 81 82 83@code{GSS_S_COMPLETE}: Successful completion. 84 85 86@code{GSS_S_BAD_NAME}: @@input_name was ill-formed. 87@end deftypefun 88 89@subheading gss_compare_name 90@anchor{gss_compare_name} 91@deftypefun {OM_uint32} {gss_compare_name} (OM_uint32 * @var{minor_status}, const gss_name_t @var{name1}, const gss_name_t @var{name2}, int * @var{name_equal}) 92@var{minor_status}: (Integer, modify) Mechanism specific status code. 93 94@var{name1}: (gss_name_t, read) Internal-form name. 95 96@var{name2}: (gss_name_t, read) Internal-form name. 97 98@var{name_equal}: (boolean, modify) Non-zero - names refer to same 99entity. Zero - names refer to different entities (strictly, the 100names are not known to refer to the same identity). 101 102 103Allows an application to compare two internal-form names to 104determine whether they refer to the same entity. 105 106 107If either name presented to gss_compare_name denotes an anonymous 108principal, the routines should indicate that the two names do not 109refer to the same identity. 110 111Return value: 112 113 114@code{GSS_S_COMPLETE}: Successful completion. 115 116 117@code{GSS_S_BAD_NAMETYPE}: The two names were of incomparable types. 118 119 120@code{GSS_S_BAD_NAME}: One or both of name1 or name2 was ill-formed. 121@end deftypefun 122 123@subheading gss_release_name 124@anchor{gss_release_name} 125@deftypefun {OM_uint32} {gss_release_name} (OM_uint32 * @var{minor_status}, gss_name_t * @var{name}) 126@var{minor_status}: (Integer, modify) Mechanism specific status code. 127 128@var{name}: (gss_name_t, modify) The name to be deleted. 129 130 131Free GSSAPI-allocated storage associated with an internal-form 132name. The name is set to GSS_C_NO_NAME on successful completion of 133this call. 134 135Return value: 136 137 138@code{GSS_S_COMPLETE}: Successful completion. 139 140 141@code{GSS_S_BAD_NAME}: The name parameter did not contain a valid name. 142@end deftypefun 143 144@subheading gss_inquire_names_for_mech 145@anchor{gss_inquire_names_for_mech} 146@deftypefun {OM_uint32} {gss_inquire_names_for_mech} (OM_uint32 * @var{minor_status}, const gss_OID @var{mechanism}, gss_OID_set * @var{name_types}) 147@var{minor_status}: (Integer, modify) Mechanism specific status code. 148 149@var{mechanism}: (gss_OID, read) The mechanism to be interrogated. 150 151@var{name_types}: (gss_OID_set, modify) Set of name-types supported by 152the specified mechanism. The returned OID set must be freed by 153the application after use with a call to gss_release_oid_set(). 154 155 156Returns the set of nametypes supported by the specified mechanism. 157 158Return value: 159 160 161@code{GSS_S_COMPLETE}: Successful completion. 162@end deftypefun 163 164@subheading gss_inquire_mechs_for_name 165@anchor{gss_inquire_mechs_for_name} 166@deftypefun {OM_uint32} {gss_inquire_mechs_for_name} (OM_uint32 * @var{minor_status}, const gss_name_t @var{input_name}, gss_OID_set * @var{mech_types}) 167@var{minor_status}: (Integer, modify) Mechanism specific status code. 168 169@var{input_name}: (gss_name_t, read) The name to which the inquiry 170relates. 171 172@var{mech_types}: (gss_OID_set, modify) Set of mechanisms that may 173support the specified name. The returned OID set must be freed 174by the caller after use with a call to gss_release_oid_set(). 175 176 177Returns the set of mechanisms supported by the GSS-API 178implementation that may be able to process the specified name. 179 180 181Each mechanism returned will recognize at least one element within 182the name. It is permissible for this routine to be implemented 183within a mechanism-independent GSS-API layer, using the type 184information contained within the presented name, and based on 185registration information provided by individual mechanism 186implementations. This means that the returned mech_types set may 187indicate that a particular mechanism will understand the name when 188in fact it would refuse to accept the name as input to 189gss_canonicalize_name, gss_init_sec_context, gss_acquire_cred or 190gss_add_cred (due to some property of the specific name, as opposed 191to the name type). Thus this routine should be used only as a 192prefilter for a call to a subsequent mechanism-specific routine. 193 194Return value: 195 196 197@code{GSS_S_COMPLETE}: Successful completion. 198 199 200@code{GSS_S_BAD_NAME}: The input_name parameter was ill-formed. 201 202 203@code{GSS_S_BAD_NAMETYPE}: The input_name parameter contained an invalid 204or unsupported type of name. 205@end deftypefun 206 207@subheading gss_export_name 208@anchor{gss_export_name} 209@deftypefun {OM_uint32} {gss_export_name} (OM_uint32 * @var{minor_status}, const gss_name_t @var{input_name}, gss_buffer_t @var{exported_name}) 210@var{minor_status}: (Integer, modify) Mechanism specific status code. 211 212@var{input_name}: (gss_name_t, read) The MN to be exported. 213 214@var{exported_name}: (gss_buffer_t, octet-string, modify) The canonical 215contiguous string form of @@input_name. Storage associated with 216this string must freed by the application after use with 217gss_release_buffer(). 218 219 220To produce a canonical contiguous string representation of a 221mechanism name (MN), suitable for direct comparison (e.g. with 222memcmp) for use in authorization functions (e.g. matching entries 223in an access-control list). The @@input_name parameter must specify 224a valid MN (i.e. an internal name generated by 225gss_accept_sec_context() or by gss_canonicalize_name()). 226 227Return value: 228 229 230@code{GSS_S_COMPLETE}: Successful completion. 231 232 233@code{GSS_S_NAME_NOT_MN}: The provided internal name was not a mechanism 234name. 235 236 237@code{GSS_S_BAD_NAME}: The provided internal name was ill-formed. 238 239 240@code{GSS_S_BAD_NAMETYPE}: The internal name was of a type not supported 241by the GSS-API implementation. 242@end deftypefun 243 244@subheading gss_canonicalize_name 245@anchor{gss_canonicalize_name} 246@deftypefun {OM_uint32} {gss_canonicalize_name} (OM_uint32 * @var{minor_status}, const gss_name_t @var{input_name}, const gss_OID @var{mech_type}, gss_name_t * @var{output_name}) 247@var{minor_status}: (Integer, modify) Mechanism specific status code. 248 249@var{input_name}: (gss_name_t, read) The name for which a canonical form 250is desired. 251 252@var{mech_type}: (Object ID, read) The authentication mechanism for 253which the canonical form of the name is desired. The desired 254mechanism must be specified explicitly; no default is provided. 255 256@var{output_name}: (gss_name_t, modify) The resultant canonical name. 257Storage associated with this name must be freed by the 258application after use with a call to gss_release_name(). 259 260 261Generate a canonical mechanism name (MN) from an arbitrary internal 262name. The mechanism name is the name that would be returned to a 263context acceptor on successful authentication of a context where 264the initiator used the input_name in a successful call to 265gss_acquire_cred, specifying an OID set containing @@mech_type as 266its only member, followed by a call to gss_init_sec_context(), 267specifying @@mech_type as the authentication mechanism. 268 269Return value: 270 271 272@code{GSS_S_COMPLETE}: Successful completion. 273@end deftypefun 274 275@subheading gss_duplicate_name 276@anchor{gss_duplicate_name} 277@deftypefun {OM_uint32} {gss_duplicate_name} (OM_uint32 * @var{minor_status}, const gss_name_t @var{src_name}, gss_name_t * @var{dest_name}) 278@var{minor_status}: (Integer, modify) Mechanism specific status code. 279 280@var{src_name}: (gss_name_t, read) Internal name to be duplicated. 281 282@var{dest_name}: (gss_name_t, modify) The resultant copy of @@src_name. 283Storage associated with this name must be freed by the application 284after use with a call to gss_release_name(). 285 286 287Create an exact duplicate of the existing internal name @@src_name. 288The new @@dest_name will be independent of src_name (i.e. @@src_name 289and @@dest_name must both be released, and the release of one shall 290not affect the validity of the other). 291 292Return value: 293 294 295@code{GSS_S_COMPLETE}: Successful completion. 296 297 298@code{GSS_S_BAD_NAME}: The src_name parameter was ill-formed. 299@end deftypefun 300 301