From a429a30348233f08df2545e241806d9d9730a15b Mon Sep 17 00:00:00 2001 From: Remi Gacogne Date: Wed, 12 Jun 2019 10:41:58 +0200 Subject: [PATCH] dnsdist: Properly override the HTTP Server header for DoH --- pdns/dnsdistdist/doh.cc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pdns/dnsdistdist/doh.cc b/pdns/dnsdistdist/doh.cc index 4e585d4af..22173d3a1 100644 --- a/pdns/dnsdistdist/doh.cc +++ b/pdns/dnsdistdist/doh.cc @@ -333,9 +333,6 @@ try h2o_socket_getsockname(sock, reinterpret_cast(&local)); DOHServerConfig* dsc = reinterpret_cast(req->conn->ctx->storage.entries[0].data); - /* looks like we can't delete the Server: header with most versions of h2o */ - h2o_set_header(&req->pool, &req->res.headers, H2O_TOKEN_SERVER, dsc->df->d_serverTokens.c_str(), dsc->df->d_serverTokens.size(), 1); - if(auto tlsversion = h2o_socket_get_ssl_protocol_version(sock)) { if(!strcmp(tlsversion, "TLSv1.0")) ++dsc->df->d_tls10queries; @@ -690,6 +687,8 @@ try auto& dsc = df->d_dsc; dsc->cs = cs; dsc->df = cs->dohFrontend; + dsc->h2o_config.server_name = h2o_iovec_init(df->d_serverTokens.c_str(), df->d_serverTokens.size()); + std::thread dnsdistThread(dnsdistclient, dsc->dohquerypair[1], dsc->dohresponsepair[0]); dnsdistThread.detach(); // gets us better error reporting -- 2.49.0