]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - secure/lib/libssl/man/SSL_clear.3
MFC: r325328
[FreeBSD/FreeBSD.git] / secure / lib / libssl / man / SSL_clear.3
1 .\" Automatically generated by Pod::Man 4.07 (Pod::Simple 3.35)
2 .\"
3 .\" Standard preamble:
4 .\" ========================================================================
5 .de Sp \" Vertical space (when we can't use .PP)
6 .if t .sp .5v
7 .if n .sp
8 ..
9 .de Vb \" Begin verbatim text
10 .ft CW
11 .nf
12 .ne \\$1
13 ..
14 .de Ve \" End verbatim text
15 .ft R
16 .fi
17 ..
18 .\" Set up some character translations and predefined strings.  \*(-- will
19 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
20 .\" double quote, and \*(R" will give a right double quote.  \*(C+ will
21 .\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
22 .\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
23 .\" nothing in troff, for use with C<>.
24 .tr \(*W-
25 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
26 .ie n \{\
27 .    ds -- \(*W-
28 .    ds PI pi
29 .    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
30 .    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
31 .    ds L" ""
32 .    ds R" ""
33 .    ds C` ""
34 .    ds C' ""
35 'br\}
36 .el\{\
37 .    ds -- \|\(em\|
38 .    ds PI \(*p
39 .    ds L" ``
40 .    ds R" ''
41 .    ds C`
42 .    ds C'
43 'br\}
44 .\"
45 .\" Escape single quotes in literal strings from groff's Unicode transform.
46 .ie \n(.g .ds Aq \(aq
47 .el       .ds Aq '
48 .\"
49 .\" If the F register is >0, we'll generate index entries on stderr for
50 .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
51 .\" entries marked with X<> in POD.  Of course, you'll have to process the
52 .\" output yourself in some meaningful fashion.
53 .\"
54 .\" Avoid warning from groff about undefined register 'F'.
55 .de IX
56 ..
57 .if !\nF .nr F 0
58 .if \nF>0 \{\
59 .    de IX
60 .    tm Index:\\$1\t\\n%\t"\\$2"
61 ..
62 .    if !\nF==2 \{\
63 .        nr % 0
64 .        nr F 2
65 .    \}
66 .\}
67 .\"
68 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
69 .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
70 .    \" fudge factors for nroff and troff
71 .if n \{\
72 .    ds #H 0
73 .    ds #V .8m
74 .    ds #F .3m
75 .    ds #[ \f1
76 .    ds #] \fP
77 .\}
78 .if t \{\
79 .    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
80 .    ds #V .6m
81 .    ds #F 0
82 .    ds #[ \&
83 .    ds #] \&
84 .\}
85 .    \" simple accents for nroff and troff
86 .if n \{\
87 .    ds ' \&
88 .    ds ` \&
89 .    ds ^ \&
90 .    ds , \&
91 .    ds ~ ~
92 .    ds /
93 .\}
94 .if t \{\
95 .    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
96 .    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
97 .    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
98 .    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
99 .    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
100 .    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
101 .\}
102 .    \" troff and (daisy-wheel) nroff accents
103 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
104 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
105 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
106 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
107 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
108 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
109 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
110 .ds ae a\h'-(\w'a'u*4/10)'e
111 .ds Ae A\h'-(\w'A'u*4/10)'E
112 .    \" corrections for vroff
113 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
114 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
115 .    \" for low resolution devices (crt and lpr)
116 .if \n(.H>23 .if \n(.V>19 \
117 \{\
118 .    ds : e
119 .    ds 8 ss
120 .    ds o a
121 .    ds d- d\h'-1'\(ga
122 .    ds D- D\h'-1'\(hy
123 .    ds th \o'bp'
124 .    ds Th \o'LP'
125 .    ds ae ae
126 .    ds Ae AE
127 .\}
128 .rm #[ #] #H #V #F C
129 .\" ========================================================================
130 .\"
131 .IX Title "SSL_clear 3"
132 .TH SSL_clear 3 "2017-11-02" "1.0.2m" "OpenSSL"
133 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
134 .\" way too many mistakes in technical documents.
135 .if n .ad l
136 .nh
137 .SH "NAME"
138 SSL_clear \- reset SSL object to allow another connection
139 .SH "SYNOPSIS"
140 .IX Header "SYNOPSIS"
141 .Vb 1
142 \& #include <openssl/ssl.h>
143 \&
144 \& int SSL_clear(SSL *ssl);
145 .Ve
146 .SH "DESCRIPTION"
147 .IX Header "DESCRIPTION"
148 Reset \fBssl\fR to allow another connection. All settings (method, ciphers,
149 BIOs) are kept.
150 .SH "NOTES"
151 .IX Header "NOTES"
152 SSL_clear is used to prepare an \s-1SSL\s0 object for a new connection. While all
153 settings are kept, a side effect is the handling of the current \s-1SSL\s0 session.
154 If a session is still \fBopen\fR, it is considered bad and will be removed
155 from the session cache, as required by \s-1RFC2246. A\s0 session is considered open,
156 if \fISSL_shutdown\fR\|(3) was not called for the connection
157 or at least \fISSL_set_shutdown\fR\|(3) was used to
158 set the \s-1SSL_SENT_SHUTDOWN\s0 state.
159 .PP
160 If a session was closed cleanly, the session object will be kept and all
161 settings corresponding. This explicitly means, that e.g. the special method
162 used during the session will be kept for the next handshake. So if the
163 session was a TLSv1 session, a \s-1SSL\s0 client object will use a TLSv1 client
164 method for the next handshake and a \s-1SSL\s0 server object will use a TLSv1
165 server method, even if SSLv23_*_methods were chosen on startup. This
166 will might lead to connection failures (see \fISSL_new\fR\|(3))
167 for a description of the method's properties.
168 .SH "WARNINGS"
169 .IX Header "WARNINGS"
170 \&\fISSL_clear()\fR resets the \s-1SSL\s0 object to allow for another connection. The
171 reset operation however keeps several settings of the last sessions
172 (some of these settings were made automatically during the last
173 handshake). It only makes sense for a new connection with the exact
174 same peer that shares these settings, and may fail if that peer
175 changes its settings between connections. Use the sequence
176 \&\fISSL_get_session\fR\|(3);
177 \&\fISSL_new\fR\|(3);
178 \&\fISSL_set_session\fR\|(3);
179 \&\fISSL_free\fR\|(3)
180 instead to avoid such failures
181 (or simply \fISSL_free\fR\|(3); \fISSL_new\fR\|(3)
182 if session reuse is not desired).
183 .SH "RETURN VALUES"
184 .IX Header "RETURN VALUES"
185 The following return values can occur:
186 .IP "0" 4
187 The \fISSL_clear()\fR operation could not be performed. Check the error stack to
188 find out the reason.
189 .IP "1" 4
190 .IX Item "1"
191 The \fISSL_clear()\fR operation was successful.
192 .PP
193 \&\fISSL_new\fR\|(3), \fISSL_free\fR\|(3),
194 \&\fISSL_shutdown\fR\|(3), \fISSL_set_shutdown\fR\|(3),
195 \&\fISSL_CTX_set_options\fR\|(3), \fIssl\fR\|(3),
196 \&\fISSL_CTX_set_client_cert_cb\fR\|(3)