From: Remi Gacogne Date: Fri, 22 Dec 2023 16:30:16 +0000 (+0100) Subject: dnsdist: Handle early data in DoQ/DoH3 X-Git-Tag: auth-4.9.0-alpha1~18^2~4 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8be79592d042932a992c83bb45913f010d24b2b8;p=thirdparty%2Fpdns.git dnsdist: Handle early data in DoQ/DoH3 --- 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;