For ngx_http_process_request() part to work, this required to set both
r->http_connection->ssl and c->ssl on a QUIC stream. To avoid damaging
global SSL object, ngx_ssl_shutdown() is managed to ignore QUIC streams.
int n, sslerr, mode;
ngx_err_t err;
+ if (c->qs) {
+ /* QUIC streams inherit SSL object */
+ return NGX_OK;
+ }
+
if (SSL_in_init(c->ssl->connection)) {
/*
* OpenSSL 1.0.2f complains if SSL_shutdown() is called during
sn->c->sockaddr = c->sockaddr;
sn->c->local_sockaddr = c->local_sockaddr;
sn->c->addr_text = c->addr_text;
+ sn->c->ssl = c->ssl;
rev = sn->c->read;
wev = sn->c->write;
if (c->type == SOCK_DGRAM) {
hc = ngx_pcalloc(c->pool, sizeof(ngx_http_v3_connection_t));
hc->quic = 1;
+ hc->ssl = 1;
} else
#endif