Need to keep tighter control on external access to dns code as we servicify it.
Step 1 is to reorg the BUILD rules to only allow external access to HostResolver and related classes (the main meant-to-be-external API that is obviously going to be servicified) and whitelisted access to anything else. This will help us keep track of what we need to support for servicification.
Step 2 is to remove whitelisting and direct access to HostResolver as things are servicified and no longer need direct external access. The end goal is that only simple, non-logic stuff (eg the constants in dns_protocol.h) should be externally accessible. Everything else will be in a single dns internal source_set rule whitelisted only to net, network service, and test-only stuff.
Comment 1 by rsleevi@chromium.org
, May 24 2018