@@ -1110,6 +1110,24 @@ enum OPENSSL_NPN_NEGOTIATED = 1;
1110
1110
enum OPENSSL_NPN_NO_OVERLAP = 2 ;
1111
1111
}
1112
1112
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
+
1113
1131
version (OPENSSL_NO_PSK) {} else {
1114
1132
/* the maximum length of the buffer given to callbacks containing the
1115
1133
* resulting identity/psk */
@@ -2268,6 +2286,7 @@ enum SSL_F_SSL_CTRL = 232;
2268
2286
enum SSL_F_SSL_CTX_CHECK_PRIVATE_KEY = 168 ;
2269
2287
enum SSL_F_SSL_CTX_MAKE_PROFILES = 309 ;
2270
2288
enum SSL_F_SSL_CTX_NEW = 169 ;
2289
+ enum SSL_F_SSL_CTX_SET_ALPN_PROTOS = 343 ;
2271
2290
enum SSL_F_SSL_CTX_SET_CIPHER_LIST = 269 ;
2272
2291
enum SSL_F_SSL_CTX_SET_CLIENT_CERT_ENGINE = 290 ;
2273
2292
enum SSL_F_SSL_CTX_SET_PURPOSE = 226 ;
@@ -2310,6 +2329,7 @@ enum SSL_F_SSL_SESSION_NEW = 189;
2310
2329
enum SSL_F_SSL_SESSION_PRINT_FP = 190 ;
2311
2330
enum SSL_F_SSL_SESSION_SET1_ID_CONTEXT = 312 ;
2312
2331
enum SSL_F_SSL_SESS_CERT_NEW = 225 ;
2332
+ enum SSL_F_SSL_SET_ALPN_PROTOS = 344 ;
2313
2333
enum SSL_F_SSL_SET_CERT = 191 ;
2314
2334
enum SSL_F_SSL_SET_CIPHER_LIST = 271 ;
2315
2335
enum SSL_F_SSL_SET_FD = 192 ;
0 commit comments