@@ -1110,6 +1110,24 @@ enum OPENSSL_NPN_NEGOTIATED = 1;
11101110enum OPENSSL_NPN_NO_OVERLAP = 2 ;
11111111}
11121112
1113+ static if (OPENSSL_VERSION_AT_LEAST (1 , 0 , 2 ))
1114+ {
1115+ int SSL_CTX_set_alpn_protos (SSL_CTX * ctx, const (ubyte )* protos,
1116+ uint protos_len);
1117+ int SSL_set_alpn_protos (SSL * ssl, const (ubyte )* protos,
1118+ uint protos_len);
1119+ void SSL_CTX_set_alpn_select_cb (SSL_CTX * ctx,
1120+ ExternC! (int function (SSL * ssl,
1121+ const (ubyte )** out_,
1122+ ubyte * outlen,
1123+ const (ubyte )* in_,
1124+ uint inlen,
1125+ void * arg)),
1126+ void * arg);
1127+ void SSL_get0_alpn_selected (const SSL * ssl,
1128+ const (ubyte )** data, uint * len);
1129+ }
1130+
11131131version (OPENSSL_NO_PSK) {} else {
11141132/* the maximum length of the buffer given to callbacks containing the
11151133 * resulting identity/psk */
@@ -2268,6 +2286,7 @@ enum SSL_F_SSL_CTRL = 232;
22682286enum SSL_F_SSL_CTX_CHECK_PRIVATE_KEY = 168 ;
22692287enum SSL_F_SSL_CTX_MAKE_PROFILES = 309 ;
22702288enum SSL_F_SSL_CTX_NEW = 169 ;
2289+ enum SSL_F_SSL_CTX_SET_ALPN_PROTOS = 343 ;
22712290enum SSL_F_SSL_CTX_SET_CIPHER_LIST = 269 ;
22722291enum SSL_F_SSL_CTX_SET_CLIENT_CERT_ENGINE = 290 ;
22732292enum SSL_F_SSL_CTX_SET_PURPOSE = 226 ;
@@ -2310,6 +2329,7 @@ enum SSL_F_SSL_SESSION_NEW = 189;
23102329enum SSL_F_SSL_SESSION_PRINT_FP = 190 ;
23112330enum SSL_F_SSL_SESSION_SET1_ID_CONTEXT = 312 ;
23122331enum SSL_F_SSL_SESS_CERT_NEW = 225 ;
2332+ enum SSL_F_SSL_SET_ALPN_PROTOS = 344 ;
23132333enum SSL_F_SSL_SET_CERT = 191 ;
23142334enum SSL_F_SSL_SET_CIPHER_LIST = 271 ;
23152335enum SSL_F_SSL_SET_FD = 192 ;
0 commit comments