Deleted Added
full compact
SSL_shutdown.3 (206048) SSL_shutdown.3 (215698)
1.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.37
1.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07)
2.\"
3.\" Standard preamble:
4.\" ========================================================================
2.\"
3.\" Standard preamble:
4.\" ========================================================================
5.de Sh \" Subsection heading
6.br
7.if t .Sp
8.ne 5
9.PP
10\fB\\$1\fR
11.PP
12..
13.de Sp \" Vertical space (when we can't use .PP)
14.if t .sp .5v
15.if n .sp
16..
17.de Vb \" Begin verbatim text
18.ft CW
19.nf
20.ne \\$1
21..
22.de Ve \" End verbatim text
23.ft R
24.fi
25..
26.\" Set up some character translations and predefined strings. \*(-- will
27.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
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
28.\" double quote, and \*(R" will give a right double quote. | will give a
29.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to
30.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C'
31.\" expand to `' in nroff, nothing in troff, for use with C<>.
32.tr \(*W-|\(bv\*(Tr
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-
33.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
34.ie n \{\
35. ds -- \(*W-
36. ds PI pi
37. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
38. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
39. ds L" ""
40. ds R" ""
41. ds C` ""
42. ds C' ""
43'br\}
44.el\{\
45. ds -- \|\(em\|
46. ds PI \(*p
47. ds L" ``
48. ds R" ''
49'br\}
50.\"
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'br\}
42.\"
43.\" Escape single quotes in literal strings from groff's Unicode transform.
44.ie \n(.g .ds Aq \(aq
45.el .ds Aq '
46.\"
51.\" If the F register is turned on, we'll generate index entries on stderr for
47.\" If the F register is turned on, we'll generate index entries on stderr for
52.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
48.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
53.\" entries marked with X<> in POD. Of course, you'll have to process the
54.\" output yourself in some meaningful fashion.
49.\" entries marked with X<> in POD. Of course, you'll have to process the
50.\" output yourself in some meaningful fashion.
55.if \nF \{\
51.ie \nF \{\
56. de IX
57. tm Index:\\$1\t\\n%\t"\\$2"
58..
59. nr % 0
60. rr F
61.\}
52. de IX
53. tm Index:\\$1\t\\n%\t"\\$2"
54..
55. nr % 0
56. rr F
57.\}
58.el \{\
59. de IX
60..
61.\}
62.\"
62.\"
63.\" For nroff, turn off justification. Always turn off hyphenation; it makes
64.\" way too many mistakes in technical documents.
65.hy 0
66.if n .na
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

--- 48 unchanged lines hidden (view full) ---

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_shutdown 3"
63.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
64.\" Fear. Run. Save yourself. No user-serviceable parts.
65. \" fudge factors for nroff and troff
66.if n \{\
67. ds #H 0
68. ds #V .8m
69. ds #F .3m
70. ds #[ \f1

--- 48 unchanged lines hidden (view full) ---

119. ds Th \o'LP'
120. ds ae ae
121. ds Ae AE
122.\}
123.rm #[ #] #H #V #F C
124.\" ========================================================================
125.\"
126.IX Title "SSL_shutdown 3"
132.TH SSL_shutdown 3 "2010-03-24" "0.9.8n" "OpenSSL"
127.TH SSL_shutdown 3 "2010-11-16" "0.9.8p" "OpenSSL"
128.\" For nroff, turn off justification. Always turn off hyphenation; it makes
129.\" way too many mistakes in technical documents.
130.if n .ad l
131.nh
133.SH "NAME"
134SSL_shutdown \- shut down a TLS/SSL connection
135.SH "SYNOPSIS"
136.IX Header "SYNOPSIS"
137.Vb 1
138\& #include <openssl/ssl.h>
132.SH "NAME"
133SSL_shutdown \- shut down a TLS/SSL connection
134.SH "SYNOPSIS"
135.IX Header "SYNOPSIS"
136.Vb 1
137\& #include <openssl/ssl.h>
139.Ve
140.PP
141.Vb 1
138\&
142\& int SSL_shutdown(SSL *ssl);
143.Ve
144.SH "DESCRIPTION"
145.IX Header "DESCRIPTION"
146\&\fISSL_shutdown()\fR shuts down an active \s-1TLS/SSL\s0 connection. It sends the
147\&\*(L"close notify\*(R" shutdown alert to the peer.
148.SH "NOTES"
149.IX Header "NOTES"

--- 24 unchanged lines hidden (view full) ---

174.PD
175.PP
176It is therefore recommended, to check the return value of \fISSL_shutdown()\fR
177and call \fISSL_shutdown()\fR again, if the bidirectional shutdown is not yet
178complete (return value of the first call is 0). As the shutdown is not
179specially handled in the SSLv2 protocol, \fISSL_shutdown()\fR will succeed on
180the first call.
181.PP
139\& int SSL_shutdown(SSL *ssl);
140.Ve
141.SH "DESCRIPTION"
142.IX Header "DESCRIPTION"
143\&\fISSL_shutdown()\fR shuts down an active \s-1TLS/SSL\s0 connection. It sends the
144\&\*(L"close notify\*(R" shutdown alert to the peer.
145.SH "NOTES"
146.IX Header "NOTES"

--- 24 unchanged lines hidden (view full) ---

171.PD
172.PP
173It is therefore recommended, to check the return value of \fISSL_shutdown()\fR
174and call \fISSL_shutdown()\fR again, if the bidirectional shutdown is not yet
175complete (return value of the first call is 0). As the shutdown is not
176specially handled in the SSLv2 protocol, \fISSL_shutdown()\fR will succeed on
177the first call.
178.PP
182The behaviour of \fISSL_shutdown()\fR additionally depends on the underlying \s-1BIO\s0.
179The behaviour of \fISSL_shutdown()\fR additionally depends on the underlying \s-1BIO\s0.
183.PP
184If the underlying \s-1BIO\s0 is \fBblocking\fR, \fISSL_shutdown()\fR will only return once the
185handshake step has been finished or an error occurred.
186.PP
187If the underlying \s-1BIO\s0 is \fBnon-blocking\fR, \fISSL_shutdown()\fR will also return
188when the underlying \s-1BIO\s0 could not satisfy the needs of \fISSL_shutdown()\fR
189to continue the handshake. In this case a call to \fISSL_get_error()\fR with the
190return value of \fISSL_shutdown()\fR will yield \fB\s-1SSL_ERROR_WANT_READ\s0\fR or

--- 7 unchanged lines hidden (view full) ---

198\&\fISSL_shutdown()\fR can be modified to only set the connection to \*(L"shutdown\*(R"
199state but not actually send the \*(L"close notify\*(R" alert messages,
200see \fISSL_CTX_set_quiet_shutdown\fR\|(3).
201When \*(L"quiet shutdown\*(R" is enabled, \fISSL_shutdown()\fR will always succeed
202and return 1.
203.SH "RETURN VALUES"
204.IX Header "RETURN VALUES"
205The following return values can occur:
180.PP
181If the underlying \s-1BIO\s0 is \fBblocking\fR, \fISSL_shutdown()\fR will only return once the
182handshake step has been finished or an error occurred.
183.PP
184If the underlying \s-1BIO\s0 is \fBnon-blocking\fR, \fISSL_shutdown()\fR will also return
185when the underlying \s-1BIO\s0 could not satisfy the needs of \fISSL_shutdown()\fR
186to continue the handshake. In this case a call to \fISSL_get_error()\fR with the
187return value of \fISSL_shutdown()\fR will yield \fB\s-1SSL_ERROR_WANT_READ\s0\fR or

--- 7 unchanged lines hidden (view full) ---

195\&\fISSL_shutdown()\fR can be modified to only set the connection to \*(L"shutdown\*(R"
196state but not actually send the \*(L"close notify\*(R" alert messages,
197see \fISSL_CTX_set_quiet_shutdown\fR\|(3).
198When \*(L"quiet shutdown\*(R" is enabled, \fISSL_shutdown()\fR will always succeed
199and return 1.
200.SH "RETURN VALUES"
201.IX Header "RETURN VALUES"
202The following return values can occur:
206.IP "1" 4
207.IX Item "1"
203.IP "1." 4
208The shutdown was successfully completed. The \*(L"close notify\*(R" alert was sent
209and the peer's \*(L"close notify\*(R" alert was received.
204The shutdown was successfully completed. The \*(L"close notify\*(R" alert was sent
205and the peer's \*(L"close notify\*(R" alert was received.
210.IP "0" 4
206.IP "2." 4
211The shutdown is not yet finished. Call \fISSL_shutdown()\fR for a second time,
212if a bidirectional shutdown shall be performed.
213The output of \fISSL_get_error\fR\|(3) may be misleading, as an
214erroneous \s-1SSL_ERROR_SYSCALL\s0 may be flagged even though no error occurred.
207The shutdown is not yet finished. Call \fISSL_shutdown()\fR for a second time,
208if a bidirectional shutdown shall be performed.
209The output of \fISSL_get_error\fR\|(3) may be misleading, as an
210erroneous \s-1SSL_ERROR_SYSCALL\s0 may be flagged even though no error occurred.
215.IP "\-1" 4
216.IX Item "-1"
211.IP "3." 4
212\&\-1
213.Sp
217The shutdown was not successful because a fatal error occurred either
218at the protocol level or a connection failure occurred. It can also occur if
219action is need to continue the operation for non-blocking BIOs.
220Call \fISSL_get_error\fR\|(3) with the return value \fBret\fR
221to find out the reason.
222.SH "SEE ALSO"
223.IX Header "SEE ALSO"
224\&\fISSL_get_error\fR\|(3), \fISSL_connect\fR\|(3),
225\&\fISSL_accept\fR\|(3), \fISSL_set_shutdown\fR\|(3),
226\&\fISSL_CTX_set_quiet_shutdown\fR\|(3),
227\&\fISSL_clear\fR\|(3), \fISSL_free\fR\|(3),
228\&\fIssl\fR\|(3), \fIbio\fR\|(3)
214The shutdown was not successful because a fatal error occurred either
215at the protocol level or a connection failure occurred. It can also occur if
216action is need to continue the operation for non-blocking BIOs.
217Call \fISSL_get_error\fR\|(3) with the return value \fBret\fR
218to find out the reason.
219.SH "SEE ALSO"
220.IX Header "SEE ALSO"
221\&\fISSL_get_error\fR\|(3), \fISSL_connect\fR\|(3),
222\&\fISSL_accept\fR\|(3), \fISSL_set_shutdown\fR\|(3),
223\&\fISSL_CTX_set_quiet_shutdown\fR\|(3),
224\&\fISSL_clear\fR\|(3), \fISSL_free\fR\|(3),
225\&\fIssl\fR\|(3), \fIbio\fR\|(3)
226.SH "POD ERRORS"
227.IX Header "POD ERRORS"
228Hey! \fBThe above document had some coding errors, which are explained below:\fR
229.IP "Around line 100:" 4
230.IX Item "Around line 100:"
231You have '=item 0' instead of the expected '=item 2'
232.IP "Around line 107:" 4
233.IX Item "Around line 107:"
234Expected '=item 3'