From: Charles-Henri Bruyand Date: Wed, 22 Jun 2022 09:13:01 +0000 (+0200) Subject: process review comments X-Git-Tag: auth-4.8.0-alpha0~43^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=30067fd606320a89ca2952b045355283724df128;p=thirdparty%2Fpdns.git process review comments --- diff --git a/pdns/dnsdist-tcp.cc b/pdns/dnsdist-tcp.cc index d7b444c22a..e4a872aa8c 100644 --- a/pdns/dnsdist-tcp.cc +++ b/pdns/dnsdist-tcp.cc @@ -259,8 +259,7 @@ static void handleResponseSent(std::shared_ptr& stat ::handleResponseSent(ids, udiff, state->d_ci.remote, ds->d_config.remote, static_cast(currentResponse.d_buffer.size()), currentResponse.d_cleartextDH, backendProtocol); } else { const auto& ids = currentResponse.d_idstate; - double udiff = ids.sentTime.udiff(); - ::handleResponseSent(ids, udiff, state->d_ci.remote, ComboAddress(), static_cast(currentResponse.d_buffer.size()), currentResponse.d_cleartextDH, ids.protocol); + ::handleResponseSent(ids, 0., state->d_ci.remote, ComboAddress(), static_cast(currentResponse.d_buffer.size()), currentResponse.d_cleartextDH, ids.protocol); } } @@ -746,13 +745,12 @@ static void handleQuery(std::shared_ptr& state, cons if (result == ProcessQueryResult::SendAnswer) { TCPResponse response; response.d_selfGenerated = true; - response.d_buffer = std::move(state->d_buffer); - setIDStateFromDNSQuestion(response.d_idstate, dq, std::move(qname)); response.d_idstate.origID = dh->id; response.d_idstate.cs = state->d_ci.cs; + setIDStateFromDNSQuestion(response.d_idstate, dq, std::move(qname)); - DNSResponse dr = makeDNSResponseFromIDState(response.d_idstate, response.d_buffer); - memcpy(&response.d_cleartextDH, dr.getHeader(), sizeof(response.d_cleartextDH)); + memcpy(&response.d_cleartextDH, dh, sizeof(response.d_cleartextDH)); + response.d_buffer = std::move(state->d_buffer); state->d_state = IncomingTCPConnectionState::State::idle; ++state->d_currentQueriesCount; diff --git a/pdns/dnsdistdist/doh.cc b/pdns/dnsdistdist/doh.cc index d0d09211a6..1d206b3047 100644 --- a/pdns/dnsdistdist/doh.cc +++ b/pdns/dnsdistdist/doh.cc @@ -622,7 +622,7 @@ static void processDOHQuery(DOHUnitUniquePtr&& du) } auto dh = const_cast(reinterpret_cast(du->response.data())); - handleResponseSent(qname, QType(qtype), 0., du->downstream->d_config.remote, ComboAddress(), du->response.size(), *dh, du->downstream->getProtocol()); + handleResponseSent(qname, QType(qtype), 0., du->ids.origDest, ComboAddress(), du->response.size(), *dh, dnsdist::Protocol::DoH); sendDoHUnitToTheMainThread(std::move(du), "DoH self-answered response"); return; }