This commit was generated by cvs2svn to compensate for changes in r104185,

which included commits to RCS files with non-trunk default branches.
This commit is contained in:
Murray Stokely 2002-09-30 08:39:27 +00:00
commit a41fa0fa20
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=104186
12 changed files with 93 additions and 44 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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;

View File

@ -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;
}

View File

@ -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 */

View File

@ -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)

View File

@ -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);

View File

@ -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. */

View File

@ -1,3 +1,3 @@
/* Current version of ISC DHCP Distribution. */
#define DHCP_VERSION "V3.0.1rc8"
#define DHCP_VERSION "V3.0.1rc9"

View File

@ -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);