[1446] in NetBSD-Development
Re: Hesiod
daemon@ATHENA.MIT.EDU (Greg Hudson)
Tue Mar 25 21:20:57 1997
To: Erik Nygren <nygren@MIT.EDU>
Cc: David D Golombek <daveg@MIT.EDU>, bdrosen@MIT.EDU, netbsd-dev@MIT.EDU,
linux-dev@MIT.EDU
In-Reply-To: Your message of "Tue, 25 Mar 1997 19:14:44 EST."
<199703260014.TAA17217@zocalo.mit.edu>
Date: Tue, 25 Mar 1997 21:20:29 EST
From: Greg Hudson <ghudson@MIT.EDU>
> The problem only occurs with people of a group list over a certain
> size, and also only after the second and later lookups. Does the
> problem happen when you look up bdrosen instead of yourself? The
> problem exists under Linux as well, although now it just returns
> "hesiod name not found" instead of segfaulting. I don't remember
> what causes the problem.
The problem comes from DNS reponses longer than 512 bytes, which is
actually a violation of spec by MIT's name servers. On Linux, this
makes res_send() return a packet size greater than your buffer length.
I've actually pumped up the buffer size (since, in theory, the
resolver could be doing a virtual circuit lookup) to 1K, so this
problem should go away on Linux if everything is rebuilt.
I'm not completely clear on the source of problems under NetBSD, but I
believe that they would go away on a rebuild of the current sources
(there was insufficient length-checking in the sources I built 7.7.2
with). I haven't yet found the time and energy to rebuild all the
login programs and install them.