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

Attachment: pgpUNEcGfxjnX.pgp
Description: PGP signature

Reply via email to