From owner-freebsd-bugs@FreeBSD.ORG Thu Sep 4 18:40:04 2008 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DA8BA10656C3 for ; Thu, 4 Sep 2008 18:40:04 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 89D648FC1D for ; Thu, 4 Sep 2008 18:40:04 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.2/8.14.2) with ESMTP id m84Ie4nL039308 for ; Thu, 4 Sep 2008 18:40:04 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.2/8.14.1/Submit) id m84Ie4S8039307; Thu, 4 Sep 2008 18:40:04 GMT (envelope-from gnats) Date: Thu, 4 Sep 2008 18:40:04 GMT Message-Id: <200809041840.m84Ie4S8039307@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org From: Jung-uk Kim Cc: Subject: Re: bin/127076: [patch] teach dhclient(8) to recognize options 66 and 67 X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Jung-uk Kim List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Sep 2008 18:40:05 -0000 The following reply was made to PR bin/127076; it has been noted by GNATS. From: Jung-uk Kim To: bug-followup@FreeBSD.org, rea-fbsd@codelabs.ru Cc: Subject: Re: bin/127076: [patch] teach dhclient(8) to recognize options 66 and 67 Date: Thu, 4 Sep 2008 14:30:48 -0400 --Boundary-00=_clCwIcfQZalDZk1 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Actually 'tftp-server-name' must be a valid hostname and it has to be validated with res_hnok() function. Please try the attached patch. It will add all options listed in dhcp-options(5) and RFC 2132 as the manual page says. Jung-uk Kim --Boundary-00=_clCwIcfQZalDZk1 Content-Type: text/x-diff; charset="iso-8859-1"; name="dhclient.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="dhclient.diff" Index: sbin/dhclient/tables.c =================================================================== --- sbin/dhclient/tables.c (revision 182762) +++ sbin/dhclient/tables.c (working copy) @@ -387,13 +387,25 @@ DHO_FONT_SERVERS, DHO_X_DISPLAY_MANAGER, DHO_DHCP_PARAMETER_REQUEST_LIST, + DHO_NISPLUS_DOMAIN, + DHO_NISPLUS_SERVERS, + DHO_TFTP_SERVER_NAME, + DHO_BOOTFILE_NAME, + DHO_MOBILE_IP_HOME_AGENT, + DHO_SMTP_SERVER, + DHO_POP_SERVER, + DHO_NNTP_SERVER, + DHO_WWW_SERVER, + DHO_FINGER_SERVER, + DHO_IRC_SERVER, + DHO_STREETTALK_SERVER, + DHO_STREETTALK_DA_SERVER, /* Presently-undefined options... */ - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, - 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 122, 123, 124, 125, 126, 127, 128, 129, 130, + 62, 63, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, Index: sbin/dhclient/dhcp.h =================================================================== --- sbin/dhclient/dhcp.h (revision 182762) +++ sbin/dhclient/dhcp.h (working copy) @@ -155,12 +155,19 @@ #define DHO_DHCP_REBINDING_TIME 59 #define DHO_DHCP_CLASS_IDENTIFIER 60 #define DHO_DHCP_CLIENT_IDENTIFIER 61 +#define DHO_NISPLUS_DOMAIN 64 +#define DHO_NISPLUS_SERVERS 65 +#define DHO_TFTP_SERVER_NAME 66 +#define DHO_BOOTFILE_NAME 67 +#define DHO_MOBILE_IP_HOME_AGENT 68 #define DHO_SMTP_SERVER 69 #define DHO_POP_SERVER 70 #define DHO_NNTP_SERVER 71 #define DHO_WWW_SERVER 72 #define DHO_FINGER_SERVER 73 #define DHO_IRC_SERVER 74 +#define DHO_STREETTALK_SERVER 75 +#define DHO_STREETTALK_DA_SERVER 76 #define DHO_DHCP_USER_CLASS_ID 77 #define DHO_CLASSLESS_ROUTES 121 #define DHO_END 255 Index: sbin/dhclient/dhclient.c =================================================================== --- sbin/dhclient/dhclient.c (revision 182762) +++ sbin/dhclient/dhclient.c (working copy) @@ -2317,12 +2317,16 @@ case DHO_NETBIOS_DD_SERVER: case DHO_FONT_SERVERS: case DHO_DHCP_SERVER_IDENTIFIER: + case DHO_NISPLUS_SERVERS: + case DHO_MOBILE_IP_HOME_AGENT: case DHO_SMTP_SERVER: case DHO_POP_SERVER: case DHO_NNTP_SERVER: case DHO_WWW_SERVER: case DHO_FINGER_SERVER: case DHO_IRC_SERVER: + case DHO_STREETTALK_SERVER: + case DHO_STREETTALK_DA_SERVER: if (!ipv4addrs(opbuf)) { warning("Invalid IP address in option: %s", opbuf); return (0); @@ -2330,6 +2334,8 @@ return (1) ; case DHO_HOST_NAME: case DHO_NIS_DOMAIN: + case DHO_NISPLUS_DOMAIN: + case DHO_TFTP_SERVER_NAME: if (!res_hnok(sbuf)) { warning("Bogus Host Name option %d: %s (%s)", option, sbuf, opbuf); @@ -2388,6 +2394,7 @@ case DHO_DHCP_REBINDING_TIME: case DHO_DHCP_CLASS_IDENTIFIER: case DHO_DHCP_CLIENT_IDENTIFIER: + case DHO_BOOTFILE_NAME: case DHO_DHCP_USER_CLASS_ID: case DHO_END: return (1); --Boundary-00=_clCwIcfQZalDZk1--