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