Add documentation for SSL_SESSION_set_cipher()
authorMatt Caswell <matt@openssl.org>
Tue, 13 Jun 2017 14:27:50 +0000 (15:27 +0100)
committerMatt Caswell <matt@openssl.org>
Wed, 21 Jun 2017 13:45:35 +0000 (14:45 +0100)
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/3670)

doc/man3/SSL_SESSION_get0_cipher.pod

index 3732c57d31b640b9fb90984a29359ac4ccb6e821..60f66a2d2b9d285ee6c918311aaa16691f49d3e1 100644 (file)
@@ -2,13 +2,16 @@
 
 =head1 NAME
 
-SSL_SESSION_get0_cipher - retrieve the SSL cipher associated with a session
+SSL_SESSION_get0_cipher,
+SSL_SESSION_set_cipher
+- set and retrieve the SSL cipher associated with a session
 
 =head1 SYNOPSIS
 
  #include <openssl/ssl.h>
 
  const SSL_CIPHER *SSL_SESSION_get0_cipher(const SSL_SESSION *s);
+ int SSL_SESSION_set_cipher(SSL_SESSION *s, const SSL_CIPHER *cipher);
 
 =head1 DESCRIPTION
 
@@ -18,21 +21,34 @@ connection when the session was created, or NULL if it cannot be determined.
 The value returned is a pointer to an object maintained within B<s> and
 should not be released.
 
+SSL_SESSION_set_cipher() can be used to set the ciphersuite associated with the
+SSL_SESSION B<s> to B<cipher>. For example, this could be used to set up a
+session based PSK (see L<SSL_CTX_set_psk_use_session_callback(3)>).
+
+=head1 RETURN VALUES
+
+SSL_SESSION_get0_cipher() returns the SSL_CIPHER associated with the SSL_SESSION
+or NULL if it cannot be determined.
+
+SSL_SESSION_set_cipher() returns 1 on success or 0 on failure.
+
 =head1 SEE ALSO
 
 L<ssl(7)>,
 L<d2i_SSL_SESSION(3)>,
 L<SSL_SESSION_get_time(3)>,
 L<SSL_SESSION_get0_hostname(3)>,
-L<SSL_SESSION_free(3)>
+L<SSL_SESSION_free(3)>,
+L<SSL_CTX_set_psk_use_session_callback(3)>
 
 =head1 HISTORY
 
-SSL_SESSION_get0_cipher() was first added to OpenSSL 1.1.0
+SSL_SESSION_get0_cipher() was first added to OpenSSL 1.1.0.
+SSL_SESSION_set_cipher() was first added to OpenSSL 1.1.1.
 
 =head1 COPYRIGHT
 
-Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
+Copyright 2016-2017 The OpenSSL Project Authors. All Rights Reserved.
 
 Licensed under the OpenSSL license (the "License").  You may not use
 this file except in compliance with the License.  You can obtain a copy