xref: /freebsd/lib/libgssapi/gss_inquire_context.3 (revision c0b9f4fe659b6839541970eb5675e57f4d814969)
1c0b9f4feSDoug Rabson.\" -*- nroff -*-
2c0b9f4feSDoug Rabson.\"
3c0b9f4feSDoug Rabson.\" Copyright (c) 2005 Doug Rabson
4c0b9f4feSDoug Rabson.\" All rights reserved.
5c0b9f4feSDoug Rabson.\"
6c0b9f4feSDoug Rabson.\" Redistribution and use in source and binary forms, with or without
7c0b9f4feSDoug Rabson.\" modification, are permitted provided that the following conditions
8c0b9f4feSDoug Rabson.\" are met:
9c0b9f4feSDoug Rabson.\" 1. Redistributions of source code must retain the above copyright
10c0b9f4feSDoug Rabson.\"    notice, this list of conditions and the following disclaimer.
11c0b9f4feSDoug Rabson.\" 2. Redistributions in binary form must reproduce the above copyright
12c0b9f4feSDoug Rabson.\"    notice, this list of conditions and the following disclaimer in the
13c0b9f4feSDoug Rabson.\"    documentation and/or other materials provided with the distribution.
14c0b9f4feSDoug Rabson.\"
15c0b9f4feSDoug Rabson.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
16c0b9f4feSDoug Rabson.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17c0b9f4feSDoug Rabson.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18c0b9f4feSDoug Rabson.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
19c0b9f4feSDoug Rabson.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20c0b9f4feSDoug Rabson.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21c0b9f4feSDoug Rabson.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22c0b9f4feSDoug Rabson.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23c0b9f4feSDoug Rabson.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24c0b9f4feSDoug Rabson.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25c0b9f4feSDoug Rabson.\" SUCH DAMAGE.
26c0b9f4feSDoug Rabson.\"
27c0b9f4feSDoug Rabson.\"	$FreeBSD$
28c0b9f4feSDoug Rabson.\"
29c0b9f4feSDoug Rabson.\" Copyright (C) The Internet Society (2000).  All Rights Reserved.
30c0b9f4feSDoug Rabson.\"
31c0b9f4feSDoug Rabson.\" This document and translations of it may be copied and furnished to
32c0b9f4feSDoug Rabson.\" others, and derivative works that comment on or otherwise explain it
33c0b9f4feSDoug Rabson.\" or assist in its implementation may be prepared, copied, published
34c0b9f4feSDoug Rabson.\" and distributed, in whole or in part, without restriction of any
35c0b9f4feSDoug Rabson.\" kind, provided that the above copyright notice and this paragraph are
36c0b9f4feSDoug Rabson.\" included on all such copies and derivative works.  However, this
37c0b9f4feSDoug Rabson.\" document itself may not be modified in any way, such as by removing
38c0b9f4feSDoug Rabson.\" the copyright notice or references to the Internet Society or other
39c0b9f4feSDoug Rabson.\" Internet organizations, except as needed for the purpose of
40c0b9f4feSDoug Rabson.\" developing Internet standards in which case the procedures for
41c0b9f4feSDoug Rabson.\" copyrights defined in the Internet Standards process must be
42c0b9f4feSDoug Rabson.\" followed, or as required to translate it into languages other than
43c0b9f4feSDoug Rabson.\" English.
44c0b9f4feSDoug Rabson.\"
45c0b9f4feSDoug Rabson.\" The limited permissions granted above are perpetual and will not be
46c0b9f4feSDoug Rabson.\" revoked by the Internet Society or its successors or assigns.
47c0b9f4feSDoug Rabson.\"
48c0b9f4feSDoug Rabson.\" This document and the information contained herein is provided on an
49c0b9f4feSDoug Rabson.\" "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
50c0b9f4feSDoug Rabson.\" TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
51c0b9f4feSDoug Rabson.\" BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
52c0b9f4feSDoug Rabson.\" HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
53c0b9f4feSDoug Rabson.\" MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
54c0b9f4feSDoug Rabson.\"
55c0b9f4feSDoug Rabson.\" The following commands are required for all man pages.
56c0b9f4feSDoug Rabson.Dd November 12, 2005
57c0b9f4feSDoug Rabson.Os
58c0b9f4feSDoug Rabson.Dt GSS_INQUIRE_CONTEXT 3 PRM
59c0b9f4feSDoug Rabson.Sh NAME
60c0b9f4feSDoug Rabson.Nm gss_inquire_context
61c0b9f4feSDoug Rabson.Nd Obtain information about a security context
62c0b9f4feSDoug Rabson.\" This next command is for sections 2 and 3 only.
63c0b9f4feSDoug Rabson.\" .Sh LIBRARY
64c0b9f4feSDoug Rabson.Sh SYNOPSIS
65c0b9f4feSDoug Rabson.In "gssapi/gssapi.h"
66c0b9f4feSDoug Rabson.Ft OM_uint32
67c0b9f4feSDoug Rabson.Fo gss_inquire_context
68c0b9f4feSDoug Rabson.Fa "OM_uint32 *minor_status"
69c0b9f4feSDoug Rabson.Fa "const gss_ctx_id_t context_handle"
70c0b9f4feSDoug Rabson.Fa "gss_name_t *src_name"
71c0b9f4feSDoug Rabson.Fa "gss_name_t *targ_name"
72c0b9f4feSDoug Rabson.Fa "OM_uint32 *lifetime_rec"
73c0b9f4feSDoug Rabson.Fa "gss_OID *mech_type"
74c0b9f4feSDoug Rabson.Fa "OM_uint32 *ctx_flags"
75c0b9f4feSDoug Rabson.Fa "int *locally_initiated"
76c0b9f4feSDoug Rabson.Fa "int *open"
77c0b9f4feSDoug Rabson.Fc
78c0b9f4feSDoug Rabson.Sh DESCRIPTION
79c0b9f4feSDoug RabsonObtains information about a security context.
80c0b9f4feSDoug RabsonThe caller must already have obtained a handle that refers to the
81c0b9f4feSDoug Rabsoncontext,
82c0b9f4feSDoug Rabsonalthough the context need not be fully established.
83c0b9f4feSDoug Rabson.Sh PARAMETERS
84c0b9f4feSDoug Rabson.Bl -tag
85c0b9f4feSDoug Rabson.It minor_status
86c0b9f4feSDoug RabsonMechanism specific status code.
87c0b9f4feSDoug Rabson.It context_handle
88c0b9f4feSDoug RabsonA handle that refers to the security context.
89c0b9f4feSDoug Rabson.It src_name
90c0b9f4feSDoug RabsonThe name of the context initiator.
91c0b9f4feSDoug RabsonIf the context was established using anonymous authentication,
92c0b9f4feSDoug Rabsonand if the application invoking
93c0b9f4feSDoug Rabson.Fn gss_inquire_context
94c0b9f4feSDoug Rabsonis the context acceptor,
95c0b9f4feSDoug Rabsonan anonymous name will be returned.
96c0b9f4feSDoug RabsonStorage associated with this name must be freed by the application
97c0b9f4feSDoug Rabsonafter use with a call to
98c0b9f4feSDoug Rabson.Fn gss_release_name .
99c0b9f4feSDoug RabsonSpecify
100c0b9f4feSDoug Rabson.Dv NULL
101c0b9f4feSDoug Rabsonif not required.
102c0b9f4feSDoug Rabson.It targ_name
103c0b9f4feSDoug RabsonThe name of the context acceptor.
104c0b9f4feSDoug RabsonStorage associated with this name must be freed by the application
105c0b9f4feSDoug Rabsonafter use with a call to
106c0b9f4feSDoug Rabson.Fn gss_release_name .
107c0b9f4feSDoug RabsonIf the context acceptor did not authenticate itself,
108c0b9f4feSDoug Rabsonand if the initiator did not specify a target name in its call to
109c0b9f4feSDoug Rabson.Fn gss_init_sec_context ,
110c0b9f4feSDoug Rabsonthe value
111c0b9f4feSDoug Rabson.Dv GSS_C_NO_NAME
112c0b9f4feSDoug Rabsonwill be returned.
113c0b9f4feSDoug RabsonSpecify
114c0b9f4feSDoug Rabson.Dv NULL
115c0b9f4feSDoug Rabsonif not required.
116c0b9f4feSDoug Rabson.It lifetime_rec
117c0b9f4feSDoug RabsonThe number of seconds for which the context will remain valid.
118c0b9f4feSDoug RabsonIf the context has expired,
119c0b9f4feSDoug Rabsonthis parameter will be set to zero.
120c0b9f4feSDoug RabsonIf the implementation does not support context expiration,
121c0b9f4feSDoug Rabsonthe value
122c0b9f4feSDoug Rabson.Dv GSS_C_INDEFINITE
123c0b9f4feSDoug Rabsonwill be returned.
124c0b9f4feSDoug RabsonSpecify
125c0b9f4feSDoug Rabson.Dv NULL
126c0b9f4feSDoug Rabsonif not required.
127c0b9f4feSDoug Rabson.It mech_type
128c0b9f4feSDoug RabsonThe security mechanism providing the context.
129c0b9f4feSDoug RabsonThe returned OID will be a pointer to static storage that should be
130c0b9f4feSDoug Rabsontreated as read-only by the application;
131c0b9f4feSDoug Rabsonin particular the application should not attempt to free it.
132c0b9f4feSDoug RabsonSpecify
133c0b9f4feSDoug Rabson.Dv NULL
134c0b9f4feSDoug Rabsonif not required.
135c0b9f4feSDoug Rabson.It ctx_flags
136c0b9f4feSDoug RabsonContains various independent flags,
137c0b9f4feSDoug Rabsoneach of which indicates that the context supports
138c0b9f4feSDoug Rabson(or is expected to support, if
139c0b9f4feSDoug Rabson.Fa open
140c0b9f4feSDoug Rabsonis false)
141c0b9f4feSDoug Rabsona specific service option.
142c0b9f4feSDoug RabsonIf not needed, specify
143c0b9f4feSDoug Rabson.Dv NULL .
144c0b9f4feSDoug RabsonSymbolic names are provided for each flag,
145c0b9f4feSDoug Rabsonand the symbolic names corresponding to the required flags should be
146c0b9f4feSDoug Rabsonlogically-ANDed with the
147c0b9f4feSDoug Rabson.Fa ctx_flags
148c0b9f4feSDoug Rabsonvalue to test whether a given option is supported by the context.
149c0b9f4feSDoug RabsonThe flags are:
150c0b9f4feSDoug Rabson.Bl -tag -width "WW"
151c0b9f4feSDoug Rabson.It GSS_C_DELEG_FLAG
152c0b9f4feSDoug Rabson.Bl -tag -width "False"
153c0b9f4feSDoug Rabson.It True
154c0b9f4feSDoug RabsonCredentials were delegated from the initiator to the acceptor.
155c0b9f4feSDoug Rabson.It False
156c0b9f4feSDoug RabsonNo credentials were delegated.
157c0b9f4feSDoug Rabson.El
158c0b9f4feSDoug Rabson.It GSS_C_MUTUAL_FLAG
159c0b9f4feSDoug Rabson.Bl -tag -width "False"
160c0b9f4feSDoug Rabson.It True
161c0b9f4feSDoug RabsonThe acceptor was authenticated to the initiator.
162c0b9f4feSDoug Rabson.It False
163c0b9f4feSDoug RabsonThe acceptor did not authenticate itself.
164c0b9f4feSDoug Rabson.El
165c0b9f4feSDoug Rabson.It GSS_C_REPLAY_FLAG
166c0b9f4feSDoug Rabson.Bl -tag -width "False"
167c0b9f4feSDoug Rabson.It True
168c0b9f4feSDoug RabsonReplay of protected messages will be detected.
169c0b9f4feSDoug Rabson.It False
170c0b9f4feSDoug RabsonReplayed messages will not be detected.
171c0b9f4feSDoug Rabson.El
172c0b9f4feSDoug Rabson.It GSS_C_SEQUENCE_FLAG
173c0b9f4feSDoug Rabson.Bl -tag -width "False"
174c0b9f4feSDoug Rabson.It True
175c0b9f4feSDoug RabsonOut-of-sequence protected messages will be detected.
176c0b9f4feSDoug Rabson.It False
177c0b9f4feSDoug RabsonOut-of-sequence messages will not be detected.
178c0b9f4feSDoug Rabson.El
179c0b9f4feSDoug Rabson.It GSS_C_CONF_FLAG
180c0b9f4feSDoug Rabson.Bl -tag -width "False"
181c0b9f4feSDoug Rabson.It True
182c0b9f4feSDoug RabsonConfidentiality service may be invoked by calling
183c0b9f4feSDoug Rabson.Fn gss_wrap
184c0b9f4feSDoug Rabsonroutine.
185c0b9f4feSDoug Rabson.It False
186c0b9f4feSDoug RabsonNo confidentiality service
187c0b9f4feSDoug Rabson(via
188c0b9f4feSDoug Rabson.Fn gss_wrap )
189c0b9f4feSDoug Rabsonavailable.
190c0b9f4feSDoug Rabson.Fn gss_wrap
191c0b9f4feSDoug Rabsonwill provide message encapsulation,
192c0b9f4feSDoug Rabsondata-origin authentication and integrity services only.
193c0b9f4feSDoug Rabson.El
194c0b9f4feSDoug Rabson.It GSS_C_INTEG_FLAG
195c0b9f4feSDoug Rabson.Bl -tag -width "False"
196c0b9f4feSDoug Rabson.It True
197c0b9f4feSDoug RabsonIntegrity service may be invoked by calling either
198c0b9f4feSDoug Rabson.Fn gss_get_mic
199c0b9f4feSDoug Rabsonor
200c0b9f4feSDoug Rabson.Fn gss_wrap
201c0b9f4feSDoug Rabsonroutines.
202c0b9f4feSDoug Rabson.It False
203c0b9f4feSDoug RabsonPer-message integrity service unavailable.
204c0b9f4feSDoug Rabson.El
205c0b9f4feSDoug Rabson.It GSS_C_ANON_FLAG
206c0b9f4feSDoug Rabson.Bl -tag -width "False"
207c0b9f4feSDoug Rabson.It True
208c0b9f4feSDoug RabsonThe initiator's identity will not be revealed to the acceptor.
209c0b9f4feSDoug RabsonThe
210c0b9f4feSDoug Rabson.Fa src_name
211c0b9f4feSDoug Rabsonparameter (if requested) contains an anonymous internal name.
212c0b9f4feSDoug Rabson.It False
213c0b9f4feSDoug RabsonThe initiator has been authenticated normally.
214c0b9f4feSDoug Rabson.El
215c0b9f4feSDoug Rabson.It GSS_C_PROT_READY_FLAG
216c0b9f4feSDoug Rabson.Bl -tag -width "False"
217c0b9f4feSDoug Rabson.It True
218c0b9f4feSDoug RabsonProtection services
219c0b9f4feSDoug Rabson(as specified by the states of the
220c0b9f4feSDoug Rabson.Dv GSS_C_CONF_FLAG
221c0b9f4feSDoug Rabsonand
222c0b9f4feSDoug Rabson.Dv GSS_C_INTEG_FLAG )
223c0b9f4feSDoug Rabsonare available for use.
224c0b9f4feSDoug Rabson.It False
225c0b9f4feSDoug RabsonProtection services
226c0b9f4feSDoug Rabson(as specified by the states of the
227c0b9f4feSDoug Rabson.Dv GSS_C_CONF_FLAG
228c0b9f4feSDoug Rabsonand
229c0b9f4feSDoug Rabson.Dv GSS_C_INTEG_FLAG )
230c0b9f4feSDoug Rabsonare available only if the context is fully established
231c0b9f4feSDoug Rabson(i.e. if the
232c0b9f4feSDoug Rabson.Fa open
233c0b9f4feSDoug Rabsonparameter is non-zero).
234c0b9f4feSDoug Rabson.El
235c0b9f4feSDoug Rabson.It GSS_C_TRANS_FLAG
236c0b9f4feSDoug Rabson.Bl -tag -width "False"
237c0b9f4feSDoug Rabson.It True
238c0b9f4feSDoug RabsonThe security context may be transferred to other processes via a call to
239c0b9f4feSDoug Rabson.Fn gss_export_sec_context .
240c0b9f4feSDoug Rabson.It False
241c0b9f4feSDoug RabsonThe security context is not transferable.
242c0b9f4feSDoug Rabson.El
243c0b9f4feSDoug Rabson.El
244c0b9f4feSDoug Rabson.It locally_initiated
245c0b9f4feSDoug RabsonNon-zero if the invoking application is the context initiator.
246c0b9f4feSDoug RabsonSpecify
247c0b9f4feSDoug Rabson.Dv NULL
248c0b9f4feSDoug Rabsonif not required.
249c0b9f4feSDoug Rabson.It open
250c0b9f4feSDoug RabsonNon-zero if the context is fully established;
251c0b9f4feSDoug RabsonZero if a context-establishment token is expected from the peer
252c0b9f4feSDoug Rabsonapplication.
253c0b9f4feSDoug RabsonSpecify
254c0b9f4feSDoug Rabson.Dv NULL
255c0b9f4feSDoug Rabsonif not required.
256c0b9f4feSDoug Rabson.El
257c0b9f4feSDoug Rabson.Sh RETURN VALUES
258c0b9f4feSDoug Rabson.Bl -tag
259c0b9f4feSDoug Rabson.It GSS_S_COMPLETE
260c0b9f4feSDoug RabsonSuccessful completion
261c0b9f4feSDoug Rabson.It GSS_S_NO_CONTEXT
262c0b9f4feSDoug RabsonThe referenced context could not be accessed
263c0b9f4feSDoug Rabson.El
264c0b9f4feSDoug Rabson.Sh SEE ALSO
265c0b9f4feSDoug Rabson.Xr gss_release_name 3 ,
266c0b9f4feSDoug Rabson.Xr gss_init_sec_context 3 ,
267c0b9f4feSDoug Rabson.Xr gss_wrap 3 ,
268c0b9f4feSDoug Rabson.Xr gss_get_mic 3 ,
269c0b9f4feSDoug Rabson.Xr gss_export_sec_context 3
270c0b9f4feSDoug Rabson.Sh STANDARDS
271c0b9f4feSDoug Rabson.Bl -tag
272c0b9f4feSDoug Rabson.It RFC 2743
273c0b9f4feSDoug RabsonGeneric Security Service Application Program Interface Version 2, Update 1
274c0b9f4feSDoug Rabson.It RFC 2744
275c0b9f4feSDoug RabsonGeneric Security Service API Version 2 : C-bindings
276c0b9f4feSDoug Rabson.\" .Sh HISTORY
277c0b9f4feSDoug Rabson.El
278c0b9f4feSDoug Rabson.Sh HISTORY
279c0b9f4feSDoug RabsonThe
280c0b9f4feSDoug Rabson.Nm
281c0b9f4feSDoug Rabsonmanual page example first appeared in
282c0b9f4feSDoug Rabson.Fx 7.0 .
283c0b9f4feSDoug Rabson.Sh AUTHORS
284c0b9f4feSDoug RabsonJohn Wray, Iris Associates
285