aboutsummaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
authorMartin Blapp <mbr@FreeBSD.org>2003-09-02 11:01:27 +0000
committerMartin Blapp <mbr@FreeBSD.org>2003-09-02 11:01:27 +0000
commit92633f6fc8cacd902d4017e2c2f2739879691b00 (patch)
tree580e79c7b338ca1e7d43b1f0f9b8b7aa66395f02 /contrib
parente00b76de5662182104104e14ae84311d5f6baa3a (diff)
downloadsrc-92633f6fc8cacd902d4017e2c2f2739879691b00.tar.gz
src-92633f6fc8cacd902d4017e2c2f2739879691b00.zip
Import ISC DHCP 3.0.1 RC12 client.
Notes
Notes: svn path=/vendor/isc-dhcp/dist/; revision=119669
Diffstat (limited to 'contrib')
-rw-r--r--contrib/isc-dhcp/README4
-rw-r--r--contrib/isc-dhcp/RELNOTES49
-rw-r--r--contrib/isc-dhcp/client/clparse.c27
-rw-r--r--contrib/isc-dhcp/client/dhclient.c72
-rw-r--r--contrib/isc-dhcp/client/dhclient.conf.54
-rwxr-xr-xcontrib/isc-dhcp/client/scripts/freebsd16
-rw-r--r--contrib/isc-dhcp/common/dhcp-options.530
-rw-r--r--contrib/isc-dhcp/common/discover.c12
-rw-r--r--contrib/isc-dhcp/common/options.c41
-rw-r--r--contrib/isc-dhcp/common/parse.c26
-rw-r--r--contrib/isc-dhcp/common/print.c68
-rw-r--r--contrib/isc-dhcp/common/tables.c1318
-rw-r--r--contrib/isc-dhcp/includes/dhcpd.h5
-rw-r--r--contrib/isc-dhcp/includes/version.h2
-rw-r--r--contrib/isc-dhcp/minires/res_mkupdate.c101
-rw-r--r--contrib/isc-dhcp/omapip/result.c5
16 files changed, 993 insertions, 787 deletions
diff --git a/contrib/isc-dhcp/README b/contrib/isc-dhcp/README
index 4033b8b15de0..5dcbd93169c2 100644
--- a/contrib/isc-dhcp/README
+++ b/contrib/isc-dhcp/README
@@ -1,6 +1,6 @@
Internet Software Consortium DHCP Distribution
Version 3.0.1
- Release Candidate 9
+ Release Candidate 12
April 28, 2002
README FILE
@@ -97,7 +97,7 @@ system.
RELEASE STATUS
-This is the tenth release candidate of version 3.0.1 of the ISC DHCP
+This is the twelfth release candidate of version 3.0.1 of the ISC DHCP
Distribution. Development of this release is approaching the point at
which it will be frozen, and no significant new features will be
added.
diff --git a/contrib/isc-dhcp/RELNOTES b/contrib/isc-dhcp/RELNOTES
index 3d1552cfe020..9c1677c14220 100644
--- a/contrib/isc-dhcp/RELNOTES
+++ b/contrib/isc-dhcp/RELNOTES
@@ -1,6 +1,6 @@
Internet Software Consortium DHCP Distribution
Version 3.0.1
- Release Candidate 10
+ Release Candidate 12
June, 2002
Release Notes
@@ -46,6 +46,53 @@ Murrell at BC Tel Advanced Communications. I'd like to express my
thanks to all of these good people here, both for working on the code
and for prodding me into improving it.
+ Changes since 3.0.1rc11
+
+- A patch from Steve Campbell was applied with minor modifications to
+ permit reverse dns PTR record updates with values containing spaces.
+
+- A patch from Florian Lohoff was applied with some modifications to
+ dhcrelay. It now discards packets whose hop count exceeds 10 by default,
+ and a command-line option (-c) can be used to set this threshold.
+
+- A failover bug relating to identifying peers by name length instead of
+ by name was fixed.
+
+- Delcaring failover configs within shared-network statements should no
+ longer result in error.
+
+- The -nw command line option to dhclient now works.
+
+- Thanks to a patch from Michael Richardson:
+ - Some problems with long option processing have been fixed.
+ - Some fixes to minires so that updates of KEY records will work.
+
+- contrib/ms2isc was updated by Shu-Min Chang of the Intel Corporation.
+ see contrib/ms2isc/readme.txt for revision notes.
+
+- Dhclient no longer uses shell commands to kill another instance of
+ itself, it sends the signal directly. Thanks to a patch from Martin
+ Blapp.
+
+- The FreeBSD dhclient-script was changed so that a failure to write to
+ /etc/resolv.conf does not prematurely end the script. This keeps dhclient
+ from looping infinitely when this is the case. Thanks to a patch from
+ Martin Blapp.
+
+- A patch from Bill Stephens was applied which resolves a problem with lease
+ expiry times in failover configurations.
+
+- A memory leak in configuration parsing was closed thanks to a patch from
+ Steve G.
+
+- The function which discovers interfaces will now skip non-broadcast or
+ point-to-point interfaces, thanks to a patch from David Brownlee.
+
+- Options not yet known by the dhcpd or dhclient have had their names
+ changed such that they do not contain # symbols, in case they should ever
+ appear in a lease file. An option that might have been named "#144" is
+ now "unknown-144".
+
Changes since 3.0.1rc10
- Potential buffer overflows in minires repaired.
diff --git a/contrib/isc-dhcp/client/clparse.c b/contrib/isc-dhcp/client/clparse.c
index 2ec186e2e728..c0c18662d4c4 100644
--- a/contrib/isc-dhcp/client/clparse.c
+++ b/contrib/isc-dhcp/client/clparse.c
@@ -43,7 +43,7 @@
#ifndef lint
static char copyright[] =
-"$Id: clparse.c,v 1.62.2.3 2002/11/17 02:25:43 dhankins Exp $ Copyright (c) 1996-2002 The Internet Software Consortium. All rights reserved.\n";
+"$Id: clparse.c,v 1.62.2.4 2003/02/10 00:39:57 dhankins Exp $ Copyright (c) 1996-2002 The Internet Software Consortium. All rights reserved.\n";
#endif /* not lint */
#include "dhcpd.h"
@@ -617,34 +617,41 @@ void parse_option_list (cfile, list)
struct parse *cfile;
u_int32_t **list;
{
- int ix, i;
+ int ix;
int token;
const char *val;
pair p = (pair)0, q, r;
+ struct option *option;
ix = 0;
do {
- token = next_token (&val, (unsigned *)0, cfile);
- if (token == SEMI)
+ token = peek_token (&val, (unsigned *)0, cfile);
+ if (token == SEMI) {
+ token = next_token (&val, (unsigned *)0, cfile);
break;
+ }
if (!is_identifier (token)) {
parse_warn (cfile, "%s: expected option name.", val);
+ token = next_token (&val, (unsigned *)0, cfile);
skip_to_semi (cfile);
return;
}
- for (i = 0; i < 256; i++) {
- if (!strcasecmp (dhcp_options [i].name, val))
- break;
- }
- if (i == 256) {
+ option = parse_option_name (cfile, 0, NULL);
+ if (!option) {
parse_warn (cfile, "%s: expected option name.", val);
+ return;
+ }
+ if (option -> universe != &dhcp_universe) {
+ parse_warn (cfile,
+ "%s.%s: Only global options allowed.",
+ option -> universe -> name, option->name );
skip_to_semi (cfile);
return;
}
r = new_pair (MDL);
if (!r)
log_fatal ("can't allocate pair for option code.");
- r -> car = (caddr_t)(long)i;
+ r -> car = (caddr_t)(long)option -> code;
r -> cdr = (pair)0;
if (p)
q -> cdr = r;
diff --git a/contrib/isc-dhcp/client/dhclient.c b/contrib/isc-dhcp/client/dhclient.c
index d2e13424c763..817a9e258285 100644
--- a/contrib/isc-dhcp/client/dhclient.c
+++ b/contrib/isc-dhcp/client/dhclient.c
@@ -41,7 +41,7 @@
#ifndef lint
static char ocopyright[] =
-"$Id: dhclient.c,v 1.129.2.12 2002/11/07 23:26:38 dhankins Exp $ Copyright (c) 1995-2002 Internet Software Consortium. All rights reserved.\n";
+"$Id: dhclient.c,v 1.129.2.16 2003/04/26 21:51:39 dhankins Exp $ Copyright (c) 1995-2002 Internet Software Consortium. All rights reserved.\n";
#endif /* not lint */
#include "dhcpd.h"
@@ -192,6 +192,8 @@ int main (argc, argv, envp)
if (++i == argc)
usage ();
relay = argv [i];
+ } else if (!strcmp (argv [i], "-nw")) {
+ nowait = 1;
} else if (!strcmp (argv [i], "-n")) {
/* do not start up any interfaces */
interfaces_requested = 1;
@@ -212,8 +214,6 @@ int main (argc, argv, envp)
} else if (!strcmp (argv [i], "--version")) {
log_info ("isc-dhclient-%s", DHCP_VERSION);
exit (0);
- } else if (!strcmp (argv [i], "-nw")) {
- nowait = 1;
} else if (argv [i][0] == '-') {
usage ();
} else {
@@ -252,15 +252,24 @@ int main (argc, argv, envp)
/* first kill of any currently running client */
if (release_mode) {
- /* XXX inelegant hack to prove concept */
- char command[1024];
-
-#if !defined (NO_SNPRINTF)
- snprintf (command, 1024, "kill `cat %s`", path_dhclient_pid);
-#else
- sprintf (command, "kill `cat %s`", path_dhclient_pid);
-#endif
- system (command);
+ FILE *pidfd;
+ pid_t oldpid;
+ long temp;
+ int e;
+
+ oldpid = 0;
+ if ((pidfd = fopen(path_dhclient_pid, "r")) != NULL) {
+ e = fscanf(pidfd, "%ld\n", &temp);
+ oldpid = (pid_t)temp;
+
+ if (e != 0 && e != EOF) {
+ if (oldpid) {
+ if (kill(oldpid, SIGTERM) == 0)
+ unlink(path_dhclient_pid);
+ }
+ }
+ fclose(pidfd);
+ }
}
if (!quiet) {
@@ -1869,10 +1878,17 @@ void make_discover (client, lease)
/* Set up the option buffer... */
client -> packet_length =
cons_options ((struct packet *)0, &client -> packet,
- (struct lease *)0, client, 0,
- (struct option_state *)0, options,
- &global_scope, 0, 0, 0, (struct data_string *)0,
+ (struct lease *)0, client,
+ /* maximum packet size */1500,
+ (struct option_state *)0,
+ options,
+ /* scope */ &global_scope,
+ /* overload */ 0,
+ /* terminate */0,
+ /* bootpp */0,
+ (struct data_string *)0,
client -> config -> vendor_space_name);
+
option_state_dereference (&options, MDL);
if (client -> packet_length < BOOTP_MIN_LEN)
client -> packet_length = BOOTP_MIN_LEN;
@@ -1936,10 +1952,17 @@ void make_request (client, lease)
/* Set up the option buffer... */
client -> packet_length =
cons_options ((struct packet *)0, &client -> packet,
- (struct lease *)0, client, 0,
- (struct option_state *)0, client -> sent_options,
- &global_scope, 0, 0, 0, (struct data_string *)0,
+ (struct lease *)0, client,
+ /* maximum packet size */1500,
+ (struct option_state *)0,
+ client -> sent_options,
+ /* scope */ &global_scope,
+ /* overload */ 0,
+ /* terminate */0,
+ /* bootpp */0,
+ (struct data_string *)0,
client -> config -> vendor_space_name);
+
option_state_dereference (&client -> sent_options, MDL);
if (client -> packet_length < BOOTP_MIN_LEN)
client -> packet_length = BOOTP_MIN_LEN;
@@ -2065,10 +2088,17 @@ void make_release (client, lease)
/* Set up the option buffer... */
client -> packet_length =
cons_options ((struct packet *)0, &client -> packet,
- (struct lease *)0, client, 0,
- (struct option_state *)0, options,
- &global_scope, 0, 0, 0, (struct data_string *)0,
+ (struct lease *)0, client,
+ /* maximum packet size */1500,
+ (struct option_state *)0,
+ options,
+ /* scope */ &global_scope,
+ /* overload */ 0,
+ /* terminate */0,
+ /* bootpp */0,
+ (struct data_string *)0,
client -> config -> vendor_space_name);
+
if (client -> packet_length < BOOTP_MIN_LEN)
client -> packet_length = BOOTP_MIN_LEN;
option_state_dereference (&options, MDL);
diff --git a/contrib/isc-dhcp/client/dhclient.conf.5 b/contrib/isc-dhcp/client/dhclient.conf.5
index 2cf5fe83b29c..9b3b20003227 100644
--- a/contrib/isc-dhcp/client/dhclient.conf.5
+++ b/contrib/isc-dhcp/client/dhclient.conf.5
@@ -35,7 +35,7 @@
.\" see ``http://www.vix.com''. To learn more about Nominum, Inc., see
.\" ``http://www.nominum.com''.
.\"
-.\" $Id: dhclient.conf.5,v 1.12.2.8 2002/11/17 02:25:43 dhankins Exp $
+.\" $Id: dhclient.conf.5,v 1.12.2.9 2003/02/23 03:27:26 dhankins Exp $
.\"
.TH dhclient.conf 5
.SH NAME
@@ -446,7 +446,7 @@ automatically determine the type of network to which they are
connected. The media setup string is a system-dependent parameter
which is passed to the dhcp client configuration script when
initializing the interface. On Unix and Unix-like systems, the
-argument is passed on the ifconfig command line when configuring te
+argument is passed on the ifconfig command line when configuring the
interface.
.PP
The dhcp client automatically declares this parameter if it uses a
diff --git a/contrib/isc-dhcp/client/scripts/freebsd b/contrib/isc-dhcp/client/scripts/freebsd
index f9d61b59cf3d..824efae1e68a 100755
--- a/contrib/isc-dhcp/client/scripts/freebsd
+++ b/contrib/isc-dhcp/client/scripts/freebsd
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# $Id: freebsd,v 1.13.2.4 2002/06/09 22:37:55 murray Exp $
+# $Id: freebsd,v 1.13.2.5 2003/04/27 19:44:01 dhankins Exp $
#
# $FreeBSD$
@@ -13,13 +13,19 @@ fi
make_resolv_conf() {
if [ x"$new_domain_name_servers" != x ]; then
if [ "x$new_domain_name" != x ]; then
- echo search $new_domain_name >/etc/resolv.conf
+ ( echo search $new_domain_name >/etc/resolv.conf )
+ exit_status=$?
else
rm /etc/resolv.conf
+ exit_status=$?
+ fi
+ if [ $exit_status -ne 0 ]; then
+ $LOGGER "WARNING: Unable to update resolv.conf: Error $exit_status"
+ else
+ for nameserver in $new_domain_name_servers; do
+ ( echo nameserver $nameserver >>/etc/resolv.conf )
+ done
fi
- for nameserver in $new_domain_name_servers; do
- echo nameserver $nameserver >>/etc/resolv.conf
- done
fi
}
diff --git a/contrib/isc-dhcp/common/dhcp-options.5 b/contrib/isc-dhcp/common/dhcp-options.5
index 5ee09eccf867..2361ea12c46c 100644
--- a/contrib/isc-dhcp/common/dhcp-options.5
+++ b/contrib/isc-dhcp/common/dhcp-options.5
@@ -35,7 +35,7 @@
.\" see ``http://www.vix.com''. To learn more about Nominum, Inc., see
.\" ``http://www.nominum.com''.
.\"
-.\" $Id: dhcp-options.5,v 1.19.2.9 2002/11/17 02:26:57 dhankins Exp $
+.\" $Id: dhcp-options.5,v 1.19.2.10 2003/02/23 03:27:42 dhankins Exp $
.\"
.TH dhcpd-options 5
.SH NAME
@@ -221,7 +221,7 @@ sending TCP segments. The minimum value is 1.
.B option \fBdhcp-client-identifier\fR \fIstring\fR\fB;\fR
.RS 0.25i
.PP
-This option can be used to specify the a DHCP client identifier in a
+This option can be used to specify a DHCP client identifier in a
host declaration, so that dhcpd can find the host record by matching
against the client identifier.
.PP
@@ -411,8 +411,8 @@ RFC2132.
\fIip-address\fR... ]\fB;\fR
.RS 0.25i
.PP
-The Finger server option specifies a list of Finger available to the
-client. Servers should be listed in order of preference.
+The Finger server option specifies a list of Finger servers available
+to the client. Servers should be listed in order of preference.
.RE
.PP
.B option \fBfont-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
@@ -481,8 +481,8 @@ forwarding, and a value of true means enable IP forwarding.
\fIip-address\fR... ]\fB;\fR
.RS 0.25i
.PP
-The IRC server option specifies a list of IRC available to the
-client. Servers should be listed in order of preference.
+The IRC server option specifies a list of IRC servers available
+to the client. Servers should be listed in order of preference.
.RE
.PP
.B option \fBlog-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
@@ -589,7 +589,7 @@ Possible node types are:
B-node: Broadcast - no WINS
.TP
.I 2
-P-node: Peer - WINS only.
+P-node: Peer - WINS only
.TP
.I 4
M-node: Mixed - broadcast, then WINS
@@ -644,8 +644,8 @@ preference.
\fIip-address\fR... ]\fB;\fR
.RS 0.25i
.PP
-The NNTP server option specifies a list of NNTP available to the
-client. Servers should be listed in order of preference.
+The NNTP server option specifies a list of NNTP servesr available
+to the client. Servers should be listed in order of preference.
.RE
.PP
.B option \fBnon-local-source-routing\fR \fIflag\fR\fB;\fR
@@ -729,8 +729,8 @@ See STD 3 (RFC1122) for further information.
.B option \fBpop-server\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fB;\fR
.RS 0.25i
.PP
-The POP3 server option specifies a list of POP3 available to the
-client. Servers should be listed in order of preference.
+The POP3 server option specifies a list of POP3 servers available
+to the client. Servers should be listed in order of preference.
.RE
.PP
.B option \fBresource-location-servers\fR \fIip-address\fR
@@ -901,8 +901,8 @@ This specifies the IP address of the client's swap server.
.B option \fBtcp-keepalive-garbage\fR \fIflag\fR\fB;\fR
.RS 0.25i
.PP
-This option specifies the whether or not the client should send TCP
-keepalive messages with a octet of garbage for compatibility with
+This option specifies whether or not the client should send TCP
+keepalive messages with an octet of garbage for compatibility with
older implementations. A value of false indicates that a garbage octet
should not be sent. A value of true indicates that a garbage octet
should be sent.
@@ -1027,8 +1027,8 @@ details.
\fIip-address\fR... ]\fB;\fR
.RS 0.25i
.PP
-The WWW server option specifies a list of WWW available to the
-client. Servers should be listed in order of preference.
+The WWW server option specifies a list of WWW servers available
+to the client. Servers should be listed in order of preference.
.RE
.PP
.B option \fBx-display-manager\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
diff --git a/contrib/isc-dhcp/common/discover.c b/contrib/isc-dhcp/common/discover.c
index 8dadde07b544..e84b6131ccab 100644
--- a/contrib/isc-dhcp/common/discover.c
+++ b/contrib/isc-dhcp/common/discover.c
@@ -43,7 +43,7 @@
#ifndef lint
static char copyright[] =
-"$Id: discover.c,v 1.42.2.13 2002/11/17 02:26:57 dhankins Exp $ Copyright (c) 1995-2002 The Internet Software Consortium. All rights reserved.\n";
+"$Id: discover.c,v 1.42.2.14 2003/07/25 19:44:15 dhankins Exp $ Copyright (c) 1995-2002 The Internet Software Consortium. All rights reserved.\n";
#endif /* not lint */
#include "dhcpd.h"
@@ -258,10 +258,12 @@ void discover_interfaces (state)
if (!strcmp (tmp -> name, ifp -> ifr_name))
break;
- /* Skip loopback, point-to-point and down interfaces,
- except don't skip down interfaces if we're trying to
- get a list of configurable interfaces. */
- if (((ifr.ifr_flags & IFF_LOOPBACK ||
+ /* Skip non broadcast interfaces (plus loopback and
+ point-to-point in case an OS incorrectly marks them
+ as broadcast). Also skip down interfaces unless we're
+ trying to get a list of configurable interfaces. */
+ if (((!(ifr.ifr_flags & IFF_BROADCAST) ||
+ ifr.ifr_flags & IFF_LOOPBACK ||
ifr.ifr_flags & IFF_POINTOPOINT) && !tmp) ||
(!(ifr.ifr_flags & IFF_UP) &&
state != DISCOVER_UNCONFIGURED))
diff --git a/contrib/isc-dhcp/common/options.c b/contrib/isc-dhcp/common/options.c
index 6c4562c1c93b..ec686589508f 100644
--- a/contrib/isc-dhcp/common/options.c
+++ b/contrib/isc-dhcp/common/options.c
@@ -43,7 +43,7 @@
#ifndef lint
static char copyright[] =
-"$Id: options.c,v 1.85.2.9 2002/11/17 02:26:58 dhankins Exp $ Copyright (c) 1995-2002 The Internet Software Consortium. All rights reserved.\n";
+"$Id: options.c,v 1.85.2.12 2003/03/31 03:06:55 dhankins Exp $ Copyright (c) 1995-2002 The Internet Software Consortium. All rights reserved.\n";
#endif /* not lint */
#define DHCP_OPTION_DATA
@@ -166,15 +166,36 @@ int parse_option_buffer (options, buffer, length, universe)
the parse fails, or the option isn't an encapsulation (by
far the most common case), or the option isn't entirely
an encapsulation, keep the raw data as well. */
- if (!((universe -> options [code] -> format [0] == 'e' ||
+ if (universe -> options [code] &&
+ !((universe -> options [code] -> format [0] == 'e' ||
universe -> options [code] -> format [0] == 'E') &&
(parse_encapsulated_suboptions
(options, universe -> options [code],
buffer + offset + 2, len,
universe, (const char *)0)))) {
- save_option_buffer (universe, options, bp,
- &bp -> data [offset + 2], len,
- universe -> options [code], 1);
+ op = lookup_option (universe, options, code);
+ if (op) {
+ struct data_string new;
+ memset (&new, 0, sizeof new);
+ if (!buffer_allocate (&new.buffer, op -> data.len + len,
+ MDL)) {
+ log_error ("parse_option_buffer: No memory.");
+ return 0;
+ }
+ memcpy (new.buffer -> data, op -> data.data,
+ op -> data.len);
+ memcpy (&new.buffer -> data [op -> data.len],
+ &bp -> data [offset + 2], len);
+ new.len = op -> data.len + len;
+ new.data = new.buffer -> data;
+ data_string_forget (&op -> data, MDL);
+ data_string_copy (&op -> data, &new, MDL);
+ data_string_forget (&new, MDL);
+ } else {
+ save_option_buffer (universe, options, bp,
+ &bp -> data [offset + 2], len,
+ universe -> options [code], 1);
+ }
}
offset += len + 2;
}
@@ -470,14 +491,18 @@ int cons_options (inpacket, outpacket, lease, client_state,
and no alternate maximum message size has been specified, take the
one in the packet. */
- if (!mms && inpacket &&
+ if (inpacket &&
(op = lookup_option (&dhcp_universe, inpacket -> options,
DHO_DHCP_MAX_MESSAGE_SIZE))) {
evaluate_option_cache (&ds, inpacket,
lease, client_state, in_options,
cfg_options, scope, op, MDL);
- if (ds.len >= sizeof (u_int16_t))
- mms = getUShort (ds.data);
+ if (ds.len >= sizeof (u_int16_t)) {
+ i = getUShort (ds.data);
+
+ if(!mms || (i < mms))
+ mms = i;
+ }
data_string_forget (&ds, MDL);
}
diff --git a/contrib/isc-dhcp/common/parse.c b/contrib/isc-dhcp/common/parse.c
index 84b0691e8937..4d6884167504 100644
--- a/contrib/isc-dhcp/common/parse.c
+++ b/contrib/isc-dhcp/common/parse.c
@@ -43,7 +43,7 @@
#ifndef lint
static char copyright[] =
-"$Id: parse.c,v 1.104.2.12 2002/11/17 02:58:34 dhankins Exp $ Copyright (c) 1995-2002 The Internet Software Consortium. All rights reserved.\n";
+"$Id: parse.c,v 1.104.2.14 2003/07/25 19:36:11 dhankins Exp $ Copyright (c) 1995-2002 The Internet Software Consortium. All rights reserved.\n";
#endif /* not lint */
#include "dhcpd.h"
@@ -284,8 +284,11 @@ int parse_ip_addr_or_hostname (expr, cfile, uniform)
name = parse_host_name (cfile);
if (!name)
return 0;
- if (!make_host_lookup (expr, name))
+ if (!make_host_lookup (expr, name)) {
+ dfree(name, MDL);
return 0;
+ }
+ dfree(name, MDL);
if (!uniform) {
if (!make_limit (&x, *expr, 4))
return 0;
@@ -4040,7 +4043,11 @@ int parse_expression (expr, cfile, lose, context, plhs, binop)
}
if (binop != expr_none) {
- if (expression_context (rhs) != expression_context (lhs)) {
+ rhs_context = expression_context(rhs);
+ lhs_context = expression_context(lhs);
+
+ if ((rhs_context != context_any) && (lhs_context != context_any) &&
+ (rhs_context != lhs_context)) {
parse_warn (cfile, "illegal expression relating different types");
skip_to_semi (cfile);
expression_dereference (&rhs, MDL);
@@ -4052,9 +4059,10 @@ int parse_expression (expr, cfile, lose, context, plhs, binop)
switch(binop) {
case expr_not_equal:
case expr_equal:
- if ((expression_context(rhs) != context_data_or_numeric) &&
- (expression_context(rhs) != context_data) &&
- (expression_context(rhs) != context_numeric)) {
+ if ((rhs_context != context_data_or_numeric) &&
+ (rhs_context != context_data) &&
+ (rhs_context != context_numeric) &&
+ (rhs_context != context_any)) {
parse_warn (cfile, "expecting data/numeric expression");
skip_to_semi (cfile);
expression_dereference (&rhs, MDL);
@@ -4065,7 +4073,8 @@ int parse_expression (expr, cfile, lose, context, plhs, binop)
case expr_and:
case expr_or:
- if (expression_context(rhs) != context_boolean) {
+ if ((rhs_context != context_boolean) &&
+ (rhs_context != context_any)) {
parse_warn (cfile, "expecting boolean expressions");
skip_to_semi (cfile);
expression_dereference (&rhs, MDL);
@@ -4082,7 +4091,8 @@ int parse_expression (expr, cfile, lose, context, plhs, binop)
case expr_binary_and:
case expr_binary_or:
case expr_binary_xor:
- if (expression_context(rhs) != context_numeric) {
+ if ((rhs_context != context_numeric) &&
+ (rhs_context != context_any)) {
parse_warn (cfile, "expecting numeric expressions");
skip_to_semi (cfile);
expression_dereference (&rhs, MDL);
diff --git a/contrib/isc-dhcp/common/print.c b/contrib/isc-dhcp/common/print.c
index 691f365d5cb2..f48d00df20c8 100644
--- a/contrib/isc-dhcp/common/print.c
+++ b/contrib/isc-dhcp/common/print.c
@@ -3,7 +3,7 @@
Turn data structures into printable text. */
/*
- * Copyright (c) 1995-2002 Internet Software Consortium.
+ * Copyright (c) 1995-2003 Internet Software Consortium.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -43,7 +43,7 @@
#ifndef lint
static char copyright[] =
-"$Id: print.c,v 1.53.2.7 2002/11/17 02:26:59 dhankins Exp $ Copyright (c) 1995-2002 The Internet Software Consortium. All rights reserved.\n";
+"$Id: print.c,v 1.53.2.9 2003/03/31 03:06:56 dhankins Exp $ Copyright (c) 1995-2003 The Internet Software Consortium. All rights reserved.\n";
#endif /* not lint */
#include "dhcpd.h"
@@ -223,7 +223,7 @@ void print_lease (lease)
lease -> host ? lease -> host -> name : "<none>");
}
-#if defined (DEBUG)
+#if defined (DEBUG_PACKET)
void dump_packet_option (struct option_cache *oc,
struct packet *packet,
struct lease *lease,
@@ -304,19 +304,46 @@ void dump_raw (buf, len)
char lbuf [80];
int lbix = 0;
- lbuf [0] = 0;
+/*
+ 1 2 3 4 5 6 7
+01234567890123456789012345678901234567890123456789012345678901234567890123
+280: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .................
+*/
+
+ memset(lbuf, ' ', 79);
+ lbuf [79] = 0;
for (i = 0; i < len; i++) {
if ((i & 15) == 0) {
- if (lbix)
- log_info (lbuf);
- sprintf (lbuf, "%03x:", i);
- lbix = 4;
+ if (lbix) {
+ lbuf[53]=' ';
+ lbuf[54]=' ';
+ lbuf[55]=' ';
+ lbuf[73]='\0';
+ log_info (lbuf);
+ }
+ memset(lbuf, ' ', 79);
+ lbuf [79] = 0;
+ sprintf (lbuf, "%03x:", i);
+ lbix = 4;
} else if ((i & 7) == 0)
lbuf [lbix++] = ' ';
+
+ if(isprint(buf[i])) {
+ lbuf[56+(i%16)]=buf[i];
+ } else {
+ lbuf[56+(i%16)]='.';
+ }
+
sprintf (&lbuf [lbix], " %02x", buf [i]);
lbix += 3;
+ lbuf[lbix]=' ';
+
}
+ lbuf[53]=' ';
+ lbuf[54]=' ';
+ lbuf[55]=' ';
+ lbuf[73]='\0';
log_info (lbuf);
}
@@ -337,7 +364,7 @@ void hash_dump (table)
if (bp -> len)
dump_raw (bp -> name, bp -> len);
else
- log_info ((const char *)bp -> name);
+ log_info ("%s", (const char *)bp -> name);
}
}
}
@@ -1248,6 +1275,9 @@ void print_dns_status (int status, ns_updque *uq)
case T_TXT:
en = "TXT";
break;
+ case T_KEY:
+ en = "KEY";
+ break;
case T_CNAME:
en = "CNAME";
break;
@@ -1268,13 +1298,19 @@ void print_dns_status (int status, ns_updque *uq)
if (s + 1 < end)
*s++ = '"';
}
- if (s + u -> r_size < end) {
- memcpy (s, u -> r_data, u -> r_size);
- s += u -> r_size;
- if (u -> r_type == T_TXT) {
- if (s + 1 < end)
- *s++ = '"';
- }
+ if(u->r_type == T_KEY) {
+ strcat(s, "<keydata>");
+ s+=strlen("<keydata>");
+ }
+ else {
+ if (s + u -> r_size < end) {
+ memcpy (s, u -> r_data, u -> r_size);
+ s += u -> r_size;
+ if (u -> r_type == T_TXT) {
+ if (s + 1 < end)
+ *s++ = '"';
+ }
+ }
}
}
if (position) {
diff --git a/contrib/isc-dhcp/common/tables.c b/contrib/isc-dhcp/common/tables.c
index e94c91d8108b..2423d53fdc51 100644
--- a/contrib/isc-dhcp/common/tables.c
+++ b/contrib/isc-dhcp/common/tables.c
@@ -43,7 +43,7 @@
#ifndef lint
static char copyright[] =
-"$Id: tables.c,v 1.51.2.6 2002/11/17 02:26:59 dhankins Exp $ Copyright (c) 1995-2002 The Internet Software Consortium. All rights reserved.\n";
+"$Id: tables.c,v 1.51.2.7 2003/07/25 22:53:38 dhankins Exp $ Copyright (c) 1995-2002 The Internet Software Consortium. All rights reserved.\n";
#endif /* not lint */
#include "dhcpd.h"
@@ -179,181 +179,181 @@ struct option dhcp_options [256] = {
{ "user-class", "t", &dhcp_universe, 77 },
{ "slp-directory-agent", "fIa", &dhcp_universe, 78 },
{ "slp-service-scope", "fto", &dhcp_universe, 79 },
- { "#80", "X", &dhcp_universe, 80 },
+ { "unknown-80", "X", &dhcp_universe, 80 },
{ "fqdn", "Efqdn.", &dhcp_universe, 81 },
{ "relay-agent-information", "Eagent.", &dhcp_universe, 82 },
- { "#83", "X", &dhcp_universe, 83 },
- { "#84", "X", &dhcp_universe, 84 },
+ { "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 },
- { "#88", "X", &dhcp_universe, 88 },
- { "#89", "X", &dhcp_universe, 89 },
- { "#90", "X", &dhcp_universe, 90 },
- { "#91", "X", &dhcp_universe, 91 },
- { "#92", "X", &dhcp_universe, 92 },
- { "#93", "X", &dhcp_universe, 93 },
- { "#94", "X", &dhcp_universe, 94 },
- { "#95", "X", &dhcp_universe, 95 },
- { "#96", "X", &dhcp_universe, 96 },
- { "#97", "X", &dhcp_universe, 97 },
+ { "unknown-88", "X", &dhcp_universe, 88 },
+ { "unknown-89", "X", &dhcp_universe, 89 },
+ { "unknown-90", "X", &dhcp_universe, 90 },
+ { "unknown-91", "X", &dhcp_universe, 91 },
+ { "unknown-92", "X", &dhcp_universe, 92 },
+ { "unknown-93", "X", &dhcp_universe, 93 },
+ { "unknown-94", "X", &dhcp_universe, 94 },
+ { "unknown-95", "X", &dhcp_universe, 95 },
+ { "unknown-96", "X", &dhcp_universe, 96 },
+ { "unknown-97", "X", &dhcp_universe, 97 },
{ "uap-servers", "t", &dhcp_universe, 98 },
- { "#99", "X", &dhcp_universe, 99 },
- { "#100", "X", &dhcp_universe, 100 },
- { "#101", "X", &dhcp_universe, 101 },
- { "#102", "X", &dhcp_universe, 102 },
- { "#103", "X", &dhcp_universe, 103 },
- { "#104", "X", &dhcp_universe, 104 },
- { "#105", "X", &dhcp_universe, 105 },
- { "#106", "X", &dhcp_universe, 106 },
- { "#107", "X", &dhcp_universe, 107 },
- { "#108", "X", &dhcp_universe, 108 },
- { "#109", "X", &dhcp_universe, 109 },
- { "#110", "X", &dhcp_universe, 110 },
- { "#111", "X", &dhcp_universe, 111 },
- { "#112", "X", &dhcp_universe, 112 },
- { "#113", "X", &dhcp_universe, 113 },
- { "#114", "X", &dhcp_universe, 114 },
- { "#115", "X", &dhcp_universe, 115 },
- { "#116", "X", &dhcp_universe, 116 },
- { "#117", "X", &dhcp_universe, 117 },
+ { "unknown-99", "X", &dhcp_universe, 99 },
+ { "unknown-100", "X", &dhcp_universe, 100 },
+ { "unknown-101", "X", &dhcp_universe, 101 },
+ { "unknown-102", "X", &dhcp_universe, 102 },
+ { "unknown-103", "X", &dhcp_universe, 103 },
+ { "unknown-104", "X", &dhcp_universe, 104 },
+ { "unknown-105", "X", &dhcp_universe, 105 },
+ { "unknown-106", "X", &dhcp_universe, 106 },
+ { "unknown-107", "X", &dhcp_universe, 107 },
+ { "unknown-108", "X", &dhcp_universe, 108 },
+ { "unknown-109", "X", &dhcp_universe, 109 },
+ { "unknown-110", "X", &dhcp_universe, 110 },
+ { "unknown-111", "X", &dhcp_universe, 111 },
+ { "unknown-112", "X", &dhcp_universe, 112 },
+ { "unknown-113", "X", &dhcp_universe, 113 },
+ { "unknown-114", "X", &dhcp_universe, 114 },
+ { "unknown-115", "X", &dhcp_universe, 115 },
+ { "unknown-116", "X", &dhcp_universe, 116 },
+ { "unknown-117", "X", &dhcp_universe, 117 },
{ "subnet-selection", "X", &dhcp_universe, 118 },
- { "#119", "X", &dhcp_universe, 119 },
- { "#120", "X", &dhcp_universe, 120 },
- { "#121", "X", &dhcp_universe, 121 },
- { "#122", "X", &dhcp_universe, 122 },
- { "#123", "X", &dhcp_universe, 123 },
- { "#124", "X", &dhcp_universe, 124 },
- { "#125", "X", &dhcp_universe, 125 },
- { "#126", "X", &dhcp_universe, 126 },
- { "#127", "X", &dhcp_universe, 127 },
- { "#128", "X", &dhcp_universe, 128 },
- { "#129", "X", &dhcp_universe, 129 },
- { "#130", "X", &dhcp_universe, 130 },
- { "#131", "X", &dhcp_universe, 131 },
- { "#132", "X", &dhcp_universe, 132 },
- { "#133", "X", &dhcp_universe, 133 },
- { "#134", "X", &dhcp_universe, 134 },
- { "#135", "X", &dhcp_universe, 135 },
- { "#136", "X", &dhcp_universe, 136 },
- { "#137", "X", &dhcp_universe, 137 },
- { "#138", "X", &dhcp_universe, 138 },
- { "#139", "X", &dhcp_universe, 139 },
- { "#140", "X", &dhcp_universe, 140 },
- { "#141", "X", &dhcp_universe, 141 },
- { "#142", "X", &dhcp_universe, 142 },
- { "#143", "X", &dhcp_universe, 143 },
- { "#144", "X", &dhcp_universe, 144 },
- { "#145", "X", &dhcp_universe, 145 },
- { "#146", "X", &dhcp_universe, 146 },
- { "#147", "X", &dhcp_universe, 147 },
- { "#148", "X", &dhcp_universe, 148 },
- { "#149", "X", &dhcp_universe, 149 },
- { "#150", "X", &dhcp_universe, 150 },
- { "#151", "X", &dhcp_universe, 151 },
- { "#152", "X", &dhcp_universe, 152 },
- { "#153", "X", &dhcp_universe, 153 },
- { "#154", "X", &dhcp_universe, 154 },
- { "#155", "X", &dhcp_universe, 155 },
- { "#156", "X", &dhcp_universe, 156 },
- { "#157", "X", &dhcp_universe, 157 },
- { "#158", "X", &dhcp_universe, 158 },
- { "#159", "X", &dhcp_universe, 159 },
- { "#160", "X", &dhcp_universe, 160 },
- { "#161", "X", &dhcp_universe, 161 },
- { "#162", "X", &dhcp_universe, 162 },
- { "#163", "X", &dhcp_universe, 163 },
- { "#164", "X", &dhcp_universe, 164 },
- { "#165", "X", &dhcp_universe, 165 },
- { "#166", "X", &dhcp_universe, 166 },
- { "#167", "X", &dhcp_universe, 167 },
- { "#168", "X", &dhcp_universe, 168 },
- { "#169", "X", &dhcp_universe, 169 },
- { "#170", "X", &dhcp_universe, 170 },
- { "#171", "X", &dhcp_universe, 171 },
- { "#172", "X", &dhcp_universe, 172 },
- { "#173", "X", &dhcp_universe, 173 },
- { "#174", "X", &dhcp_universe, 174 },
- { "#175", "X", &dhcp_universe, 175 },
- { "#176", "X", &dhcp_universe, 176 },
- { "#177", "X", &dhcp_universe, 177 },
- { "#178", "X", &dhcp_universe, 178 },
- { "#179", "X", &dhcp_universe, 179 },
- { "#180", "X", &dhcp_universe, 180 },
- { "#181", "X", &dhcp_universe, 181 },
- { "#182", "X", &dhcp_universe, 182 },
- { "#183", "X", &dhcp_universe, 183 },
- { "#184", "X", &dhcp_universe, 184 },
- { "#185", "X", &dhcp_universe, 185 },
- { "#186", "X", &dhcp_universe, 186 },
- { "#187", "X", &dhcp_universe, 187 },
- { "#188", "X", &dhcp_universe, 188 },
- { "#189", "X", &dhcp_universe, 189 },
- { "#190", "X", &dhcp_universe, 190 },
- { "#191", "X", &dhcp_universe, 191 },
- { "#192", "X", &dhcp_universe, 192 },
- { "#193", "X", &dhcp_universe, 193 },
- { "#194", "X", &dhcp_universe, 194 },
- { "#195", "X", &dhcp_universe, 195 },
- { "#196", "X", &dhcp_universe, 196 },
- { "#197", "X", &dhcp_universe, 197 },
- { "#198", "X", &dhcp_universe, 198 },
- { "#199", "X", &dhcp_universe, 199 },
- { "#200", "X", &dhcp_universe, 200 },
- { "#201", "X", &dhcp_universe, 201 },
- { "#202", "X", &dhcp_universe, 202 },
- { "#203", "X", &dhcp_universe, 203 },
- { "#204", "X", &dhcp_universe, 204 },
- { "#205", "X", &dhcp_universe, 205 },
- { "#206", "X", &dhcp_universe, 206 },
- { "#207", "X", &dhcp_universe, 207 },
- { "#208", "X", &dhcp_universe, 208 },
- { "#209", "X", &dhcp_universe, 209 },
+ { "unknown-119", "X", &dhcp_universe, 119 },
+ { "unknown-120", "X", &dhcp_universe, 120 },
+ { "unknown-121", "X", &dhcp_universe, 121 },
+ { "unknown-122", "X", &dhcp_universe, 122 },
+ { "unknown-123", "X", &dhcp_universe, 123 },
+ { "unknown-124", "X", &dhcp_universe, 124 },
+ { "unknown-125", "X", &dhcp_universe, 125 },
+ { "unknown-126", "X", &dhcp_universe, 126 },
+ { "unknown-127", "X", &dhcp_universe, 127 },
+ { "unknown-128", "X", &dhcp_universe, 128 },
+ { "unknown-129", "X", &dhcp_universe, 129 },
+ { "unknown-130", "X", &dhcp_universe, 130 },
+ { "unknown-131", "X", &dhcp_universe, 131 },
+ { "unknown-132", "X", &dhcp_universe, 132 },
+ { "unknown-133", "X", &dhcp_universe, 133 },
+ { "unknown-134", "X", &dhcp_universe, 134 },
+ { "unknown-135", "X", &dhcp_universe, 135 },
+ { "unknown-136", "X", &dhcp_universe, 136 },
+ { "unknown-137", "X", &dhcp_universe, 137 },
+ { "unknown-138", "X", &dhcp_universe, 138 },
+ { "unknown-139", "X", &dhcp_universe, 139 },
+ { "unknown-140", "X", &dhcp_universe, 140 },
+ { "unknown-141", "X", &dhcp_universe, 141 },
+ { "unknown-142", "X", &dhcp_universe, 142 },
+ { "unknown-143", "X", &dhcp_universe, 143 },
+ { "unknown-144", "X", &dhcp_universe, 144 },
+ { "unknown-145", "X", &dhcp_universe, 145 },
+ { "unknown-146", "X", &dhcp_universe, 146 },
+ { "unknown-147", "X", &dhcp_universe, 147 },
+ { "unknown-148", "X", &dhcp_universe, 148 },
+ { "unknown-149", "X", &dhcp_universe, 149 },
+ { "unknown-150", "X", &dhcp_universe, 150 },
+ { "unknown-151", "X", &dhcp_universe, 151 },
+ { "unknown-152", "X", &dhcp_universe, 152 },
+ { "unknown-153", "X", &dhcp_universe, 153 },
+ { "unknown-154", "X", &dhcp_universe, 154 },
+ { "unknown-155", "X", &dhcp_universe, 155 },
+ { "unknown-156", "X", &dhcp_universe, 156 },
+ { "unknown-157", "X", &dhcp_universe, 157 },
+ { "unknown-158", "X", &dhcp_universe, 158 },
+ { "unknown-159", "X", &dhcp_universe, 159 },
+ { "unknown-160", "X", &dhcp_universe, 160 },
+ { "unknown-161", "X", &dhcp_universe, 161 },
+ { "unknown-162", "X", &dhcp_universe, 162 },
+ { "unknown-163", "X", &dhcp_universe, 163 },
+ { "unknown-164", "X", &dhcp_universe, 164 },
+ { "unknown-165", "X", &dhcp_universe, 165 },
+ { "unknown-166", "X", &dhcp_universe, 166 },
+ { "unknown-167", "X", &dhcp_universe, 167 },
+ { "unknown-168", "X", &dhcp_universe, 168 },
+ { "unknown-169", "X", &dhcp_universe, 169 },
+ { "unknown-170", "X", &dhcp_universe, 170 },
+ { "unknown-171", "X", &dhcp_universe, 171 },
+ { "unknown-172", "X", &dhcp_universe, 172 },
+ { "unknown-173", "X", &dhcp_universe, 173 },
+ { "unknown-174", "X", &dhcp_universe, 174 },
+ { "unknown-175", "X", &dhcp_universe, 175 },
+ { "unknown-176", "X", &dhcp_universe, 176 },
+ { "unknown-177", "X", &dhcp_universe, 177 },
+ { "unknown-178", "X", &dhcp_universe, 178 },
+ { "unknown-179", "X", &dhcp_universe, 179 },
+ { "unknown-180", "X", &dhcp_universe, 180 },
+ { "unknown-181", "X", &dhcp_universe, 181 },
+ { "unknown-182", "X", &dhcp_universe, 182 },
+ { "unknown-183", "X", &dhcp_universe, 183 },
+ { "unknown-184", "X", &dhcp_universe, 184 },
+ { "unknown-185", "X", &dhcp_universe, 185 },
+ { "unknown-186", "X", &dhcp_universe, 186 },
+ { "unknown-187", "X", &dhcp_universe, 187 },
+ { "unknown-188", "X", &dhcp_universe, 188 },
+ { "unknown-189", "X", &dhcp_universe, 189 },
+ { "unknown-190", "X", &dhcp_universe, 190 },
+ { "unknown-191", "X", &dhcp_universe, 191 },
+ { "unknown-192", "X", &dhcp_universe, 192 },
+ { "unknown-193", "X", &dhcp_universe, 193 },
+ { "unknown-194", "X", &dhcp_universe, 194 },
+ { "unknown-195", "X", &dhcp_universe, 195 },
+ { "unknown-196", "X", &dhcp_universe, 196 },
+ { "unknown-197", "X", &dhcp_universe, 197 },
+ { "unknown-198", "X", &dhcp_universe, 198 },
+ { "unknown-199", "X", &dhcp_universe, 199 },
+ { "unknown-200", "X", &dhcp_universe, 200 },
+ { "unknown-201", "X", &dhcp_universe, 201 },
+ { "unknown-202", "X", &dhcp_universe, 202 },
+ { "unknown-203", "X", &dhcp_universe, 203 },
+ { "unknown-204", "X", &dhcp_universe, 204 },
+ { "unknown-205", "X", &dhcp_universe, 205 },
+ { "unknown-206", "X", &dhcp_universe, 206 },
+ { "unknown-207", "X", &dhcp_universe, 207 },
+ { "unknown-208", "X", &dhcp_universe, 208 },
+ { "unknown-209", "X", &dhcp_universe, 209 },
{ "authenticate", "X", &dhcp_universe, 210 },
- { "#211", "X", &dhcp_universe, 211 },
- { "#212", "X", &dhcp_universe, 212 },
- { "#213", "X", &dhcp_universe, 213 },
- { "#214", "X", &dhcp_universe, 214 },
- { "#215", "X", &dhcp_universe, 215 },
- { "#216", "X", &dhcp_universe, 216 },
- { "#217", "X", &dhcp_universe, 217 },
- { "#218", "X", &dhcp_universe, 218 },
- { "#219", "X", &dhcp_universe, 219 },
- { "#220", "X", &dhcp_universe, 220 },
- { "#221", "X", &dhcp_universe, 221 },
- { "#222", "X", &dhcp_universe, 222 },
- { "#223", "X", &dhcp_universe, 223 },
- { "#224", "X", &dhcp_universe, 224 },
- { "#225", "X", &dhcp_universe, 225 },
- { "#226", "X", &dhcp_universe, 226 },
- { "#227", "X", &dhcp_universe, 227 },
- { "#228", "X", &dhcp_universe, 228 },
- { "#229", "X", &dhcp_universe, 229 },
- { "#230", "X", &dhcp_universe, 230 },
- { "#231", "X", &dhcp_universe, 231 },
- { "#232", "X", &dhcp_universe, 232 },
- { "#233", "X", &dhcp_universe, 233 },
- { "#234", "X", &dhcp_universe, 234 },
- { "#235", "X", &dhcp_universe, 235 },
- { "#236", "X", &dhcp_universe, 236 },
- { "#237", "X", &dhcp_universe, 237 },
- { "#238", "X", &dhcp_universe, 238 },
- { "#239", "X", &dhcp_universe, 239 },
- { "#240", "X", &dhcp_universe, 240 },
- { "#241", "X", &dhcp_universe, 241 },
- { "#242", "X", &dhcp_universe, 242 },
- { "#243", "X", &dhcp_universe, 243 },
- { "#244", "X", &dhcp_universe, 244 },
- { "#245", "X", &dhcp_universe, 245 },
- { "#246", "X", &dhcp_universe, 246 },
- { "#247", "X", &dhcp_universe, 247 },
- { "#248", "X", &dhcp_universe, 248 },
- { "#249", "X", &dhcp_universe, 249 },
- { "#250", "X", &dhcp_universe, 250 },
- { "#251", "X", &dhcp_universe, 251 },
- { "#252", "X", &dhcp_universe, 252 },
- { "#253", "X", &dhcp_universe, 253 },
- { "#254", "X", &dhcp_universe, 254 },
+ { "unknown-211", "X", &dhcp_universe, 211 },
+ { "unknown-212", "X", &dhcp_universe, 212 },
+ { "unknown-213", "X", &dhcp_universe, 213 },
+ { "unknown-214", "X", &dhcp_universe, 214 },
+ { "unknown-215", "X", &dhcp_universe, 215 },
+ { "unknown-216", "X", &dhcp_universe, 216 },
+ { "unknown-217", "X", &dhcp_universe, 217 },
+ { "unknown-218", "X", &dhcp_universe, 218 },
+ { "unknown-219", "X", &dhcp_universe, 219 },
+ { "unknown-220", "X", &dhcp_universe, 220 },
+ { "unknown-221", "X", &dhcp_universe, 221 },
+ { "unknown-222", "X", &dhcp_universe, 222 },
+ { "unknown-223", "X", &dhcp_universe, 223 },
+ { "unknown-224", "X", &dhcp_universe, 224 },
+ { "unknown-225", "X", &dhcp_universe, 225 },
+ { "unknown-226", "X", &dhcp_universe, 226 },
+ { "unknown-227", "X", &dhcp_universe, 227 },
+ { "unknown-228", "X", &dhcp_universe, 228 },
+ { "unknown-229", "X", &dhcp_universe, 229 },
+ { "unknown-230", "X", &dhcp_universe, 230 },
+ { "unknown-231", "X", &dhcp_universe, 231 },
+ { "unknown-232", "X", &dhcp_universe, 232 },
+ { "unknown-233", "X", &dhcp_universe, 233 },
+ { "unknown-234", "X", &dhcp_universe, 234 },
+ { "unknown-235", "X", &dhcp_universe, 235 },
+ { "unknown-236", "X", &dhcp_universe, 236 },
+ { "unknown-237", "X", &dhcp_universe, 237 },
+ { "unknown-238", "X", &dhcp_universe, 238 },
+ { "unknown-239", "X", &dhcp_universe, 239 },
+ { "unknown-240", "X", &dhcp_universe, 240 },
+ { "unknown-241", "X", &dhcp_universe, 241 },
+ { "unknown-242", "X", &dhcp_universe, 242 },
+ { "unknown-243", "X", &dhcp_universe, 243 },
+ { "unknown-244", "X", &dhcp_universe, 244 },
+ { "unknown-245", "X", &dhcp_universe, 245 },
+ { "unknown-246", "X", &dhcp_universe, 246 },
+ { "unknown-247", "X", &dhcp_universe, 247 },
+ { "unknown-248", "X", &dhcp_universe, 248 },
+ { "unknown-249", "X", &dhcp_universe, 249 },
+ { "unknown-250", "X", &dhcp_universe, 250 },
+ { "unknown-251", "X", &dhcp_universe, 251 },
+ { "unknown-252", "X", &dhcp_universe, 252 },
+ { "unknown-253", "X", &dhcp_universe, 253 },
+ { "unknown-254", "X", &dhcp_universe, 254 },
{ "option-end", "e", &dhcp_universe, 255 },
};
@@ -371,250 +371,250 @@ struct option nwip_options [256] = {
{ "autoretry-secs", "B", &nwip_universe, 9 },
{ "nwip-1-1", "f", &nwip_universe, 10 },
{ "primary-dss", "I", &nwip_universe, 11 },
- { "#12", "X", &nwip_universe, 12 },
- { "#13", "X", &nwip_universe, 13 },
- { "#14", "X", &nwip_universe, 14 },
- { "#15", "X", &nwip_universe, 15 },
- { "#16", "X", &nwip_universe, 16 },
- { "#17", "X", &nwip_universe, 17 },
- { "#18", "X", &nwip_universe, 18 },
- { "#19", "X", &nwip_universe, 19 },
- { "#20", "X", &nwip_universe, 20 },
- { "#21", "X", &nwip_universe, 21 },
- { "#22", "X", &nwip_universe, 22 },
- { "#23", "X", &nwip_universe, 23 },
- { "#24", "X", &nwip_universe, 24 },
- { "#25", "X", &nwip_universe, 25 },
- { "#26", "X", &nwip_universe, 26 },
- { "#27", "X", &nwip_universe, 27 },
- { "#28", "X", &nwip_universe, 28 },
- { "#29", "X", &nwip_universe, 29 },
- { "#30", "X", &nwip_universe, 30 },
- { "#31", "X", &nwip_universe, 31 },
- { "#32", "X", &nwip_universe, 32 },
- { "#33", "X", &nwip_universe, 33 },
- { "#34", "X", &nwip_universe, 34 },
- { "#35", "X", &nwip_universe, 35 },
- { "#36", "X", &nwip_universe, 36 },
- { "#37", "X", &nwip_universe, 37 },
- { "#38", "X", &nwip_universe, 38 },
- { "#39", "X", &nwip_universe, 39 },
- { "#40", "X", &nwip_universe, 40 },
- { "#41", "X", &nwip_universe, 41 },
- { "#42", "X", &nwip_universe, 42 },
- { "#43", "X", &nwip_universe, 43 },
- { "#44", "X", &nwip_universe, 44 },
- { "#45", "X", &nwip_universe, 45 },
- { "#46", "X", &nwip_universe, 46 },
- { "#47", "X", &nwip_universe, 47 },
- { "#48", "X", &nwip_universe, 48 },
- { "#49", "X", &nwip_universe, 49 },
- { "#50", "X", &nwip_universe, 50 },
- { "#51", "X", &nwip_universe, 51 },
- { "#52", "X", &nwip_universe, 52 },
- { "#53", "X", &nwip_universe, 53 },
- { "#54", "X", &nwip_universe, 54 },
- { "#55", "X", &nwip_universe, 55 },
- { "#56", "X", &nwip_universe, 56 },
- { "#57", "X", &nwip_universe, 57 },
- { "#58", "X", &nwip_universe, 58 },
- { "#59", "X", &nwip_universe, 59 },
- { "#60", "X", &nwip_universe, 60 },
- { "#61", "X", &nwip_universe, 61 },
- { "#62", "X", &nwip_universe, 62 },
- { "#63", "X", &nwip_universe, 63 },
- { "#64", "X", &nwip_universe, 64 },
- { "#65", "X", &nwip_universe, 65 },
- { "#66", "X", &nwip_universe, 66 },
- { "#67", "X", &nwip_universe, 67 },
- { "#68", "X", &nwip_universe, 68 },
- { "#69", "X", &nwip_universe, 69 },
- { "#70", "X", &nwip_universe, 70 },
- { "#71", "X", &nwip_universe, 71 },
- { "#72", "X", &nwip_universe, 72 },
- { "#73", "X", &nwip_universe, 73 },
- { "#74", "X", &nwip_universe, 74 },
- { "#75", "X", &nwip_universe, 75 },
- { "#76", "X", &nwip_universe, 76 },
- { "#77", "X", &nwip_universe, 77 },
- { "#78", "X", &nwip_universe, 78 },
- { "#79", "X", &nwip_universe, 79 },
- { "#80", "X", &nwip_universe, 80 },
- { "#81", "X", &nwip_universe, 81 },
- { "#82", "X", &nwip_universe, 82 },
- { "#83", "X", &nwip_universe, 83 },
- { "#84", "X", &nwip_universe, 84 },
- { "#85", "X", &nwip_universe, 85 },
- { "#86", "X", &nwip_universe, 86 },
- { "#87", "X", &nwip_universe, 87 },
- { "#88", "X", &nwip_universe, 88 },
- { "#89", "X", &nwip_universe, 89 },
- { "#90", "X", &nwip_universe, 90 },
- { "#91", "X", &nwip_universe, 91 },
- { "#92", "X", &nwip_universe, 92 },
- { "#93", "X", &nwip_universe, 93 },
- { "#94", "X", &nwip_universe, 94 },
- { "#95", "X", &nwip_universe, 95 },
- { "#96", "X", &nwip_universe, 96 },
- { "#97", "X", &nwip_universe, 97 },
- { "#98", "X", &nwip_universe, 98 },
- { "#99", "X", &nwip_universe, 99 },
- { "#100", "X", &nwip_universe, 100 },
- { "#101", "X", &nwip_universe, 101 },
- { "#102", "X", &nwip_universe, 102 },
- { "#103", "X", &nwip_universe, 103 },
- { "#104", "X", &nwip_universe, 104 },
- { "#105", "X", &nwip_universe, 105 },
- { "#106", "X", &nwip_universe, 106 },
- { "#107", "X", &nwip_universe, 107 },
- { "#108", "X", &nwip_universe, 108 },
- { "#109", "X", &nwip_universe, 109 },
- { "#110", "X", &nwip_universe, 110 },
- { "#111", "X", &nwip_universe, 111 },
- { "#112", "X", &nwip_universe, 112 },
- { "#113", "X", &nwip_universe, 113 },
- { "#114", "X", &nwip_universe, 114 },
- { "#115", "X", &nwip_universe, 115 },
- { "#116", "X", &nwip_universe, 116 },
- { "#117", "X", &nwip_universe, 117 },
- { "#118", "X", &nwip_universe, 118 },
- { "#119", "X", &nwip_universe, 119 },
- { "#120", "X", &nwip_universe, 120 },
- { "#121", "X", &nwip_universe, 121 },
- { "#122", "X", &nwip_universe, 122 },
- { "#123", "X", &nwip_universe, 123 },
- { "#124", "X", &nwip_universe, 124 },
- { "#125", "X", &nwip_universe, 125 },
- { "#126", "X", &nwip_universe, 126 },
- { "#127", "X", &nwip_universe, 127 },
- { "#128", "X", &nwip_universe, 128 },
- { "#129", "X", &nwip_universe, 129 },
- { "#130", "X", &nwip_universe, 130 },
- { "#131", "X", &nwip_universe, 131 },
- { "#132", "X", &nwip_universe, 132 },
- { "#133", "X", &nwip_universe, 133 },
- { "#134", "X", &nwip_universe, 134 },
- { "#135", "X", &nwip_universe, 135 },
- { "#136", "X", &nwip_universe, 136 },
- { "#137", "X", &nwip_universe, 137 },
- { "#138", "X", &nwip_universe, 138 },
- { "#139", "X", &nwip_universe, 139 },
- { "#140", "X", &nwip_universe, 140 },
- { "#141", "X", &nwip_universe, 141 },
- { "#142", "X", &nwip_universe, 142 },
- { "#143", "X", &nwip_universe, 143 },
- { "#144", "X", &nwip_universe, 144 },
- { "#145", "X", &nwip_universe, 145 },
- { "#146", "X", &nwip_universe, 146 },
- { "#147", "X", &nwip_universe, 147 },
- { "#148", "X", &nwip_universe, 148 },
- { "#149", "X", &nwip_universe, 149 },
- { "#150", "X", &nwip_universe, 150 },
- { "#151", "X", &nwip_universe, 151 },
- { "#152", "X", &nwip_universe, 152 },
- { "#153", "X", &nwip_universe, 153 },
- { "#154", "X", &nwip_universe, 154 },
- { "#155", "X", &nwip_universe, 155 },
- { "#156", "X", &nwip_universe, 156 },
- { "#157", "X", &nwip_universe, 157 },
- { "#158", "X", &nwip_universe, 158 },
- { "#159", "X", &nwip_universe, 159 },
- { "#160", "X", &nwip_universe, 160 },
- { "#161", "X", &nwip_universe, 161 },
- { "#162", "X", &nwip_universe, 162 },
- { "#163", "X", &nwip_universe, 163 },
- { "#164", "X", &nwip_universe, 164 },
- { "#165", "X", &nwip_universe, 165 },
- { "#166", "X", &nwip_universe, 166 },
- { "#167", "X", &nwip_universe, 167 },
- { "#168", "X", &nwip_universe, 168 },
- { "#169", "X", &nwip_universe, 169 },
- { "#170", "X", &nwip_universe, 170 },
- { "#171", "X", &nwip_universe, 171 },
- { "#172", "X", &nwip_universe, 172 },
- { "#173", "X", &nwip_universe, 173 },
- { "#174", "X", &nwip_universe, 174 },
- { "#175", "X", &nwip_universe, 175 },
- { "#176", "X", &nwip_universe, 176 },
- { "#177", "X", &nwip_universe, 177 },
- { "#178", "X", &nwip_universe, 178 },
- { "#179", "X", &nwip_universe, 179 },
- { "#180", "X", &nwip_universe, 180 },
- { "#181", "X", &nwip_universe, 181 },
- { "#182", "X", &nwip_universe, 182 },
- { "#183", "X", &nwip_universe, 183 },
- { "#184", "X", &nwip_universe, 184 },
- { "#185", "X", &nwip_universe, 185 },
- { "#186", "X", &nwip_universe, 186 },
- { "#187", "X", &nwip_universe, 187 },
- { "#188", "X", &nwip_universe, 188 },
- { "#189", "X", &nwip_universe, 189 },
- { "#190", "X", &nwip_universe, 190 },
- { "#191", "X", &nwip_universe, 191 },
- { "#192", "X", &nwip_universe, 192 },
- { "#193", "X", &nwip_universe, 193 },
- { "#194", "X", &nwip_universe, 194 },
- { "#195", "X", &nwip_universe, 195 },
- { "#196", "X", &nwip_universe, 196 },
- { "#197", "X", &nwip_universe, 197 },
- { "#198", "X", &nwip_universe, 198 },
- { "#199", "X", &nwip_universe, 199 },
- { "#200", "X", &nwip_universe, 200 },
- { "#201", "X", &nwip_universe, 201 },
- { "#202", "X", &nwip_universe, 202 },
- { "#203", "X", &nwip_universe, 203 },
- { "#204", "X", &nwip_universe, 204 },
- { "#205", "X", &nwip_universe, 205 },
- { "#206", "X", &nwip_universe, 206 },
- { "#207", "X", &nwip_universe, 207 },
- { "#208", "X", &nwip_universe, 208 },
- { "#209", "X", &nwip_universe, 209 },
- { "#210", "X", &nwip_universe, 210 },
- { "#211", "X", &nwip_universe, 211 },
- { "#212", "X", &nwip_universe, 212 },
- { "#213", "X", &nwip_universe, 213 },
- { "#214", "X", &nwip_universe, 214 },
- { "#215", "X", &nwip_universe, 215 },
- { "#216", "X", &nwip_universe, 216 },
- { "#217", "X", &nwip_universe, 217 },
- { "#218", "X", &nwip_universe, 218 },
- { "#219", "X", &nwip_universe, 219 },
- { "#220", "X", &nwip_universe, 220 },
- { "#221", "X", &nwip_universe, 221 },
- { "#222", "X", &nwip_universe, 222 },
- { "#223", "X", &nwip_universe, 223 },
- { "#224", "X", &nwip_universe, 224 },
- { "#225", "X", &nwip_universe, 225 },
- { "#226", "X", &nwip_universe, 226 },
- { "#227", "X", &nwip_universe, 227 },
- { "#228", "X", &nwip_universe, 228 },
- { "#229", "X", &nwip_universe, 229 },
- { "#230", "X", &nwip_universe, 230 },
- { "#231", "X", &nwip_universe, 231 },
- { "#232", "X", &nwip_universe, 232 },
- { "#233", "X", &nwip_universe, 233 },
- { "#234", "X", &nwip_universe, 234 },
- { "#235", "X", &nwip_universe, 235 },
- { "#236", "X", &nwip_universe, 236 },
- { "#237", "X", &nwip_universe, 237 },
- { "#238", "X", &nwip_universe, 238 },
- { "#239", "X", &nwip_universe, 239 },
- { "#240", "X", &nwip_universe, 240 },
- { "#241", "X", &nwip_universe, 241 },
- { "#242", "X", &nwip_universe, 242 },
- { "#243", "X", &nwip_universe, 243 },
- { "#244", "X", &nwip_universe, 244 },
- { "#245", "X", &nwip_universe, 245 },
- { "#246", "X", &nwip_universe, 246 },
- { "#247", "X", &nwip_universe, 247 },
- { "#248", "X", &nwip_universe, 248 },
- { "#249", "X", &nwip_universe, 249 },
- { "#250", "X", &nwip_universe, 250 },
- { "#251", "X", &nwip_universe, 251 },
- { "#252", "X", &nwip_universe, 252 },
- { "#253", "X", &nwip_universe, 253 },
- { "#254", "X", &nwip_universe, 254 },
- { "#end", "e", &nwip_universe, 255 },
+ { "unknown-12", "X", &nwip_universe, 12 },
+ { "unknown-13", "X", &nwip_universe, 13 },
+ { "unknown-14", "X", &nwip_universe, 14 },
+ { "unknown-15", "X", &nwip_universe, 15 },
+ { "unknown-16", "X", &nwip_universe, 16 },
+ { "unknown-17", "X", &nwip_universe, 17 },
+ { "unknown-18", "X", &nwip_universe, 18 },
+ { "unknown-19", "X", &nwip_universe, 19 },
+ { "unknown-20", "X", &nwip_universe, 20 },
+ { "unknown-21", "X", &nwip_universe, 21 },
+ { "unknown-22", "X", &nwip_universe, 22 },
+ { "unknown-23", "X", &nwip_universe, 23 },
+ { "unknown-24", "X", &nwip_universe, 24 },
+ { "unknown-25", "X", &nwip_universe, 25 },
+ { "unknown-26", "X", &nwip_universe, 26 },
+ { "unknown-27", "X", &nwip_universe, 27 },
+ { "unknown-28", "X", &nwip_universe, 28 },
+ { "unknown-29", "X", &nwip_universe, 29 },
+ { "unknown-30", "X", &nwip_universe, 30 },
+ { "unknown-31", "X", &nwip_universe, 31 },
+ { "unknown-32", "X", &nwip_universe, 32 },
+ { "unknown-33", "X", &nwip_universe, 33 },
+ { "unknown-34", "X", &nwip_universe, 34 },
+ { "unknown-35", "X", &nwip_universe, 35 },
+ { "unknown-36", "X", &nwip_universe, 36 },
+ { "unknown-37", "X", &nwip_universe, 37 },
+ { "unknown-38", "X", &nwip_universe, 38 },
+ { "unknown-39", "X", &nwip_universe, 39 },
+ { "unknown-40", "X", &nwip_universe, 40 },
+ { "unknown-41", "X", &nwip_universe, 41 },
+ { "unknown-42", "X", &nwip_universe, 42 },
+ { "unknown-43", "X", &nwip_universe, 43 },
+ { "unknown-44", "X", &nwip_universe, 44 },
+ { "unknown-45", "X", &nwip_universe, 45 },
+ { "unknown-46", "X", &nwip_universe, 46 },
+ { "unknown-47", "X", &nwip_universe, 47 },
+ { "unknown-48", "X", &nwip_universe, 48 },
+ { "unknown-49", "X", &nwip_universe, 49 },
+ { "unknown-50", "X", &nwip_universe, 50 },
+ { "unknown-51", "X", &nwip_universe, 51 },
+ { "unknown-52", "X", &nwip_universe, 52 },
+ { "unknown-53", "X", &nwip_universe, 53 },
+ { "unknown-54", "X", &nwip_universe, 54 },
+ { "unknown-55", "X", &nwip_universe, 55 },
+ { "unknown-56", "X", &nwip_universe, 56 },
+ { "unknown-57", "X", &nwip_universe, 57 },
+ { "unknown-58", "X", &nwip_universe, 58 },
+ { "unknown-59", "X", &nwip_universe, 59 },
+ { "unknown-60", "X", &nwip_universe, 60 },
+ { "unknown-61", "X", &nwip_universe, 61 },
+ { "unknown-62", "X", &nwip_universe, 62 },
+ { "unknown-63", "X", &nwip_universe, 63 },
+ { "unknown-64", "X", &nwip_universe, 64 },
+ { "unknown-65", "X", &nwip_universe, 65 },
+ { "unknown-66", "X", &nwip_universe, 66 },
+ { "unknown-67", "X", &nwip_universe, 67 },
+ { "unknown-68", "X", &nwip_universe, 68 },
+ { "unknown-69", "X", &nwip_universe, 69 },
+ { "unknown-70", "X", &nwip_universe, 70 },
+ { "unknown-71", "X", &nwip_universe, 71 },
+ { "unknown-72", "X", &nwip_universe, 72 },
+ { "unknown-73", "X", &nwip_universe, 73 },
+ { "unknown-74", "X", &nwip_universe, 74 },
+ { "unknown-75", "X", &nwip_universe, 75 },
+ { "unknown-76", "X", &nwip_universe, 76 },
+ { "unknown-77", "X", &nwip_universe, 77 },
+ { "unknown-78", "X", &nwip_universe, 78 },
+ { "unknown-79", "X", &nwip_universe, 79 },
+ { "unknown-80", "X", &nwip_universe, 80 },
+ { "unknown-81", "X", &nwip_universe, 81 },
+ { "unknown-82", "X", &nwip_universe, 82 },
+ { "unknown-83", "X", &nwip_universe, 83 },
+ { "unknown-84", "X", &nwip_universe, 84 },
+ { "unknown-85", "X", &nwip_universe, 85 },
+ { "unknown-86", "X", &nwip_universe, 86 },
+ { "unknown-87", "X", &nwip_universe, 87 },
+ { "unknown-88", "X", &nwip_universe, 88 },
+ { "unknown-89", "X", &nwip_universe, 89 },
+ { "unknown-90", "X", &nwip_universe, 90 },
+ { "unknown-91", "X", &nwip_universe, 91 },
+ { "unknown-92", "X", &nwip_universe, 92 },
+ { "unknown-93", "X", &nwip_universe, 93 },
+ { "unknown-94", "X", &nwip_universe, 94 },
+ { "unknown-95", "X", &nwip_universe, 95 },
+ { "unknown-96", "X", &nwip_universe, 96 },
+ { "unknown-97", "X", &nwip_universe, 97 },
+ { "unknown-98", "X", &nwip_universe, 98 },
+ { "unknown-99", "X", &nwip_universe, 99 },
+ { "unknown-100", "X", &nwip_universe, 100 },
+ { "unknown-101", "X", &nwip_universe, 101 },
+ { "unknown-102", "X", &nwip_universe, 102 },
+ { "unknown-103", "X", &nwip_universe, 103 },
+ { "unknown-104", "X", &nwip_universe, 104 },
+ { "unknown-105", "X", &nwip_universe, 105 },
+ { "unknown-106", "X", &nwip_universe, 106 },
+ { "unknown-107", "X", &nwip_universe, 107 },
+ { "unknown-108", "X", &nwip_universe, 108 },
+ { "unknown-109", "X", &nwip_universe, 109 },
+ { "unknown-110", "X", &nwip_universe, 110 },
+ { "unknown-111", "X", &nwip_universe, 111 },
+ { "unknown-112", "X", &nwip_universe, 112 },
+ { "unknown-113", "X", &nwip_universe, 113 },
+ { "unknown-114", "X", &nwip_universe, 114 },
+ { "unknown-115", "X", &nwip_universe, 115 },
+ { "unknown-116", "X", &nwip_universe, 116 },
+ { "unknown-117", "X", &nwip_universe, 117 },
+ { "unknown-118", "X", &nwip_universe, 118 },
+ { "unknown-119", "X", &nwip_universe, 119 },
+ { "unknown-120", "X", &nwip_universe, 120 },
+ { "unknown-121", "X", &nwip_universe, 121 },
+ { "unknown-122", "X", &nwip_universe, 122 },
+ { "unknown-123", "X", &nwip_universe, 123 },
+ { "unknown-124", "X", &nwip_universe, 124 },
+ { "unknown-125", "X", &nwip_universe, 125 },
+ { "unknown-126", "X", &nwip_universe, 126 },
+ { "unknown-127", "X", &nwip_universe, 127 },
+ { "unknown-128", "X", &nwip_universe, 128 },
+ { "unknown-129", "X", &nwip_universe, 129 },
+ { "unknown-130", "X", &nwip_universe, 130 },
+ { "unknown-131", "X", &nwip_universe, 131 },
+ { "unknown-132", "X", &nwip_universe, 132 },
+ { "unknown-133", "X", &nwip_universe, 133 },
+ { "unknown-134", "X", &nwip_universe, 134 },
+ { "unknown-135", "X", &nwip_universe, 135 },
+ { "unknown-136", "X", &nwip_universe, 136 },
+ { "unknown-137", "X", &nwip_universe, 137 },
+ { "unknown-138", "X", &nwip_universe, 138 },
+ { "unknown-139", "X", &nwip_universe, 139 },
+ { "unknown-140", "X", &nwip_universe, 140 },
+ { "unknown-141", "X", &nwip_universe, 141 },
+ { "unknown-142", "X", &nwip_universe, 142 },
+ { "unknown-143", "X", &nwip_universe, 143 },
+ { "unknown-144", "X", &nwip_universe, 144 },
+ { "unknown-145", "X", &nwip_universe, 145 },
+ { "unknown-146", "X", &nwip_universe, 146 },
+ { "unknown-147", "X", &nwip_universe, 147 },
+ { "unknown-148", "X", &nwip_universe, 148 },
+ { "unknown-149", "X", &nwip_universe, 149 },
+ { "unknown-150", "X", &nwip_universe, 150 },
+ { "unknown-151", "X", &nwip_universe, 151 },
+ { "unknown-152", "X", &nwip_universe, 152 },
+ { "unknown-153", "X", &nwip_universe, 153 },
+ { "unknown-154", "X", &nwip_universe, 154 },
+ { "unknown-155", "X", &nwip_universe, 155 },
+ { "unknown-156", "X", &nwip_universe, 156 },
+ { "unknown-157", "X", &nwip_universe, 157 },
+ { "unknown-158", "X", &nwip_universe, 158 },
+ { "unknown-159", "X", &nwip_universe, 159 },
+ { "unknown-160", "X", &nwip_universe, 160 },
+ { "unknown-161", "X", &nwip_universe, 161 },
+ { "unknown-162", "X", &nwip_universe, 162 },
+ { "unknown-163", "X", &nwip_universe, 163 },
+ { "unknown-164", "X", &nwip_universe, 164 },
+ { "unknown-165", "X", &nwip_universe, 165 },
+ { "unknown-166", "X", &nwip_universe, 166 },
+ { "unknown-167", "X", &nwip_universe, 167 },
+ { "unknown-168", "X", &nwip_universe, 168 },
+ { "unknown-169", "X", &nwip_universe, 169 },
+ { "unknown-170", "X", &nwip_universe, 170 },
+ { "unknown-171", "X", &nwip_universe, 171 },
+ { "unknown-172", "X", &nwip_universe, 172 },
+ { "unknown-173", "X", &nwip_universe, 173 },
+ { "unknown-174", "X", &nwip_universe, 174 },
+ { "unknown-175", "X", &nwip_universe, 175 },
+ { "unknown-176", "X", &nwip_universe, 176 },
+ { "unknown-177", "X", &nwip_universe, 177 },
+ { "unknown-178", "X", &nwip_universe, 178 },
+ { "unknown-179", "X", &nwip_universe, 179 },
+ { "unknown-180", "X", &nwip_universe, 180 },
+ { "unknown-181", "X", &nwip_universe, 181 },
+ { "unknown-182", "X", &nwip_universe, 182 },
+ { "unknown-183", "X", &nwip_universe, 183 },
+ { "unknown-184", "X", &nwip_universe, 184 },
+ { "unknown-185", "X", &nwip_universe, 185 },
+ { "unknown-186", "X", &nwip_universe, 186 },
+ { "unknown-187", "X", &nwip_universe, 187 },
+ { "unknown-188", "X", &nwip_universe, 188 },
+ { "unknown-189", "X", &nwip_universe, 189 },
+ { "unknown-190", "X", &nwip_universe, 190 },
+ { "unknown-191", "X", &nwip_universe, 191 },
+ { "unknown-192", "X", &nwip_universe, 192 },
+ { "unknown-193", "X", &nwip_universe, 193 },
+ { "unknown-194", "X", &nwip_universe, 194 },
+ { "unknown-195", "X", &nwip_universe, 195 },
+ { "unknown-196", "X", &nwip_universe, 196 },
+ { "unknown-197", "X", &nwip_universe, 197 },
+ { "unknown-198", "X", &nwip_universe, 198 },
+ { "unknown-199", "X", &nwip_universe, 199 },
+ { "unknown-200", "X", &nwip_universe, 200 },
+ { "unknown-201", "X", &nwip_universe, 201 },
+ { "unknown-202", "X", &nwip_universe, 202 },
+ { "unknown-203", "X", &nwip_universe, 203 },
+ { "unknown-204", "X", &nwip_universe, 204 },
+ { "unknown-205", "X", &nwip_universe, 205 },
+ { "unknown-206", "X", &nwip_universe, 206 },
+ { "unknown-207", "X", &nwip_universe, 207 },
+ { "unknown-208", "X", &nwip_universe, 208 },
+ { "unknown-209", "X", &nwip_universe, 209 },
+ { "unknown-210", "X", &nwip_universe, 210 },
+ { "unknown-211", "X", &nwip_universe, 211 },
+ { "unknown-212", "X", &nwip_universe, 212 },
+ { "unknown-213", "X", &nwip_universe, 213 },
+ { "unknown-214", "X", &nwip_universe, 214 },
+ { "unknown-215", "X", &nwip_universe, 215 },
+ { "unknown-216", "X", &nwip_universe, 216 },
+ { "unknown-217", "X", &nwip_universe, 217 },
+ { "unknown-218", "X", &nwip_universe, 218 },
+ { "unknown-219", "X", &nwip_universe, 219 },
+ { "unknown-220", "X", &nwip_universe, 220 },
+ { "unknown-221", "X", &nwip_universe, 221 },
+ { "unknown-222", "X", &nwip_universe, 222 },
+ { "unknown-223", "X", &nwip_universe, 223 },
+ { "unknown-224", "X", &nwip_universe, 224 },
+ { "unknown-225", "X", &nwip_universe, 225 },
+ { "unknown-226", "X", &nwip_universe, 226 },
+ { "unknown-227", "X", &nwip_universe, 227 },
+ { "unknown-228", "X", &nwip_universe, 228 },
+ { "unknown-229", "X", &nwip_universe, 229 },
+ { "unknown-230", "X", &nwip_universe, 230 },
+ { "unknown-231", "X", &nwip_universe, 231 },
+ { "unknown-232", "X", &nwip_universe, 232 },
+ { "unknown-233", "X", &nwip_universe, 233 },
+ { "unknown-234", "X", &nwip_universe, 234 },
+ { "unknown-235", "X", &nwip_universe, 235 },
+ { "unknown-236", "X", &nwip_universe, 236 },
+ { "unknown-237", "X", &nwip_universe, 237 },
+ { "unknown-238", "X", &nwip_universe, 238 },
+ { "unknown-239", "X", &nwip_universe, 239 },
+ { "unknown-240", "X", &nwip_universe, 240 },
+ { "unknown-241", "X", &nwip_universe, 241 },
+ { "unknown-242", "X", &nwip_universe, 242 },
+ { "unknown-243", "X", &nwip_universe, 243 },
+ { "unknown-244", "X", &nwip_universe, 244 },
+ { "unknown-245", "X", &nwip_universe, 245 },
+ { "unknown-246", "X", &nwip_universe, 246 },
+ { "unknown-247", "X", &nwip_universe, 247 },
+ { "unknown-248", "X", &nwip_universe, 248 },
+ { "unknown-249", "X", &nwip_universe, 249 },
+ { "unknown-250", "X", &nwip_universe, 250 },
+ { "unknown-251", "X", &nwip_universe, 251 },
+ { "unknown-252", "X", &nwip_universe, 252 },
+ { "unknown-253", "X", &nwip_universe, 253 },
+ { "unknown-254", "X", &nwip_universe, 254 },
+ { "unknown-end", "e", &nwip_universe, 255 },
};
struct universe fqdn_universe;
@@ -628,253 +628,253 @@ struct option fqdn_options [256] = {
{ "hostname", "t", &fqdn_universe, 6 },
{ "domainname", "t", &fqdn_universe, 7 },
{ "fqdn", "t", &fqdn_universe, 8 },
- { "#9", "X", &fqdn_universe, 9 },
- { "#10", "X", &fqdn_universe, 10 },
- { "#11", "X", &fqdn_universe, 11 },
- { "#12", "X", &fqdn_universe, 12 },
- { "#13", "X", &fqdn_universe, 13 },
- { "#14", "X", &fqdn_universe, 14 },
- { "#15", "X", &fqdn_universe, 15 },
- { "#16", "X", &fqdn_universe, 16 },
- { "#17", "X", &fqdn_universe, 17 },
- { "#18", "X", &fqdn_universe, 18 },
- { "#19", "X", &fqdn_universe, 19 },
- { "#20", "X", &fqdn_universe, 20 },
- { "#21", "X", &fqdn_universe, 21 },
- { "#22", "X", &fqdn_universe, 22 },
- { "#23", "X", &fqdn_universe, 23 },
- { "#24", "X", &fqdn_universe, 24 },
- { "#25", "X", &fqdn_universe, 25 },
- { "#26", "X", &fqdn_universe, 26 },
- { "#27", "X", &fqdn_universe, 27 },
- { "#28", "X", &fqdn_universe, 28 },
- { "#29", "X", &fqdn_universe, 29 },
- { "#30", "X", &fqdn_universe, 30 },
- { "#31", "X", &fqdn_universe, 31 },
- { "#32", "X", &fqdn_universe, 32 },
- { "#33", "X", &fqdn_universe, 33 },
- { "#34", "X", &fqdn_universe, 34 },
- { "#35", "X", &fqdn_universe, 35 },
- { "#36", "X", &fqdn_universe, 36 },
- { "#37", "X", &fqdn_universe, 37 },
- { "#38", "X", &fqdn_universe, 38 },
- { "#39", "X", &fqdn_universe, 39 },
- { "#40", "X", &fqdn_universe, 40 },
- { "#41", "X", &fqdn_universe, 41 },
- { "#42", "X", &fqdn_universe, 42 },
- { "#43", "X", &fqdn_universe, 43 },
- { "#44", "X", &fqdn_universe, 44 },
- { "#45", "X", &fqdn_universe, 45 },
- { "#46", "X", &fqdn_universe, 46 },
- { "#47", "X", &fqdn_universe, 47 },
- { "#48", "X", &fqdn_universe, 48 },
- { "#49", "X", &fqdn_universe, 49 },
- { "#50", "X", &fqdn_universe, 50 },
- { "#51", "X", &fqdn_universe, 51 },
- { "#52", "X", &fqdn_universe, 52 },
- { "#53", "X", &fqdn_universe, 53 },
- { "#54", "X", &fqdn_universe, 54 },
- { "#55", "X", &fqdn_universe, 55 },
- { "#56", "X", &fqdn_universe, 56 },
- { "#57", "X", &fqdn_universe, 57 },
- { "#58", "X", &fqdn_universe, 58 },
- { "#59", "X", &fqdn_universe, 59 },
- { "#60", "X", &fqdn_universe, 60 },
- { "#61", "X", &fqdn_universe, 61 },
- { "#62", "X", &fqdn_universe, 62 },
- { "#63", "X", &fqdn_universe, 63 },
- { "#64", "X", &fqdn_universe, 64 },
- { "#65", "X", &fqdn_universe, 65 },
- { "#66", "X", &fqdn_universe, 66 },
- { "#67", "X", &fqdn_universe, 67 },
- { "#68", "X", &fqdn_universe, 68 },
- { "#69", "X", &fqdn_universe, 69 },
- { "#70", "X", &fqdn_universe, 70 },
- { "#71", "X", &fqdn_universe, 71 },
- { "#72", "X", &fqdn_universe, 72 },
- { "#73", "X", &fqdn_universe, 73 },
- { "#74", "X", &fqdn_universe, 74 },
- { "#75", "X", &fqdn_universe, 75 },
- { "#76", "X", &fqdn_universe, 76 },
- { "#77", "X", &fqdn_universe, 77 },
- { "#78", "X", &fqdn_universe, 78 },
- { "#79", "X", &fqdn_universe, 79 },
- { "#80", "X", &fqdn_universe, 80 },
- { "#81", "X", &fqdn_universe, 81 },
- { "#82", "X", &fqdn_universe, 82 },
- { "#83", "X", &fqdn_universe, 83 },
- { "#84", "X", &fqdn_universe, 84 },
- { "#85", "X", &fqdn_universe, 85 },
- { "#86", "X", &fqdn_universe, 86 },
- { "#87", "X", &fqdn_universe, 87 },
- { "#88", "X", &fqdn_universe, 88 },
- { "#89", "X", &fqdn_universe, 89 },
- { "#90", "X", &fqdn_universe, 90 },
- { "#91", "X", &fqdn_universe, 91 },
- { "#92", "X", &fqdn_universe, 92 },
- { "#93", "X", &fqdn_universe, 93 },
- { "#94", "X", &fqdn_universe, 94 },
- { "#95", "X", &fqdn_universe, 95 },
- { "#96", "X", &fqdn_universe, 96 },
- { "#97", "X", &fqdn_universe, 97 },
- { "#98", "X", &fqdn_universe, 98 },
- { "#99", "X", &fqdn_universe, 99 },
- { "#100", "X", &fqdn_universe, 100 },
- { "#101", "X", &fqdn_universe, 101 },
- { "#102", "X", &fqdn_universe, 102 },
- { "#103", "X", &fqdn_universe, 103 },
- { "#104", "X", &fqdn_universe, 104 },
- { "#105", "X", &fqdn_universe, 105 },
- { "#106", "X", &fqdn_universe, 106 },
- { "#107", "X", &fqdn_universe, 107 },
- { "#108", "X", &fqdn_universe, 108 },
- { "#109", "X", &fqdn_universe, 109 },
- { "#110", "X", &fqdn_universe, 110 },
- { "#111", "X", &fqdn_universe, 111 },
- { "#112", "X", &fqdn_universe, 112 },
- { "#113", "X", &fqdn_universe, 113 },
- { "#114", "X", &fqdn_universe, 114 },
- { "#115", "X", &fqdn_universe, 115 },
- { "#116", "X", &fqdn_universe, 116 },
- { "#117", "X", &fqdn_universe, 117 },
- { "#118", "X", &fqdn_universe, 118 },
- { "#119", "X", &fqdn_universe, 119 },
- { "#120", "X", &fqdn_universe, 120 },
- { "#121", "X", &fqdn_universe, 121 },
- { "#122", "X", &fqdn_universe, 122 },
- { "#123", "X", &fqdn_universe, 123 },
- { "#124", "X", &fqdn_universe, 124 },
- { "#125", "X", &fqdn_universe, 125 },
- { "#126", "X", &fqdn_universe, 126 },
- { "#127", "X", &fqdn_universe, 127 },
- { "#128", "X", &fqdn_universe, 128 },
- { "#129", "X", &fqdn_universe, 129 },
- { "#130", "X", &fqdn_universe, 130 },
- { "#131", "X", &fqdn_universe, 131 },
- { "#132", "X", &fqdn_universe, 132 },
- { "#133", "X", &fqdn_universe, 133 },
- { "#134", "X", &fqdn_universe, 134 },
- { "#135", "X", &fqdn_universe, 135 },
- { "#136", "X", &fqdn_universe, 136 },
- { "#137", "X", &fqdn_universe, 137 },
- { "#138", "X", &fqdn_universe, 138 },
- { "#139", "X", &fqdn_universe, 139 },
- { "#140", "X", &fqdn_universe, 140 },
- { "#141", "X", &fqdn_universe, 141 },
- { "#142", "X", &fqdn_universe, 142 },
- { "#143", "X", &fqdn_universe, 143 },
- { "#144", "X", &fqdn_universe, 144 },
- { "#145", "X", &fqdn_universe, 145 },
- { "#146", "X", &fqdn_universe, 146 },
- { "#147", "X", &fqdn_universe, 147 },
- { "#148", "X", &fqdn_universe, 148 },
- { "#149", "X", &fqdn_universe, 149 },
- { "#150", "X", &fqdn_universe, 150 },
- { "#151", "X", &fqdn_universe, 151 },
- { "#152", "X", &fqdn_universe, 152 },
- { "#153", "X", &fqdn_universe, 153 },
- { "#154", "X", &fqdn_universe, 154 },
- { "#155", "X", &fqdn_universe, 155 },
- { "#156", "X", &fqdn_universe, 156 },
- { "#157", "X", &fqdn_universe, 157 },
- { "#158", "X", &fqdn_universe, 158 },
- { "#159", "X", &fqdn_universe, 159 },
- { "#160", "X", &fqdn_universe, 160 },
- { "#161", "X", &fqdn_universe, 161 },
- { "#162", "X", &fqdn_universe, 162 },
- { "#163", "X", &fqdn_universe, 163 },
- { "#164", "X", &fqdn_universe, 164 },
- { "#165", "X", &fqdn_universe, 165 },
- { "#166", "X", &fqdn_universe, 166 },
- { "#167", "X", &fqdn_universe, 167 },
- { "#168", "X", &fqdn_universe, 168 },
- { "#169", "X", &fqdn_universe, 169 },
- { "#170", "X", &fqdn_universe, 170 },
- { "#171", "X", &fqdn_universe, 171 },
- { "#172", "X", &fqdn_universe, 172 },
- { "#173", "X", &fqdn_universe, 173 },
- { "#174", "X", &fqdn_universe, 174 },
- { "#175", "X", &fqdn_universe, 175 },
- { "#176", "X", &fqdn_universe, 176 },
- { "#177", "X", &fqdn_universe, 177 },
- { "#178", "X", &fqdn_universe, 178 },
- { "#179", "X", &fqdn_universe, 179 },
- { "#180", "X", &fqdn_universe, 180 },
- { "#181", "X", &fqdn_universe, 181 },
- { "#182", "X", &fqdn_universe, 182 },
- { "#183", "X", &fqdn_universe, 183 },
- { "#184", "X", &fqdn_universe, 184 },
- { "#185", "X", &fqdn_universe, 185 },
- { "#186", "X", &fqdn_universe, 186 },
- { "#187", "X", &fqdn_universe, 187 },
- { "#188", "X", &fqdn_universe, 188 },
- { "#189", "X", &fqdn_universe, 189 },
- { "#190", "X", &fqdn_universe, 190 },
- { "#191", "X", &fqdn_universe, 191 },
- { "#192", "X", &fqdn_universe, 192 },
- { "#193", "X", &fqdn_universe, 193 },
- { "#194", "X", &fqdn_universe, 194 },
- { "#195", "X", &fqdn_universe, 195 },
- { "#196", "X", &fqdn_universe, 196 },
- { "#197", "X", &fqdn_universe, 197 },
- { "#198", "X", &fqdn_universe, 198 },
- { "#199", "X", &fqdn_universe, 199 },
- { "#200", "X", &fqdn_universe, 200 },
- { "#201", "X", &fqdn_universe, 201 },
- { "#202", "X", &fqdn_universe, 202 },
- { "#203", "X", &fqdn_universe, 203 },
- { "#204", "X", &fqdn_universe, 204 },
- { "#205", "X", &fqdn_universe, 205 },
- { "#206", "X", &fqdn_universe, 206 },
- { "#207", "X", &fqdn_universe, 207 },
- { "#208", "X", &fqdn_universe, 208 },
- { "#209", "X", &fqdn_universe, 209 },
- { "#210", "X", &fqdn_universe, 210 },
- { "#211", "X", &fqdn_universe, 211 },
- { "#212", "X", &fqdn_universe, 212 },
- { "#213", "X", &fqdn_universe, 213 },
- { "#214", "X", &fqdn_universe, 214 },
- { "#215", "X", &fqdn_universe, 215 },
- { "#216", "X", &fqdn_universe, 216 },
- { "#217", "X", &fqdn_universe, 217 },
- { "#218", "X", &fqdn_universe, 218 },
- { "#219", "X", &fqdn_universe, 219 },
- { "#220", "X", &fqdn_universe, 220 },
- { "#221", "X", &fqdn_universe, 221 },
- { "#222", "X", &fqdn_universe, 222 },
- { "#223", "X", &fqdn_universe, 223 },
- { "#224", "X", &fqdn_universe, 224 },
- { "#225", "X", &fqdn_universe, 225 },
- { "#226", "X", &fqdn_universe, 226 },
- { "#227", "X", &fqdn_universe, 227 },
- { "#228", "X", &fqdn_universe, 228 },
- { "#229", "X", &fqdn_universe, 229 },
- { "#230", "X", &fqdn_universe, 230 },
- { "#231", "X", &fqdn_universe, 231 },
- { "#232", "X", &fqdn_universe, 232 },
- { "#233", "X", &fqdn_universe, 233 },
- { "#234", "X", &fqdn_universe, 234 },
- { "#235", "X", &fqdn_universe, 235 },
- { "#236", "X", &fqdn_universe, 236 },
- { "#237", "X", &fqdn_universe, 237 },
- { "#238", "X", &fqdn_universe, 238 },
- { "#239", "X", &fqdn_universe, 239 },
- { "#240", "X", &fqdn_universe, 240 },
- { "#241", "X", &fqdn_universe, 241 },
- { "#242", "X", &fqdn_universe, 242 },
- { "#243", "X", &fqdn_universe, 243 },
- { "#244", "X", &fqdn_universe, 244 },
- { "#245", "X", &fqdn_universe, 245 },
- { "#246", "X", &fqdn_universe, 246 },
- { "#247", "X", &fqdn_universe, 247 },
- { "#248", "X", &fqdn_universe, 248 },
- { "#249", "X", &fqdn_universe, 249 },
- { "#250", "X", &fqdn_universe, 250 },
- { "#251", "X", &fqdn_universe, 251 },
- { "#252", "X", &fqdn_universe, 252 },
- { "#253", "X", &fqdn_universe, 253 },
- { "#254", "X", &fqdn_universe, 254 },
- { "#end", "e", &fqdn_universe, 255 },
+ { "unknown-9", "X", &fqdn_universe, 9 },
+ { "unknown-10", "X", &fqdn_universe, 10 },
+ { "unknown-11", "X", &fqdn_universe, 11 },
+ { "unknown-12", "X", &fqdn_universe, 12 },
+ { "unknown-13", "X", &fqdn_universe, 13 },
+ { "unknown-14", "X", &fqdn_universe, 14 },
+ { "unknown-15", "X", &fqdn_universe, 15 },
+ { "unknown-16", "X", &fqdn_universe, 16 },
+ { "unknown-17", "X", &fqdn_universe, 17 },
+ { "unknown-18", "X", &fqdn_universe, 18 },
+ { "unknown-19", "X", &fqdn_universe, 19 },
+ { "unknown-20", "X", &fqdn_universe, 20 },
+ { "unknown-21", "X", &fqdn_universe, 21 },
+ { "unknown-22", "X", &fqdn_universe, 22 },
+ { "unknown-23", "X", &fqdn_universe, 23 },
+ { "unknown-24", "X", &fqdn_universe, 24 },
+ { "unknown-25", "X", &fqdn_universe, 25 },
+ { "unknown-26", "X", &fqdn_universe, 26 },
+ { "unknown-27", "X", &fqdn_universe, 27 },
+ { "unknown-28", "X", &fqdn_universe, 28 },
+ { "unknown-29", "X", &fqdn_universe, 29 },
+ { "unknown-30", "X", &fqdn_universe, 30 },
+ { "unknown-31", "X", &fqdn_universe, 31 },
+ { "unknown-32", "X", &fqdn_universe, 32 },
+ { "unknown-33", "X", &fqdn_universe, 33 },
+ { "unknown-34", "X", &fqdn_universe, 34 },
+ { "unknown-35", "X", &fqdn_universe, 35 },
+ { "unknown-36", "X", &fqdn_universe, 36 },
+ { "unknown-37", "X", &fqdn_universe, 37 },
+ { "unknown-38", "X", &fqdn_universe, 38 },
+ { "unknown-39", "X", &fqdn_universe, 39 },
+ { "unknown-40", "X", &fqdn_universe, 40 },
+ { "unknown-41", "X", &fqdn_universe, 41 },
+ { "unknown-42", "X", &fqdn_universe, 42 },
+ { "unknown-43", "X", &fqdn_universe, 43 },
+ { "unknown-44", "X", &fqdn_universe, 44 },
+ { "unknown-45", "X", &fqdn_universe, 45 },
+ { "unknown-46", "X", &fqdn_universe, 46 },
+ { "unknown-47", "X", &fqdn_universe, 47 },
+ { "unknown-48", "X", &fqdn_universe, 48 },
+ { "unknown-49", "X", &fqdn_universe, 49 },
+ { "unknown-50", "X", &fqdn_universe, 50 },
+ { "unknown-51", "X", &fqdn_universe, 51 },
+ { "unknown-52", "X", &fqdn_universe, 52 },
+ { "unknown-53", "X", &fqdn_universe, 53 },
+ { "unknown-54", "X", &fqdn_universe, 54 },
+ { "unknown-55", "X", &fqdn_universe, 55 },
+ { "unknown-56", "X", &fqdn_universe, 56 },
+ { "unknown-57", "X", &fqdn_universe, 57 },
+ { "unknown-58", "X", &fqdn_universe, 58 },
+ { "unknown-59", "X", &fqdn_universe, 59 },
+ { "unknown-60", "X", &fqdn_universe, 60 },
+ { "unknown-61", "X", &fqdn_universe, 61 },
+ { "unknown-62", "X", &fqdn_universe, 62 },
+ { "unknown-63", "X", &fqdn_universe, 63 },
+ { "unknown-64", "X", &fqdn_universe, 64 },
+ { "unknown-65", "X", &fqdn_universe, 65 },
+ { "unknown-66", "X", &fqdn_universe, 66 },
+ { "unknown-67", "X", &fqdn_universe, 67 },
+ { "unknown-68", "X", &fqdn_universe, 68 },
+ { "unknown-69", "X", &fqdn_universe, 69 },
+ { "unknown-70", "X", &fqdn_universe, 70 },
+ { "unknown-71", "X", &fqdn_universe, 71 },
+ { "unknown-72", "X", &fqdn_universe, 72 },
+ { "unknown-73", "X", &fqdn_universe, 73 },
+ { "unknown-74", "X", &fqdn_universe, 74 },
+ { "unknown-75", "X", &fqdn_universe, 75 },
+ { "unknown-76", "X", &fqdn_universe, 76 },
+ { "unknown-77", "X", &fqdn_universe, 77 },
+ { "unknown-78", "X", &fqdn_universe, 78 },
+ { "unknown-79", "X", &fqdn_universe, 79 },
+ { "unknown-80", "X", &fqdn_universe, 80 },
+ { "unknown-81", "X", &fqdn_universe, 81 },
+ { "unknown-82", "X", &fqdn_universe, 82 },
+ { "unknown-83", "X", &fqdn_universe, 83 },
+ { "unknown-84", "X", &fqdn_universe, 84 },
+ { "unknown-85", "X", &fqdn_universe, 85 },
+ { "unknown-86", "X", &fqdn_universe, 86 },
+ { "unknown-87", "X", &fqdn_universe, 87 },
+ { "unknown-88", "X", &fqdn_universe, 88 },
+ { "unknown-89", "X", &fqdn_universe, 89 },
+ { "unknown-90", "X", &fqdn_universe, 90 },
+ { "unknown-91", "X", &fqdn_universe, 91 },
+ { "unknown-92", "X", &fqdn_universe, 92 },
+ { "unknown-93", "X", &fqdn_universe, 93 },
+ { "unknown-94", "X", &fqdn_universe, 94 },
+ { "unknown-95", "X", &fqdn_universe, 95 },
+ { "unknown-96", "X", &fqdn_universe, 96 },
+ { "unknown-97", "X", &fqdn_universe, 97 },
+ { "unknown-98", "X", &fqdn_universe, 98 },
+ { "unknown-99", "X", &fqdn_universe, 99 },
+ { "unknown-100", "X", &fqdn_universe, 100 },
+ { "unknown-101", "X", &fqdn_universe, 101 },
+ { "unknown-102", "X", &fqdn_universe, 102 },
+ { "unknown-103", "X", &fqdn_universe, 103 },
+ { "unknown-104", "X", &fqdn_universe, 104 },
+ { "unknown-105", "X", &fqdn_universe, 105 },
+ { "unknown-106", "X", &fqdn_universe, 106 },
+ { "unknown-107", "X", &fqdn_universe, 107 },
+ { "unknown-108", "X", &fqdn_universe, 108 },
+ { "unknown-109", "X", &fqdn_universe, 109 },
+ { "unknown-110", "X", &fqdn_universe, 110 },
+ { "unknown-111", "X", &fqdn_universe, 111 },
+ { "unknown-112", "X", &fqdn_universe, 112 },
+ { "unknown-113", "X", &fqdn_universe, 113 },
+ { "unknown-114", "X", &fqdn_universe, 114 },
+ { "unknown-115", "X", &fqdn_universe, 115 },
+ { "unknown-116", "X", &fqdn_universe, 116 },
+ { "unknown-117", "X", &fqdn_universe, 117 },
+ { "unknown-118", "X", &fqdn_universe, 118 },
+ { "unknown-119", "X", &fqdn_universe, 119 },
+ { "unknown-120", "X", &fqdn_universe, 120 },
+ { "unknown-121", "X", &fqdn_universe, 121 },
+ { "unknown-122", "X", &fqdn_universe, 122 },
+ { "unknown-123", "X", &fqdn_universe, 123 },
+ { "unknown-124", "X", &fqdn_universe, 124 },
+ { "unknown-125", "X", &fqdn_universe, 125 },
+ { "unknown-126", "X", &fqdn_universe, 126 },
+ { "unknown-127", "X", &fqdn_universe, 127 },
+ { "unknown-128", "X", &fqdn_universe, 128 },
+ { "unknown-129", "X", &fqdn_universe, 129 },
+ { "unknown-130", "X", &fqdn_universe, 130 },
+ { "unknown-131", "X", &fqdn_universe, 131 },
+ { "unknown-132", "X", &fqdn_universe, 132 },
+ { "unknown-133", "X", &fqdn_universe, 133 },
+ { "unknown-134", "X", &fqdn_universe, 134 },
+ { "unknown-135", "X", &fqdn_universe, 135 },
+ { "unknown-136", "X", &fqdn_universe, 136 },
+ { "unknown-137", "X", &fqdn_universe, 137 },
+ { "unknown-138", "X", &fqdn_universe, 138 },
+ { "unknown-139", "X", &fqdn_universe, 139 },
+ { "unknown-140", "X", &fqdn_universe, 140 },
+ { "unknown-141", "X", &fqdn_universe, 141 },
+ { "unknown-142", "X", &fqdn_universe, 142 },
+ { "unknown-143", "X", &fqdn_universe, 143 },
+ { "unknown-144", "X", &fqdn_universe, 144 },
+ { "unknown-145", "X", &fqdn_universe, 145 },
+ { "unknown-146", "X", &fqdn_universe, 146 },
+ { "unknown-147", "X", &fqdn_universe, 147 },
+ { "unknown-148", "X", &fqdn_universe, 148 },
+ { "unknown-149", "X", &fqdn_universe, 149 },
+ { "unknown-150", "X", &fqdn_universe, 150 },
+ { "unknown-151", "X", &fqdn_universe, 151 },
+ { "unknown-152", "X", &fqdn_universe, 152 },
+ { "unknown-153", "X", &fqdn_universe, 153 },
+ { "unknown-154", "X", &fqdn_universe, 154 },
+ { "unknown-155", "X", &fqdn_universe, 155 },
+ { "unknown-156", "X", &fqdn_universe, 156 },
+ { "unknown-157", "X", &fqdn_universe, 157 },
+ { "unknown-158", "X", &fqdn_universe, 158 },
+ { "unknown-159", "X", &fqdn_universe, 159 },
+ { "unknown-160", "X", &fqdn_universe, 160 },
+ { "unknown-161", "X", &fqdn_universe, 161 },
+ { "unknown-162", "X", &fqdn_universe, 162 },
+ { "unknown-163", "X", &fqdn_universe, 163 },
+ { "unknown-164", "X", &fqdn_universe, 164 },
+ { "unknown-165", "X", &fqdn_universe, 165 },
+ { "unknown-166", "X", &fqdn_universe, 166 },
+ { "unknown-167", "X", &fqdn_universe, 167 },
+ { "unknown-168", "X", &fqdn_universe, 168 },
+ { "unknown-169", "X", &fqdn_universe, 169 },
+ { "unknown-170", "X", &fqdn_universe, 170 },
+ { "unknown-171", "X", &fqdn_universe, 171 },
+ { "unknown-172", "X", &fqdn_universe, 172 },
+ { "unknown-173", "X", &fqdn_universe, 173 },
+ { "unknown-174", "X", &fqdn_universe, 174 },
+ { "unknown-175", "X", &fqdn_universe, 175 },
+ { "unknown-176", "X", &fqdn_universe, 176 },
+ { "unknown-177", "X", &fqdn_universe, 177 },
+ { "unknown-178", "X", &fqdn_universe, 178 },
+ { "unknown-179", "X", &fqdn_universe, 179 },
+ { "unknown-180", "X", &fqdn_universe, 180 },
+ { "unknown-181", "X", &fqdn_universe, 181 },
+ { "unknown-182", "X", &fqdn_universe, 182 },
+ { "unknown-183", "X", &fqdn_universe, 183 },
+ { "unknown-184", "X", &fqdn_universe, 184 },
+ { "unknown-185", "X", &fqdn_universe, 185 },
+ { "unknown-186", "X", &fqdn_universe, 186 },
+ { "unknown-187", "X", &fqdn_universe, 187 },
+ { "unknown-188", "X", &fqdn_universe, 188 },
+ { "unknown-189", "X", &fqdn_universe, 189 },
+ { "unknown-190", "X", &fqdn_universe, 190 },
+ { "unknown-191", "X", &fqdn_universe, 191 },
+ { "unknown-192", "X", &fqdn_universe, 192 },
+ { "unknown-193", "X", &fqdn_universe, 193 },
+ { "unknown-194", "X", &fqdn_universe, 194 },
+ { "unknown-195", "X", &fqdn_universe, 195 },
+ { "unknown-196", "X", &fqdn_universe, 196 },
+ { "unknown-197", "X", &fqdn_universe, 197 },
+ { "unknown-198", "X", &fqdn_universe, 198 },
+ { "unknown-199", "X", &fqdn_universe, 199 },
+ { "unknown-200", "X", &fqdn_universe, 200 },
+ { "unknown-201", "X", &fqdn_universe, 201 },
+ { "unknown-202", "X", &fqdn_universe, 202 },
+ { "unknown-203", "X", &fqdn_universe, 203 },
+ { "unknown-204", "X", &fqdn_universe, 204 },
+ { "unknown-205", "X", &fqdn_universe, 205 },
+ { "unknown-206", "X", &fqdn_universe, 206 },
+ { "unknown-207", "X", &fqdn_universe, 207 },
+ { "unknown-208", "X", &fqdn_universe, 208 },
+ { "unknown-209", "X", &fqdn_universe, 209 },
+ { "unknown-210", "X", &fqdn_universe, 210 },
+ { "unknown-211", "X", &fqdn_universe, 211 },
+ { "unknown-212", "X", &fqdn_universe, 212 },
+ { "unknown-213", "X", &fqdn_universe, 213 },
+ { "unknown-214", "X", &fqdn_universe, 214 },
+ { "unknown-215", "X", &fqdn_universe, 215 },
+ { "unknown-216", "X", &fqdn_universe, 216 },
+ { "unknown-217", "X", &fqdn_universe, 217 },
+ { "unknown-218", "X", &fqdn_universe, 218 },
+ { "unknown-219", "X", &fqdn_universe, 219 },
+ { "unknown-220", "X", &fqdn_universe, 220 },
+ { "unknown-221", "X", &fqdn_universe, 221 },
+ { "unknown-222", "X", &fqdn_universe, 222 },
+ { "unknown-223", "X", &fqdn_universe, 223 },
+ { "unknown-224", "X", &fqdn_universe, 224 },
+ { "unknown-225", "X", &fqdn_universe, 225 },
+ { "unknown-226", "X", &fqdn_universe, 226 },
+ { "unknown-227", "X", &fqdn_universe, 227 },
+ { "unknown-228", "X", &fqdn_universe, 228 },
+ { "unknown-229", "X", &fqdn_universe, 229 },
+ { "unknown-230", "X", &fqdn_universe, 230 },
+ { "unknown-231", "X", &fqdn_universe, 231 },
+ { "unknown-232", "X", &fqdn_universe, 232 },
+ { "unknown-233", "X", &fqdn_universe, 233 },
+ { "unknown-234", "X", &fqdn_universe, 234 },
+ { "unknown-235", "X", &fqdn_universe, 235 },
+ { "unknown-236", "X", &fqdn_universe, 236 },
+ { "unknown-237", "X", &fqdn_universe, 237 },
+ { "unknown-238", "X", &fqdn_universe, 238 },
+ { "unknown-239", "X", &fqdn_universe, 239 },
+ { "unknown-240", "X", &fqdn_universe, 240 },
+ { "unknown-241", "X", &fqdn_universe, 241 },
+ { "unknown-242", "X", &fqdn_universe, 242 },
+ { "unknown-243", "X", &fqdn_universe, 243 },
+ { "unknown-244", "X", &fqdn_universe, 244 },
+ { "unknown-245", "X", &fqdn_universe, 245 },
+ { "unknown-246", "X", &fqdn_universe, 246 },
+ { "unknown-247", "X", &fqdn_universe, 247 },
+ { "unknown-248", "X", &fqdn_universe, 248 },
+ { "unknown-249", "X", &fqdn_universe, 249 },
+ { "unknown-250", "X", &fqdn_universe, 250 },
+ { "unknown-251", "X", &fqdn_universe, 251 },
+ { "unknown-252", "X", &fqdn_universe, 252 },
+ { "unknown-253", "X", &fqdn_universe, 253 },
+ { "unknown-254", "X", &fqdn_universe, 254 },
+ { "unknown-end", "e", &fqdn_universe, 255 },
};
const char *hardware_types [] = {
diff --git a/contrib/isc-dhcp/includes/dhcpd.h b/contrib/isc-dhcp/includes/dhcpd.h
index 891678c37043..9aa23fcccb94 100644
--- a/contrib/isc-dhcp/includes/dhcpd.h
+++ b/contrib/isc-dhcp/includes/dhcpd.h
@@ -420,6 +420,11 @@ struct lease_state {
#define SV_UPDATE_STATIC_LEASES 43
#define SV_LOG_FACILITY 44
#define SV_DO_FORWARD_UPDATES 45
+#define SV_PING_TIMEOUT 46
+
+#if !defined (DEFAULT_PING_TIMEOUT)
+# define DEFAULT_PING_TIMEOUT 1
+#endif
#if !defined (DEFAULT_DEFAULT_LEASE_TIME)
# define DEFAULT_DEFAULT_LEASE_TIME 43200
diff --git a/contrib/isc-dhcp/includes/version.h b/contrib/isc-dhcp/includes/version.h
index cf8533059b4c..441727cb8179 100644
--- a/contrib/isc-dhcp/includes/version.h
+++ b/contrib/isc-dhcp/includes/version.h
@@ -1,3 +1,3 @@
/* Current version of ISC DHCP Distribution. */
-#define DHCP_VERSION "V3.0.1rc11"
+#define DHCP_VERSION "V3.0.1rc12"
diff --git a/contrib/isc-dhcp/minires/res_mkupdate.c b/contrib/isc-dhcp/minires/res_mkupdate.c
index 5520a83b8081..1d37b91b3bcf 100644
--- a/contrib/isc-dhcp/minires/res_mkupdate.c
+++ b/contrib/isc-dhcp/minires/res_mkupdate.c
@@ -21,7 +21,7 @@
*/
#if !defined(lint) && !defined(SABER)
-static const char rcsid[] = "$Id: res_mkupdate.c,v 1.7 2001/01/11 02:16:24 mellon Exp $";
+static const char rcsid[] = "$Id: res_mkupdate.c,v 1.7.2.2 2003/05/19 00:33:22 dhankins Exp $";
#endif /* not lint */
#include <sys/types.h>
@@ -52,6 +52,7 @@ static int gethexnum_str(const u_char **, const u_char *);
static int getword_str(char *, int,
const unsigned char **,
const unsigned char *);
+static int getphrase_str(char *, int, const u_char **, const u_char *);
static int getstr_str(char *, int, const u_char **, const u_char *);
struct valuelist {
@@ -101,7 +102,8 @@ res_nmkupdate(res_state statp,
u_int16_t rtype, rclass;
u_int32_t n1, rttl;
u_char *dnptrs[20], **dpp, **lastdnptr;
- unsigned siglen, keylen, certlen;
+ unsigned siglen, certlen;
+ int keylen;
unsigned buflen = *blp;
u_char *buf = (unsigned char *)bp;
@@ -234,7 +236,7 @@ res_nmkupdate(res_state statp,
case T_MR:
case T_NS:
case T_PTR:
- if (!getword_str(buf2, sizeof buf2, &startp, endp))
+ if (!getphrase_str(buf2, sizeof buf2, &startp, endp))
return (-1);
n = dn_comp(buf2, cp, buflen, dnptrs, lastdnptr);
if (n < 0)
@@ -549,36 +551,6 @@ res_nmkupdate(res_state statp,
cp += siglen;
break;
}
- case ns_t_key:
- /* flags */
- n = gethexnum_str(&startp, endp);
- if (n < 0)
- return (-1);
- ShrinkBuffer(INT16SZ);
- PUTSHORT(n, cp);
- /* proto */
- n = getnum_str(&startp, endp);
- if (n < 0)
- return (-1);
- ShrinkBuffer(1);
- *cp++ = n;
- /* alg */
- n = getnum_str(&startp, endp);
- if (n < 0)
- return (-1);
- ShrinkBuffer(1);
- *cp++ = n;
- /* key */
- if ((n = getword_str(buf2, sizeof buf2,
- &startp, endp)) < 0)
- return (-1);
- keylen = b64_pton(buf2, buf3, sizeof(buf3));
- if (keylen < 0)
- return (-1);
- ShrinkBuffer(keylen);
- memcpy(cp, buf3, keylen);
- cp += keylen;
- break;
case ns_t_nxt:
{
int success, nxt_type;
@@ -613,6 +585,38 @@ res_nmkupdate(res_state statp,
cp += n;
break;
}
+#endif
+#if 1
+ case ns_t_key:
+ /* flags */
+ n = gethexnum_str(&startp, endp);
+ if (n < 0)
+ return (-1);
+ ShrinkBuffer(INT16SZ);
+ PUTSHORT(n, cp);
+ /* proto */
+ n = getnum_str(&startp, endp);
+ if (n < 0)
+ return (-1);
+ ShrinkBuffer(1);
+ *cp++ = n;
+ /* alg */
+ n = getnum_str(&startp, endp);
+ if (n < 0)
+ return (-1);
+ ShrinkBuffer(1);
+ *cp++ = n;
+ /* key */
+ if ((n = getword_str(buf2, sizeof buf2,
+ &startp, endp)) < 0)
+ return (-1);
+ keylen = b64_pton(buf2, buf3, sizeof(buf3));
+ if (keylen < 0)
+ return (-1);
+ ShrinkBuffer(keylen);
+ memcpy(cp, buf3, keylen);
+ cp += keylen;
+ break;
case ns_t_cert:
/* type */
n = getnum_str(&startp, endp);
@@ -645,6 +649,8 @@ res_nmkupdate(res_state statp,
break;
#endif
default:
+ fprintf(stderr, "NSupdate of RR type: %d not implemented\n",
+ rrecp->r_type);
return (-1);
} /*switch*/
n = (u_int16_t)((cp - sp2) - INT16SZ);
@@ -689,6 +695,35 @@ getword_str(char *buf, int size, const u_char **startpp, const u_char *endp) {
}
/*
+ * Get a phrase - possibly containing blanks - from a string (not file)
+ * into buf. modify the start pointer to point after the
+ * phrase in the string.
+ */
+static int
+getphrase_str(char *buf, int size, const u_char **startpp, const u_char *endp) {
+ char *cp;
+ int c;
+
+ for (cp = buf; *startpp <= endp; ) {
+ c = **startpp;
+ if (isspace(c) && cp == buf ) {
+ /* leading whitespace */
+ (*startpp)++;
+ continue;
+ }
+ else if ( c == '\0' ) {
+ break;
+ }
+ (*startpp)++;
+ if (cp >= buf+size-1)
+ break;
+ *cp++ = (u_char)c;
+ }
+ *cp = '\0';
+ return (cp != buf);
+}
+
+/*
* get a white spae delimited string from memory. Process quoted strings
* and \DDD escapes. Return length or -1 on error. Returned string may
* contain nulls.
diff --git a/contrib/isc-dhcp/omapip/result.c b/contrib/isc-dhcp/omapip/result.c
index 8e6695ef9d45..9a1796c4e00e 100644
--- a/contrib/isc-dhcp/omapip/result.c
+++ b/contrib/isc-dhcp/omapip/result.c
@@ -119,7 +119,10 @@ static const char *text[ISC_R_NRESULTS] = {
const char *isc_result_totext (isc_result_t result)
{
+ static char ebuf[40];
+
if (result >= ISC_R_SUCCESS && result < ISC_R_NRESULTS)
return text [result];
- return "unknown error.";
+ sprintf(ebuf, "unknown error: %d", result);
+ return ebuf;
}