aboutsummaryrefslogtreecommitdiff
path: root/contrib/isc-dhcp
diff options
context:
space:
mode:
authorMurray Stokely <murray@FreeBSD.org>2002-09-30 08:39:27 +0000
committerMurray Stokely <murray@FreeBSD.org>2002-09-30 08:39:27 +0000
commitc36726bfe141f1a7628d282c436933ecc6ebc432 (patch)
tree359b47391748afceb1567d1ce2a0fca3fb6dc676 /contrib/isc-dhcp
parent33075c330b0eaa2f7c5b223aeb32a262a3b78c9d (diff)
downloadsrc-c36726bfe141f1a7628d282c436933ecc6ebc432.tar.gz
src-c36726bfe141f1a7628d282c436933ecc6ebc432.zip
Import ISC DHCP 3.0.1 RC9 client.
Notes
Notes: svn path=/vendor/isc-dhcp/dist/; revision=104185
Diffstat (limited to 'contrib/isc-dhcp')
-rw-r--r--contrib/isc-dhcp/README18
-rw-r--r--contrib/isc-dhcp/RELNOTES57
-rw-r--r--contrib/isc-dhcp/client/dhclient-script.82
-rw-r--r--contrib/isc-dhcp/client/dhclient.82
-rw-r--r--contrib/isc-dhcp/client/dhclient.c11
-rw-r--r--contrib/isc-dhcp/client/dhclient.conf.52
-rw-r--r--contrib/isc-dhcp/common/bpf.c4
-rw-r--r--contrib/isc-dhcp/common/dhcp-eval.58
-rw-r--r--contrib/isc-dhcp/common/dhcp-options.532
-rw-r--r--contrib/isc-dhcp/common/discover.c9
-rw-r--r--contrib/isc-dhcp/common/parse.c16
-rw-r--r--contrib/isc-dhcp/common/print.c6
-rwxr-xr-xcontrib/isc-dhcp/configure1
-rw-r--r--contrib/isc-dhcp/includes/cf/freebsd.h2
-rw-r--r--contrib/isc-dhcp/includes/dhcpd.h8
-rw-r--r--contrib/isc-dhcp/includes/site.h2
-rw-r--r--contrib/isc-dhcp/includes/version.h2
-rw-r--r--contrib/isc-dhcp/omapip/convert.c6
18 files changed, 130 insertions, 58 deletions
diff --git a/contrib/isc-dhcp/README b/contrib/isc-dhcp/README
index dad97796e623..3f20a82b942d 100644
--- a/contrib/isc-dhcp/README
+++ b/contrib/isc-dhcp/README
@@ -1,9 +1,9 @@
Internet Software Consortium DHCP Distribution
Version 3.0.1
- Release Candidate 8
- February 21, 2002
+ Release Candidate 9
+ April 28, 2002
- README FILE
+ README FILE
You should read this file carefully before trying to install or use
the ISC DHCP Distribution.
@@ -97,7 +97,7 @@ system.
RELEASE STATUS
-This is the second beta release of version 3.0 of the ISC DHCP
+This is the ninth 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.
@@ -143,14 +143,14 @@ information. On Digital Unix, type ``man pfilt''.
To build the DHCP Distribution, unpack the compressed tar file using
the tar utility and the gzip command - type something like:
- zcat dhcp-3.0.1rc8.tar.gz |tar xvf -
+ zcat dhcp-3.0.1rc9.tar.gz |tar xvf -
On BSD/OS, you have to type gzcat, not zcat, and you may run into
similar problems on other operating systems.
CONFIGURING IT
-Now, cd to the dhcp-3.0.1rc8 subdirectory that you've just
+Now, cd to the dhcp-3.0.1rc9 subdirectory that you've just
created and configure the source tree by typing:
./configure
@@ -435,6 +435,12 @@ running a version of FreeBSD prior to 2.2, and you find that dhcpd
can't communicate with its clients, you should #define BROKEN_FREEBSD_BPF
in site.h and recompile.
+Modern versions of FreeBSD include the ISC DHCP 3.0 client as part of
+the base system, and the full distribution (for the DHCP server and
+relay agent) is available from the Ports Collection in
+/usr/ports/net/isc-dhcp3, or as a package on FreeBSD installation
+CDROMs.
+
NeXTSTEP
The NeXTSTEP support uses the NeXTSTEP Berkeley Packet Filter
diff --git a/contrib/isc-dhcp/RELNOTES b/contrib/isc-dhcp/RELNOTES
index 7941094cb6bd..b8e85d5fe212 100644
--- a/contrib/isc-dhcp/RELNOTES
+++ b/contrib/isc-dhcp/RELNOTES
@@ -1,9 +1,9 @@
Internet Software Consortium DHCP Distribution
Version 3.0.1
- Release Candidate 8
- February 21, 2002
+ Release Candidate 9
+ April 30, 2002
- Release Notes
+ Release Notes
NEW FEATURES
@@ -46,6 +46,43 @@ 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.1rc8
+
+- Fix a format string vulnerability in the server that could lead to a
+ remote root compromise (discovered by NGSEC Research Team, www.ngsec.com).
+
+- Add additional support for NetBSD/sparc64.
+
+- Fix a bug in the command-line parsing of the client. Also, resolve
+ a memory leak.
+
+- Add better support for shells other than bash in the Linux client
+ script.
+
+- Various build fixes for modern versions of FreeBSD and Linux.
+
+- Fix a bad bounds check when printing binding state names.
+
+- Clarify documentation about fixed-address and multiple addresses.
+
+- Fix a typo in the authoritative error message.
+
+- Make a log entry when we can't write a billing class.
+
+- Use conversion targets that are the right size on all architectures.
+
+- Increment the hop count when relaying.
+
+- Log a message when lease state is changed through OMAPI.
+
+- Don't rerun the shared_network when evaluating the pool.
+
+- Fix a reversed test in the parser.
+
+- Change the type of rbuf_max.
+
+- Make FTS_LAST a manifest constant to quiet warnings.
+
Changes since 3.0.1rc7
- Fix two compiler warnings that are generated when compiling on Solaris
@@ -74,7 +111,7 @@ and for prodding me into improving it.
- Fix a bug where the FQDN option would not be returned if the client
requested it, contrary to the standard.
-- On Darwin, use the freebsd DHCP client script.
+- On Darwin, use the FreeBSD DHCP client script.
- On NetBSD/sparc, don't check for casting warnings.
@@ -262,7 +299,7 @@ and for prodding me into improving it.
- Finish fixing a bug where bogus data would sometimes get logged to
the dhclient.leases file because it was opened as descriptor 2.
-- Fix the linux dhclient-script according to suggestions made by
+- Fix the Linux dhclient-script according to suggestions made by
several people on the dhcp-client mailing list.
- Log successful DNS updates at LOG_INFO, not LOG_ERROR.
@@ -425,10 +462,10 @@ and for prodding me into improving it.
- Clean up the memory allocation/reference history printer.
-- Support input of dotted quads and colon-seperated hex lists as
+- Support input of dotted quads and colon-separated hex lists as
attribute values in omshell.
-- Fix a typo in the linux interface discovery code.
+- Fix a typo in the Linux interface discovery code.
- Conditionalize a piece of trace code that wasn't conditional.
@@ -462,7 +499,7 @@ and for prodding me into improving it.
- Fix compile problem on SunOS 4.x
-- If a signature algorithm is not termined with '.', terminate it so
+- If a signature algorithm is not terminated with '.', terminate it so
that comparisons between fully-qualified names will work
consistently.
@@ -496,7 +533,7 @@ and for prodding me into improving it.
- Change the conditions under which a DHCPRELEASE is actually
committed to be consistent with lease binding states rather than
- using the lease end time. THis may fix some problems with the
+ using the lease end time. This may fix some problems with the
billing class code.
- Fix a bug where lease updates would fail on Digital Unix (and maybe
@@ -675,7 +712,7 @@ and for prodding me into improving it.
given a lease where the hardware address was correct but the client
identifier was not, resulting in a lease conflict message.
-- Fix a problem where the server could write out a colon-seperated
+- Fix a problem where the server could write out a colon-separated
hex list as a value for a variable, which would then not parse.
The fix is to always write strings as quoted strings, with any
non-printable characters quoted as octal escape sequences. So
diff --git a/contrib/isc-dhcp/client/dhclient-script.8 b/contrib/isc-dhcp/client/dhclient-script.8
index 02b22527f4bd..acf7edcbc4a4 100644
--- a/contrib/isc-dhcp/client/dhclient-script.8
+++ b/contrib/isc-dhcp/client/dhclient-script.8
@@ -141,7 +141,7 @@ When a binding has been completed, a lot of network parameters are
likely to need to be set up. A new /etc/resolv.conf needs to be
created, using the values of $new_domain_name and
$new_domain_name_servers (which may list more than one server,
-seperated by spaces). A default route should be set using
+separated by spaces). A default route should be set using
$new_routers, and static routes may need to be set up using
$new_static_routes.
.PP
diff --git a/contrib/isc-dhcp/client/dhclient.8 b/contrib/isc-dhcp/client/dhclient.8
index ee158b2c276f..3213b87766db 100644
--- a/contrib/isc-dhcp/client/dhclient.8
+++ b/contrib/isc-dhcp/client/dhclient.8
@@ -245,7 +245,7 @@ supplying the
.B -nw
flag.
.SH CONFIGURATION
-The syntax of the dhclient.conf(5) file is discussed seperately.
+The syntax of the dhclient.conf(5) file is discussed separately.
.SH OMAPI
The DHCP client provides some ability to control it while it is
running, without stopping it. This capability is provided using OMAPI,
diff --git a/contrib/isc-dhcp/client/dhclient.c b/contrib/isc-dhcp/client/dhclient.c
index 03aff6254ba6..39edb87b9c46 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.9 2002/02/20 07:16:31 mellon Exp $ Copyright (c) 1995-2001 Internet Software Consortium. All rights reserved.\n";
+"$Id: dhclient.c,v 1.129.2.10 2002/04/26 23:33:05 murray Exp $ Copyright (c) 1995-2001 Internet Software Consortium. All rights reserved.\n";
#endif /* not lint */
#include "dhcpd.h"
@@ -198,8 +198,6 @@ int main (argc, argv, envp)
} else if (!strcmp (argv [i], "-w")) {
/* do not exit if there are no broadcast interfaces. */
persist = 1;
- } else if (argv [i][0] == '-') {
- usage ();
} else if (!strcmp (argv [i], "-e")) {
struct string_list *tmp;
if (++i == argc)
@@ -216,7 +214,9 @@ int main (argc, argv, envp)
exit (0);
} else if (!strcmp (argv [i], "-nw")) {
nowait = 1;
- } else {
+ } else if (argv [i][0] == '-') {
+ usage ();
+ } else {
struct interface_info *tmp = (struct interface_info *)0;
status = interface_allocate (&tmp, MDL);
if (status != ISC_R_SUCCESS)
@@ -1872,6 +1872,7 @@ void make_discover (client, lease)
(struct option_state *)0, options,
&global_scope, 0, 0, 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;
@@ -1938,6 +1939,7 @@ void make_request (client, lease)
(struct option_state *)0, client -> sent_options,
&global_scope, 0, 0, 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;
@@ -2008,6 +2010,7 @@ void make_decline (client, lease)
(struct option_state *)0, options,
&global_scope, 0, 0, 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;
option_state_dereference (&options, MDL);
diff --git a/contrib/isc-dhcp/client/dhclient.conf.5 b/contrib/isc-dhcp/client/dhclient.conf.5
index 3064675031e8..f08b6aed7678 100644
--- a/contrib/isc-dhcp/client/dhclient.conf.5
+++ b/contrib/isc-dhcp/client/dhclient.conf.5
@@ -538,7 +538,7 @@ A pseudo-interface is just another state machine running on the
interface named \fIreal-name\fR, with its own lease and its own
state. If you use this feature, you must provide a client identifier
for both the pseudo-interface and the actual interface, and the two
-identifiers must be different. You must also provide a seperate
+identifiers must be different. You must also provide a separate
client script for the pseudo-interface to do what you want with the IP
address. For example:
.PP
diff --git a/contrib/isc-dhcp/common/bpf.c b/contrib/isc-dhcp/common/bpf.c
index 49af907dcadb..6ca91bb83bd2 100644
--- a/contrib/isc-dhcp/common/bpf.c
+++ b/contrib/isc-dhcp/common/bpf.c
@@ -47,7 +47,7 @@
#ifndef lint
static char copyright[] =
-"$Id: bpf.c,v 1.48 2001/04/08 21:12:49 mellon Exp $ Copyright (c) 1995-2000 The Internet Software Consortium. All rights reserved.\n";
+"$Id: bpf.c,v 1.48.2.1 2002/04/30 05:12:53 murray Exp $ Copyright (c) 1995-2000 The Internet Software Consortium. All rights reserved.\n";
#endif /* not lint */
#include "dhcpd.h"
@@ -421,7 +421,7 @@ ssize_t receive_packet (interface, buf, len, from, hfrom)
if (interface -> rbuf_offset == interface -> rbuf_len) {
length = read (interface -> rfdesc,
interface -> rbuf,
- interface -> rbuf_max);
+ (size_t)interface -> rbuf_max);
if (length <= 0) {
if (errno == EIO) {
dhcp_interface_remove
diff --git a/contrib/isc-dhcp/common/dhcp-eval.5 b/contrib/isc-dhcp/common/dhcp-eval.5
index cbb77452da2b..e87c617026e0 100644
--- a/contrib/isc-dhcp/common/dhcp-eval.5
+++ b/contrib/isc-dhcp/common/dhcp-eval.5
@@ -261,10 +261,10 @@ hexadecimal value can be specified with '\xnn', where nn is any
positive hexadecimal number less than 0xff.
.RE
.PP
-.I colon-seperated hexadecimal list
+.I colon-separated hexadecimal list
.PP
.RS 0.25i
-A list of hexadecimal octet values, seperated by colons, may be
+A list of hexadecimal octet values, separated by colons, may be
specified as a data expression.
.RE
.PP
@@ -300,7 +300,7 @@ address.
.RS 0.25i
Converts the result of evaluating data-expr2 into a text string
containing one number for each element of the result of evaluating
-data-expr2. Each number is seperated from the other by the result of
+data-expr2. Each number is separated from the other by the result of
evaluating data-expr1. The result of evaluating numeric-expr1
specifies the base (2 through 16) into which the numbers should be
converted. The result of evaluating numeric-expr2 specifies the
@@ -421,7 +421,7 @@ Logging statements may be used to send information to the standard logging
channels. A logging statement includes an optional priority (\fBfatal\fR,
\fBerror\fR, \fBinfo\fR, or \fBdebug\fR), and a data expression.
.PP
-.B log (\fIpriority\fB, \fIdata-expr\FB)\fR
+.B log (\fIpriority\fB, \fIdata-expr\fB)\fR
.PP
Logging statements take only a single data expression argument, so if you
want to output multiple data values, you will need to use the \fBconcat\fR
diff --git a/contrib/isc-dhcp/common/dhcp-options.5 b/contrib/isc-dhcp/common/dhcp-options.5
index dd00e86738fc..33fd1e10c021 100644
--- a/contrib/isc-dhcp/common/dhcp-options.5
+++ b/contrib/isc-dhcp/common/dhcp-options.5
@@ -106,7 +106,7 @@ The
.B string
data type specifies either an NVT ASCII string
enclosed in double quotes, or a series of octets specified in
-hexadecimal, seperated by colons. For example:
+hexadecimal, separated by colons. For example:
.nf
.sp 1
option dhcp-client-identifier "CLIENT-FOO";
@@ -804,7 +804,7 @@ agent should only use the list of scopes provided in this option;
otherwise, it may use its own static configuration in preference to
the list provided in this option.
.PP
-The text string should be a comma-seperated list of scopes that the
+The text string should be a comma-separated list of scopes that the
SLP agent should use. It may be omitted, in which case the SLP Agent
will use the aggregated list of scopes of all directory agents known
to the SLP agent.
@@ -960,7 +960,7 @@ includes a URL that does not contain a port component, the normal
default port is assumed (i.e., port 80 for http and port 443 for
https). If the list includes a URL that does not contain a path
component, the path /uap is assumed. If more than one URL is
-specified in this list, the URLs are seperated by spaces.
+specified in this list, the URLs are separated by spaces.
.RE
.PP
.B option \fBuser-class\fR \fIstring\fR\fB;\fR
@@ -1131,6 +1131,28 @@ fully-qualified domain name, or a single label. If there is no trailing
generally update that name in some locally-defined domain.
.RE
.PP
+.B option fqdn.hostname \fI--never set--\fB;
+.RS 0.25i
+.PP
+This option should never be set, but it can be read back using the \fBoption\fR
+and \fBconfig-option\fR operators in an expression, in which case it returns
+the first label in the \fBfqdn.fqdn\fR suboption - for example, if
+the value of \fBfqdn.fqdn\fR is "foo.example.com.", then \fBfqdn.hostname\fR
+will be "foo".
+.RE
+.PP
+.B option fqdn.domainname \fI--never set--\fB;
+.RS 0.25i
+.PP
+This option should never be set, but it can be read back using the \fBoption\fR
+and \fBconfig-option\fR operators in an expression, in which case it returns
+all labels after the first label in the \fBfqdn.fqdn\fR suboption - for
+example, if the value of \fBfqdn.fqdn\fR is "foo.example.com.",
+then \fBfqdn.hostname\fR will be "example.com.". If this suboption value
+is not set, it means that an unqualified name was sent in the fqdn option,
+or that no fqdn option was sent at all.
+.RE
+.PP
If you wish to use any of these suboptions, we strongly recommend that you
refer to the Client FQDN option draft (or standard, when it becomes a
standard) - the documentation here is sketchy and incomplete in comparison,
@@ -1341,7 +1363,7 @@ option sql-default-connection-name "PRODZA";
.PP
An option whose type is a data string is essentially just a collection
of bytes, and can be specified either as quoted text, like the text
-type, or as a list of hexadecimal contents seperated by colons whose
+type, or as a list of hexadecimal contents separated by colons whose
values must be between 0 and FF. For example:
.nf
@@ -1421,7 +1443,7 @@ length does not include itself or the option code).
.PP
The value of this option can be set in one of two ways. The first
way is to simply specify the data directly, using a text string or a
-colon-seperated list of hexadecimal values. For example:
+colon-separated list of hexadecimal values. For example:
.PP
.nf
option vendor-encapsulated-options
diff --git a/contrib/isc-dhcp/common/discover.c b/contrib/isc-dhcp/common/discover.c
index 953bab0a1961..c52ecdb89303 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.8 2001/10/18 20:10:26 mellon Exp $ Copyright (c) 1995-2001 The Internet Software Consortium. All rights reserved.\n";
+"$Id: discover.c,v 1.42.2.9 2002/03/12 06:46:17 mellon Exp $ Copyright (c) 1995-2001 The Internet Software Consortium. All rights reserved.\n";
#endif /* not lint */
#include "dhcpd.h"
@@ -407,8 +407,11 @@ void discover_interfaces (state)
name, isc_result_totext (status));
tmp -> flags = ir;
strncpy (tmp -> name, name, IFNAMSIZ);
- interface_reference (&tmp -> next, interfaces, MDL);
- interface_dereference (&interfaces, MDL);
+ if (interfaces) {
+ interface_reference (&tmp -> next,
+ interfaces, MDL);
+ interface_dereference (&interfaces, MDL);
+ }
interface_reference (&interfaces, tmp, MDL);
interface_dereference (&tmp, MDL);
tmp = interfaces;
diff --git a/contrib/isc-dhcp/common/parse.c b/contrib/isc-dhcp/common/parse.c
index a2d13f868f7e..5f20dc7b67c6 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.8 2002/01/10 19:37:51 mellon Exp $ Copyright (c) 1995-2001 The Internet Software Consortium. All rights reserved.\n";
+"$Id: parse.c,v 1.104.2.9 2002/04/27 05:30:02 murray Exp $ Copyright (c) 1995-2001 The Internet Software Consortium. All rights reserved.\n";
#endif /* not lint */
#include "dhcpd.h"
@@ -1804,7 +1804,7 @@ int parse_executable_statement (result, cfile, lose, case_context)
executable_statement_dereference (result, MDL);
return 0;
}
- if (parse_semi (cfile)) {
+ if (!parse_semi (cfile)) {
*lose = 1;
executable_statement_dereference (result, MDL);
return 0;
@@ -1964,8 +1964,8 @@ int parse_executable_statement (result, cfile, lose, case_context)
log_fatal ("no memory for new zone.");
zone -> name = parse_host_name (cfile);
if (!zone -> name) {
- badzone:
parse_warn (cfile, "expecting hostname.");
+ badzone:
*lose = 1;
skip_to_semi (cfile);
dns_zone_dereference (&zone, MDL);
@@ -1974,8 +1974,10 @@ int parse_executable_statement (result, cfile, lose, case_context)
i = strlen (zone -> name);
if (zone -> name [i - 1] != '.') {
s = dmalloc ((unsigned)i + 2, MDL);
- if (!s)
+ if (!s) {
+ parse_warn (cfile, "no trailing '.' on zone");
goto badzone;
+ }
strcpy (s, zone -> name);
s [i] = '.';
s [i + 1] = 0;
@@ -1986,10 +1988,8 @@ int parse_executable_statement (result, cfile, lose, case_context)
goto badzone;
status = enter_dns_zone (zone);
if (status != ISC_R_SUCCESS) {
- if (parse_semi (cfile))
- parse_warn (cfile, "dns zone key %s: %s",
- zone -> name,
- isc_result_totext (status));
+ parse_warn (cfile, "dns zone key %s: %s",
+ zone -> name, isc_result_totext (status));
dns_zone_dereference (&zone, MDL);
return 0;
}
diff --git a/contrib/isc-dhcp/common/print.c b/contrib/isc-dhcp/common/print.c
index bd244c4bba43..49f10762c0d7 100644
--- a/contrib/isc-dhcp/common/print.c
+++ b/contrib/isc-dhcp/common/print.c
@@ -43,7 +43,7 @@
#ifndef lint
static char copyright[] =
-"$Id: print.c,v 1.53.2.5 2002/02/09 03:23:19 mellon Exp $ Copyright (c) 1995-2001 The Internet Software Consortium. All rights reserved.\n";
+"$Id: print.c,v 1.53.2.6 2002/04/26 20:17:06 murray Exp $ Copyright (c) 1995-2001 The Internet Software Consortium. All rights reserved.\n";
#endif /* not lint */
#include "dhcpd.h"
@@ -1366,8 +1366,8 @@ void print_dns_status (int status, ns_updque *uq)
*s++ = '.';
*s++ = 0;
if (errorp)
- log_error (obuf);
+ log_error ("%s", obuf);
else
- log_info (obuf);
+ log_info ("%s", obuf);
}
#endif /* NSUPDATE */
diff --git a/contrib/isc-dhcp/configure b/contrib/isc-dhcp/configure
index b1db0f0704e8..6fae199b3d31 100755
--- a/contrib/isc-dhcp/configure
+++ b/contrib/isc-dhcp/configure
@@ -119,6 +119,7 @@ if [ "$sysname" = "" ]; then
arm32) sysname=netbsd-nocast;;
alpha) sysname=netbsd-nocast;;
sparc) sysname=netbsd-nocast;;
+ sparc64) sysname=netbsd-nocast;;
*) sysname=netbsd;;
esac;;
OpenBSD)
diff --git a/contrib/isc-dhcp/includes/cf/freebsd.h b/contrib/isc-dhcp/includes/cf/freebsd.h
index 590d0e81ea08..2b6eee2619bf 100644
--- a/contrib/isc-dhcp/includes/cf/freebsd.h
+++ b/contrib/isc-dhcp/includes/cf/freebsd.h
@@ -41,8 +41,6 @@
* ``http://www.nominum.com''.
*/
-#define _ANSI_SOURCE
-
#include <syslog.h>
#include <sys/types.h>
#include <string.h>
diff --git a/contrib/isc-dhcp/includes/dhcpd.h b/contrib/isc-dhcp/includes/dhcpd.h
index 155d3bf9a2e8..0db04f7dc1b1 100644
--- a/contrib/isc-dhcp/includes/dhcpd.h
+++ b/contrib/isc-dhcp/includes/dhcpd.h
@@ -272,9 +272,11 @@ typedef enum {
FTS_ABANDONED = 5,
FTS_RESET = 6,
FTS_BACKUP = 7,
- FTS_LAST = 8
} binding_state_t;
+/* FTS_LAST is the highest value that is valid for a lease binding state. */
+#define FTS_LAST FTS_BACKUP
+
/* A dhcp lease declaration structure. */
struct lease {
OMAPI_OBJECT_PREAMBLE;
@@ -781,7 +783,7 @@ struct interface_info {
int wfdesc; /* Its write file descriptor, if
different. */
unsigned char *rbuf; /* Read buffer, if required. */
- size_t rbuf_max; /* Size of read buffer. */
+ unsigned int rbuf_max; /* Size of read buffer. */
size_t rbuf_offset; /* Current offset into buffer. */
size_t rbuf_len; /* Length of data in buffer. */
@@ -2411,7 +2413,7 @@ int find_hosts_by_uid PROTO ((struct host_decl **, const unsigned char *,
unsigned, const char *, int));
int find_host_for_network PROTO ((struct subnet **, struct host_decl **,
struct iaddr *, struct shared_network *));
-void new_address_range PROTO ((struct iaddr, struct iaddr,
+void new_address_range PROTO ((struct parse *, struct iaddr, struct iaddr,
struct subnet *, struct pool *,
struct lease **));
isc_result_t dhcp_lease_free (omapi_object_t *, const char *, int);
diff --git a/contrib/isc-dhcp/includes/site.h b/contrib/isc-dhcp/includes/site.h
index bc8ca465f969..b4d910a0e4ff 100644
--- a/contrib/isc-dhcp/includes/site.h
+++ b/contrib/isc-dhcp/includes/site.h
@@ -89,7 +89,7 @@
/* Define this if you want all leases written to the lease file, even if
they are free leases that have never been used. */
-#define DEBUG_DUMP_ALL_LEASES
+/* #define DEBUG_DUMP_ALL_LEASES */
/* Define this if you want DHCP failover protocol support in the DHCP
server. */
diff --git a/contrib/isc-dhcp/includes/version.h b/contrib/isc-dhcp/includes/version.h
index 91c875f328a8..59e9c280e85c 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.1rc8"
+#define DHCP_VERSION "V3.0.1rc9"
diff --git a/contrib/isc-dhcp/omapip/convert.c b/contrib/isc-dhcp/omapip/convert.c
index 83d5fc3b292a..b313959d08ad 100644
--- a/contrib/isc-dhcp/omapip/convert.c
+++ b/contrib/isc-dhcp/omapip/convert.c
@@ -44,7 +44,7 @@
#ifndef lint
static char copyright[] =
-"$Id: convert.c,v 1.1 2000/08/01 22:34:36 neild Exp $ Copyright (c) 1996-1999 The Internet Software Consortium. All rights reserved.\n";
+"$Id: convert.c,v 1.1.2.1 2002/04/27 05:35:20 murray Exp $ Copyright (c) 1996-1999 The Internet Software Consortium. All rights reserved.\n";
#endif /* not lint */
#include <omapip/omapip_p.h>
@@ -52,7 +52,7 @@ static char copyright[] =
u_int32_t getULong (buf)
const unsigned char *buf;
{
- unsigned long ibuf;
+ u_int32_t ibuf;
memcpy (&ibuf, buf, sizeof (u_int32_t));
return ntohl (ibuf);
@@ -61,7 +61,7 @@ u_int32_t getULong (buf)
int32_t getLong (buf)
const unsigned char *buf;
{
- long ibuf;
+ int32_t ibuf;
memcpy (&ibuf, buf, sizeof (int32_t));
return ntohl (ibuf);