Date: Mon, 14 Nov 2005 09:44:33 -0800 From: Brooks Davis <brooks@one-eyed-alien.net> To: Mark Space <markspace@sbcglobal.net> Cc: freebsd-stable@freebsd.org Subject: Re: DHCP client error: domain_not_set.invalid Message-ID: <20051114174433.GB1928@odin.ac.hmc.edu> In-Reply-To: <437800F8.5020808@sbcglobal.net> References: <437800F8.5020808@sbcglobal.net>
next in thread | previous in thread | raw e-mail | index | archive | help
--61jdw2sOBCFtR2d/ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sun, Nov 13, 2005 at 07:14:00PM -0800, Mark Space wrote: > Hi all, >=20 > I just set up the latest 6.0 release, and I'm getting errors with the=20 > DHCP client. Trying to pull a network address during start up, I get: >=20 > Bogus domain search list 15: domain_not_set.invalid >=20 > This repeats several times before giving up. Google tells me that this= =20 > problem was report by two users on the bsd-current list. No one ever=20 > replied to their inquiries (at least on the list), so I thought to try=20 > once more to see if there's any interest in addressing this issue.=20 >=20 > More info was in the original post: > http://lists.freebsd.org/pipermail/freebsd-current/2005-October/057034.ht= ml We should really bitch and then ignore this value when it's bogus rather than rejecting the lease. We should also probably allow underscores since they are popular among clueless Microsoft admins. Please try the follow patch. -- Brooks Index: dhclient.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /home/ncvs/src/sbin/dhclient/dhclient.c,v retrieving revision 1.11 diff -u -p -r1.11 dhclient.c --- dhclient.c 2 Sep 2005 17:35:35 -0000 1.11 +++ dhclient.c 14 Nov 2005 17:42:46 -0000 @@ -67,6 +67,7 @@ __FBSDID("$FreeBSD: src/sbin/dhclient/dh =20 #define PERIOD 0x2e #define hyphenchar(c) ((c) =3D=3D 0x2d) +#define underscorechar(c) ((c) =3D=3D 0x5f) #define bslashchar(c) ((c) =3D=3D 0x5c) #define periodchar(c) ((c) =3D=3D PERIOD) #define asterchar(c) ((c) =3D=3D 0x2a) @@ -76,7 +77,7 @@ __FBSDID("$FreeBSD: src/sbin/dhclient/dh #define whitechar(c) ((c) =3D=3D ' ' || (c) =3D=3D '\t') =20 #define borderchar(c) (alphachar(c) || digitchar(c)) -#define middlechar(c) (borderchar(c) || hyphenchar(c)) +#define middlechar(c) (borderchar(c) || hyphenchar(c) || underscorechar(c)) #define domainchar(c) ((c) > 0x20 && (c) < 0x7f) =20 #define CLIENT_PATH "PATH=3D/usr/bin:/usr/sbin:/bin:/sbin" @@ -2252,6 +2253,8 @@ check_option(struct client_lease *l, int if (!res_hnok(sbuf)) { warning("Bogus Host Name option %d: %s (%s)", option, sbuf, opbuf); + l->options[option].len =3D 0; + free(l->options[option].data); return (0); } return (1); @@ -2260,7 +2263,8 @@ check_option(struct client_lease *l, int if (!check_search(sbuf)) { warning("Bogus domain search list %d: %s (%s)", option, sbuf, opbuf); - return (0); + l->options[option].len =3D 0; + free(l->options[option].data); } } return (1); --=20 Any statement of the form "X is the one, true Y" is FALSE. PGP fingerprint 655D 519C 26A7 82E7 2529 9BF0 5D8E 8BE9 F238 1AD4 --61jdw2sOBCFtR2d/ Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (GNU/Linux) iD8DBQFDeM0BXY6L6fI4GtQRArSWAJ9UFHTRTCW312TZ9bSJJuele9pqxQCeLi4j 6bBs4MYIeZrWFpW/K36N+XI= =08ZK -----END PGP SIGNATURE----- --61jdw2sOBCFtR2d/--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20051114174433.GB1928>