Deleted Added
full compact
SSL_CTX_set_tlsext_servername_callback.3 (340704) SSL_CTX_set_tlsext_servername_callback.3 (344604)
1.\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35)
1.\" Automatically generated by Pod::Man 4.10 (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

--- 39 unchanged lines hidden (view full) ---

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..
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

--- 39 unchanged lines hidden (view full) ---

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"
57.nr rF 0
58.if \n(.g .if rF .nr rF 1
59.if (\n(rF:(\n(.g==0)) \{\
60. if \nF \{\
61. de IX
62. tm Index:\\$1\t\\n%\t"\\$2"
61..
63..
62. if !\nF==2 \{\
63. nr % 0
64. nr F 2
64. if !\nF==2 \{\
65. nr % 0
66. nr F 2
67. \}
65. \}
66.\}
68. \}
69.\}
70.rr rF
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

--- 49 unchanged lines hidden (view full) ---

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_CTX_set_tlsext_servername_callback 3"
71.\"
72.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
73.\" Fear. Run. Save yourself. No user-serviceable parts.
74. \" fudge factors for nroff and troff
75.if n \{\
76. ds #H 0
77. ds #V .8m
78. ds #F .3m

--- 49 unchanged lines hidden (view full) ---

128. ds Th \o'LP'
129. ds ae ae
130. ds Ae AE
131.\}
132.rm #[ #] #H #V #F C
133.\" ========================================================================
134.\"
135.IX Title "SSL_CTX_set_tlsext_servername_callback 3"
132.TH SSL_CTX_set_tlsext_servername_callback 3 "2018-11-20" "1.0.2q" "OpenSSL"
136.TH SSL_CTX_set_tlsext_servername_callback 3 "2019-02-26" "1.0.2r" "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"
138SSL_CTX_set_tlsext_servername_callback, SSL_CTX_set_tlsext_servername_arg,
139SSL_get_servername_type, SSL_get_servername \- handle server name indication
140(SNI)

--- 6 unchanged lines hidden (view full) ---

147\& int (*cb)(SSL *, int *, void *));
148\& long SSL_CTX_set_tlsext_servername_arg(SSL_CTX *ctx, void *arg);
149\&
150\& const char *SSL_get_servername(const SSL *s, const int type);
151\& int SSL_get_servername_type(const SSL *s);
152.Ve
153.SH "DESCRIPTION"
154.IX Header "DESCRIPTION"
137.\" For nroff, turn off justification. Always turn off hyphenation; it makes
138.\" way too many mistakes in technical documents.
139.if n .ad l
140.nh
141.SH "NAME"
142SSL_CTX_set_tlsext_servername_callback, SSL_CTX_set_tlsext_servername_arg,
143SSL_get_servername_type, SSL_get_servername \- handle server name indication
144(SNI)

--- 6 unchanged lines hidden (view full) ---

151\& int (*cb)(SSL *, int *, void *));
152\& long SSL_CTX_set_tlsext_servername_arg(SSL_CTX *ctx, void *arg);
153\&
154\& const char *SSL_get_servername(const SSL *s, const int type);
155\& int SSL_get_servername_type(const SSL *s);
156.Ve
157.SH "DESCRIPTION"
158.IX Header "DESCRIPTION"
155\&\fISSL_CTX_set_tlsext_servername_callback()\fR sets the application callback \fBcb\fR
159\&\fBSSL_CTX_set_tlsext_servername_callback()\fR sets the application callback \fBcb\fR
156used by a server to perform any actions or configuration required based on
157the servername extension received in the incoming connection. When \fBcb\fR
158is \s-1NULL, SNI\s0 is not used. The \fBarg\fR value is a pointer which is passed to
159the application callback.
160.PP
160used by a server to perform any actions or configuration required based on
161the servername extension received in the incoming connection. When \fBcb\fR
162is \s-1NULL, SNI\s0 is not used. The \fBarg\fR value is a pointer which is passed to
163the application callback.
164.PP
161\&\fISSL_CTX_set_tlsext_servername_arg()\fR sets a context-specific argument to be
165\&\fBSSL_CTX_set_tlsext_servername_arg()\fR sets a context-specific argument to be
162passed into the callback for this \fB\s-1SSL_CTX\s0\fR.
163.PP
166passed into the callback for this \fB\s-1SSL_CTX\s0\fR.
167.PP
164\&\fISSL_get_servername()\fR returns a servername extension value of the specified
168\&\fBSSL_get_servername()\fR returns a servername extension value of the specified
165type if provided in the Client Hello or \s-1NULL.\s0
166.PP
169type if provided in the Client Hello or \s-1NULL.\s0
170.PP
167\&\fISSL_get_servername_type()\fR returns the servername type or \-1 if no servername
171\&\fBSSL_get_servername_type()\fR returns the servername type or \-1 if no servername
168is present. Currently the only supported type (defined in \s-1RFC3546\s0) is
169\&\fBTLSEXT_NAMETYPE_host_name\fR.
170.SH "NOTES"
171.IX Header "NOTES"
172The \s-1ALPN\s0 and \s-1SNI\s0 callbacks are both executed during Client Hello processing.
173The servername callback is executed first, followed by the \s-1ALPN\s0 callback.
174.SH "RETURN VALUES"
175.IX Header "RETURN VALUES"
172is present. Currently the only supported type (defined in \s-1RFC3546\s0) is
173\&\fBTLSEXT_NAMETYPE_host_name\fR.
174.SH "NOTES"
175.IX Header "NOTES"
176The \s-1ALPN\s0 and \s-1SNI\s0 callbacks are both executed during Client Hello processing.
177The servername callback is executed first, followed by the \s-1ALPN\s0 callback.
178.SH "RETURN VALUES"
179.IX Header "RETURN VALUES"
176\&\fISSL_CTX_set_tlsext_servername_callback()\fR and
177\&\fISSL_CTX_set_tlsext_servername_arg()\fR both always return 1 indicating success.
180\&\fBSSL_CTX_set_tlsext_servername_callback()\fR and
181\&\fBSSL_CTX_set_tlsext_servername_arg()\fR both always return 1 indicating success.
178.SH "SEE ALSO"
179.IX Header "SEE ALSO"
182.SH "SEE ALSO"
183.IX Header "SEE ALSO"
180\&\fIssl\fR\|(7), \fISSL_CTX_set_alpn_select_cb\fR\|(3),
181\&\fISSL_get0_alpn_selected\fR\|(3)
184\&\fBssl\fR\|(7), \fBSSL_CTX_set_alpn_select_cb\fR\|(3),
185\&\fBSSL_get0_alpn_selected\fR\|(3)
182.SH "COPYRIGHT"
183.IX Header "COPYRIGHT"
184Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.
185.PP
186Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use
187this file except in compliance with the License. You can obtain a copy
188in the file \s-1LICENSE\s0 in the source distribution or at
189<https://www.openssl.org/source/license.html>.
186.SH "COPYRIGHT"
187.IX Header "COPYRIGHT"
188Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.
189.PP
190Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use
191this file except in compliance with the License. You can obtain a copy
192in the file \s-1LICENSE\s0 in the source distribution or at
193<https://www.openssl.org/source/license.html>.