Blame doc/man3/SSL_SESSION_get0_hostname.pod

Packit Service 084de1
=pod
Packit Service 084de1
Packit Service 084de1
=head1 NAME
Packit Service 084de1
Packit Service 084de1
SSL_SESSION_get0_hostname,
Packit Service 084de1
SSL_SESSION_set1_hostname,
Packit Service 084de1
SSL_SESSION_get0_alpn_selected,
Packit Service 084de1
SSL_SESSION_set1_alpn_selected
Packit Service 084de1
- get and set SNI and ALPN data associated with a session
Packit Service 084de1
Packit Service 084de1
=head1 SYNOPSIS
Packit Service 084de1
Packit Service 084de1
 #include <openssl/ssl.h>
Packit Service 084de1
Packit Service 084de1
 const char *SSL_SESSION_get0_hostname(const SSL_SESSION *s);
Packit Service 084de1
 int SSL_SESSION_set1_hostname(SSL_SESSION *s, const char *hostname);
Packit Service 084de1
Packit Service 084de1
 void SSL_SESSION_get0_alpn_selected(const SSL_SESSION *s,
Packit Service 084de1
                                     const unsigned char **alpn,
Packit Service 084de1
                                     size_t *len);
Packit Service 084de1
 int SSL_SESSION_set1_alpn_selected(SSL_SESSION *s, const unsigned char *alpn,
Packit Service 084de1
                                    size_t len);
Packit Service 084de1
Packit Service 084de1
=head1 DESCRIPTION
Packit Service 084de1
Packit Service 084de1
SSL_SESSION_get0_hostname() retrieves the SNI value that was sent by the
Packit Service 084de1
client when the session was created if it was accepted by the server and TLSv1.2
Packit Service 084de1
or below was negotiated. Otherwise NULL is returned. Note that in TLSv1.3 the
Packit Service 084de1
SNI hostname is negotiated with each handshake including resumption handshakes
Packit Service 084de1
and is therefore never associated with the session.
Packit Service 084de1
Packit Service 084de1
The value returned is a pointer to memory maintained within B<s> and
Packit Service 084de1
should not be free'd.
Packit Service 084de1
Packit Service 084de1
SSL_SESSION_set1_hostname() sets the SNI value for the hostname to a copy of
Packit Service 084de1
the string provided in hostname.
Packit Service 084de1
Packit Service 084de1
SSL_SESSION_get0_alpn_selected() retrieves the selected ALPN protocol for this
Packit Service 084de1
session and its associated length in bytes. The returned value of B<*alpn> is a
Packit Service 084de1
pointer to memory maintained within B<s> and should not be free'd.
Packit Service 084de1
Packit Service 084de1
SSL_SESSION_set1_alpn_selected() sets the ALPN protocol for this session to the
Packit Service 084de1
value in B<alpn> which should be of length B<len> bytes. A copy of the input
Packit Service 084de1
value is made, and the caller retains ownership of the memory pointed to by
Packit Service 084de1
B<alpn>.
Packit Service 084de1
Packit Service 084de1
=head1 RETURN VALUES
Packit Service 084de1
Packit Service 084de1
SSL_SESSION_get0_hostname() returns either a string or NULL based on if there
Packit Service 084de1
is the SNI value sent by client.
Packit Service 084de1
Packit Service 084de1
SSL_SESSION_set1_hostname() returns 1 on success or 0 on error.
Packit Service 084de1
Packit Service 084de1
SSL_SESSION_set1_alpn_selected() returns 1 on success or 0 on error.
Packit Service 084de1
Packit Service 084de1
=head1 SEE ALSO
Packit Service 084de1
Packit Service 084de1
L<ssl(7)>,
Packit Service 084de1
L<d2i_SSL_SESSION(3)>,
Packit Service 084de1
L<SSL_SESSION_get_time(3)>,
Packit Service 084de1
L<SSL_SESSION_free(3)>
Packit Service 084de1
Packit Service 084de1
=head1 HISTORY
Packit Service 084de1
Packit Service 084de1
The SSL_SESSION_set1_hostname(), SSL_SESSION_get0_alpn_selected() and
Packit Service 084de1
SSL_SESSION_set1_alpn_selected() functions were added in OpenSSL 1.1.1.
Packit Service 084de1
Packit Service 084de1
=head1 COPYRIGHT
Packit Service 084de1
Packit Service 084de1
Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved.
Packit Service 084de1
Packit Service 084de1
Licensed under the OpenSSL license (the "License").  You may not use
Packit Service 084de1
this file except in compliance with the License.  You can obtain a copy
Packit Service 084de1
in the file LICENSE in the source distribution or at
Packit Service 084de1
L<https://www.openssl.org/source/license.html>.
Packit Service 084de1
Packit Service 084de1
=cut