Create NsswitchReader

Reads /etc/nsswitch.conf files and parses tokens. Designed to be fairly
lenient and attempts to turn most unrecognized/unparsable input into
"unknown" output tokens.

Bug: 117655
Change-Id: Icab4e2aef501ab1e7d195747cc8c4d4d7a56a7b1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2803074
Reviewed-by: Dan McArdle <[email protected]>
Commit-Queue: Eric Orth <[email protected]>
Cr-Commit-Position: refs/heads/master@{#869626}
diff --git a/net/dns/BUILD.gn b/net/dns/BUILD.gn
index c872eba..a5a19491 100644
--- a/net/dns/BUILD.gn
+++ b/net/dns/BUILD.gn
@@ -73,6 +73,8 @@
       "httpssvc_metrics.cc",
       "httpssvc_metrics.h",
       "mapped_host_resolver.cc",
+      "nsswitch_reader.cc",
+      "nsswitch_reader.h",
       "record_parsed.cc",
       "record_rdata.cc",
       "resolve_context.cc",
@@ -417,6 +419,7 @@
     "https_record_rdata_unittest.cc",
     "httpssvc_metrics_unittest.cc",
     "mapped_host_resolver_unittest.cc",
+    "nsswitch_reader_unittest.cc",
     "record_parsed_unittest.cc",
     "record_rdata_unittest.cc",
     "resolve_context_unittest.cc",