/usr/man/cat.3/SSL_CTX_set_tlsext_servername_arg.3(/usr/man/cat.3/SSL_CTX_set_tlsext_servername_arg.3)
SSL_CTX_set_tlsext_servername_callback(3OpenSSSSL_CTX_set_tlsext_servername_callback(3)
NAME
SSL_CTX_set_tlsext_servername_callback,
SSL_CTX_set_tlsext_servername_arg, SSL_get_servername_type,
SSL_get_servername - handle server name indication (SNI)
SYNOPSIS
#include <openssl/ssl.h>
long SSL_CTX_set_tlsext_servername_callback(SSL_CTX *ctx,
int (*cb)(SSL *, int *, void *));
long SSL_CTX_set_tlsext_servername_arg(SSL_CTX *ctx, void *arg);
const char *SSL_get_servername(const SSL *s, const int type);
int SSL_get_servername_type(const SSL *s);
DESCRIPTION
SSL_CTX_set_tlsext_servername_callback() sets the
application callback cb used by a server to perform any
actions or configuration required based on the servername
extension received in the incoming connection. When cb is
NULL, SNI is not used. The arg value is a pointer which is
passed to the application callback.
SSL_CTX_set_tlsext_servername_arg() sets a context-specific
argument to be passed into the callback for this SSL_CTX.
SSL_get_servername() returns a servername extension value of
the specified type if provided in the Client Hello or NULL.
SSL_get_servername_type() returns the servername type or -1
if no servername is present. Currently the only supported
type (defined in RFC3546) is TLSEXT_NAMETYPE_host_name.
NOTES
The ALPN and SNI callbacks are both executed during Client
Hello processing. The servername callback is executed
first, followed by the ALPN callback.
RETURN VALUES
SSL_CTX_set_tlsext_servername_callback() and
SSL_CTX_set_tlsext_servername_arg() both always return 1
indicating success.
SEE ALSO
ssl(7), SSL_CTX_set_alpn_select_cb(3),
SSL_get0_alpn_selected(3)
COPYRIGHT
Copyright 2017 The OpenSSL Project Authors. All Rights
Reserved.
1.0.2t Last change: 2019-09-10 1
SSL_CTX_set_tlsext_servername_callback(3OpenSSSSL_CTX_set_tlsext_servername_callback(3)
Licensed under the OpenSSL license (the "License"). You may
not use this file except in compliance with the License.
You can obtain a copy in the file LICENSE in the source
distribution or at
<https://www.openssl.org/source/license.html>.
1.0.2t Last change: 2019-09-10 2
See also SSL_CTX_set_tlsext_servername_callback(3)
See also SSL_get_servername(3)
See also SSL_get_servername_type(3)
Man(1) output converted with
man2html