summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Hankins <dhankins@isc.org>2006-02-16 19:15:36 +0000
committerDavid Hankins <dhankins@isc.org>2006-02-16 19:15:36 +0000
commitb608754cb97dfd6adbf23d6887bcadcc3e9a27bc (patch)
tree49ea009fb1d1bd149a6da744fbd67aedee176721
parentdef9ee108230307a1eed301bf4a4b4820335d32b (diff)
downloadisc-dhcp-b608754cb97dfd6adbf23d6887bcadcc3e9a27bc.tar.gz
- The host-name option and a few others were moved from "X" format to "t"
format to be compatible with new NULL handling functions. [ISC-Bugs #15811]
-rw-r--r--RELNOTES3
-rw-r--r--common/tables.c21
2 files changed, 18 insertions, 6 deletions
diff --git a/RELNOTES b/RELNOTES
index c298419f..519d9e28 100644
--- a/RELNOTES
+++ b/RELNOTES
@@ -49,6 +49,9 @@ and for prodding me into improving it.
- Null-termination sensing for certain clients that unfortunatley require
it in DHCPINFORM processing was repaired.
+- The host-name option and a few others were moved from "X" format to "t"
+ format to be compatible with new NULL handling functions.
+
- DHCPINFORM processing is a little more careful about return addressing
its responses, or if responding via a relay. The INFORM related
messages also log the 'effective client ip address' rather than the
diff --git a/common/tables.c b/common/tables.c
index 681cc525..3ec05d06 100644
--- a/common/tables.c
+++ b/common/tables.c
@@ -34,7 +34,7 @@
#ifndef lint
static char copyright[] =
-"$Id: tables.c,v 1.51.2.12 2006/02/15 23:00:08 dhankins Exp $ Copyright (c) 2004-2005 Internet Systems Consortium. All rights reserved.\n";
+"$Id: tables.c,v 1.51.2.13 2006/02/16 19:15:36 dhankins Exp $ Copyright (c) 2004-2005 Internet Systems Consortium. All rights reserved.\n";
#endif /* not lint */
#include "dhcpd.h"
@@ -105,7 +105,7 @@ struct option dhcp_options [256] = {
{ "lpr-servers", "IA", &dhcp_universe, 9 },
{ "impress-servers", "IA", &dhcp_universe, 10 },
{ "resource-location-servers", "IA", &dhcp_universe, 11 },
- { "host-name", "X", &dhcp_universe, 12 },
+ { "host-name", "t", &dhcp_universe, 12 },
{ "boot-size", "S", &dhcp_universe, 13 },
{ "merit-dump", "t", &dhcp_universe, 14 },
{ "domain-name", "t", &dhcp_universe, 15 },
@@ -155,7 +155,7 @@ struct option dhcp_options [256] = {
{ "dhcp-rebinding-time", "L", &dhcp_universe, 59 },
{ "vendor-class-identifier", "X", &dhcp_universe, 60 },
{ "dhcp-client-identifier", "X", &dhcp_universe, 61 },
- { "nwip-domain", "X", &dhcp_universe, 62 },
+ { "nwip-domain", "t", &dhcp_universe, 62 },
{ "nwip-suboptions", "Enwip.", &dhcp_universe, 63 },
{ "nisplus-domain", "t", &dhcp_universe, 64 },
{ "nisplus-servers", "IA", &dhcp_universe, 65 },
@@ -179,8 +179,8 @@ struct option dhcp_options [256] = {
{ "unknown-83", "X", &dhcp_universe, 83 },
{ "unknown-84", "X", &dhcp_universe, 84 },
{ "nds-servers", "IA", &dhcp_universe, 85 },
- { "nds-tree-name", "X", &dhcp_universe, 86 },
- { "nds-context", "X", &dhcp_universe, 87 },
+ { "nds-tree-name", "t", &dhcp_universe, 86 },
+ { "nds-context", "t", &dhcp_universe, 87 },
{ "unknown-88", "X", &dhcp_universe, 88 },
{ "unknown-89", "X", &dhcp_universe, 89 },
{ "unknown-90", "X", &dhcp_universe, 90 },
@@ -211,7 +211,7 @@ struct option dhcp_options [256] = {
{ "unknown-115", "X", &dhcp_universe, 115 },
{ "unknown-116", "X", &dhcp_universe, 116 },
{ "unknown-117", "X", &dhcp_universe, 117 },
- { "subnet-selection", "X", &dhcp_universe, 118 },
+ { "subnet-selection", "I", &dhcp_universe, 118 },
{ "unknown-119", "X", &dhcp_universe, 119 },
{ "unknown-120", "X", &dhcp_universe, 120 },
{ "unknown-121", "X", &dhcp_universe, 121 },
@@ -611,6 +611,15 @@ struct option nwip_options [256] = {
{ "unknown-end", "e", &nwip_universe, 255 },
};
+/* Note that the "FQDN suboption space" does not reflect the FQDN option
+ * format - rather, this is a handy "virtualization" of a flat option
+ * which makes manual configuration and presentation of some of its
+ * contents easier (each of these suboptions is a fixed-space field within
+ * the fqdn contents - domain and host names are derived from a common field,
+ * and differ in the left and right hand side of the leftmost dot, fqdn is
+ * the combination of the two).
+ */
+
struct universe fqdn_universe;
struct option fqdn_options [256] = {
{ "pad", "", &fqdn_universe, 0 },