Loading ...
Sorry, an error occurred while loading the content.

Hostname syntax (was: Reverse Hostnames with '_msdcs' not valid)

Expand Messages
  • Wietse Venema
    ... Your selective quote from RFC 1035 omits important information. Incomplete information is as bad as false information. The quote with context is below. I
    Message 1 of 1 , Aug 30, 2012
    • 0 Attachment
      Bastian Blank:
      > On Wed, Aug 29, 2012 at 01:01:52PM +0200, Bernhard Schmidt wrote:
      > > ok: 134.130.87.26 -PTR-> domaindnszones.geotechnik.rwth-aachen.de
      > > -A-> 134.130.87.26
      > > ok: -PTR-> forestdnszones.geotechnik.rwth-aachen.de
      > > -A-> 134.130.87.26
      > > ok: -PTR-> gc._msdcs.geotechnik.rwth-aachen.de
      >
      > This is invalid. A label may not include the underline character.

      Your selective quote from RFC 1035 omits important information.
      Incomplete information is as bad as false information.

      The quote with context is below. I capitalized text to emphasize
      the important parts.

      2.3.1. Preferred name syntax

      The DNS specifications attempt to be as general as possible in
      the rules for constructing domain names. The idea is that the
      name of any existing object can be expressed as a domain name
      with minimal changes.

      HOWEVER, WHEN ASSIGNING A DOMAIN NAME FOR AN OBJECT, THE PRUDENT
      USER WILL SELECT A NAME WHICH SATISFIES BOTH THE RULES OF THE
      DOMAIN SYSTEM AND ANY EXISTING RULES FOR THE OBJECT, WHETHER
      THESE RULES ARE PUBLISHED OR IMPLIED BY EXISTING PROGRAMS.

      For example, when naming a mail domain, the user should satisfy
      both the rules of this memo and those in RFC-822. When creating
      a new host name, the old rules for HOSTS.TXT should be followed.
      This avoids problems when old software is converted to use
      domain names.

      THE FOLLOWING SYNTAX WILL RESULT IN FEWER PROBLEMS WITH MANY
      APPLICATIONS THAT USE DOMAIN NAMES (E.G., MAIL, TELNET).

      <domain> ::= <subdomain> | " "
      <subdomain> ::= <label> | <subdomain> "." <label>
      <label> ::= <letter> [ [ <ldh-str> ] <let-dig> ]
      <ldh-str> ::= <let-dig-hyp> | <let-dig-hyp> <ldh-str>
      <let-dig-hyp> ::= <let-dig> | "-"
      <let-dig> ::= <letter> | <digit>
      <letter> ::= any one of the 52 alphabetic characters A through Z in
      upper case and a through z in lower case
      <digit> ::= any one of the ten digits 0 through 9

      Obviously, the text does not forbid the use of _ in domain names.
      Instead, it presents a safe subset that avoids breaking programs.

      Now, let's come back to the issue of hostname syntax. Hostnames
      are defined in RFC 952 (updated by RFC 1123 to allow names starting
      with a digit).

      <hname> ::= <name>*["."<name>]
      <name> ::= <let>[*[<let-or-digit-or-hyphen>]<let-or-digit>]

      This is where the "no underscore in hostname" rule comes from. The
      underscore character remains allowed in non-host names, subject to
      the RFCs for that application.

      The Postfix valid_hostname() and valid_hostaddr() routines enforce
      RFC 952, RFC 1123, RFC 1035, and RFC 2373, with the exception that
      valid_hostname() also permits the _ character.

      The primary mission of Postfix is to deliver mail reliably, not to
      force other people into RFC compliance.

      Apparently the Debian resolver is maintained by people who have a
      less modest point of view.

      Wietse
    Your message has been successfully submitted and would be delivered to recipients shortly.