Commit 5fc8748f authored by Michael Gilbert's avatar Michael Gilbert

import upstream 4.3.5~b1

parent 1f3bdabd
Internet Systems Consortium DHCP Distribution
Version 4.3.4
29 March 2016
Version 4.3.5b1
7 September 2016
README FILE
......@@ -142,12 +142,12 @@ 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:
gunzip dhcp-4.3.4.tar.gz
tar xvf dhcp-4.3.4.tar
gunzip dhcp-4.3.5b1.tar.gz
tar xvf dhcp-4.3.5b1.tar
CONFIGURING IT
Now, cd to the dhcp-4.3.4 subdirectory that you've just created and
Now, cd to the dhcp-4.3.5b1 subdirectory that you've just created and
configure the source tree by typing:
./configure
......
Internet Systems Consortium DHCP Distribution
Version 4.3.4
29 March 2016
Version 4.3.5b1
7 September 2016
Release Notes
......@@ -52,6 +52,93 @@ ISC DHCP is open source software maintained by Internet Systems
Consortium. This product includes cryptographic software written
by Eric Young (eay@cryptsoft.com).
Changes since 4.3.4
- Fixed util/bindvar.sh error handling.
[ISC-Bugs #41973]
- Correct error message in relay to use remote id length instead
of circuit id length.
[ISC-Bugs #42556]
- Add support for including an encapsulated option in a response
from the DHCPv6 server. This allows the v6 FQDN option to be
returned in responses.
[ISC-Bugs #29246]
- Add logic to test directory Makefiles to avoid copying Attfile(s)
when building within the source tree. This eliminates a noisy but
otherwise harmless error message when running "make check".
[ISC-Bugs #41883]
- Leases are now scrubbed of certain prior use information when pool
re-balancing reassigns them from one FO peer to the other. This
corrects an issue where leases that were offered but ignored retained
the client hostname from the original client. Thanks to Pavel Polacek,
Jan Evangelista Purkyne University for reporting the issue.
[ISC-Bugs #42008]
- In the LDAP code and schema add some missing '6' characters to use
the v6 instead of the v4 versions. Thanks to Denis Taranushin for
reporting this issue and supplying its patch.
[ISC-Bugs #42666]
- Correct how the pick-first-value expression is written to a lease
file. Previously it was written as a concat expression due to
a cut and paste error.
[ISC-Bugs #42253]
- Modify the DDNS code to clean up the PTR record even if there
are issues while cleaning up the A or AAAA records.
[ISC-Bugs #23954]
- Added global configuration parameter, abandon-lease-time, which determines
the amount of time a lease remains abandoned. The default is 84600 seconds.
Additionaly, the server now conducts a ping check (if ping checks are
enabled) prior to offering an abandoned lease to client. Our thanks to
David Zych at University of Illinois for reporting the issue and working
with us to produce a viable solution.
[ISC-Bugs #41815]
- Correct handling of interface names during interface discovery. This
addresses an issue where interface names of 15 characters in length
could lead to crashes or interface recognition errors during startup
of dhcpd, dhclient, and dhcrelay.
[ISC-Bugs #42226]
- Updates to contrib/dhcp-lease-list.pl to make it more friendly.
They are looking for the lease file in more places and skipping
the "processing complete" output when creating machine readable
output. Thanks to Cameron Paine (cbp at null dot net) for the
patch.
[ISC-Bugs #42113]
- When reusing a lease for dhcp-cache-threshold return the hostname
to the original lease. Also if the host pointer, UID or hardware address
change don't allow reuse of the lease.
Thanks to Michael Vincent for reporting this and helping us
verify the problem and fix.
[ISC-Bugs #42849]
- Change dmalloc to use a size_t as the length argument to bring it
in line with the call it will make to malloc().
[ISC-Bugs #40843]
- If the failover socket can't be bound close it, otherwise if the
user configures an incorrect address in the failover stanza the
server will continue to open new sockets every 90 seconds until
it runs out.
[ISC-Bugs #42452]
- Add DHCPv4-mode, dhcrelay command line options, "-iu" and "-id", that
allow interfaces to be upstream or downstream respectively. Upstream
interfaces will accept and forward only BOOTP replies, while downstream
interfaces will accept and forward only BOOTP requests.
[ISC-Bugs #41547]
- Clean up some memory references in the vendor-class construct.
[ISC-Bugs #42984]
Changes since 4.3.4b1
- None
......@@ -262,6 +349,7 @@ by Eric Young (eay@cryptsoft.com).
! Add an option in site.h to limit the number of failover and control
connections the server will accept. By default this is 200.
[ISC-Bugs #41845]
CVE: CVE-2016-2774
Changes since 4.3.3b1
......@@ -571,7 +659,7 @@ by Eric Young (eay@cryptsoft.com).
the existing lease and the forward DNS name had not changed. This has been
corrected.
[ISC-Bugs #37368]
[ISC-Bugs #38686]
[ISC-Bugs #38636]
- Corrected an issue which caused dhclient to incorrectly form the result when
prepending or appending to the IPv4 domain-search option, received from the
......@@ -822,9 +910,6 @@ by Eric Young (eay@cryptsoft.com).
and our website for directions on bug submissions.
[ISC-Bugs #24789]
- Handle an absent resolv.conf file better.
[ISC-Bugs #35194]
Changes since 4.2.0 (new features)
- If a client renews before 'dhcp-cache-threshold' percent of its lease
......
.\" dhclient-script.8
.\"
.\" Copyright (c) 2012,2014 by Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (c) 2012,2014,2016 by Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (c) 2009-2010 by Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (c) 2004-2005 by Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (c) 1996-2003 by Internet Software Consortium
......@@ -122,11 +122,13 @@ passed in $interface. The media type is passed in $medium. Any
options acquired from the server are passed using the option name
described in \fBdhcp-options\fR, except that dashes (\'-\') are replaced
by underscores (\'_\') in order to make valid shell variables, and the
variable names start with new_. So for example, the new subnet mask
would be passed in $new_subnet_mask. The options that the client
variable names start with new_. So for example, the new subnet mask
would be passed in $new_subnet_mask. Options from a non-default
universe will have the universe name prepended to the option name, for
example $new_dhcp6_server_id. The options that the client
explicitly requested via a PRL or ORO option are passed with the same
option name as above but prepended with requested_ and with a value of 1,
or example requested_subnet_mask=1. No such variable is defined for
for example requested_subnet_mask=1. No such variable is defined for
options not requested by the client or options that don't require a
request option, such as the ip address (*_ip_address) or expiration
time (*_expiry).
......
......@@ -246,7 +246,7 @@ types together or even to share the lease file between them.
.BI \-4o6 \ port
Participate in the DHCPv4 over DHCPv6 protocol specified by RFC 7341.
This associates a DHCPv4 and a DHCPv6 client to allow the v4 client to
send v4 requests encapuslated in a v6 packet. Communication
send v4 requests encapsulated in a v6 packet. Communication
between the two clients is done on a pair of UDP sockets bound
to ::1 \fIport\fR and \fIport + 1\fR. Both clients must
be launched using the same \fIport\fR argument.
......
......@@ -296,7 +296,7 @@ server (see \fBdhcpd.conf\fR(5) for details). You also need to
configure the \fIfqdn\fR option on the client, as follows:
.PP
.nf
send fqdn.fqdn "grosse.fugue.com.";
send fqdn.fqdn "grosse.example.com.";
send fqdn.encoded on;
send fqdn.server-update off;
also request fqdn, dhcp6.fqdn;
......@@ -737,8 +737,9 @@ client. The \fIlink-type\fR and \fImac-address\fR parameters are configured
in a similar manner to the \fBhardware\fR statement.
.PP
.SH SAMPLE
The following configuration file is used on a laptop running NetBSD
1.3. The laptop has an IP alias of 192.5.5.213, and has one
The following configuration file was used on a laptop running NetBSD
1.3, though the domains have been modified.
The laptop has an IP alias of 192.5.5.213, and has one
interface, ep0 (a 3com 3C589C). Booting intervals have been
shortened somewhat from the default, because the client is known to
spend most of its time on networks with little DHCP activity. The
......@@ -754,11 +755,11 @@ initial-interval 2;
reject 192.33.137.209;
interface "ep0" {
send host-name "andare.fugue.com";
send host-name "andare.example.com";
hardware ethernet 00:a0:24:ab:fb:9c;
send dhcp-client-identifier 1:0:a0:24:ab:fb:9c;
send dhcp-lease-time 3600;
supersede domain-search "fugue.com", "rc.vix.com", "home.vix.com";
supersede domain-search "example.com", "rc.isc.org", "home.isc.org";
prepend domain-name-servers 127.0.0.1;
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, host-name;
......
send host-name = pick-first-value(gethostname(), "ISC-dhclient");
send dhcp-client-identifier 1:0:a0:24:ab:fb:9c;
send dhcp-lease-time 3600;
supersede domain-search "fugue.com", "home.vix.com";
supersede domain-search "example.com", "isc.org";
prepend domain-name-servers 127.0.0.1;
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, host-name;
......@@ -25,7 +25,7 @@ lease {
interface "ep0";
fixed-address 192.33.137.200;
medium "link0 link1";
option host-name "andare.swiftmedia.com";
option host-name "andare.example.com";
option subnet-mask 255.255.255.0;
option broadcast-address 192.33.137.255;
option routers 192.33.137.250;
......
......@@ -34,11 +34,13 @@ duid_unittests_LDADD = $(ATF_LDFLAGS)
duid_unittests_LDADD += $(DHCPLIBS)
check: $(ATF_TESTS)
-cp -n $(top_srcdir)/client/tests/Atffile Atffile
-cp -n $(top_srcdir)/client/tests/duid0_test.txt duid0_test.txt
-cp -n $(top_srcdir)/client/tests/duid1_test.txt duid1_test.txt
-cp -n $(top_srcdir)/client/tests/duid2_test.txt duid2_test.txt
-cp -n $(top_srcdir)/client/tests/duid3_test.txt duid3_test.txt
@if test $(top_srcdir) != ${top_builddir}; then \
cp $(top_srcdir)/client/tests/Atffile Atffile; \
cp $(top_srcdir)/client/tests/duid0_test.txt duid0_test.txt; \
cp $(top_srcdir)/client/tests/duid1_test.txt duid1_test.txt; \
cp $(top_srcdir)/client/tests/duid2_test.txt duid2_test.txt; \
cp $(top_srcdir)/client/tests/duid3_test.txt duid3_test.txt; \
fi
sh ${top_builddir}/tests/unittest.sh
distclean-local:
......
......@@ -332,8 +332,8 @@ next_iface(struct iface_info *info, int *err, struct iface_conf_list *ifaces) {
continue;
}
strcpy(info->name, p->lifr_name);
memset(&info->addr, 0, sizeof(info->addr));
memset(info, 0, sizeof(struct iface_info));
strncpy(info->name, p->lifr_name, sizeof(info->name) - 1);
memcpy(&info->addr, &p->lifr_addr, sizeof(p->lifr_addr));
#if defined(sun) || defined(__linux)
......@@ -349,7 +349,7 @@ next_iface(struct iface_info *info, int *err, struct iface_conf_list *ifaces) {
(strncmp(info->name, "dummy", 5) == 0));
memset(&tmp, 0, sizeof(tmp));
strcpy(tmp.lifr_name, info->name);
strncpy(tmp.lifr_name, info->name, sizeof(tmp.lifr_name) - 1);
if (ioctl(ifaces->sock, SIOCGLIFFLAGS, &tmp) < 0) {
log_error("Error getting interface flags for '%s'; %m",
p->lifr_name);
......@@ -664,7 +664,7 @@ next_iface6(struct iface_info *info, int *err, struct iface_conf_list *ifaces) {
log_error("IPv6 interface name '%s' too long", name);
return 0;
}
strcpy(info->name, name);
strncpy(info->name, name, sizeof(info->name) - 1);
#ifdef SKIP_DUMMY_INTERFACES
} while (strncmp(info->name, "dummy", 5) == 0);
......@@ -702,7 +702,7 @@ next_iface6(struct iface_info *info, int *err, struct iface_conf_list *ifaces) {
* Get our flags.
*/
memset(&tmp, 0, sizeof(tmp));
strcpy(tmp.ifr_name, name);
strncpy(tmp.ifr_name, name, sizeof(tmp.ifr_name) - 1);
if (ioctl(ifaces->sock, SIOCGIFFLAGS, &tmp) < 0) {
log_error("Error getting interface flags for '%s'; %m", name);
*err = 1;
......@@ -723,6 +723,7 @@ next_iface6(struct iface_info *info, int *err, struct iface_conf_list *ifaces) {
*/
int
next_iface(struct iface_info *info, int *err, struct iface_conf_list *ifaces) {
memset(info, 0, sizeof(struct iface_info));
if (next_iface4(info, err, ifaces)) {
return 1;
}
......@@ -815,7 +816,8 @@ next_iface(struct iface_info *info, int *err, struct iface_conf_list *ifaces) {
*err = 1;
return 0;
}
strcpy(info->name, ifaces->next->ifa_name);
memset(info, 0, sizeof(struct iface_info));
strncpy(info->name, ifaces->next->ifa_name, sizeof(info->name) - 1);
memcpy(&info->addr, ifaces->next->ifa_addr,
ifaces->next->ifa_addr->sa_len);
info->flags = ifaces->next->ifa_flags;
......@@ -948,8 +950,14 @@ discover_interfaces(int state) {
ir = 0;
else if (state == DISCOVER_UNCONFIGURED)
ir = INTERFACE_REQUESTED | INTERFACE_AUTOMATIC;
else
else {
ir = INTERFACE_REQUESTED;
if (state == DISCOVER_RELAY && local_family == AF_INET) {
/* We're a v4 relay without specifically requested
* interfaces, so mark them all as bidirectional. */
ir |= INTERFACE_STREAMS;
}
}
/* Cycle through the list of interfaces looking for IP addresses. */
while (next_iface(&info, &err, &ifaces)) {
......@@ -984,7 +992,7 @@ discover_interfaces(int state) {
log_fatal("Error allocating interface %s: %s",
info.name, isc_result_totext(status));
}
strcpy(tmp->name, info.name);
strncpy(tmp->name, info.name, sizeof(tmp->name) - 1);
interface_snorf(tmp, ir);
interface_dereference(&tmp, MDL);
tmp = interfaces; /* XXX */
......
......@@ -583,14 +583,14 @@ void execute_statements_in_scope (result, packet,
scope, we are done. This is so that if somebody does something
like this, it does the expected thing:
domain-name "fugue.com";
domain-name "example.com";
shared-network FOO {
host bar {
domain-name "othello.fugue.com";
domain-name "othello.example.com";
fixed-address 10.20.30.40;
}
subnet 10.20.30.0 netmask 255.255.255.0 {
domain-name "manhattan.fugue.com";
domain-name "manhattan.example.com";
}
}
......
This diff is collapsed.
......@@ -1537,8 +1537,10 @@ void initialize_common_option_spaces()
&vsio_universe, MDL);
universe_hash_add(universe_hash, isc6_universe.name, 0,
&isc6_universe, MDL);
/* This should not be necessary. Listing here just for consistency.
* universe_hash_add(universe_hash, fqdn6_universe.name, 0,
* &fqdn6_universe, MDL);
*/
/* previously this wasn't necessary, now that we can send
* v6 encapsulated options it is.
*/
universe_hash_add(universe_hash, fqdn6_universe.name, 0,
&fqdn6_universe, MDL);
}
......@@ -37,7 +37,9 @@ ns_name_unittest_LDADD += ../libdhcp.a \
$(BINDLIBDIR)/libdns.a $(BINDLIBDIR)/libisccfg.a $(BINDLIBDIR)/libisc.a
check: $(ATF_TESTS)
-cp -n $(top_srcdir)/common/tests/Atffile Atffile
@if test $(top_srcdir) != ${top_builddir}; then \
cp $(top_srcdir)/common/tests/Atffile Atffile; \
fi
sh ${top_builddir}/tests/unittest.sh
distclean-local:
......
......@@ -26,6 +26,7 @@
#include "config.h"
#include <atf-c.h>
#include "dhcpd.h"
#include "omapip/alloc.h"
static const char* checkString (struct data_string* ds, const char *src);
......@@ -539,6 +540,90 @@ ATF_TC_BODY(data_string_terminate, tc) {
data_string_forget(&new_string, MDL);
}
void checkBuffer(size_t test_size, const char *file, int line) {
char *buf;
size_t max_size;
/* Determine the maximum size we may have
* Depending on configuration options we may be adding some
* space to the allocated buffer for debugging purposes
* so remove that as well.
*/
max_size = ((size_t)-1) - DMDSIZE;
if (test_size > max_size) {
atf_tc_skip("Test size greater than max size, %zu", test_size);
return;
}
/* We allocate the buffer and then try to set the last character
* to a known value.
*/
buf = dmalloc(test_size, file, line);
if (buf != NULL) {
buf[test_size - 1] = 1;
if (buf[test_size - 1] != 1)
atf_tc_fail("Value mismatch for index %zu", test_size);
dfree(buf, file, line);
} else {
atf_tc_skip("Unable to allocate memory %zu", test_size);
}
}
#if 0
/* The max test presents some issues for some systems,
* leave it out for now
*/
ATF_TC(dmalloc_max32);
ATF_TC_HEAD(dmalloc_max32, tc) {
atf_tc_set_md_var(tc, "descr", "dmalloc_max32 test, "
"dmalloc 0xFFFFFFFF");
}
ATF_TC_BODY(dmalloc_max32, tc) {
checkBuffer(0XFFFFFFFF, MDL);
}
#endif
ATF_TC(dmalloc_med1);
ATF_TC_HEAD(dmalloc_med1, tc) {
atf_tc_set_md_var(tc, "descr", "dmalloc_med1 test, "
"dmalloc 0x80000000,");
}
ATF_TC_BODY(dmalloc_med1, tc) {
checkBuffer(0x80000000, MDL);
}
ATF_TC(dmalloc_med2);
ATF_TC_HEAD(dmalloc_med2, tc) {
atf_tc_set_md_var(tc, "descr", "dmalloc_med2 test, "
"dmalloc 0x7FFFFFFF, ");
}
ATF_TC_BODY(dmalloc_med2, tc) {
checkBuffer(0x7FFFFFFF, MDL);
}
ATF_TC(dmalloc_med3);
ATF_TC_HEAD(dmalloc_med3, tc) {
atf_tc_set_md_var(tc, "descr", "dmalloc_med3 test, "
"dmalloc 0x10000000,");
}
ATF_TC_BODY(dmalloc_med3, tc) {
checkBuffer(0x10000000, MDL);
}
ATF_TC(dmalloc_small);
ATF_TC_HEAD(dmalloc_small, tc) {
atf_tc_set_md_var(tc, "descr", "dmalloc_small test, "
"dmalloc 0x0FFFFFFF");
}
ATF_TC_BODY(dmalloc_small, tc) {
checkBuffer(0X0FFFFFFF, MDL);
}
ATF_TP_ADD_TCS(tp)
{
ATF_TP_ADD_TC(tp, buffer_allocate);
......@@ -550,6 +635,13 @@ ATF_TP_ADD_TCS(tp)
ATF_TP_ADD_TC(tp, data_string_copy_nobuf);
ATF_TP_ADD_TC(tp, data_string_new);
ATF_TP_ADD_TC(tp, data_string_terminate);
#if 0
ATF_TP_ADD_TC(tp, dmalloc_max32);
#endif
ATF_TP_ADD_TC(tp, dmalloc_med1);
ATF_TP_ADD_TC(tp, dmalloc_med2);
ATF_TP_ADD_TC(tp, dmalloc_med3);
ATF_TP_ADD_TC(tp, dmalloc_small);
return (atf_no_error());
}
......@@ -3645,7 +3645,7 @@ int write_expression (file, expr, col, indent, firstp)
case expr_pick_first_value:
e = expr;
col = token_print_indent (file, col, indent, "", "",
"concat");
"pick-first-value");
col = token_print_indent (file, col, indent, " ", "",
"(");
scol = col;
......
AC_INIT([DHCP],[4.3.4],[dhcp-users@isc.org])
AC_INIT([DHCP],[4.3.5b1],[dhcp-users@isc.org])
# we specify "foreign" to avoid having to have the GNU mandated files,
# like AUTHORS, COPYING, and such
......@@ -836,6 +836,9 @@ fi
AC_MSG_ERROR([*** util/bindvar.sh failed])
fi
)
if test $? -ne 0; then
exit $?
fi
cat > config.report << END
......
......@@ -17,12 +17,15 @@
# optional, sar
#
# 2016-01-19 - updated to better trim the manu string and output the hostnames, sar
#
# 2016-01-18 - Mainly cosmetics. Eliminated spurious output in "parsable" mode.
# Provided for the various conventional lease file locations. (cbp)
use strict;
use warnings;
use POSIX qw(strftime);
my $LEASES = '/var/db/dhcpd.leases';
my @LEASES = ('/var/db/dhcpd.leases', '/var/lib/dhcp/dhcpd.leases', '/var/lib/dhcp3/dhcpd.leases');
my @all_leases;
my @leases;
......@@ -69,7 +72,16 @@ sub check_oui_file() {
## Read current leases file into array.
sub read_dhcpd_leases() {
open(F, $LEASES) or die("Cannot open $LEASES: $!");
my $db;
for my $db_cand (@LEASES) {
if ( -r $db_cand) {
$db = $db_cand;
last;
}
}
die("Cannot find leases db") unless defined $db;
open(F, $db) or die("Cannot open $db: $!");
print("Reading leases from $db\n") if $opt_format eq 'human';
my $content = join('', <F>);
close(F);
@all_leases = split(/lease/, $content);
......@@ -86,7 +98,7 @@ sub process_leases() {
my $gm_now = strftime("%Y/%m/%d %H:%M:%S", gmtime());
my %tmp_leases; # for sorting and filtering
my $counter = 1;
my $counter = $opt_format eq 'human' ? 1 : 0;
# parse entries
foreach my $lease (@all_leases) {
......@@ -95,14 +107,16 @@ sub process_leases() {
# skip outdated lines
next if ($opt_keep eq 'active' and $3 lt $gm_now);
my $percent = (($counter / $total_leases)*100);
printf "Processing: %2d%% complete\r", $percent;
++$counter;
if ($counter) {
my $percent = (($counter / $total_leases)*100);
printf "Processing: %2d%% complete\r", $percent;
++$counter;
}
my $hostname = "-NA-";
if ($6) {
$hostname = $6;
}
my $hostname = "-NA-";
if ($6) {
$hostname = $6;
}
my $mac = $4;
my $date_end = $3;
......@@ -175,7 +189,9 @@ sub cli_processing() {
" --last prints the last (even if end<now) entry for every MAC\n".
" --all prints all entries i.e. more than one per MAC\n".
" --lease uses the next argument as the name of the lease file\n".
" the default is /var/db/dhcpd.leases\n".
" the default is to try /var/db/dhcpd.leases then\n".
" /var/lib/dhcp/dhcpd.leases then\n".
" /var/lib/dhcp3/dhcpd.leases\n".
"\n");
exit(0);
} elsif ($arg eq '--parsable') {
......@@ -185,7 +201,7 @@ sub cli_processing() {
} elsif ($arg eq '--all') {
$opt_keep = 'all';
} elsif ($arg eq '--lease') {
$LEASES = shift(@ARGV);
unshift @LEASES, shift(@ARGV);
} else {
die("Unknown option $arg");
}
......
......@@ -484,5 +484,5 @@ objectclass ( 2.16.840.1.113719.1.203.6.18
SUP top
MUST ( cn $ dhcpRange6 )
MAY ( dhcpClassesDN $ dhcpPermitList $ dhcpLeasesDN $ dhcpOptionsDN $ dhcpZoneDN $dhcpKeyDN $ dhcpStatements $ dhcpComments $ dhcpOption )
X-NDS_CONTAINMENT ('dhcpSubnet' 'dhcpSharedNetwork') )
X-NDS_CONTAINMENT ('dhcpSubnet6' 'dhcpSharedNetwork') )
......@@ -25,9 +25,9 @@ The v6 client and server processes can continue to process
DHCPv6 packets as normal but will also allow a DHCPv4 process
to connect to them via a socket. The DHCPv4 client will pass
a request to the DHCPv6 client which will encapsulate it within
a DHPCv6 request which is sent to the DHCPv6 server (possibly
a DHCPv6 request which is sent to the DHCPv6 server (possibly
via DHCPv6 relays). When the DHCPv6 server receives the packet
it will get the DHPCv4 query and pass it to the DHCPv4
it will get the DHCPv4 query and pass it to the DHCPv4
server. The response will by handled in a similar fashion.
When starting up the paired processes one should take care that
......@@ -217,5 +217,5 @@ and that the configuration, lease and process id files should have different
names. Again the The leases file (leases4) must be created before attempting
to start the server.
Finally note in the configuration file the use of the shared-netowrk to
Finally note in the configuration file the use of the shared-network to
connect the DHCPv4 and DHCPv6 subnets.
.\" $Id: dhclient-script.8,v 1.4 2009/11/24 02:06:56 sar Exp $
.\"
.\" Copyright (c) 2004,2009 by Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (c) 2004,2009,2016 by Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (c) 1996-2003 by Internet Software Consortium
.\"
.\" Permission to use, copy, modify, and distribute this software for any
......@@ -21,13 +21,6 @@
.\" <info@isc.org>
.\" https://www.isc.org/
.\"
.\" This software has been written for Internet Systems Consortium
.\" by Ted Lemon in cooperation with Vixie Enterprises and Nominum, Inc.
.\" To learn more about Internet Systems Consortium, see
.\" ``https://www.isc.org/''. To learn more about Vixie Enterprises,
.\" see ``http://www.vix.com''. To learn more about Nominum, Inc., see
.\" ``http://www.nominum.com''.
.\"
.\" %FreeBSD: src/contrib/isc-dhcp/client/dhclient-script.8,v 1.5.2.4 2002/04/11 10:16:45 murray Exp %
.\"
.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/dhclient-script.8,v 1.13 2002/05/08 03:27:27 horikawa Exp $
......
.\" $Id: dhclient.conf.5,v 1.4 2009/11/24 02:06:56 sar Exp $
.\"
.\" Copyright (c) 2004,2009 by Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (c) 2004,2009,2016 by Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (c) 1996-2003 by Internet Software Consortium
.\"
.\" Permission to use, copy, modify, and distribute this software for any
......@@ -21,13 +21,6 @@
.\" <info@isc.org>
.\" https://www.isc.org/
.\"
.\" This software has been written for Internet Systems Consortium
.\" by Ted Lemon in cooperation with Vixie Enterprises and Nominum, Inc.
.\" To learn more about Internet Systems Consortium, see
.\" ``https://www.isc.org/''. To learn more about Vixie Enterprises,
.\" see ``http://www.vix.com''. To learn more about Nominum, Inc., see
.\" ``http://www.nominum.com''.
.\"
.\" %FreeBSD: src/contrib/isc-dhcp/client/dhclient.conf.5,v 1.7.2.1 2002/04/11 10:16:46 murray Exp %
.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/dhclient.conf.5,v 1.6 2002/05/03 03:23:30 horikawa Exp $
.\" WORD: lease リース(アドレスの貸与)[dhclient.conf.5]
......@@ -237,7 +230,7 @@ DHCP
また、次のようにクライアントで fqdn オプションを設定する必要があります:
.PP
.nf
send fqdn.fqdn "grosse.fugue.com.";
send fqdn.fqdn "grosse.example.com.";
send fqdn.encoded on;
send fqdn.server-update off;
.fi
......@@ -591,10 +584,10 @@ initial-interval 2;
reject 192.33.137.209;
interface "ep0" {
send host-name "andare.fugue.com";
send host-name "andare.example.com";
send dhcp-client-identifier 1:0:a0:24:ab:fb:9c;
send dhcp-lease-time 3600;
supersede domain-name "fugue.com rc.vix.com home.vix.com";
supersede domain-name "example.com rc.isc.org home.isc.org";
prepend domain-name-servers 127.0.0.1;
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, host-name;
......
.\" $Id: dhclient.leases.5,v 1.4 2009/11/24 02:06:56 sar Exp $
.\"
.\" Copyright (c) 2004,2009 by Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (c) 2004,2009,2016 by Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (c) 1997-2003 by Internet Software Consortium
.\"
.\" Permission to use, copy, modify, and distribute this software for any
......@@ -21,13 +21,6 @@
.\" <info@isc.org>
.\" https://www.isc.org/
.\"
.\" This software has been written for Internet Systems Consortium
.\" by Ted Lemon in cooperation with Vixie
.\" Enterprises. To learn more about Internet Systems Consortium,
.\" see ``https://www.isc.org/''. To learn more about Vixie
.\" Enterprises, see ``http://www.vix.com''.
.\"
.\"
.\" %FreeBSD: src/contrib/isc-dhcp/client/dhclient.leases.5,v 1.2.4.1 2002/04/11 10:16:46 murray Exp %
.\"
.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/dhclient.leases.5,v 1.6 2002/05/05 20:40:23 horikawa Exp $
......
.\" $Id: dhcp-eval.5,v 1.5 2009/11/24 02:06:56 sar Exp $
.\"
.\" Copyright (c) 2004,2009 by Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (c) 2004,2009,2016 by Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (c) 1996-2003 by Internet Software Consortium
.\"
.\" Permission to use, copy, modify, and distribute this software for any
......@@ -21,12 +21,6 @@
.\" <info@isc.org>
.\" https://www.isc.org/
.\"
.\" This software has been written for Internet Systems Consortium
.\" by Ted Lemon in cooperation with Vixie Enterprises and Nominum, Inc.
.\" To learn more about Internet Systems Consortium, see