New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 872987 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Aug 24
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug


Participants' hotlists:
DoH-setting


Sign in to add a comment

Update DoH implementation to conform to standard

Project Member Reported by dalyk@google.com, Aug 10

Issue description

https://tools.ietf.org/html/draft-ietf-doh-dns-over-https-12

DoH servers are now specified using URI templates. URI template parsing support is needed for sending GET requests. The message type has changed to application/dns-message.
 
Cc: henck@google.com bemasc@chromium.org
Project Member

Comment 2 by bugdroid1@chromium.org, Aug 22

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6b82a0258a7ff1c478c346483674742382bd8757

commit 6b82a0258a7ff1c478c346483674742382bd8757
Author: dalyk <dalyk@google.com>
Date: Wed Aug 22 15:22:38 2018

Add URI template parser.

This URI template parser will be used by the DoH implementation to interpret
DoH servers and to construct requests. The URI template parsing code is
derived from the public Google API C++ Client code with significant
modifications.

Bug:  872987 
Change-Id: Ia9a1c761a16607911034c1d8419fed82b7e918dd
Reviewed-on: https://chromium-review.googlesource.com/1170591
Commit-Queue: Matt Menke <mmenke@chromium.org>
Reviewed-by: Max Moroz <mmoroz@chromium.org>
Reviewed-by: Matt Menke <mmenke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#585023}
[modify] https://crrev.com/6b82a0258a7ff1c478c346483674742382bd8757/net/BUILD.gn
[modify] https://crrev.com/6b82a0258a7ff1c478c346483674742382bd8757/net/base/escape.cc
[modify] https://crrev.com/6b82a0258a7ff1c478c346483674742382bd8757/net/base/escape.h
[add] https://crrev.com/6b82a0258a7ff1c478c346483674742382bd8757/net/data/fuzzer_dictionaries/net_uri_template_fuzzer.dict
[add] https://crrev.com/6b82a0258a7ff1c478c346483674742382bd8757/net/third_party/uri_template/LICENSE
[add] https://crrev.com/6b82a0258a7ff1c478c346483674742382bd8757/net/third_party/uri_template/OWNERS
[add] https://crrev.com/6b82a0258a7ff1c478c346483674742382bd8757/net/third_party/uri_template/README.chromium
[add] https://crrev.com/6b82a0258a7ff1c478c346483674742382bd8757/net/third_party/uri_template/uri_template.cc
[add] https://crrev.com/6b82a0258a7ff1c478c346483674742382bd8757/net/third_party/uri_template/uri_template.h
[add] https://crrev.com/6b82a0258a7ff1c478c346483674742382bd8757/net/third_party/uri_template/uri_template_fuzzer.cc
[add] https://crrev.com/6b82a0258a7ff1c478c346483674742382bd8757/net/third_party/uri_template/uri_template_test.cc

Project Member

Comment 3 by bugdroid1@chromium.org, Aug 24

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b34631ffbba83d12783e26bcb065a1b896a85025

commit b34631ffbba83d12783e26bcb065a1b896a85025
Author: dalyk <dalyk@google.com>
Date: Fri Aug 24 19:59:48 2018

Updates DoH implementation to conform to IETF standard.

https://tools.ietf.org/html/draft-ietf-doh-dns-over-https-12

Server configuration is now done with URI templates, and request
formation uses the new MIME type.

The point at which the default DoH preferences are populated with the
corresponding DoH features is also moved such that command-line
arguments are available.

Bug:  872987 

Test: out/Default/chrome --enable-features="dns-over-https<DoHTrial" --force-fieldtrials="DoHTrial/Group1" --force-fieldtrial-params="DoHTrial.Group1:server/https%3A%2F%2Fcloudflare-dns%2Ecom%2Fdns-query{?dns}/method/GET"
Cq-Include-Trybots: luci.chromium.try:linux_mojo
Change-Id: I9e68c7e8364ef3cd8162e781b78eca1432928a86
Reviewed-on: https://chromium-review.googlesource.com/1170592
Reviewed-by: Bence Béky <bnc@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Matt Menke <mmenke@chromium.org>
Commit-Queue: Matt Menke <mmenke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#585957}
[modify] https://crrev.com/b34631ffbba83d12783e26bcb065a1b896a85025/chrome/browser/net/system_network_context_manager.cc
[modify] https://crrev.com/b34631ffbba83d12783e26bcb065a1b896a85025/components/network_session_configurator/common/network_features.h
[modify] https://crrev.com/b34631ffbba83d12783e26bcb065a1b896a85025/net/dns/dns_config_service.cc
[modify] https://crrev.com/b34631ffbba83d12783e26bcb065a1b896a85025/net/dns/dns_config_service.h
[modify] https://crrev.com/b34631ffbba83d12783e26bcb065a1b896a85025/net/dns/dns_transaction.cc
[modify] https://crrev.com/b34631ffbba83d12783e26bcb065a1b896a85025/net/dns/dns_transaction_unittest.cc
[modify] https://crrev.com/b34631ffbba83d12783e26bcb065a1b896a85025/net/dns/dns_util.cc
[modify] https://crrev.com/b34631ffbba83d12783e26bcb065a1b896a85025/net/dns/dns_util.h
[modify] https://crrev.com/b34631ffbba83d12783e26bcb065a1b896a85025/net/dns/dns_util_unittest.cc
[modify] https://crrev.com/b34631ffbba83d12783e26bcb065a1b896a85025/net/dns/host_resolver_impl.cc
[modify] https://crrev.com/b34631ffbba83d12783e26bcb065a1b896a85025/net/dns/host_resolver_impl.h
[modify] https://crrev.com/b34631ffbba83d12783e26bcb065a1b896a85025/net/dns/host_resolver_impl_unittest.cc
[modify] https://crrev.com/b34631ffbba83d12783e26bcb065a1b896a85025/net/url_request/http_with_dns_over_https_unittest.cc
[modify] https://crrev.com/b34631ffbba83d12783e26bcb065a1b896a85025/services/network/network_service.cc
[modify] https://crrev.com/b34631ffbba83d12783e26bcb065a1b896a85025/services/network/network_service_unittest.cc
[modify] https://crrev.com/b34631ffbba83d12783e26bcb065a1b896a85025/services/network/public/mojom/network_service.mojom

Status: Fixed (was: Assigned)

Sign in to add a comment