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.
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
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
Comment 1 by dalyk@google.com
, Aug 13