[249] in Hesiod
bug in Hesiod 1.3 : wrong dns request for empty LHS
daemon@ATHENA.MIT.EDU (sr1@irz301.inf.tu-dresden.de)
Tue Nov 1 15:39:49 1994
From: sr1@irz301.inf.tu-dresden.de
To: hesiod@MIT.EDU
Date: Tue, 1 Nov 1994 21:34:42 +0100 (MET)
Reply-To: sr1@inf.tu-dresden.de
I am not shure, whether this is the right place, but the README wrote so ...
Version:
from the README:
HESIOD DISTRIBUTION INFORMATION 18 October 1993
This is version 1.3 of the Hesiod distribution.
from hesiod.c
* $Source: /afs/rel-eng.athena.mit.edu/project/release/current/source/athena/athena.lib/hesiod/RCS/hesiod.c,v $
* $Author: mar $
* $Athena: hesiod.c,v 1.5 88/08/07 22:00:44 treese Locked $
static char rcsid_hesiod_c[] = "$Header:/afs/rel-eng.athena.mit.edu/project/release/current/source/athena/athena.lib/hesiod/RCS/hesiod.c,v 1.11 93/06/15 10:26:37 mar Exp $";
Problem description:
I use the hesinfo client on DEC RISC ULTRIX 4.3a (and on a current
Linux). The hesiod setup is the following:
rhs=.inf.tu-dresden.de
lhs=
(Please note that LHS is empty, this is contrary to the MIT Athena
Hesiod papers I read. Nevertheless this IMHO should be a valid mode
of operation.)
If i run 'hesinfo sr1 passwd', hes_to_bind (in hesiod.c) creates the
bindname sr1.passwd..inf.tu-dresden.de
Obviously this is wrong. The fix should explain the problem better
than I could.
Fix: (oops, the new file ist the first one ...)
*** hesiod.c Fri Oct 21 13:26:54 1994
--- hesiod.c.original Fri Oct 15 23:21:48 1993
***************
*** 171,177 ****
}
(void) strcat(bindname, ".");
(void) strcat(bindname, HesiodNameType);
! if (Hes_LHS && Hes_LHS[0]) {
if (Hes_LHS[0] != '.')
(void) strcat(bindname,".");
(void) strcat(bindname, Hes_LHS);
--- 168,174 ----
}
(void) strcat(bindname, ".");
(void) strcat(bindname, HesiodNameType);
! if (Hes_LHS) {
if (Hes_LHS[0] != '.')
(void) strcat(bindname,".");
(void) strcat(bindname, Hes_LHS);
Sven
--
Sven Rudolph (sr1@inf.tu-dresden.de); WWW : http://www.inf.tu-dresden.de/~sr1/