| Index: openssl/ssl/ssl.h
|
| ===================================================================
|
| --- openssl/ssl/ssl.h (revision 65717)
|
| +++ openssl/ssl/ssl.h (working copy)
|
| @@ -879,8 +879,10 @@
|
| #endif
|
| void SSL_CTX_set_cookie_generate_cb(SSL_CTX *ctx, int (*app_gen_cookie_cb)(SSL *ssl, unsigned char *cookie, unsigned int *cookie_len));
|
| void SSL_CTX_set_cookie_verify_cb(SSL_CTX *ctx, int (*app_verify_cookie_cb)(SSL *ssl, unsigned char *cookie, unsigned int cookie_len));
|
| +#ifndef OPENSSL_NO_TLSEXT
|
| void SSL_CTX_set_next_protos_advertised_cb(SSL_CTX *s, int (*cb) (SSL *ssl, const unsigned char **out, unsigned int *outlen, void *arg), void *arg);
|
| void SSL_CTX_set_next_proto_select_cb(SSL_CTX *s, int (*cb) (SSL *ssl, unsigned char **out, unsigned char *outlen, const unsigned char *in, unsigned int inlen, void *arg), void *arg);
|
| +void SSL_set_next_proto_select_cb(SSL *s, int (*cb) (SSL *ssl, unsigned char **out, unsigned char *outlen, const unsigned char *in, unsigned int inlen, void *arg), void *arg);
|
| void SSL_CTX_set_snap_start_orbit(SSL_CTX *s, const unsigned char orbit[8]);
|
|
|
| int SSL_select_next_proto(unsigned char **out, unsigned char *outlen, const unsigned char *in, unsigned int inlen, const unsigned char *client, unsigned int client_len);
|
| @@ -892,6 +894,7 @@
|
| #define OPENSSL_NPN_UNSUPPORTED 0
|
| #define OPENSSL_NPN_NEGOTIATED 1
|
| #define OPENSSL_NPN_NO_OVERLAP 2
|
| +#endif
|
|
|
| #define SSL_NOTHING 1
|
| #define SSL_WRITING 2
|
| @@ -1101,6 +1104,14 @@
|
| * before the Finished message. */
|
| unsigned char *next_proto_negotiated;
|
| unsigned char next_proto_negotiated_len;
|
| + /* For a client, this contains a callback function that selects the
|
| + * next protocol from the list provided by the server. */
|
| + int (*next_proto_select_cb)(SSL *s, unsigned char **out,
|
| + unsigned char *outlen,
|
| + const unsigned char *in,
|
| + unsigned int inlen,
|
| + void *arg);
|
| + void *next_proto_select_cb_arg;
|
| #define session_ctx initial_ctx
|
| #else
|
| #define session_ctx ctx
|
|
|