bin/127076: [patch] teach dhclient(8) to recognize options 66
and 67
Jung-uk Kim
jkim at FreeBSD.org
Thu Sep 4 18:40:05 UTC 2008
The following reply was made to PR bin/127076; it has been noted by GNATS.
From: Jung-uk Kim <jkim at FreeBSD.org>
To: bug-followup at FreeBSD.org,
rea-fbsd at 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--
More information about the freebsd-bugs
mailing list