On Mon, Nov 14, 2005 at 10:48:09AM -0800, Mark Space wrote: > Thanks to Sebastian and Brooks for their quick replies. I took the easy > way out and installed the ISC client which works just fine. > > The problem is my DHCP server is a DSL modem. I don't see any way to > set the domain field. In addition, this interface is really not on a > network but a connection between two networks (its PPPoE), it make sense > that my ISP has configured the modem this way. The interface is one > that will be addressed only by address, it really doesnt have a name. > Or at least, the DHCP "server" doesn't assign a domain, its set elsewhere. > > So I think Brooks is correct. The dhcp client should just ignore the > domain setting and just assume that there is no domain associated with > this interface. Should we suggest this to the OpenBSD client maintainer?
OpenBSD already does this. If someone can test the two behaviors I'll commit them. -- Brooks > Brooks Davis wrote: > > >On Sun, Nov 13, 2005 at 07:14:00PM -0800, Mark Space wrote: > > > > > >>Hi all, > >> > >>I just set up the latest 6.0 release, and I'm getting errors with the > >>DHCP client. Trying to pull a network address during start up, I get: > >> > >>Bogus domain search list 15: domain_not_set.invalid > >> > >>This repeats several times before giving up. Google tells me that this > >>problem was report by two users on the bsd-current list. No one ever > >>replied to their inquiries (at least on the list), so I thought to try > >>once more to see if there's any interest in addressing this issue. > >> > >>More info was in the original post: > >>http://lists.freebsd.org/pipermail/freebsd-current/2005-October/057034.html > >> > >> > > > >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 > >=================================================================== > >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 > > > >#define PERIOD 0x2e > >#define hyphenchar(c) ((c) == 0x2d) > >+#define underscorechar(c) ((c) == 0x5f) > >#define bslashchar(c) ((c) == 0x5c) > >#define periodchar(c) ((c) == PERIOD) > >#define asterchar(c) ((c) == 0x2a) > >@@ -76,7 +77,7 @@ __FBSDID("$FreeBSD: src/sbin/dhclient/dh > >#define whitechar(c) ((c) == ' ' || (c) == '\t') > > > >#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) > > > >#define CLIENT_PATH "PATH=/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 = 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 = 0; > >+ free(l->options[option].data); > > } > > } > > return (1); > > > > > > > -- 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
pgpUNEcGfxjnX.pgp
Description: PGP signature