SSL_clear.3 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  1. .\" Automatically generated by Pod::Man 4.09 (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 "2019-09-12" "1.0.2g" "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)