xref: /freebsd-src/lib/libgssapi/gss_wrap_size_limit.3 (revision 17ed18fef3ee30b72f8f88ef7b43d082ae8d8bf1)
1.\" -*- nroff -*-
2.\"
3.\" Copyright (c) 2005 Doug Rabson
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.\" 1. Redistributions of source code must retain the above copyright
10.\"    notice, this list of conditions and the following disclaimer.
11.\" 2. Redistributions in binary form must reproduce the above copyright
12.\"    notice, this list of conditions and the following disclaimer in the
13.\"    documentation and/or other materials provided with the distribution.
14.\"
15.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
16.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
19.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25.\" SUCH DAMAGE.
26.\"
27.\"	$FreeBSD$
28.\"
29.\" Copyright (C) The Internet Society (2000).  All Rights Reserved.
30.\"
31.\" This document and translations of it may be copied and furnished to
32.\" others, and derivative works that comment on or otherwise explain it
33.\" or assist in its implementation may be prepared, copied, published
34.\" and distributed, in whole or in part, without restriction of any
35.\" kind, provided that the above copyright notice and this paragraph are
36.\" included on all such copies and derivative works.  However, this
37.\" document itself may not be modified in any way, such as by removing
38.\" the copyright notice or references to the Internet Society or other
39.\" Internet organizations, except as needed for the purpose of
40.\" developing Internet standards in which case the procedures for
41.\" copyrights defined in the Internet Standards process must be
42.\" followed, or as required to translate it into languages other than
43.\" English.
44.\"
45.\" The limited permissions granted above are perpetual and will not be
46.\" revoked by the Internet Society or its successors or assigns.
47.\"
48.\" This document and the information contained herein is provided on an
49.\" "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
50.\" TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
51.\" BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
52.\" HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
53.\" MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
54.\"
55.\" The following commands are required for all man pages.
56.Dd November 12, 2005
57.Os
58.Dt GSS_WRAP_SIZE_LIMIT 3 PRM
59.Sh NAME
60.Nm gss_wrap_size_limit
61.Nd Determine maximum message sizes
62.\" This next command is for sections 2 and 3 only.
63.\" .Sh LIBRARY
64.Sh SYNOPSIS
65.In "gssapi/gssapi.h"
66.Ft OM_uint32
67.Fo gss_wrap_size_limit
68.Fa "OM_uint32 *minor_status"
69.Fa "const gss_ctx_id_t context_handle"
70.Fa "int conf_req_flag"
71.Fa "gss_qop_t qop_req"
72.Fa "OM_uint32 req_output_size"
73.Fa "OM_uint32 *max_input_size"
74.Fc
75.Sh DESCRIPTION
76Allows an application to determine the maximum message size that,
77if presented to
78.Xr gss_wrap 3
79with the same
80.Dv conf_req_flag
81and
82.Dv qop_req
83parameters,
84will result in an output token containing no more than
85.Dv req_output_size
86bytes.
87.Pp
88This call is intended for use by applications that
89communicate over protocols that impose a maximum message size.
90It enables the application to fragment messages prior to applying protection.
91.Pp
92GSS-API implementations are recommended but not required to detect
93invalid QOP values when
94.Fn gss_wrap_size_limit
95is called.
96This routine guarantees only a maximum message size,
97not the availability of specific QOP values for message protection.
98.Pp
99Successful completion of this call does not guarantee that
100.Xr gss_wrap 3
101will be able to protect a message of length max_input_size bytes,
102since this ability may depend on the availability of system resources
103at the time that
104.Xr gss_wrap 3
105is called.
106However, if the implementation itself imposes an upper limit on
107the length of messages that may be processed by gss_wrap,
108the implementation should not return a value via
109.Dv max_input_bytes
110that is greater than this length.
111.Sh PARAMETERS
112.Bl -tag
113.It minor_status
114Mechanism specific status code.
115.It context_handle
116A handle that refers to the security over which the messages will be sent.
117.It conf_req_flag
118Indicates whether
119.Xr gss_wrap 3
120will be asked to apply confidentiality protection
121in addition to integrity protection.
122.It qop_req
123Indicates the level of protection that
124.Xr gss_wrap 3
125will be asked to provide.
126.It req_output_size
127The desired maximum size for tokens emitted by
128.Xr gss_wrap 3 .
129.It max_input_size
130The maximum input message size that may be presented to
131.Xr gss_wrap 3
132in order to guarantee that the emitted token shall
133be no larger than
134.Dv req_output_size
135bytes.
136.El
137.Sh RETURN VALUES
138.Bl -tag
139.It GSS_S_COMPLETE
140Successful completion.
141.It GSS_S_NO_CONTEXT
142The referenced context could not be accessed.
143.It GSS_S_CONTEXT_EXPIRED
144The context has expired.
145.It GSS_S_BAD_QOP
146The specified QOP is not supported by the mechanism.
147.El
148.Sh SEE ALSO
149.Xr gss_wrap 3
150.Sh STANDARDS
151.Bl -tag
152.It RFC 2743
153Generic Security Service Application Program Interface Version 2, Update 1
154.It RFC 2744
155Generic Security Service API Version 2 : C-bindings
156.\" .Sh HISTORY
157.Sh HISTORY
158The
159.Nm
160manual page example first appeared in
161.Fx 7.0 .
162.Sh AUTHORS
163John Wray, Iris Associates
164