General DNS questions

Matt Simerson mpsimerson at hostpro.com
Tue May 22 17:55:48 UTC 2001



> -----Original Message-----
> From: Brad Knowles [mailto:brad.knowles at skynet.be]
> Sent: Tuesday, May 22, 2001 4:49 AM
> To: Matt Simerson
> Cc: 'bind-users at isc.org'
> Subject: RE: General DNS questions
> 
> 	I distinctly remember MacTCP doing illegal local caching, and as 
> Chip reminded me, that stuff was stored in the "MacTCP DNR" file.

That's only partly true. Yes, MacTCP and Open Transport both do write the
results of lookups to the MacTCP DNR file but they don't ever use that data
(as a "cache" would). On 99.999% of the Mac's out there, that "cached" data
will never be used. It is there ONLY for MacOS 5-6 apps that only know how
to read that DNR file directly. That was because MacTCP was written before
the DNS and one hosts.txt file updated montly was sufficient to connect to
every site on the internet.

MacOS 7 (and later) applications that are written correctly never use the
DNR file. MacTCP on System 7 didn't use the file either, it merely wrote to
it. Surprisingly, the original specs for MacTCP and that file are still
available on Apple's site.

> 	What I gave Garry grief about was the illegal caching, 

I would argue that it really isn't caching. If anything I think that calling
it "results logging" would be more appropriate since MacTCP and OT never use
the results of the cache, they only write to it. Here's some fun proof:

   "ISC has found that some Power Macintoshes running Mac OS 8.6 or above
are vulnerable
    to a corruption of the MacTCP DNR file inside the active System Folder. 

    The most common symptoms of this corruption are that connectivity is
known good
    (i.e. modem dials in successfully), modern TCP/IP applications (i.e.
Netscape
    Communicator 4.x) work successfully, and older TCP/IP applications (i.e.

    DataComet 4.x) do not. The corrupted file may either be visible in the
System
    Folder as gibberish (but with the appropriate icon) or correctly named
as MacTCP
    DNR (also with the appropriate icon)"

Apple chose to continue to write lookup results to the DNR file so that them
crusty, musty, pre-DNS applications would still work. It's really more of a
logfile than a cache. Wouldn't you agree?

> 	While I don't believe that the recursive resolver issue was 
> solved with Open Transport, at least the illegal caching was.

Depending on how you define a cache, it's not. Open Transport still writes
that MacTCP DNR file.  If it get's hosed, your ancient TCP apps can't
resolve. Most people don't know, don't care, and it doesn't affect them as
the "cache" is never used by modern apps.

> 	Sorry, I was confused.  It was the "MacTCP DNR" file.  Indeed, 
> after all this time, some applications *still* expect this file to 
> exist, and will not function if it has been removed -- even though it 
> no longer serves any purpose.

Of course, some applications have never and never will be updated. In such
cases, the DNR file does serve a purpose. It's a testament to Apple's
backwards compatility that those applications even work. I find it nothing
short of amazing that an application like MORE that was written in 1987 for
System 6.8 and last updated in 1991 will still run so beautifully on MacOS
9.1 (and OS X in compatibility mode).

Matt

BTW: MacOS X rocks. For years I've kept at least two machines on my desk,
one running MacOS with VirtualPC (for those times when I have to run PeeCee
software) and one *BSD with X on it to compile and run all them X windows
programs we know and love. MacX displayed them pretty faithfully on my MacOS
machine but localhost is sooo much faster than 100BaseT. Now I have one
MacOS X desktop with XFree86, VNC to a Win2k box (at work), MacOS
compatibility mode, Aqua and best of all, cut/copy/paste works between all
three. Being able to compile XFree86 apps, nmap, and having OpenSSH included
with my Mac is wonderful. Everyone that looks at it thinks it's just so
pretty, and it is. :-)



More information about the bind-users mailing list