Welcome! Log In Create A New Profile

Advanced

[nginx] QUIC: handle callback errors in compat.

Roman Arutyunyan
September 25, 2023 07:22AM
details: https://hg.nginx.org/nginx/rev/3db945fda515
branches:
changeset: 9164:3db945fda515
user: Vladimir Khomutov <vl@inspert.ru>
date: Fri Sep 22 19:23:57 2023 +0400
description:
QUIC: handle callback errors in compat.

The error may be triggered in add_handhshake_data() by incorrect transport
parameter sent by client. The expected behaviour in this case is to close
connection complaining about incorrect parameter. Currently the connection
just times out.

diffstat:

src/event/quic/ngx_event_quic_openssl_compat.c | 14 ++++++++++++--
1 files changed, 12 insertions(+), 2 deletions(-)

diffs (35 lines):

diff -r 32b5aaebcca5 -r 3db945fda515 src/event/quic/ngx_event_quic_openssl_compat.c
--- a/src/event/quic/ngx_event_quic_openssl_compat.c Wed Sep 13 17:48:15 2023 +0400
+++ b/src/event/quic/ngx_event_quic_openssl_compat.c Fri Sep 22 19:23:57 2023 +0400
@@ -408,7 +408,9 @@ ngx_quic_compat_message_callback(int wri
"quic compat tx %s len:%uz ",
ngx_quic_level_name(level), len);

- (void) com->method->add_handshake_data(ssl, level, buf, len);
+ if (com->method->add_handshake_data(ssl, level, buf, len) != 1) {
+ goto failed;
+ }

break;

@@ -420,11 +422,19 @@ ngx_quic_compat_message_callback(int wri
"quic compat %s alert:%ui len:%uz ",
ngx_quic_level_name(level), alert, len);

- (void) com->method->send_alert(ssl, level, alert);
+ if (com->method->send_alert(ssl, level, alert) != 1) {
+ goto failed;
+ }
}

break;
}
+
+ return;
+
+failed:
+
+ ngx_post_event(&qc->close, &ngx_posted_events);
}


_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
https://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

[nginx] QUIC: handle callback errors in compat.

Roman Arutyunyan 399 September 25, 2023 07:22AM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 112
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 500 on July 15, 2024
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready