1.\" Automatically generated by Pod::Man 4.07 (Pod::Simple 3.35)
| 1.\" Automatically generated by Pod::Man 4.09 (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 10.ft CW 11.nf 12.ne \\$1 13.. 14.de Ve \" End verbatim text 15.ft R 16.fi 17.. 18.\" Set up some character translations and predefined strings. \*(-- will 19.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left 20.\" double quote, and \*(R" will give a right double quote. \*(C+ will 21.\" give a nicer C++. Capital omega is used to do unbreakable dashes and 22.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, 23.\" nothing in troff, for use with C<>. 24.tr \(*W- 25.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' 26.ie n \{\ 27. ds -- \(*W- 28. ds PI pi 29. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch 30. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch 31. ds L" "" 32. ds R" "" 33. ds C` "" 34. ds C' "" 35'br\} 36.el\{\ 37. ds -- \|\(em\| 38. ds PI \(*p 39. ds L" `` 40. ds R" '' 41. ds C` 42. ds C' 43'br\} 44.\" 45.\" Escape single quotes in literal strings from groff's Unicode transform. 46.ie \n(.g .ds Aq \(aq 47.el .ds Aq ' 48.\" 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" 61.. 62. if !\nF==2 \{\ 63. nr % 0 64. nr F 2 65. \} 66.\} 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 75. ds #[ \f1 76. ds #] \fP 77.\} 78.if t \{\ 79. ds #H ((1u-(\\\\n(.fu%2u))*.13m) 80. ds #V .6m 81. ds #F 0 82. ds #[ \& 83. ds #] \& 84.\} 85. \" simple accents for nroff and troff 86.if n \{\ 87. ds ' \& 88. ds ` \& 89. ds ^ \& 90. ds , \& 91. ds ~ ~ 92. ds / 93.\} 94.if t \{\ 95. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" 96. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' 97. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' 98. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' 99. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' 100. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' 101.\} 102. \" troff and (daisy-wheel) nroff accents 103.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' 104.ds 8 \h'\*(#H'\(*b\h'-\*(#H' 105.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] 106.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' 107.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' 108.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] 109.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] 110.ds ae a\h'-(\w'a'u*4/10)'e 111.ds Ae A\h'-(\w'A'u*4/10)'E 112. \" corrections for vroff 113.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' 114.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' 115. \" for low resolution devices (crt and lpr) 116.if \n(.H>23 .if \n(.V>19 \ 117\{\ 118. ds : e 119. ds 8 ss 120. ds o a 121. ds d- d\h'-1'\(ga 122. ds D- D\h'-1'\(hy 123. ds th \o'bp' 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"
| 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 10.ft CW 11.nf 12.ne \\$1 13.. 14.de Ve \" End verbatim text 15.ft R 16.fi 17.. 18.\" Set up some character translations and predefined strings. \*(-- will 19.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left 20.\" double quote, and \*(R" will give a right double quote. \*(C+ will 21.\" give a nicer C++. Capital omega is used to do unbreakable dashes and 22.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, 23.\" nothing in troff, for use with C<>. 24.tr \(*W- 25.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' 26.ie n \{\ 27. ds -- \(*W- 28. ds PI pi 29. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch 30. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch 31. ds L" "" 32. ds R" "" 33. ds C` "" 34. ds C' "" 35'br\} 36.el\{\ 37. ds -- \|\(em\| 38. ds PI \(*p 39. ds L" `` 40. ds R" '' 41. ds C` 42. ds C' 43'br\} 44.\" 45.\" Escape single quotes in literal strings from groff's Unicode transform. 46.ie \n(.g .ds Aq \(aq 47.el .ds Aq ' 48.\" 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" 61.. 62. if !\nF==2 \{\ 63. nr % 0 64. nr F 2 65. \} 66.\} 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 75. ds #[ \f1 76. ds #] \fP 77.\} 78.if t \{\ 79. ds #H ((1u-(\\\\n(.fu%2u))*.13m) 80. ds #V .6m 81. ds #F 0 82. ds #[ \& 83. ds #] \& 84.\} 85. \" simple accents for nroff and troff 86.if n \{\ 87. ds ' \& 88. ds ` \& 89. ds ^ \& 90. ds , \& 91. ds ~ ~ 92. ds / 93.\} 94.if t \{\ 95. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" 96. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' 97. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' 98. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' 99. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' 100. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' 101.\} 102. \" troff and (daisy-wheel) nroff accents 103.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' 104.ds 8 \h'\*(#H'\(*b\h'-\*(#H' 105.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] 106.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' 107.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' 108.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] 109.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] 110.ds ae a\h'-(\w'a'u*4/10)'e 111.ds Ae A\h'-(\w'A'u*4/10)'E 112. \" corrections for vroff 113.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' 114.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' 115. \" for low resolution devices (crt and lpr) 116.if \n(.H>23 .if \n(.V>19 \ 117\{\ 118. ds : e 119. ds 8 ss 120. ds o a 121. ds d- d\h'-1'\(ga 122. ds D- D\h'-1'\(hy 123. ds th \o'bp' 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"
|
132.TH SSL_CTX_set_tlsext_servername_callback 3 "2018-03-27" "1.0.2o" "OpenSSL"
| 132.TH SSL_CTX_set_tlsext_servername_callback 3 "2018-08-14" "1.0.2p" "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) 141.SH "SYNOPSIS" 142.IX Header "SYNOPSIS" 143.Vb 1 144\& #include <openssl/ssl.h> 145\& 146\& long SSL_CTX_set_tlsext_servername_callback(SSL_CTX *ctx, 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" 155\&\fISSL_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 161\&\fISSL_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 164\&\fISSL_get_servername()\fR returns a servername extension value of the specified 165type if provided in the Client Hello or \s-1NULL.\s0 166.PP 167\&\fISSL_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" 176\&\fISSL_CTX_set_tlsext_servername_callback()\fR and 177\&\fISSL_CTX_set_tlsext_servername_arg()\fR both always return 1 indicating success. 178.SH "SEE ALSO" 179.IX Header "SEE ALSO" 180\&\fIssl\fR\|(7), \fISSL_CTX_set_alpn_select_cb\fR\|(3), 181\&\fISSL_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>.
| 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) 141.SH "SYNOPSIS" 142.IX Header "SYNOPSIS" 143.Vb 1 144\& #include <openssl/ssl.h> 145\& 146\& long SSL_CTX_set_tlsext_servername_callback(SSL_CTX *ctx, 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" 155\&\fISSL_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 161\&\fISSL_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 164\&\fISSL_get_servername()\fR returns a servername extension value of the specified 165type if provided in the Client Hello or \s-1NULL.\s0 166.PP 167\&\fISSL_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" 176\&\fISSL_CTX_set_tlsext_servername_callback()\fR and 177\&\fISSL_CTX_set_tlsext_servername_arg()\fR both always return 1 indicating success. 178.SH "SEE ALSO" 179.IX Header "SEE ALSO" 180\&\fIssl\fR\|(7), \fISSL_CTX_set_alpn_select_cb\fR\|(3), 181\&\fISSL_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>.
|