Date: Sun, 23 Feb 2003 18:41:39 +0100 From: Raymond Wiker <Raymond.Wiker@fast.no> To: freebsd-stable@freebsd.org Subject: dhclient problem in stable Message-ID: <15961.2003.461479.956760@raw.grenland.fast.no>
next in thread | raw e-mail | index | archive | help
This problem has actually existed for a while, but I never got round to reporting it. I'm using a Cisco 770 ISDN router to connect to my employer's network. This router is set up with DHCP, so I can connect my various machines to the router, tell them to get their network config from DHCP, and all is dandy. Well, no quite. It seems the router is set up to return 2^32 - 1 as the lease time, which the dhclient code interprets as -1. This crashes at line 792 in /usr/src/contrib/isc-dhcp/client/dhclient.c, at an expression that involves the modulo (%) operator. The reason for the crash is that the rhs of the modulo operation is zero. I can "fix" this by changing the code at line 787 (see patch below). I'm not sure that this is the right solution, though: it may be appropriate to make client->new->renewal an unsigned int instead of a signed one. It is also possible that the config of the Cisco router is out of spec :-) --- /usr/src/contrib/isc-dhcp/client/dhclient.c.org Thu Apr 11 12:16:45 2002 +++ /usr/src/contrib/isc-dhcp/client/dhclient.c Sun Feb 23 18:35:44 2003 @@ -784,7 +784,7 @@ client -> new -> renewal = 0; /* If it wasn't specified by the server, calculate it. */ - if (!client -> new -> renewal) + if (client -> new -> renewal <= 0) client -> new -> renewal = client -> new -> expiry / 2; To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?15961.2003.461479.956760>