summaryrefslogtreecommitdiffstats
path: root/lib/libssl/src/doc/ssl
diff options
context:
space:
mode:
authordjm <djm@openbsd.org>2012-01-05 23:01:38 +0000
committerdjm <djm@openbsd.org>2012-01-05 23:01:38 +0000
commit171503933acacd80d2a01718ea9e8060146163ee (patch)
tree7b1e1eeb4707904db2eb00fa994b02352df681ea /lib/libssl/src/doc/ssl
parentOpenSSL 1.0.0f: import upstream source (diff)
downloadwireguard-openbsd-171503933acacd80d2a01718ea9e8060146163ee.tar.xz
wireguard-openbsd-171503933acacd80d2a01718ea9e8060146163ee.zip
OpenSSL 1.0.0f: merge
Diffstat (limited to 'lib/libssl/src/doc/ssl')
-rw-r--r--lib/libssl/src/doc/ssl/SSL_clear.pod14
1 files changed, 10 insertions, 4 deletions
diff --git a/lib/libssl/src/doc/ssl/SSL_clear.pod b/lib/libssl/src/doc/ssl/SSL_clear.pod
index 8e077e31c9a..d4df1bfac31 100644
--- a/lib/libssl/src/doc/ssl/SSL_clear.pod
+++ b/lib/libssl/src/doc/ssl/SSL_clear.pod
@@ -39,10 +39,16 @@ for a description of the method's properties.
SSL_clear() resets the SSL object to allow for another connection. The
reset operation however keeps several settings of the last sessions
(some of these settings were made automatically during the last
-handshake). It only makes sense when opening a new session (or reusing
-an old one) with the same peer that shares these settings.
-SSL_clear() is not a short form for the sequence
-L<SSL_free(3)|SSL_free(3)>; L<SSL_new(3)|SSL_new(3)>; .
+handshake). It only makes sense for a new connection with the exact
+same peer that shares these settings, and may fail if that peer
+changes its settings between connections. Use the sequence
+L<SSL_get_session(3)|SSL_get_session(3)>;
+L<SSL_new(3)|SSL_new(3)>;
+L<SSL_set_session(3)|SSL_set_session(3)>;
+L<SSL_free(3)|SSL_free(3)>
+instead to avoid such failures
+(or simply L<SSL_free(3)|SSL_free(3)>; L<SSL_new(3)|SSL_new(3)>
+if session reuse is not desired).
=head1 RETURN VALUES