]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - secure/lib/libcrypto/man/SSL_CTX_set_session_cache_mode.3
This commit was generated by cvs2svn to compensate for changes in r105765,
[FreeBSD/FreeBSD.git] / secure / lib / libcrypto / man / SSL_CTX_set_session_cache_mode.3
1 .\" Automatically generated by Pod::Man version 1.15
2 .\" Tue Jul 30 09:22:28 2002
3 .\"
4 .\" Standard preamble:
5 .\" ======================================================================
6 .de Sh \" Subsection heading
7 .br
8 .if t .Sp
9 .ne 5
10 .PP
11 \fB\\$1\fR
12 .PP
13 ..
14 .de Sp \" Vertical space (when we can't use .PP)
15 .if t .sp .5v
16 .if n .sp
17 ..
18 .de Ip \" List item
19 .br
20 .ie \\n(.$>=3 .ne \\$3
21 .el .ne 3
22 .IP "\\$1" \\$2
23 ..
24 .de Vb \" Begin verbatim text
25 .ft CW
26 .nf
27 .ne \\$1
28 ..
29 .de Ve \" End verbatim text
30 .ft R
31
32 .fi
33 ..
34 .\" Set up some character translations and predefined strings.  \*(-- will
35 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
36 .\" double quote, and \*(R" will give a right double quote.  | will give a
37 .\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used
38 .\" to do unbreakable dashes and therefore won't be available.  \*(C` and
39 .\" \*(C' expand to `' in nroff, nothing in troff, for use with C<>
40 .tr \(*W-|\(bv\*(Tr
41 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
42 .ie n \{\
43 .    ds -- \(*W-
44 .    ds PI pi
45 .    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
46 .    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
47 .    ds L" ""
48 .    ds R" ""
49 .    ds C` ""
50 .    ds C' ""
51 'br\}
52 .el\{\
53 .    ds -- \|\(em\|
54 .    ds PI \(*p
55 .    ds L" ``
56 .    ds R" ''
57 'br\}
58 .\"
59 .\" If the F register is turned on, we'll generate index entries on stderr
60 .\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and
61 .\" index entries marked with X<> in POD.  Of course, you'll have to process
62 .\" the output yourself in some meaningful fashion.
63 .if \nF \{\
64 .    de IX
65 .    tm Index:\\$1\t\\n%\t"\\$2"
66 ..
67 .    nr % 0
68 .    rr F
69 .\}
70 .\"
71 .\" For nroff, turn off justification.  Always turn off hyphenation; it
72 .\" makes way too many mistakes in technical documents.
73 .hy 0
74 .if n .na
75 .\"
76 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
77 .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
78 .bd B 3
79 .    \" fudge factors for nroff and troff
80 .if n \{\
81 .    ds #H 0
82 .    ds #V .8m
83 .    ds #F .3m
84 .    ds #[ \f1
85 .    ds #] \fP
86 .\}
87 .if t \{\
88 .    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
89 .    ds #V .6m
90 .    ds #F 0
91 .    ds #[ \&
92 .    ds #] \&
93 .\}
94 .    \" simple accents for nroff and troff
95 .if n \{\
96 .    ds ' \&
97 .    ds ` \&
98 .    ds ^ \&
99 .    ds , \&
100 .    ds ~ ~
101 .    ds /
102 .\}
103 .if t \{\
104 .    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
105 .    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
106 .    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
107 .    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
108 .    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
109 .    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
110 .\}
111 .    \" troff and (daisy-wheel) nroff accents
112 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
113 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
114 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
115 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
116 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
117 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
118 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
119 .ds ae a\h'-(\w'a'u*4/10)'e
120 .ds Ae A\h'-(\w'A'u*4/10)'E
121 .    \" corrections for vroff
122 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
123 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
124 .    \" for low resolution devices (crt and lpr)
125 .if \n(.H>23 .if \n(.V>19 \
126 \{\
127 .    ds : e
128 .    ds 8 ss
129 .    ds o a
130 .    ds d- d\h'-1'\(ga
131 .    ds D- D\h'-1'\(hy
132 .    ds th \o'bp'
133 .    ds Th \o'LP'
134 .    ds ae ae
135 .    ds Ae AE
136 .\}
137 .rm #[ #] #H #V #F C
138 .\" ======================================================================
139 .\"
140 .IX Title "SSL_CTX_set_session_cache_mode 3"
141 .TH SSL_CTX_set_session_cache_mode 3 "0.9.6e" "2002-01-26" "OpenSSL"
142 .UC
143 .SH "NAME"
144 SSL_CTX_set_session_cache_mode, SSL_CTX_get_session_cache_mode \- enable/disable session caching
145 .SH "SYNOPSIS"
146 .IX Header "SYNOPSIS"
147 .Vb 1
148 \& #include <openssl/ssl.h>
149 .Ve
150 .Vb 2
151 \& long SSL_CTX_set_session_cache_mode(SSL_CTX ctx, long mode);
152 \& long SSL_CTX_get_session_cache_mode(SSL_CTX ctx);
153 .Ve
154 .SH "DESCRIPTION"
155 .IX Header "DESCRIPTION"
156 \&\fISSL_CTX_set_session_cache_mode()\fR enables/disables session caching
157 by setting the operational mode for \fBctx\fR to <mode>.
158 .PP
159 \&\fISSL_CTX_get_session_cache_mode()\fR returns the currently used cache mode.
160 .SH "NOTES"
161 .IX Header "NOTES"
162 The OpenSSL library can store/retrieve \s-1SSL/TLS\s0 sessions for later reuse.
163 The sessions can be held in memory for each \fBctx\fR, if more than one
164 \&\s-1SSL_CTX\s0 object is being maintained, the sessions are unique for each \s-1SSL_CTX\s0
165 object.
166 .PP
167 In order to reuse a session, a client must send the session's id to the
168 server. It can only send exactly one id.  The server then decides whether it
169 agrees in reusing the session or starts the handshake for a new session.
170 .PP
171 A server will lookup up the session in its internal session storage. If
172 the session is not found in internal storage or internal storage is
173 deactivated, the server will try the external storage if available.
174 .PP
175 Since a client may try to reuse a session intended for use in a different
176 context, the session id context must be set by the server (see
177 SSL_CTX_set_session_id_context(3)).
178 .PP
179 The following session cache modes and modifiers are available:
180 .Ip "\s-1SSL_SESS_CACHE_OFF\s0" 4
181 .IX Item "SSL_SESS_CACHE_OFF"
182 No session caching for client or server takes place.
183 .Ip "\s-1SSL_SESS_CACHE_CLIENT\s0" 4
184 .IX Item "SSL_SESS_CACHE_CLIENT"
185 Client sessions are added to the session cache. As there is no reliable way
186 for the OpenSSL library to know whether a session should be reused or which
187 session to choose (due to the abstract \s-1BIO\s0 layer the \s-1SSL\s0 engine does not
188 have details about the connection), the application must select the session
189 to be reused by using the SSL_set_session(3)
190 function. This option is not activated by default.
191 .Ip "\s-1SSL_SESS_CACHE_SERVER\s0" 4
192 .IX Item "SSL_SESS_CACHE_SERVER"
193 Server sessions are added to the session cache. When a client proposes a
194 session to be reused, the session is looked up in the internal session cache.
195 If the session is found, the server will try to reuse the session.
196 This is the default.
197 .Ip "\s-1SSL_SESS_CACHE_BOTH\s0" 4
198 .IX Item "SSL_SESS_CACHE_BOTH"
199 Enable both \s-1SSL_SESS_CACHE_CLIENT\s0 and \s-1SSL_SESS_CACHE_SERVER\s0 at the same time.
200 .Ip "\s-1SSL_SESS_CACHE_NO_AUTO_CLEAR\s0" 4
201 .IX Item "SSL_SESS_CACHE_NO_AUTO_CLEAR"
202 Normally the session cache is checked for expired sessions every
203 255 connections using the
204 SSL_CTX_flush_sessions(3) function. Since
205 this may lead to a delay which cannot be controlled, the automatic
206 flushing may be disabled and
207 SSL_CTX_flush_sessions(3) can be called
208 explicitly by the application.
209 .Ip "\s-1SSL_SESS_CACHE_NO_INTERNAL_LOOKUP\s0" 4
210 .IX Item "SSL_SESS_CACHE_NO_INTERNAL_LOOKUP"
211 By setting this flag sessions are cached in the internal storage but
212 they are not looked up automatically. If an external session cache
213 is enabled, sessions are looked up in the external cache. As automatic
214 lookup only applies for \s-1SSL/TLS\s0 servers, the flag has no effect on
215 clients.
216 .PP
217 The default mode is \s-1SSL_SESS_CACHE_SERVER\s0.
218 .SH "RETURN VALUES"
219 .IX Header "RETURN VALUES"
220 \&\fISSL_CTX_set_session_cache_mode()\fR returns the previously set cache mode.
221 .PP
222 \&\fISSL_CTX_get_session_cache_mode()\fR returns the currently set cache mode.
223 .SH "SEE ALSO"
224 .IX Header "SEE ALSO"
225 ssl(3), SSL_set_session(3),
226 SSL_session_reused(3),
227 SSL_CTX_sess_number(3),
228 SSL_CTX_sess_set_cache_size(3),
229 SSL_CTX_sess_set_get_cb(3),
230 SSL_CTX_set_session_id_context(3),
231 SSL_CTX_set_timeout(3),
232 SSL_CTX_flush_sessions(3)