9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* [9fans] dns changes
@ 2007-03-05 18:33 geoff
  2007-03-05 19:18 ` erik quanstrom
  0 siblings, 1 reply; 2+ messages in thread
From: geoff @ 2007-03-05 18:33 UTC (permalink / raw)
  To: 9fans

I've pushed to sources changes to ndb/dns intended to improve the
effectiveness of its caching.  Thanks to Dave Presotto for locating
the specific problems.

I've also attempted to make dns's diagnostics in /sys/log/dns more
specific, to pinpoint the client sending bad requests and to detail
the errors in the requests.  Some of the diagnostics are still
somewhat cryptic; I plan to improve them as we get more experience
with them.  Some errors characteristic of MS Windows are detected and
not logged to avoid filling the logs with complaints about systems
that cannot be fixed (except by an OS upgrade).  Seriously
misformatted DNS requests now draw replies with error flags set, so
clients at least get feedback that they are in error.

dns processes now have their names (visible with ps -a) set to
indicate what they are doing.  The internal %R formatting code is now
more robust against incomplete Req structures being printed.

ndb(8) has been updated to reflect all this and had its formatting
slightly altered to improve legibility.


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [9fans] dns changes
  2007-03-05 18:33 [9fans] dns changes geoff
@ 2007-03-05 19:18 ` erik quanstrom
  0 siblings, 0 replies; 2+ messages in thread
From: erik quanstrom @ 2007-03-05 19:18 UTC (permalink / raw)
  To: 9fans

thanks, geoff.

one problem i'm seeing with ndb/dns is that it is caching glue records
from the tld servers (like ultradns.net or gtld-servers.net) even though
the aa bit is not set. 

i think this part is in error, but didn't have time to fully debug the change.

			/*
			 *  Any reply from an authoritative server,
			 *  or a positive reply terminates the search
			 */
			if(m.an != nil || (m.flags & Fauth)){
				if(m.an == nil && (m.flags & Rmask) == Rname)
					dp->nonexistent = Rname;
				else
					dp->nonexistent = 0;


shouldn't that be

	if(m.flags & Fauth)

?

- erik


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2007-03-05 19:18 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-03-05 18:33 [9fans] dns changes geoff
2007-03-05 19:18 ` erik quanstrom

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).