aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--extras/nginx/nginx-1.16.patch17
1 files changed, 11 insertions, 6 deletions
diff --git a/extras/nginx/nginx-1.16.patch b/extras/nginx/nginx-1.16.patch
index 105d8d01..e9a32a64 100644
--- a/extras/nginx/nginx-1.16.patch
+++ b/extras/nginx/nginx-1.16.patch
@@ -1,4 +1,4 @@
-From 1372db755f3ecda39a4baee7978fa150d7053376 Mon Sep 17 00:00:00 2001
+From 289e3c377c45228f2ef223560d752fd401fc6674 Mon Sep 17 00:00:00 2001
From: Alessandro Ghedini <alessandro@cloudflare.com>
Date: Thu, 22 Oct 2020 12:28:02 +0100
Subject: [PATCH] Initial QUIC and HTTP/3 implementation using quiche
@@ -26,12 +26,12 @@ Subject: [PATCH] Initial QUIC and HTTP/3 implementation using quiche
src/http/ngx_http_request.h | 3 +
src/http/ngx_http_request_body.c | 33 +
src/http/ngx_http_upstream.c | 13 +
- src/http/v3/ngx_http_v3.c | 2339 +++++++++++++++++++++++
+ src/http/v3/ngx_http_v3.c | 2344 +++++++++++++++++++++++
src/http/v3/ngx_http_v3.h | 78 +
src/http/v3/ngx_http_v3_filter_module.c | 68 +
src/http/v3/ngx_http_v3_module.c | 286 +++
src/http/v3/ngx_http_v3_module.h | 34 +
- 27 files changed, 3822 insertions(+), 11 deletions(-)
+ 27 files changed, 3827 insertions(+), 11 deletions(-)
create mode 100644 auto/lib/quiche/conf
create mode 100644 auto/lib/quiche/make
create mode 100644 src/event/ngx_event_quic.c
@@ -1572,10 +1572,10 @@ index a7391d09a..398af2797 100644
if (ngx_event_flags & NGX_USE_KQUEUE_EVENT) {
diff --git a/src/http/v3/ngx_http_v3.c b/src/http/v3/ngx_http_v3.c
new file mode 100644
-index 000000000..896e26af6
+index 000000000..6e71f1895
--- /dev/null
+++ b/src/http/v3/ngx_http_v3.c
-@@ -0,0 +1,2339 @@
+@@ -0,0 +1,2344 @@
+
+/*
+ * Copyright (C) Cloudflare, Inc.
@@ -2003,10 +2003,15 @@ index 000000000..896e26af6
+ quiche_h3_event *ev;
+
+ int64_t stream_id = quiche_h3_conn_poll(h3c->h3, c->quic->conn, &ev);
-+ if (stream_id < 0) {
++ if (stream_id == QUICHE_H3_ERR_DONE) {
+ break;
+ }
+
++ if (stream_id < 0) {
++ ngx_http_v3_finalize_connection(h3c, NGX_HTTP_V3_PROTOCOL_ERROR);
++ return;
++ }
++
+ ngx_log_debug2(NGX_LOG_DEBUG_HTTP, h3c->connection->log, 0,
+ "http3 event stream:%ui ev:%ui", stream_id,
+ quiche_h3_event_type(ev));