<div style="line-height:1.7;color:#000000;font-size:14px;font-family:Arial"><div style="margin:0;">Hello!</div><div style="margin:0;"><br></div><div style="margin:0;"><div style="margin:0;"># HG changeset patch</div><div style="margin:0;"># User Jiuzhou Cui <cuijiuzhou@alibaba-inc.com></div><div style="margin:0;"># Date 1676554419 -28800</div><div style="margin:0;">#      Thu Feb 16 21:33:39 2023 +0800</div><div style="margin:0;"># Branch quic</div><div style="margin:0;"># Node ID 13396c3ad10bdc8c1ac6969e965ceac510dc162f</div><div style="margin:0;"># Parent  b87a0dbc1150f415def5bc1e1f00d02b33519026</div><div style="margin:0;">QUIC: add error code for handshake failed.</div><div style="margin:0;"><br></div><div style="margin:0;">diff -r b87a0dbc1150 -r 13396c3ad10b src/event/quic/ngx_event_quic_ssl.c</div><div style="margin:0;">--- a/src/event/quic/ngx_event_quic_ssl.c       Tue Oct 25 12:52:09 2022 +0400</div><div style="margin:0;">+++ b/src/event/quic/ngx_event_quic_ssl.c       Thu Feb 16 21:33:39 2023 +0800</div><div style="margin:0;">@@ -202,7 +202,7 @@</div><div style="margin:0;">         SSL_get0_alpn_selected(ssl_conn, &alpn_data, &alpn_len);</div><div style="margin:0;"><br></div><div style="margin:0;">         if (alpn_len == 0) {</div><div style="margin:0;">-            qc->error = 0x100 + SSL_AD_NO_APPLICATION_PROTOCOL;</div><div style="margin:0;">+            qc->error = NGX_QUIC_ERR_CRYPTO(SSL_AD_NO_APPLICATION_PROTOCOL);</div><div style="margin:0;">             qc->error_reason = "unsupported protocol in ALPN extension";</div><div style="margin:0;"><br></div><div style="margin:0;">             ngx_log_error(NGX_LOG_INFO, c->log, 0,</div><div style="margin:0;">@@ -452,6 +452,7 @@</div><div style="margin:0;"><br></div><div style="margin:0;">         if (sslerr != SSL_ERROR_WANT_READ) {</div><div style="margin:0;">             ngx_ssl_error(NGX_LOG_ERR, c->log, 0, "SSL_do_handshake() failed");</div><div style="margin:0;">+            qc->error = NGX_QUIC_ERR_CRYPTO(sslerr);</div><div style="margin:0;">             qc->error_reason = "handshake failed";</div><div style="margin:0;">             return NGX_ERROR;</div><div style="margin:0;">         }</div></div></div>