| Previous | Next |
| DNS_ERROR_NOT_UNIQUE | DNS_STATUS_FQDN |
DNS_ERROR_NON_RFC_NAME
A portability warning rather than every time a fatal error
DnsValidateName can return DNS_ERROR_NON_RFC_NAME for extended or Unicode characters and for underscores outside the permitted SRV-name form. Microsoft documents this result as a warning: a suitably configured Windows DNS server can accept the name, while other DNS server software may not. It is therefore different from DNS_ERROR_INVALID_NAME_CHAR, which identifies characters Windows treats as invalid for the selected format.
The supplied DNS_NAME_FORMAT is part of the validation contract. A service record, wildcard, hostname label, domain label, and complete domain name have different permitted syntax. Internationalized names also require a deliberate Unicode/IDNA strategy rather than byte-by-byte ANSI validation.
What to inspect
- Record the validation format and the Unicode code points in the original name.
- Use the SRV format only for the underscore-prefixed labels defined by the service-discovery convention.
- Convert user-facing internationalized names with a standards-compliant IDNA implementation before interoperating with systems that expect A-labels.
- Test the authoritative and recursive servers actually used in production before accepting a Windows-only spelling.
References
- Microsoft: DnsValidateNameW
- Microsoft: DNS_NAME_FORMAT
- RFC 5890: Internationalized Domain Names terminology
Looking for a different code? Search another status or error code.