aboutsummaryrefslogtreecommitdiff
path: root/sbin/dhclient
diff options
context:
space:
mode:
authorBrooks Davis <brooks@FreeBSD.org>2008-10-17 13:28:53 +0000
committerBrooks Davis <brooks@FreeBSD.org>2008-10-17 13:28:53 +0000
commit38e755fd40f22c936e9e0605143f4d31a96aa095 (patch)
treef642e406e276cb1f55c41837e8be5d3f96b119e0 /sbin/dhclient
parent37ee72936b6d56df729f04d3384410373250b5f9 (diff)
downloadsrc-38e755fd40f22c936e9e0605143f4d31a96aa095.tar.gz
src-38e755fd40f22c936e9e0605143f4d31a96aa095.zip
Support the remaining options listed in dhcp-options(5) and RFC 2132.
PR: bin/127076 Submitted by: jkim MFC after: 1 week
Notes
Notes: svn path=/head/; revision=183974
Diffstat (limited to 'sbin/dhclient')
-rw-r--r--sbin/dhclient/dhclient.c7
-rw-r--r--sbin/dhclient/dhcp.h7
-rw-r--r--sbin/dhclient/tables.c22
3 files changed, 31 insertions, 5 deletions
diff --git a/sbin/dhclient/dhclient.c b/sbin/dhclient/dhclient.c
index 24016be388bb..c23aba7f9852 100644
--- a/sbin/dhclient/dhclient.c
+++ b/sbin/dhclient/dhclient.c
@@ -2317,12 +2317,16 @@ check_option(struct client_lease *l, int option)
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 @@ check_option(struct client_lease *l, int option)
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 @@ check_option(struct client_lease *l, int option)
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);
diff --git a/sbin/dhclient/dhcp.h b/sbin/dhclient/dhcp.h
index 3f0eb81bb65c..e4fa9d174c1b 100644
--- a/sbin/dhclient/dhcp.h
+++ b/sbin/dhclient/dhcp.h
@@ -155,12 +155,19 @@ struct dhcp_packet {
#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
diff --git a/sbin/dhclient/tables.c b/sbin/dhclient/tables.c
index f7ee057bf797..81a9acc8e122 100644
--- a/sbin/dhclient/tables.c
+++ b/sbin/dhclient/tables.c
@@ -387,13 +387,25 @@ unsigned char dhcp_option_default_priority_list[] = {
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,