| Index: net/dns/dns_util.h | 
| diff --git a/net/dns/dns_util.h b/net/dns/dns_util.h | 
| index 06cc3d6f8b731e5fe95f96b218afb339528d3036..81eb1a28ba11dd57a0af00b91c9f69274babe707 100644 | 
| --- a/net/dns/dns_util.h | 
| +++ b/net/dns/dns_util.h | 
| @@ -27,6 +27,21 @@ NET_EXPORT_PRIVATE bool DNSDomainFromDot(const base::StringPiece& dotted, | 
| // Checks that a hostname is valid. Simple wrapper around DNSDomainFromDot. | 
| NET_EXPORT_PRIVATE bool IsValidDNSDomain(const base::StringPiece& dotted); | 
|  | 
| +// Returns true if the character is valid in a DNS hostname label, whether in | 
| +// the first position or later in the label. | 
| +// | 
| +// This function asserts a looser form of the restrictions in RFC 7719 (section | 
| +// 2; https://tools.ietf.org/html/rfc7719#section-2): hostnames can include | 
| +// characters a-z, A-Z, 0-9, -, and _, and any of those characters (except -) | 
| +// are legal in the first position. The looser rules are necessary to support | 
| +// service records (initial _), and non-compliant but attested hostnames that | 
| +// include _. These looser rules also allow Punycode and hence IDN. | 
| +// | 
| +// TODO(palmer): In the future, when we can remove support for invalid names, | 
| +// this can be a private implementation detail of |DNSDomainFromDot|, and need | 
| +// not be NET_EXPORT_PRIVATE. | 
| +NET_EXPORT_PRIVATE bool IsValidHostLabelCharacter(char c, bool is_first_char); | 
| + | 
| // DNSDomainToString converts a domain in DNS format to a dotted string. | 
| // Excludes the dot at the end. | 
| NET_EXPORT_PRIVATE std::string DNSDomainToString( | 
|  |