From: Hugo Landau Date: Wed, 9 Aug 2023 16:46:33 +0000 (+0100) Subject: QUIC DDD: ddd-03-fd-blocking: Unplanned changes X-Git-Tag: openssl-3.2.0-alpha1~71 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=24e583619c6f4bb1e7659b6b4f06cea920710688;p=thirdparty%2Fopenssl.git QUIC DDD: ddd-03-fd-blocking: Unplanned changes Reviewed-by: Tomas Mraz Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/21715) --- diff --git a/doc/designs/ddd/ddd-03-fd-blocking.c b/doc/designs/ddd/ddd-03-fd-blocking.c index 0a890d6abe2..1388839cecb 100644 --- a/doc/designs/ddd/ddd-03-fd-blocking.c +++ b/doc/designs/ddd/ddd-03-fd-blocking.c @@ -22,7 +22,7 @@ SSL_CTX *create_ssl_ctx(void) SSL_CTX *ctx; #ifdef USE_QUIC - ctx = SSL_CTX_new(QUIC_client_method()); + ctx = SSL_CTX_new(OSSL_QUIC_client_method()); #else ctx = SSL_CTX_new(TLS_client_method()); #endif @@ -50,6 +50,9 @@ SSL_CTX *create_ssl_ctx(void) SSL *new_conn(SSL_CTX *ctx, int fd, const char *bare_hostname) { SSL *ssl; +#ifdef USE_QUIC + static const unsigned char alpn[] = {5, 'd', 'u', 'm', 'm', 'y'}; +#endif ssl = SSL_new(ctx); if (ssl == NULL) @@ -72,6 +75,15 @@ SSL *new_conn(SSL_CTX *ctx, int fd, const char *bare_hostname) return NULL; } +#ifdef USE_QUIC + /* Configure ALPN, which is required for QUIC. */ + if (SSL_set_alpn_protos(ssl, alpn, sizeof(alpn))) { + /* Note: SSL_set_alpn_protos returns 1 for failure. */ + SSL_free(ssl); + return NULL; + } +#endif + return ssl; }