]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
dnsdist: Properly set the "last IO blocked" flag from incoming DoH 17802/head
authorRemi Gacogne <remi.gacogne@powerdns.com>
Tue, 28 Jul 2026 13:48:15 +0000 (15:48 +0200)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Tue, 28 Jul 2026 13:48:15 +0000 (15:48 +0200)
It is used in at least one method inherited from `IncomingTCPConnectionState`.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
pdns/dnsdistdist/dnsdist-nghttp2-in.cc

index f092519339b38b785dd032e200209304138f6017..582b4910718b45b9773e89eb5062f8fd778e14f9 100644 (file)
@@ -519,6 +519,7 @@ void IncomingHTTP2Connection::writeToSocket(bool socketReady)
 
     if (newState == IOState::Done) {
       d_pendingWrite = false;
+      d_lastIOBlocked = false; // setting this does matter, because it is used in IncomingTCPConnectionState::queueResponse
       d_out.clear();
       d_outPos = 0;
       if (active() && !d_connectionClosing) {
@@ -1264,6 +1265,7 @@ IOState IncomingHTTP2Connection::readHTTPData()
 
     if (got > 0) {
       /* we got something */
+      d_lastIOBlocked = false; // setting this does matter, because it is used in IncomingTCPConnectionState::queueResponse
       auto readlen = nghttp2_session_mem_recv(d_session.get(), d_in.data(), d_in.size());
       /* as long as we don't require a pause by returning nghttp2_error.NGHTTP2_ERR_PAUSE from a CB,
          all data should be consumed before returning */