From owner-freebsd-stable@FreeBSD.ORG Mon Nov 14 18:38:14 2005 Return-Path: X-Original-To: freebsd-stable@freebsd.org Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id F112E16A41F for ; Mon, 14 Nov 2005 18:38:13 +0000 (GMT) (envelope-from markspace@sbcglobal.net) Received: from smtp111.sbc.mail.mud.yahoo.com (smtp111.sbc.mail.mud.yahoo.com [68.142.198.210]) by mx1.FreeBSD.org (Postfix) with SMTP id 7FF4B43D46 for ; Mon, 14 Nov 2005 18:38:13 +0000 (GMT) (envelope-from markspace@sbcglobal.net) Received: (qmail 48748 invoked from network); 14 Nov 2005 18:38:08 -0000 Received: from unknown (HELO ?10.0.0.11?) (markspace@sbcglobal.net@69.109.229.221 with plain) by smtp111.sbc.mail.mud.yahoo.com with SMTP; 14 Nov 2005 18:38:07 -0000 Message-ID: <4378DBE9.4060400@sbcglobal.net> Date: Mon, 14 Nov 2005 10:48:09 -0800 From: Mark Space User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.3) Gecko/20040910 X-Accept-Language: en-us, en, ja MIME-Version: 1.0 To: Brooks Davis References: <437800F8.5020808@sbcglobal.net> <20051114174433.GB1928@odin.ac.hmc.edu> In-Reply-To: <20051114174433.GB1928@odin.ac.hmc.edu> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: freebsd-stable@freebsd.org Subject: Re: DHCP client error: domain_not_set.invalid X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Nov 2005 18:38:14 -0000 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? 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); > > >