Commit 5afc14e6 authored by dalyk's avatar dalyk Committed by Commit Bot

Send minimal HTTP headers for DNS-over-HTTPS requests.

Use a string constant for the User-Agent header and a wildcard for the
Accept-Language header. This reduces the ability of providers to group
traffic from a given user across connections but allows providers to
trace the queries back to Chrome in debugging efforts.

Bug: 878582
Change-Id: I9c51b7400640f7df7c0d51cb6290d6a37f564f4f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1689398
Commit-Queue: Katharine Daly <dalyk@google.com>
Reviewed-by: default avatarEric Orth <ericorth@chromium.org>
Cr-Commit-Position: refs/heads/master@{#678521}
parent ca27586e
...@@ -46,6 +46,7 @@ ...@@ -46,6 +46,7 @@
#include "net/dns/dns_session.h" #include "net/dns/dns_session.h"
#include "net/dns/dns_util.h" #include "net/dns/dns_util.h"
#include "net/dns/public/dns_protocol.h" #include "net/dns/public/dns_protocol.h"
#include "net/http/http_request_headers.h"
#include "net/log/net_log.h" #include "net/log/net_log.h"
#include "net/log/net_log_capture_mode.h" #include "net/log/net_log_capture_mode.h"
#include "net/log/net_log_event_type.h" #include "net/log/net_log_event_type.h"
...@@ -348,6 +349,9 @@ class DnsHTTPAttempt : public DnsAttempt, public URLRequest::Delegate { ...@@ -348,6 +349,9 @@ class DnsHTTPAttempt : public DnsAttempt, public URLRequest::Delegate {
HttpRequestHeaders extra_request_headers; HttpRequestHeaders extra_request_headers;
extra_request_headers.SetHeader("Accept", kDnsOverHttpResponseContentType); extra_request_headers.SetHeader("Accept", kDnsOverHttpResponseContentType);
// Send minimal request headers where possible.
extra_request_headers.SetHeader(HttpRequestHeaders::kAcceptLanguage, "*");
extra_request_headers.SetHeader(HttpRequestHeaders::kUserAgent, "Chrome");
DCHECK(url_request_context); DCHECK(url_request_context);
request_ = url_request_context->CreateRequest( request_ = url_request_context->CreateRequest(
......
...@@ -823,6 +823,16 @@ class DnsTransactionTest : public DnsTransactionTestBase, ...@@ -823,6 +823,16 @@ class DnsTransactionTest : public DnsTransactionTestBase,
EXPECT_TRUE(request->extra_request_headers().GetHeader("Accept", &accept)); EXPECT_TRUE(request->extra_request_headers().GetHeader("Accept", &accept));
EXPECT_EQ(accept, "application/dns-message"); EXPECT_EQ(accept, "application/dns-message");
std::string language;
EXPECT_TRUE(request->extra_request_headers().GetHeader("Accept-Language",
&language));
EXPECT_EQ(language, "*");
std::string user_agent;
EXPECT_TRUE(
request->extra_request_headers().GetHeader("User-Agent", &user_agent));
EXPECT_EQ(user_agent, "Chrome");
SocketDataProvider* provider = socket_factory_->mock_data().GetNext(); SocketDataProvider* provider = socket_factory_->mock_data().GetNext();
if (doh_job_maker_) if (doh_job_maker_)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment