Subject: dhclient issues
To: None <tech-net@netbsd.org>
From: Murray Armfield <marmfiel@bigpond.net.au>
List: tech-net
Date: 03/02/2001 10:57:01
Hi Folks,
           I am an Australian NetBSD user who makes use of our domestic
cable internet service. This service uses a Nortell networks cable modem
which is basically just a dhcp relay agent. I tried to use NetBSD as a
dhclient to this box but dhclient core dumped. After debugging dhclient
and rebuilding I got the system going. I am not a NetBSD developer and I
do not know what to do with the bugs/issues I found in the dhclient,
hence this email to a tech list. I am not entirely confident that my
changes are really correct.
	The changes I made are:
1/ in common/options.c:188
	- struct universe *universe;
	+ struct universe *universe = NULL;
note: I noticed in the code that (struct*) 0; is more commonly used,
NULL is just my hack. The issue is that the cable modem issues a
universe name 'agent' which is not detected. This hack just corrects a
null pointer test a few lines down.

2/ in common/options.c:877
	I just added that line
case 'E':
above the case 'X': statement. The cable modem uses a format string 'E'
which is not coded.

Now, this got things going but I don't know if the cable modem is
breaking standards or the dhclient code is not up to standards. I also
did not worry about the format string in the leases file which is
scanned on dhclient startup.

Could someone please correct the dhclient code. Much more may be
involved, these really are just hacks but enough to work.

Regards,
	Murray Armfield