First of all, where can I get some documents on resolv.rb? I use RDoc Documentation, but there's none.
The head branch of Ruby has resolv.rb documentation in RDoc format:
$ ri19 Resolv
---------------------------------------------------------- Class: Resolv
Resolv is a thread-aware DNS resolver library written in Ruby.
Resolv can handle multiple DNS requests concurrently without
blocking. The ruby interpreter.
See also resolv-replace.rb to replace the libc resolver with #
Resolv.
Resolv can look up various DNS resources using the DNS module
directly.
[...]
Second of all, why is it named resolve instead of Net::DNS? It doesn't
seem to be good choice to me. Don't you think this is incoherent?
Resolv is not just a DNS resolver. It also reads from /etc/hosts.
···
On Mar 28, 2006, at 10:28 AM, Minkoo Seo wrote:
--
Eric Hodel - drbrain@segment7.net - http://blog.segment7.net
This implementation is HODEL-HASH-9600 compliant
> First of all, where can I get some documents on resolv.rb? I use
> RDoc Documentation, but there's none.
The head branch of Ruby has resolv.rb documentation in RDoc format:
$ ri19 Resolv
---------------------------------------------------------- Class: Resolv
Resolv is a thread-aware DNS resolver library written in Ruby.
Resolv can handle multiple DNS requests concurrently without
blocking. The ruby interpreter.
See also resolv-replace.rb to replace the libc resolver with #
Resolv.
Resolv can look up various DNS resources using the DNS module
directly.
[...]
> Second of all, why is it named resolve instead of Net::DNS? It doesn't
> seem to be good choice to me. Don't you think this is incoherent?
Resolv is not just a DNS resolver. It also reads from /etc/hosts.
--
Eric Hodel - drbrain@segment7.net - http://blog.segment7.net
This implementation is HODEL-HASH-9600 compliant
But, as you quoted, resolve.rb says "Resolv is a thread-aware DNS
resolver library written in Ruby", so it is DNS resolver and I accuse
resolve.rb of misnomer because it does not follow Net::xxx rules.
Futhermore, reading /etc/hosts does not justify its name, because I
believe that its name, resolve, was named after DNS resolver. (BTW, do
you really think reading /etc/hosts is not related to dns resolver's
own job?)
Actually lack of naming coherency in Ruby is quite annoying more often
than not.
But, as you quoted, resolve.rb says "Resolv is a thread-aware DNS
resolver library written in Ruby", so it is DNS resolver and I accuse
resolve.rb of misnomer because it does not follow Net::xxx rules.
Futhermore, reading /etc/hosts does not justify its name, because I
believe that its name, resolve, was named after DNS resolver. (BTW, do
you really think reading /etc/hosts is not related to dns resolver's
own job?)
It may be illuminating to study the functionality of the resolver
library found on most Unix systems. "man resolver" gives some
information on Linux systems -- other systems will vary. If you note
the name of the library that gets linked in, the name of the module
will make much more sense to you.
Actually lack of naming coherency in Ruby is quite annoying more often
than not.
Sincerely,
Minkoo Seo
On the contrary, I would be most confused by using Net::DNS to resolve
entries in a hosts file -- but immediately knew where to look for a
general-purpose name resolution library. Sometimes historical reasons
are good ones.
Cheers,
kjw
···
On 28/03/06, Minkoo Seo <minkoo.seo@gmail.com> wrote:
Second of all, why is it named resolve instead of Net::DNS? It doesn't
seem to be good choice to me. Don't you think this is incoherent?
Resolv is not just a DNS resolver. It also reads from /etc/hosts.
Thank you. This will be of great help.
You're welcome. I converted it from RD to RDoc.
But, as you quoted, resolve.rb says "Resolv is a thread-aware DNS
resolver library written in Ruby", so it is DNS resolver and I accuse
resolve.rb of misnomer because it does not follow Net::xxx rules.
Futhermore, reading /etc/hosts does not justify its name, because I
believe that its name, resolve, was named after DNS resolver. (BTW, do
you really think reading /etc/hosts is not related to dns resolver's
own job?)
Actually lack of naming coherency in Ruby is quite annoying more often
than not.
The DNS portion of Resolv should probably go under Net, but it has broader functionality than just DNS resolution. Resolv is a good name for the glue that the library provides between DNS and /etc/hosts, along with the automatic configuration.
···
On Mar 28, 2006, at 11:53 AM, Minkoo Seo wrote:
On Mar 28, 2006, at 10:28 AM, Minkoo Seo wrote:
--
Eric Hodel - drbrain@segment7.net - http://blog.segment7.net
This implementation is HODEL-HASH-9600 compliant