summaryrefslogtreecommitdiffstats
path: root/contrib/isc-dhcp
diff options
context:
space:
mode:
authormurray <murray@FreeBSD.org>2002-09-30 08:39:27 +0000
committermurray <murray@FreeBSD.org>2002-09-30 08:39:27 +0000
commita0b500f866e54d9ce8def00d72daac852505461e (patch)
tree359b47391748afceb1567d1ce2a0fca3fb6dc676 /contrib/isc-dhcp
parenta916d35e05e0f886097009e26d33c65a1ea5c370 (diff)
downloadFreeBSD-src-a0b500f866e54d9ce8def00d72daac852505461e.zip
FreeBSD-src-a0b500f866e54d9ce8def00d72daac852505461e.tar.gz
Import ISC DHCP 3.0.1 RC9 client.
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 dad9779..3f20a82 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 7941094..b8e85d5 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 02b2252..acf7edc 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 ee158b2..3213b87 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 03aff62..39edb87 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 3064675..f08b6ae 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 49af907..6ca91bb 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 cbb7745..e87c617 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 dd00e86..33fd1e1 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 953bab0..c52ecdb 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 a2d13f8..5f20dc7 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 bd244c4..49f1076 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 b1db0f0..6fae199 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 590d0e8..2b6eee2 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 155d3bf..0db04f7 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 bc8ca46..b4d910a 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 91c875f..59e9c28 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 83d5fc3..b313959 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);
OpenPOWER on IntegriCloud