Date: Tue, 25 Mar 2003 18:37:12 -0800 From: Terry Lambert <tlambert2@mindspring.com> To: Mark.Andrews@isc.org Cc: stable@FreeBSD.ORG Subject: Re: Resolver Issues (non valid hostname characters) Message-ID: <3E811258.1CFE418C@mindspring.com> References: <200303252132.h2PLW25Y025697@drugs.dv.isc.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Mark.Andrews@isc.org wrote: > David J Duchscher <daved@nostrum.com> wrote: > > It should be noted that this limitation was in RFC952 which is not a DNS > > specification. See RFC2181. I think our implementation is simply > > broken. > > gethostby*(), get*info() all talk RFC 952. They use the > DNS as a database to store records in as they use /etc/hosts > and NIS. gethostbyaddr() and gethostinfo() should not be > returning names that don't comply to RFC 952. > > Like most people you are confusing hostnames and domainnames. > The are NOT the same things. They are in fact overlapping > sets. There are legal hostnames that cannot be stored in > the DNS and the are domainnames that are not hostnames. > > Checking the results returned from a public database is > good engineering practice. NIS and /etc/hosts are local > databases and can be assumed to be correct. Exactly. What Mark said. This will take a lot of code to correct. AFAIK, there is no usable reference implementation for a non RFC-952 restricted resolver library API, nor is there implementation in most intermediate DNS servers, which are consumers of such a library, in order to allow caching-only and slit horizon ("border") DNS servers to do such lookups through such a library, and then internalize the results. I'm sure if someone wanted to step forward and write the code, a lot of OS's would be happy to take it from them. So far, however, RFC-952 has not yet been obsoleted by anything but drafts (see other posting for the reference pointers to IDN). Further, there are complex issues involved in modifying OS libraries, some of them specific to FreeBSD's lack of kernel threads support at the current time, and some of them related to FreeBSD's organizational issues, and some of them related to nothing more than FreeBSD politics. The most damning thing, though, is the total lack of interface definitions by standards bodies, such as X/Open or POSIX. Without these, it's not *possible* to implement a conforming implementation of the code, and any code you do implement is not likely to be conformant to any final standard, unless you place it in the public domain, or under multiple licenses, granted in perpetuity, so that all commercial OS vendors, the BSD's, and the Linux's, can pick it up and *make it* the defacto standard. -- Terry
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3E811258.1CFE418C>