From 8be79592d042932a992c83bb45913f010d24b2b8 Mon Sep 17 00:00:00 2001 From: Remi Gacogne Date: Fri, 22 Dec 2023 17:30:16 +0100 Subject: [PATCH] dnsdist: Handle early data in DoQ/DoH3 --- pdns/dnsdistdist/doh3.cc | 2 +- pdns/dnsdistdist/doq.cc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pdns/dnsdistdist/doh3.cc b/pdns/dnsdistdist/doh3.cc index 2f588e97e6..b6a24d77ce 100644 --- a/pdns/dnsdistdist/doh3.cc +++ b/pdns/dnsdistdist/doh3.cc @@ -885,7 +885,7 @@ static void handleSocketReadable(DOH3Frontend& frontend, ClientState& clientStat continue; } - if (quiche_conn_is_established(conn->get().d_conn.get())) { + if (quiche_conn_is_established(conn->get().d_conn.get()) || quiche_conn_is_in_early_data(conn->get().d_conn.get())) { DEBUGLOG("Connection is established"); if (!conn->get().d_http3) { diff --git a/pdns/dnsdistdist/doq.cc b/pdns/dnsdistdist/doq.cc index 1eb94520d8..3fed6bb0ad 100644 --- a/pdns/dnsdistdist/doq.cc +++ b/pdns/dnsdistdist/doq.cc @@ -706,7 +706,7 @@ static void handleSocketReadable(DOQFrontend& frontend, ClientState& clientState continue; } - if (quiche_conn_is_established(conn->get().d_conn.get())) { + if (quiche_conn_is_established(conn->get().d_conn.get()) || quiche_conn_is_in_early_data(conn->get().d_conn.get())) { auto readable = std::unique_ptr(quiche_conn_readable(conn->get().d_conn.get()), quiche_stream_iter_free); uint64_t streamID = 0; -- 2.47.2