From 550b692343e398e0debe18ddb5908b4ccb183b91 Mon Sep 17 00:00:00 2001 From: Artem Boldariev Date: Thu, 18 Jul 2024 20:21:53 +0300 Subject: [PATCH] DoH: reduce excessive bad request logging We started using isc_nm_bad_request() more actively throughout codebase. In the case of HTTP/2 it can lead to a large count of useless "Bad Request" messages in the BIND log, as often we attempt to send such request over effectively finished HTTP/2 sessions. This commit fixes that. (cherry picked from commit 937b5f8349a6a5e15af254a53a659e39c7c1d179) --- lib/isc/netmgr/http.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/isc/netmgr/http.c b/lib/isc/netmgr/http.c index d3e84b6602..a00f4a7229 100644 --- a/lib/isc/netmgr/http.c +++ b/lib/isc/netmgr/http.c @@ -2434,6 +2434,12 @@ isc__nm_http_bad_request(isc_nmhandle_t *handle) { REQUIRE(!atomic_load(&sock->client)); REQUIRE(VALID_HTTP2_SESSION(sock->h2.session)); + if (sock->h2.response_submitted || + !http_session_active(sock->h2.session)) + { + return; + } + (void)server_send_error_response(ISC_HTTP_ERROR_BAD_REQUEST, sock->h2.session->ngsession, sock); }