What does Windows error code 9556 (DNS_ERROR_NON_RFC_NAME) mean?

 
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


Looking for a different code? Search another status or error code.