summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWlodek Wencel <wlodek@isc.org>2022-01-25 18:57:28 +0100
committerWlodek Wencel <wlodek@isc.org>2022-01-25 18:57:28 +0100
commite9d37e26897a349f8483092fd0305ea03a97b0e2 (patch)
tree5ccf3e3afaee5c9cbce00d23db33c4af019de32b
parent8eec892acc041bbdb361d1c1ac36a26b3d3cc2db (diff)
parent3d53b2f2a0369c2af83c738d4e8194077315cbb4 (diff)
downloadisc-dhcp-v4_4.tar.gz
resolved merge conflictsv4_4_3b1v4_4
-rw-r--r--.gitignore7
-rw-r--r--CONTRIBUTING.md8
-rw-r--r--LICENSE16
-rw-r--r--Makefile.in15
-rw-r--r--README48
-rw-r--r--RELNOTES77
-rw-r--r--aclocal.m475
-rw-r--r--bind/Makefile.in1
-rw-r--r--bind/bind.tar.gzbin8376949 -> 8507011 bytes
-rw-r--r--bind/version.tmp2
-rw-r--r--client/Makefile.in10
-rw-r--r--client/client_tables.c6
-rw-r--r--client/clparse.c28
-rw-r--r--client/dhc6.c6
-rw-r--r--client/dhclient-script.814
-rw-r--r--client/dhclient.86
-rw-r--r--client/dhclient.c205
-rw-r--r--client/dhclient.conf.516
-rw-r--r--client/dhclient.leases.56
-rwxr-xr-xclient/scripts/linux10
-rw-r--r--client/tests/Makefile.in10
-rw-r--r--client/tests/duid_unittest.c6
-rw-r--r--common/Makefile.in10
-rw-r--r--common/alloc.c6
-rw-r--r--common/bpf.c12
-rw-r--r--common/comapi.c21
-rw-r--r--common/conflex.c79
-rw-r--r--common/ctrace.c16
-rw-r--r--common/dhcp-eval.512
-rw-r--r--common/dhcp-options.516
-rw-r--r--common/dhcp4o6.c6
-rw-r--r--common/discover.c96
-rw-r--r--common/dispatch.c12
-rw-r--r--common/dlpi.c172
-rw-r--r--common/dns.c6
-rw-r--r--common/ethernet.c6
-rw-r--r--common/execute.c18
-rw-r--r--common/fddi.c8
-rw-r--r--common/icmp.c8
-rw-r--r--common/inet.c64
-rw-r--r--common/lpf.c10
-rw-r--r--common/memory.c6
-rw-r--r--common/nit.c6
-rw-r--r--common/ns_name.c10
-rw-r--r--common/options.c8
-rw-r--r--common/packet.c18
-rw-r--r--common/parse.c120
-rw-r--r--common/print.c6
-rw-r--r--common/raw.c6
-rw-r--r--common/resolv.c8
-rw-r--r--common/socket.c104
-rw-r--r--common/tables.c11
-rw-r--r--common/tests/Makefile.in10
-rw-r--r--common/tr.c14
-rw-r--r--common/tree.c74
-rw-r--r--common/upf.c8
-rwxr-xr-xconfigure50
-rw-r--r--configure.ac12
-rw-r--r--configure.ac+lt6
-rw-r--r--configure.ac-base6
-rw-r--r--configure.ac-lt6
-rw-r--r--dhcpctl/Makefile.am9
-rw-r--r--dhcpctl/Makefile.am.in9
-rw-r--r--dhcpctl/Makefile.in41
-rw-r--r--dhcpctl/callback.c11
-rw-r--r--dhcpctl/cltest.c8
-rw-r--r--dhcpctl/cltest2.c310
-rw-r--r--dhcpctl/dhcpctl.3170
-rw-r--r--dhcpctl/dhcpctl.c221
-rw-r--r--dhcpctl/dhcpctl.h22
-rw-r--r--dhcpctl/omshell.19
-rw-r--r--dhcpctl/omshell.c99
-rw-r--r--dhcpctl/remote.c11
-rw-r--r--doc/Makefile6
-rw-r--r--doc/References.html20
-rw-r--r--doc/References.txt13
-rw-r--r--doc/References.xml27
-rw-r--r--doc/ja_JP.eucJP/dhclient-script.8352
-rw-r--r--doc/ja_JP.eucJP/dhclient.8434
-rw-r--r--doc/ja_JP.eucJP/dhclient.conf.5710
-rw-r--r--doc/ja_JP.eucJP/dhclient.leases.548
-rw-r--r--doc/ja_JP.eucJP/dhcp-eval.5530
-rw-r--r--doc/ja_JP.eucJP/dhcp-options.51394
-rw-r--r--includes/Makefile.in10
-rw-r--r--includes/arpa/nameser.h10
-rw-r--r--includes/cdefs.h8
-rw-r--r--includes/config.h.in6
-rw-r--r--includes/ctrace.h8
-rw-r--r--includes/dhcp.h8
-rw-r--r--includes/dhcp6.h6
-rw-r--r--includes/dhcpd.h18
-rw-r--r--includes/dhctoken.h9
-rw-r--r--includes/failover.h6
-rw-r--r--includes/inet.h9
-rw-r--r--includes/ldap_casa.h49
-rw-r--r--includes/netinet/udp.h6
-rw-r--r--includes/ns_name.h6
-rw-r--r--includes/omapip/alloc.h6
-rw-r--r--includes/omapip/buffer.h9
-rw-r--r--includes/omapip/convert.h6
-rw-r--r--includes/omapip/hash.h6
-rw-r--r--includes/omapip/isclib.h6
-rw-r--r--includes/omapip/omapip.h28
-rw-r--r--includes/omapip/omapip_p.h11
-rw-r--r--includes/omapip/result.h66
-rw-r--r--includes/omapip/trace.h8
-rw-r--r--includes/osdep.h6
-rw-r--r--includes/site.h1
-rw-r--r--includes/statement.h7
-rw-r--r--includes/tree.h12
-rw-r--r--keama/ChangeLog.md6
-rw-r--r--keama/Makefile.in13
-rw-r--r--keama/conflex.c73
-rw-r--r--keama/confparse.c62
-rw-r--r--keama/data.c16
-rw-r--r--keama/data.h6
-rw-r--r--keama/dhctoken.h6
-rw-r--r--keama/eval.c22
-rw-r--r--keama/json.c6
-rw-r--r--keama/keama.86
-rw-r--r--keama/keama.c17
-rw-r--r--keama/keama.h16
-rw-r--r--keama/options.c9
-rw-r--r--keama/parse.c82
-rw-r--r--keama/print.c14
-rw-r--r--keama/reduce.c10
-rw-r--r--omapip/Makefile.in10
-rw-r--r--omapip/alloc.c39
-rw-r--r--omapip/array.c9
-rw-r--r--omapip/auth.c10
-rw-r--r--omapip/buffer.c25
-rw-r--r--omapip/connection.c159
-rw-r--r--omapip/convert.c6
-rw-r--r--omapip/dispatch.c149
-rw-r--r--omapip/errwarn.c6
-rw-r--r--omapip/generic.c20
-rw-r--r--omapip/handle.c16
-rw-r--r--omapip/hash.c14
-rw-r--r--omapip/isclib.c12
-rw-r--r--omapip/listener.c21
-rw-r--r--omapip/message.c22
-rw-r--r--omapip/omapi.318
-rw-r--r--omapip/protocol.c32
-rw-r--r--omapip/result.c8
-rw-r--r--omapip/support.c18
-rw-r--r--omapip/test.c6
-rw-r--r--omapip/toisc.c6
-rw-r--r--omapip/trace.c24
-rw-r--r--relay/Makefile.in10
-rw-r--r--relay/dhcrelay.810
-rw-r--r--relay/dhcrelay.c25
-rw-r--r--relay/tests/Makefile.in10
-rw-r--r--relay/tests/relay_unittests.c32
-rw-r--r--server/Makefile.dist4
-rw-r--r--server/Makefile.in10
-rw-r--r--server/bootp.c10
-rw-r--r--server/class.c6
-rw-r--r--server/confpars.c215
-rw-r--r--server/db.c6
-rw-r--r--server/ddns.c6
-rw-r--r--server/dhcp.c6
-rw-r--r--server/dhcpd.826
-rw-r--r--server/dhcpd.c12
-rw-r--r--server/dhcpd.conf.58
-rw-r--r--server/dhcpd.leases.56
-rw-r--r--server/failover.c8
-rw-r--r--server/ldap_casa.c49
-rw-r--r--server/leasechain.c40
-rw-r--r--server/mdb.c8
-rw-r--r--server/mdb6.c2
-rw-r--r--server/omapi.c10
-rw-r--r--server/salloc.c6
-rw-r--r--server/stables.c8
-rw-r--r--server/tests/Makefile.in10
-rw-r--r--server/tests/hash_unittest.c8
-rw-r--r--tests/DHCPv6/000-badmsgtype.pl25
-rw-r--r--tests/DHCPv6/010-solicit-noclientid.pl27
-rw-r--r--tests/DHCPv6/011-solicit-serverid.pl27
-rw-r--r--tests/DHCPv6/020-advertise-mcast.pl25
-rw-r--r--tests/DHCPv6/030-request-noclientid.pl27
-rw-r--r--tests/DHCPv6/031-request-noserverid.pl27
-rw-r--r--tests/DHCPv6/032-request-badduid.pl27
-rw-r--r--tests/DHCPv6/110-information-request-ia_na.pl27
-rw-r--r--tests/DHCPv6/111-information-request-ia_ta.pl27
-rw-r--r--tests/DHCPv6/112-badduid.pl27
-rw-r--r--tests/DHCPv6/210-solicit-nohost.pl27
-rw-r--r--tests/DHCPv6/211-solicit-opt-in-na.pl27
-rw-r--r--tests/DHCPv6/212-solicit-opt-in-na-norapidcommit.pl27
-rw-r--r--tests/DHCPv6/280-release-nohost.pl25
-rw-r--r--tests/DHCPv6/281-release-bad-address.pl25
-rw-r--r--tests/DHCPv6/282-release-no-address.pl25
-rw-r--r--tests/DHCPv6/283-release.pl25
-rw-r--r--tests/DHCPv6/290-decline-nohost.pl25
-rw-r--r--tests/DHCPv6/291-decline-bad-address.pl25
-rw-r--r--tests/DHCPv6/292-decline-no-address.pl25
-rw-r--r--tests/DHCPv6/293-decline.pl25
-rw-r--r--tests/DHCPv6/dhcp_client.pm35
-rw-r--r--tests/DHCPv6/stubcli-opt-in-na.pl27
-rw-r--r--tests/DHCPv6/stubcli.pl27
-rw-r--r--tests/Makefile.in10
-rw-r--r--util/Makefile.bind.in1
-rw-r--r--util/bind-kit.sh214
-rw-r--r--util/bind.sh19
203 files changed, 5027 insertions, 3822 deletions
diff --git a/.gitignore b/.gitignore
index 59eb7dd9..1105bc60 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,7 @@
*.lo
*.o
+*.a
+*.log
doc/html
.deps
Makefile
@@ -9,6 +11,7 @@ client/tests/duid_unittests
client/tests/test-suite.log
common/tests/alloc_unittest
common/tests/dns_unittest
+common/tests/domain_name_unittest
common/tests/misc_unittest
common/tests/ns_name_unittest
common/tests/option_unittest
@@ -24,6 +27,7 @@ libtool
ltmain.sh
omapip/svtest
relay/dhcrelay
+relay/tests/relay_unittests
server/dhcpd
server/tests/dhcpd_unittests
server/tests/hash_unittests
@@ -34,3 +38,6 @@ server/tests/test-suite.log
tests/libt_api.a
tests/libt_api.la
tests/unittest.sh
+
+bind/bind-*
+bind/include
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 1da7b4d0..f50d5610 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -7,6 +7,12 @@ We do not require a contributors agreement. By submitting a patch or merge reque
you are agreeing that your code will be covered by the primary license for the project.
ISC DHCP is currently licensed under the MPL2.0 license.
+**NOTE**: The client (dhclient) and relay (dhcrelay) component maintenance is coming to an end.
+The 4.4.3 release is the last one that included those components and they are now considered EOL.
+The 4.5.0 release will feature server (dhcpd) only. You may still submit bugs for a client or
+relay, but those will be kept for informational purposes only. There will not be any action
+taken by ISC team on those.
+
Here's are the steps in contributing a patch:
1. **create account** on [gitlab](https://gitlab.isc.org)
@@ -193,4 +199,4 @@ Outstanding, select a small number of them and move them to whatever the current
that in mind if you plan to submit a patch and forget about it. We may accept it eventually, but
it's a much, much faster process if you participate in it.
-#### Thank you for contributing your time and expertise to the ISC DHCP Project.
+**Thank you for contributing your time and expertise to the ISC DHCP Project.**
diff --git a/LICENSE b/LICENSE
index cb307916..a4217fde 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,20 +1,6 @@
-# Copyright (c) 2004-2021 by Internet Systems Consortium, Inc. ("ISC")
+# Copyright (c) 2004-2022 by Internet Systems Consortium, Inc. ("ISC")
# Copyright (c) 1995-2003 by Internet Software Consortium
#
-# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES
-# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR
-# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
-# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-#
-# Internet Systems Consortium, Inc.
-# 950 Charter Street
-# Redwood City, CA 94063
-# <info@isc.org>
-# https://www.isc.org/
-#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0, included below.
#
diff --git a/Makefile.in b/Makefile.in
index d62c0519..3a866512 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.2 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2020 Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -184,9 +184,6 @@ am__define_uniq_tagged_files = \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
-CSCOPE = cscope
am__DIST_COMMON = $(srcdir)/Makefile.in \
$(top_srcdir)/doc/devel/doxyfile.in README compile \
config.guess config.sub depcomp install-sh missing
@@ -228,6 +225,8 @@ am__relativize = \
DIST_ARCHIVES = $(distdir).tar.gz
GZIP_ENV = --best
DIST_TARGETS = dist-gzip
+# Exists only to be overridden by the user if desired.
+AM_DISTCHECK_DVI_TARGET = dvi
distuninstallcheck_listfiles = find . -type f -print
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
| sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
@@ -259,6 +258,8 @@ CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
@@ -270,6 +271,7 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
GREP = @GREP@
INSTALL = @INSTALL@
@@ -558,7 +560,6 @@ cscopelist-am: $(am__tagged_files)
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
-
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
@@ -706,7 +707,7 @@ distcheck: dist
$(DISTCHECK_CONFIGURE_FLAGS) \
--srcdir=../.. --prefix="$$dc_install_base" \
&& $(MAKE) $(AM_MAKEFLAGS) \
- && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) $(AM_DISTCHECK_DVI_TARGET) \
&& $(MAKE) $(AM_MAKEFLAGS) check \
&& $(MAKE) $(AM_MAKEFLAGS) install \
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
diff --git a/README b/README
index 13333313..2e9203dc 100644
--- a/README
+++ b/README
@@ -1,6 +1,6 @@
Internet Systems Consortium DHCP Distribution
- Version 4.4.2-P1
- 26 May 2021
+ Version 4.4.3b1
+ 26 January 2022
README FILE
@@ -62,13 +62,15 @@ documented in the dhclient-script man page. The format of the DHCP
client lease database is documented in the dhclient.leases man page.
The source for all these man pages is in the client/ subdirectory in
the distribution. In addition, the dhcp-options man page should be
-referred to for information about DHCP options.
+referred to for information about DHCP options. The client component
+is End-of-Life and will not be part of future releases.
DHCP relay agent documentation is in the dhcrelay man page, the source
-for which is distributed in the relay/ subdirectory.
+for which is distributed in the relay/ subdirectory. The relay component
+is End-of-Life and will not be part of future releases.
KEA Migration Assistant documentation, including how to build, install
-and use it, is including in the keama directory.
+and use it, is included in the keama/ directory.
To read installed manual pages, use the man command. Type "man page"
where page is the name of the manual page. This will only work if
@@ -90,6 +92,12 @@ will not be correct for your operating system until after you iterate
'make install' (so if you're reading a manpage out of the source
directory, it may not have up-to-date information).
+ RELEASE STATUS
+
+Version 4.4.3b1 is a maintenance release of the DHCP client, relay and
+server. It is the final release for the client and relay components,
+which have reached end-of-life and will no longer be maintained.
+
BUILDING THE DHCP DISTRIBUTION
UNPACKING IT
@@ -97,12 +105,12 @@ directory, it may not have up-to-date information).
To build the DHCP Distribution, unpack the compressed tar file using
the tar utility and the gzip command - type something like:
- gunzip dhcp-4.4.2-P1.tar.gz
- tar xvf dhcp-4.4.2-P1.tar
+ gunzip dhcp-4.4.3b1.tar.gz
+ tar xvf dhcp-4.4.3b1.tar
CONFIGURING IT
-Now, cd to the dhcp-4.4.2-P1 subdirectory that you've just created and
+Now, cd to the dhcp-4.4.3b1 subdirectory that you've just created and
configure the source tree by typing:
./configure
@@ -348,7 +356,7 @@ more information, consult the vconfig man pages.
ATF
Please see the file DHCP/doc/devel/atf.dox for a description of building
-and using these tools.
+and using these tools.
The optional unit tests use ATF (Automated Testing Framework) including
the atf-run and atf-report tools. ATF deprecated these tools in
@@ -384,7 +392,7 @@ the dhcp-users or dhcp-announce mailing lists.
WHERE TO SEND FEATURE REQUESTS: We like to hear your feedback. We may
not respond to it all the time, but we do read it. If ISC DHCP doesn't
work well for you, or you have an idea that would improve it for your
-use, please create an issue at https://gitlab.isc.org/isc-projects/dhcp/issues.
+use, please create an issue at https://gitlab.isc.org/isc-projects/dhcp/issues.
This is also an excellent place to send patches that add new features.
WHERE TO REPORT BUGS: If you want the act of sending in a bug report
@@ -393,17 +401,20 @@ software, you are asking for help. Your bug report is helpful to us,
but fundamentally you are making a support request, so please use the
addresses described in the previous paragraphs. If you are _sure_ that
your problem is a bug, and not user error, or if your bug report
-includes a patch, you can submit it to our ticketing system at
-https://gitlab.isc.org/isc-projects/dhcp/issues. If you have not received
+includes a patch, you can submit it to our ticketing system at
+https://gitlab.isc.org/isc-projects/dhcp/issues. If you have not received
a notice that the ticket has been resolved, then we're still working on it.
+Notice that this is the final release that features client and relay
+components. Reporting bugs in them makes limited sense. The ISC team
+will not be fixing any issues related to client or relay. They may be
+useful for other users to document some problems or perhaps discuss
+and share workarounds.
PLEASE DO NOT REPORT BUGS IN OLD SOFTWARE RELEASES! Fetch the latest
release and see if the bug is still in that version of the software,
-and if it is still present, _then_ report it. ISC release versions
-always have three numbers, for example: 1.2.3. The 'major release' is
-1 here, the 'minor release' is 2, and the 'maintenance release' is 3.
-ISC will accept bug reports against the most recent two major.minor
-releases: for example, 1.0.0 and 0.9.0, but not 0.8.* or prior.
+and if it is still present, _then_ report it. ISC release versions
+always have three numbers, for example: 1.2.3. The 'major release' is
+1 here, the 'minor release' is 2, and the 'maintenance release' is 3.
PLEASE take a moment to determine where the ISC DHCP distribution
that you're using came from. ISC DHCP is sometimes heavily modified
@@ -483,7 +494,8 @@ agent. DHCP 3 was released in October 2001 and included DHCP failover
support, OMAPI, Dynamic DNS, conditional behaviour, client classing,
and more. Version 3 of the DHCP server was funded by Nominum, Inc.
The 4.0 release in December 2007 introduced DHCPv6 protocol support
-for the server and client.
+for the server and client. The client and relay components reached
+their End-of-Life in January 2022.
This product includes cryptographic software written
by Eric Young (eay@cryptsoft.com).
diff --git a/RELNOTES b/RELNOTES
index 71de5e63..e408e656 100644
--- a/RELNOTES
+++ b/RELNOTES
@@ -1,16 +1,16 @@
Internet Systems Consortium DHCP Distribution
- Version 4.4.2-P1
- 26 May 2021
+ Version 4.4.3b1
+ 26 January 2022
Release Notes
NEW FEATURES
-Please note that that ISC DHCP is now licensed under the Mozilla Public License,
-MPL 2.0. Please see https://www.mozilla.org/en-US/MPL/2.0/ to read the MPL 2.0
-license terms.
+Please note that that ISC DHCP is now licensed under the Mozilla Public
+License, MPL 2.0. Please see https://www.mozilla.org/en-US/MPL/2.0/ to read
+the MPL 2.0 license terms.
-Release 4.4.2-P1 is a security release fixing possible buffer overwrite error
-in client and server while parsing haxadecimal literals in lease file.
+NOTE: The client and relay components are now End-Of-Life.
+4.4.3 is the final release for those components.
For information on how to install, configure and run this software, as
well as how to find documentation and report bugs, please consult the
@@ -19,21 +19,66 @@ README file.
ISC DHCP uses standard GNU configure for installation. Please review the
output of "./configure --help" to see what options are available.
-The system has only been tested on Linux, FreeBSD, and Solaris, and may not
-work on other platforms. Please report any problems and suggested fixes to
+The system has only been tested on Linux, and FreeBSD, and may not work on
+other platforms. Please report any problems and suggested fixes to
<dhcp-users@isc.org>.
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.4.2-P1 (New Features)
+
+- BIND libraries updated to the latest version, 9.11.36. This fixes a number
+ of compilation issues on various systems, including OpenWRT. Thanks to
+ Philip Prindeville for testing on OpenWRT.
+ [Gitlab #218, #171, #180, #192]
+
+- Added support for the new DHCPv4 option v6-only-preferred specified
+ in RFC 8925. A new reason code, V6ONLY, was added to the client script
+ and the client Linux script sample was updated.
+ [Gitlab #132]
+
+ Changes since 4.4.2-P1 (Bug Fixes)
+
+- Minor corrections to allow compilation under gcc 10.
+ [Gitlab #117]
+
+- Corrected logic in dhclient that causes it to decline DHCPv4 leases if the
+ client script exits abnormally (i.e. crashes).
+ [Gitlab #123]
+
+- The limit on the size of lease file that can be loaded at start up
+ is now only enforced on 32-bit systems.
+ [Gitlab #92]
+
+- The PRNG initialization has been improved. It now uses the configure flag
+ `--with-randomdev=PATH`, which specifies the device from which to read the
+ initial seed. That is typically `/dev/random` (the default value) or
+ `/dev/urandom`, but may be specified otherwise on the local system. If not
+ explicitly specified, the default device (`/dev/random`) is used. The old
+ behavior can be forced by disabling this feature (`--with-randomdev=no`).
+ If the initialization is disabled or reading from the random device fails,
+ the previous algorithm (retrieve the last four bytes of hardware addresses
+ from all network interfaces that have them, and use the current time and
+ process ID) is used.
+ [Gitlab #197]
+
+- Minor dhclient code fix to remove compilation warnings.
+ [Gitlab #190]
+
+- Removed hard-coded MD5 algorithm name in OMAPI connection logic. Prior
+ to this using any other algorithm via key-algorithm statement would
+ allow OMAPI connections to made but subsequent actions such as updating
+ an object to fail.
+ [Gitlab #148]
+
Changes since 4.4.2 (Bug Fixes)
- ! Corrected a buffer overwrite possible when parsing hexadecimal
- literals with more than 1024 octets. Reported by Jon Franklin from Dell,
- and also by Pawel Wieczorkiewicz from Amazon Web Services.
- [Gitlab #182]
- CVE: CVE-2021-25217
+- Corrected a buffer overwrite possible when parsing hexadecimal
+ literals with more than 1024 octets.
+ [Gitlab #182]
+ CVE: CVE-2021-25217
Changes since 4.4.2b1 (Bug Fixes)
@@ -53,11 +98,11 @@ by Eric Young (eay@cryptsoft.com).
- Corrected buffer pointer logic in dhcrelay functions that manipulate
agent relay options. Thanks to Thomas Imbert of MSRC Vulnerabilities
& Mitigations for reporting the issue.
- [#71]
+ [Gitlab #71]
- Corrected unresolved symbol errors building relay_unittests when
configured to build using libtool.
- [#80]
+ [Gitlab #80]
Changes since 4.4.1 (New Features)
diff --git a/aclocal.m4 b/aclocal.m4
index 2dfc3d04..4d7c9840 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,6 +1,6 @@
-# generated automatically by aclocal 1.16.2 -*- Autoconf -*-
+# generated automatically by aclocal 1.16.5 -*- Autoconf -*-
-# Copyright (C) 1996-2020 Free Software Foundation, Inc.
+# Copyright (C) 1996-2021 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -20,7 +20,7 @@ You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically 'autoreconf'.])])
-# Copyright (C) 2002-2020 Free Software Foundation, Inc.
+# Copyright (C) 2002-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -35,7 +35,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
[am__api_version='1.16'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.16.2], [],
+m4_if([$1], [1.16.5], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -51,14 +51,14 @@ m4_define([_AM_AUTOCONF_VERSION], [])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.16.2])dnl
+[AM_AUTOMAKE_VERSION([1.16.5])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
-# Copyright (C) 2001-2020 Free Software Foundation, Inc.
+# Copyright (C) 2001-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -110,7 +110,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd`
# AM_COND_IF -*- Autoconf -*-
-# Copyright (C) 2008-2020 Free Software Foundation, Inc.
+# Copyright (C) 2008-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -147,7 +147,7 @@ fi[]dnl
# AM_CONDITIONAL -*- Autoconf -*-
-# Copyright (C) 1997-2020 Free Software Foundation, Inc.
+# Copyright (C) 1997-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -178,7 +178,7 @@ AC_CONFIG_COMMANDS_PRE(
Usually this means the macro was only invoked conditionally.]])
fi])])
-# Copyright (C) 1999-2020 Free Software Foundation, Inc.
+# Copyright (C) 1999-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -369,7 +369,7 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
# Generate code to set up dependency tracking. -*- Autoconf -*-
-# Copyright (C) 1999-2020 Free Software Foundation, Inc.
+# Copyright (C) 1999-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -437,7 +437,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
# Do all the work for Automake. -*- Autoconf -*-
-# Copyright (C) 1996-2020 Free Software Foundation, Inc.
+# Copyright (C) 1996-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -465,6 +465,10 @@ m4_defn([AC_PROG_CC])
# release and drop the old call support.
AC_DEFUN([AM_INIT_AUTOMAKE],
[AC_PREREQ([2.65])dnl
+m4_ifdef([_$0_ALREADY_INIT],
+ [m4_fatal([$0 expanded multiple times
+]m4_defn([_$0_ALREADY_INIT]))],
+ [m4_define([_$0_ALREADY_INIT], m4_expansion_stack)])dnl
dnl Autoconf wants to disallow AM_ names. We explicitly allow
dnl the ones we care about.
m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
@@ -501,7 +505,7 @@ m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
[_AM_SET_OPTIONS([$1])dnl
dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
m4_if(
- m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
+ m4_ifset([AC_PACKAGE_NAME], [ok]):m4_ifset([AC_PACKAGE_VERSION], [ok]),
[ok:ok],,
[m4_fatal([AC_INIT should be called with package and version arguments])])dnl
AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
@@ -553,6 +557,20 @@ AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
[m4_define([AC_PROG_OBJCXX],
m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
])
+# Variables for tags utilities; see am/tags.am
+if test -z "$CTAGS"; then
+ CTAGS=ctags
+fi
+AC_SUBST([CTAGS])
+if test -z "$ETAGS"; then
+ ETAGS=etags
+fi
+AC_SUBST([ETAGS])
+if test -z "$CSCOPE"; then
+ CSCOPE=cscope
+fi
+AC_SUBST([CSCOPE])
+
AC_REQUIRE([AM_SILENT_RULES])dnl
dnl The testsuite driver may need to know about EXEEXT, so add the
dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This
@@ -634,7 +652,7 @@ for _am_header in $config_headers :; do
done
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-# Copyright (C) 2001-2020 Free Software Foundation, Inc.
+# Copyright (C) 2001-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -655,7 +673,7 @@ if test x"${install_sh+set}" != xset; then
fi
AC_SUBST([install_sh])])
-# Copyright (C) 2003-2020 Free Software Foundation, Inc.
+# Copyright (C) 2003-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -677,7 +695,7 @@ AC_SUBST([am__leading_dot])])
# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
# From Jim Meyering
-# Copyright (C) 1996-2020 Free Software Foundation, Inc.
+# Copyright (C) 1996-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -712,7 +730,7 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
# Check to see how 'make' treats includes. -*- Autoconf -*-
-# Copyright (C) 2001-2020 Free Software Foundation, Inc.
+# Copyright (C) 2001-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -755,7 +773,7 @@ AC_SUBST([am__quote])])
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-# Copyright (C) 1997-2020 Free Software Foundation, Inc.
+# Copyright (C) 1997-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -776,12 +794,7 @@ AC_DEFUN([AM_MISSING_HAS_RUN],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
AC_REQUIRE_AUX_FILE([missing])dnl
if test x"${MISSING+set}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
- *)
- MISSING="\${SHELL} $am_aux_dir/missing" ;;
- esac
+ MISSING="\${SHELL} '$am_aux_dir/missing'"
fi
# Use eval to expand $SHELL
if eval "$MISSING --is-lightweight"; then
@@ -794,7 +807,7 @@ fi
# Helper functions for option handling. -*- Autoconf -*-
-# Copyright (C) 2001-2020 Free Software Foundation, Inc.
+# Copyright (C) 2001-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -823,7 +836,7 @@ AC_DEFUN([_AM_SET_OPTIONS],
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-# Copyright (C) 1999-2020 Free Software Foundation, Inc.
+# Copyright (C) 1999-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -870,7 +883,7 @@ AC_LANG_POP([C])])
# For backward compatibility.
AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
-# Copyright (C) 2001-2020 Free Software Foundation, Inc.
+# Copyright (C) 2001-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -889,7 +902,7 @@ AC_DEFUN([AM_RUN_LOG],
# Check to make sure that the build environment is sane. -*- Autoconf -*-
-# Copyright (C) 1996-2020 Free Software Foundation, Inc.
+# Copyright (C) 1996-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -970,7 +983,7 @@ AC_CONFIG_COMMANDS_PRE(
rm -f conftest.file
])
-# Copyright (C) 2009-2020 Free Software Foundation, Inc.
+# Copyright (C) 2009-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1030,7 +1043,7 @@ AC_SUBST([AM_BACKSLASH])dnl
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
])
-# Copyright (C) 2001-2020 Free Software Foundation, Inc.
+# Copyright (C) 2001-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1058,7 +1071,7 @@ fi
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])
-# Copyright (C) 2006-2020 Free Software Foundation, Inc.
+# Copyright (C) 2006-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1077,7 +1090,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
# Check how to create a tarball. -*- Autoconf -*-
-# Copyright (C) 2004-2020 Free Software Foundation, Inc.
+# Copyright (C) 2004-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff --git a/bind/Makefile.in b/bind/Makefile.in
index 8fe8883f..7e2993f6 100644
--- a/bind/Makefile.in
+++ b/bind/Makefile.in
@@ -116,5 +116,6 @@ uninstall-bind: all
# Include the following so that this Makefile is happy when the parent
# tries to use them.
+install-exec:
check distdir distclean dvi installcheck:
diff --git a/bind/bind.tar.gz b/bind/bind.tar.gz
index e2b8203f..a42810a5 100644
--- a/bind/bind.tar.gz
+++ b/bind/bind.tar.gz
Binary files differ
diff --git a/bind/version.tmp b/bind/version.tmp
index cf52f1b9..e74b8ba7 100644
--- a/bind/version.tmp
+++ b/bind/version.tmp
@@ -5,7 +5,7 @@ PRODUCT=BIND
DESCRIPTION="(Extended Support Version)"
MAJORVER=9
MINORVER=11
-PATCHVER=14
+PATCHVER=36
RELEASETYPE=
RELEASEVER=
EXTENSIONS=
diff --git a/client/Makefile.in b/client/Makefile.in
index 6410d379..2dde99e5 100644
--- a/client/Makefile.in
+++ b/client/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.2 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2020 Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -211,8 +211,6 @@ am__define_uniq_tagged_files = \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -268,6 +266,8 @@ CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
@@ -279,6 +279,7 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
GREP = @GREP@
INSTALL = @INSTALL@
@@ -702,7 +703,6 @@ cscopelist-am: $(am__tagged_files)
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
diff --git a/client/client_tables.c b/client/client_tables.c
index 41a3885b..25f471d9 100644
--- a/client/client_tables.c
+++ b/client/client_tables.c
@@ -3,7 +3,7 @@
Tables of information only used by client... */
/*
- * Copyright (c) 2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2017-2022 Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -18,8 +18,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
diff --git a/client/clparse.c b/client/clparse.c
index 35e2d164..74ca499d 100644
--- a/client/clparse.c
+++ b/client/clparse.c
@@ -3,7 +3,7 @@
Parser for dhclient config and lease files... */
/*
- * Copyright (c) 2004-2019 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1996-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -62,7 +62,7 @@ isc_result_t read_client_conf ()
isc_result_t status;
unsigned code;
- /*
+ /*
* TODO: LATER constant is very undescriptive. We should review it and
* change it to something more descriptive or even better remove it
* completely as it is currently not used.
@@ -162,7 +162,7 @@ isc_result_t read_client_conf ()
}
}
#endif
-
+
/* Initialize the top level client configuration. */
memset (&top_level_config, 0, sizeof top_level_config);
@@ -317,7 +317,7 @@ void read_client_duid ()
/*
* All we care about is DUIDs - if we get anything else
* just toss it and continue looking for DUIDs until we
- * run out of file.
+ * run out of file.
*/
if (token == DEFAULT_DUID) {
parse_client_default_duid(cfile);
@@ -377,7 +377,7 @@ void read_client_leases ()
end_parse (&cfile);
}
-/* client-declaration :==
+/* client-declaration :==
SEND option-decl |
DEFAULT option-decl |
SUPERSEDE option-decl |
@@ -430,7 +430,7 @@ void parse_client_statement (cfile, ip, config)
parse_semi (cfile);
}
return;
-
+
case KEY:
skip_token(&val, (unsigned *)0, cfile);
if (ip) {
@@ -577,7 +577,7 @@ void parse_client_statement (cfile, ip, config)
parse_warn (cfile, "expecting a policy type.");
skip_to_semi (cfile);
return;
- }
+ }
break;
case OPTION:
@@ -705,7 +705,7 @@ void parse_client_statement (cfile, ip, config)
config -> omapi_port = tmp;
parse_semi (cfile);
return;
-
+
case DO_FORWARD_UPDATE:
skip_token(&val, (unsigned *)0, cfile);
token = next_token (&val, (unsigned *)0, cfile);
@@ -799,7 +799,7 @@ void parse_client_statement (cfile, ip, config)
strcpy (name, val);
parse_interface_declaration (cfile, config, name);
return;
-
+
case LEASE:
skip_token(&val, (unsigned *)0, cfile);
parse_client_lease_statement (cfile, 1);
@@ -1170,7 +1170,7 @@ void parse_client_lease_statement (cfile, is_static)
client -> leases = lease;
return;
}
-
+
/* The last lease in the lease file on a particular interface is
the active lease for that interface. Of course, we don't know
what the last lease in the file is until we've parsed the whole
@@ -2270,7 +2270,7 @@ void parse_reject_statement (cfile, config)
"for reject statement");
skip_to_semi(cfile);
return;
- }
+ }
list = dmalloc(sizeof(struct iaddrmatchlist), MDL);
if (!list)
@@ -2287,7 +2287,7 @@ void parse_reject_statement (cfile, config)
parse_warn (cfile, "expecting semicolon.");
skip_to_semi (cfile);
}
-}
+}
/* allow-deny-keyword :== BOOTP
| BOOTING
diff --git a/client/dhc6.c b/client/dhc6.c
index 55ecab80..35cf3d08 100644
--- a/client/dhc6.c
+++ b/client/dhc6.c
@@ -1,7 +1,7 @@
/* dhc6.c - DHCPv6 client routines. */
/*
- * Copyright (c) 2012-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2012-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 2006-2010 by Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -17,8 +17,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*/
diff --git a/client/dhclient-script.8 b/client/dhclient-script.8
index 3553afdc..5e5bd3d0 100644
--- a/client/dhclient-script.8
+++ b/client/dhclient-script.8
@@ -1,6 +1,6 @@
.\" dhclient-script.8
.\"
-.\" Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+.\" Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (c) 1996-2003 by Internet Software Consortium
.\"
.\" This Source Code Form is subject to the terms of the Mozilla Public
@@ -16,8 +16,8 @@
.\" OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.\" Internet Systems Consortium, Inc.
-.\" 950 Charter Street
-.\" Redwood City, CA 94063
+.\" PO Box 360
+.\" Newmarket, NH 03857 USA
.\" <info@isc.org>
.\" https://www.isc.org/
.\"
@@ -129,7 +129,7 @@ option name as above but prepended with requested_ and with a value of 1,
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).
+time (*_expiry).
.PP
Before actually configuring the address, dhclient-script should
somehow ARP for it and exit with a nonzero status if it receives a
@@ -199,6 +199,12 @@ been passed in as with BOUND. The client configuration script should
test these parameters and, if it has reason to believe they are valid,
should exit with a value of zero. If not, it should exit with a
nonzero value.
+.SH V6ONLY
+The DHCPv4 client has received a requested valid v6-only-preferred
+option. The system should disable IPv4 on the interface. On its side
+the dhclient waits for V6ONLY_WAIT seconds (the timer is carried by
+the option with a minimum of MIN_V6ONLY_WAIT) before returning in
+the INIT state.
.PP
The usual way to test a lease is to set up the network as with REBIND
(since this may be called to test more than one lease) and then ping
diff --git a/client/dhclient.8 b/client/dhclient.8
index 0ec9fc76..861ff569 100644
--- a/client/dhclient.8
+++ b/client/dhclient.8
@@ -1,6 +1,6 @@
.\" $Id: dhclient.8,v 1.36 2011/04/15 21:58:12 sar Exp $
.\"
-.\" Copyright (c) 2004-2019 by Internet Systems Consortium, Inc. ("ISC")
+.\" Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (c) 1996-2003 by Internet Software Consortium
.\"
.\" This Source Code Form is subject to the terms of the Mozilla Public
@@ -16,8 +16,8 @@
.\" OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.\" Internet Systems Consortium, Inc.
-.\" 950 Charter Street
-.\" Redwood City, CA 94063
+.\" PO Box 360
+.\" Newmarket, NH 03857 USA
.\" <info@isc.org>
.\" https://www.isc.org/
.\"
diff --git a/client/dhclient.c b/client/dhclient.c
index 57d53adc..46dc3a71 100644
--- a/client/dhclient.c
+++ b/client/dhclient.c
@@ -3,7 +3,7 @@
DHCP Client. */
/*
- * Copyright (c) 2004-2021 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (c) 2004-2022 by Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1995-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -77,14 +77,15 @@ int decline_wait_time = 10; /* Default to 10 secs per, RFC 2131, 3.1.5 */
#define ASSERT_STATE(state_is, state_shouldbe) {}
#ifndef UNIT_TEST
-static const char copyright[] = "Copyright 2004-2021 Internet Systems Consortium.";
+static const char copyright[] = "Copyright 2004-2022 Internet Systems Consortium.";
static const char arr [] = "All rights reserved.";
static const char message [] = "Internet Systems Consortium DHCP Client";
static const char url [] = "For info, please visit https://www.isc.org/software/dhcp/";
#endif /* UNIT_TEST */
-u_int16_t local_port = 0;
-u_int16_t remote_port = 0;
+extern u_int16_t local_port;
+extern u_int16_t remote_port;
+
#if defined(DHCPv6) && defined(DHCP4o6)
int dhcp4o6_state = -1; /* -1 = stopped, 0 = polling, 1 = started */
#endif
@@ -136,10 +137,10 @@ static void dhclient_ddns_cb_free(dhcp_ddns_cb_t *ddns_cb,
* the description of the command line. The arguments provide
* a way for the caller to request more specific information about
* the error be printed as well. Mostly this will be that some
- * comamnd doesn't include its argument.
+ * command doesn't include its argument.
*
* \param sfmt - The basic string and format for the specific error
- * \param sarg - Generally the offending argument from the comamnd line.
+ * \param sarg - Generally the offending argument from the command line.
*
* \return Nothing
*/
@@ -566,7 +567,7 @@ main(int argc, char **argv) {
} else if (argv[i][0] == '-') {
usage("Unknown command: %s", argv[i]);
} else if (interfaces_requested < 0) {
- usage("No interfaces comamnd -n and "
+ usage("No interfaces command -n and "
" requested interface %s", argv[i]);
} else {
struct interface_info *tmp = NULL;
@@ -828,21 +829,36 @@ main(int argc, char **argv) {
? DISCOVER_REQUESTED
: DISCOVER_RUNNING);
- /* Make up a seed for the random number generator from current
- time plus the sum of the last four bytes of each
- interface's hardware address interpreted as an integer.
- Not much entropy, but we're booting, so we're not likely to
- find anything better. */
+ /* PLEASE PREFER the random device: not all systems use random
+ * process identifiers so the alternative can be predictable. */
seed = 0;
- for (ip = interfaces; ip; ip = ip->next) {
- int junk;
- memcpy(&junk,
- &ip->hw_address.hbuf[ip->hw_address.hlen -
- sizeof seed], sizeof seed);
- seed += junk;
+ size_t nrnd = 0;
+#ifdef ISC_PATH_RANDOMDEV
+ FILE *frnd = fopen(ISC_PATH_RANDOMDEV, "r");
+ if (frnd) {
+ nrnd = fread(&seed, sizeof(seed), 1, frnd);
+ fclose(frnd);
}
- srandom(seed + cur_time + (unsigned)getpid());
+#endif
+ /* Please leave the compiler to emit a warning about a constant
+ * condition in the if test. */
+ if (!nrnd) {
+ /* Make up a seed for the random number generator from current
+ time plus the sum of the last four bytes of each
+ interface's hardware address interpreted as an integer.
+ Not much entropy, but we're booting, so we're not likely to
+ find anything better. */
+ for (ip = interfaces; ip; ip = ip->next) {
+ int junk;
+ memcpy(&junk,
+ &ip->hw_address.hbuf[ip->hw_address.hlen -
+ sizeof seed], sizeof seed);
+ seed += junk;
+ }
+ seed += cur_time + (unsigned)getpid();
+ }
+ srandom(seed);
/*
* Establish a default DUID. We always do so for v6 and
@@ -1241,6 +1257,105 @@ void state_init (cpp)
send_discover (client);
}
+/* check_v6only is called by dhcpoffer and dhcpack. It checks if a
+ * requested v6-only-preferred option is present and returned the
+ * V6ONLY_WAIT delay to suspend DHCPv4. */
+
+uint32_t check_v6only(packet, client)
+ struct packet *packet;
+ struct client_state *client;
+{
+ int i;
+ struct option **req;
+ isc_boolean_t found = ISC_FALSE;
+ struct option_cache *oc;
+ struct data_string data;
+ uint32_t v6only_wait = 0;
+
+ /* Check if the v6-only-preferred was requested. */
+ req = client->config->requested_options;
+
+ if (req == NULL)
+ return 0;
+
+ for (i = 0 ; req[i] != NULL ; i++) {
+ if ((req[i]->universe == &dhcp_universe) &&
+ (req[i]->code == DHO_V6_ONLY_PREFERRED)) {
+ found = ISC_TRUE;
+ break;
+ }
+ }
+
+ if (found == ISC_FALSE)
+ return 0;
+
+ /* Get the V6ONLY_WAIT timer. */
+ oc = lookup_option(&dhcp_universe, packet->options,
+ DHO_V6_ONLY_PREFERRED);
+ if (!oc)
+ return 0;
+
+ memset(&data, 0, sizeof(data));
+
+ if (evaluate_option_cache(&data, packet, (struct lease *)0, client,
+ packet->options, (struct option_state *)0,
+ &global_scope, oc, MDL)) {
+ if (data.len == 4) {
+ v6only_wait = getULong(data.data);
+ if (v6only_wait < MIN_V6ONLY_WAIT)
+ v6only_wait = MIN_V6ONLY_WAIT;
+ }
+ data_string_forget(&data, MDL);
+ }
+
+ return (v6only_wait);
+}
+
+/* finish_v6only is called when the V6ONLY_WAIT timer expired. */
+
+void finish_v6only(cpp)
+ void *cpp;
+{
+ struct client_state *client = cpp;
+
+ cancel_timeout(finish_v6only, client);
+ client->state = S_INIT;
+ state_init(cpp);
+}
+
+/*
+ * start_v6only is called when a requested v6-only-preferred option was
+ * returned by the server. */
+
+void start_v6only(client, v6only_wait)
+ struct client_state *client;
+ uint32_t v6only_wait;
+{
+ struct timeval tv;
+
+ /* Enter V6ONLY state. */
+
+ client->state = S_V6ONLY;
+
+ /* Run the client script. */
+ script_init(client, "V6ONLY", NULL);
+ if (client->active) {
+ script_write_params(client, "old_", client->active);
+ destroy_client_lease(client->active);
+ client->active = NULL;
+ }
+ script_write_requested(client);
+ client_envadd(client, "", "v6-only-preferred", "%lu",
+ (long unsigned)v6only_wait);
+ script_go(client);
+
+ /* Trigger finish_v6only after V6ONLY_WAIT seconds. */
+ tv.tv_sec = cur_tv.tv_sec + v6only_wait;
+ tv.tv_usec = cur_tv.tv_usec;
+
+ add_timeout(&tv, finish_v6only, client, 0, 0);
+}
+
/*
* state_selecting is called when one or more DHCPOFFER packets have been
* received and a configurable period of time has passed.
@@ -1336,6 +1451,7 @@ void dhcpack (packet)
{
struct interface_info *ip = packet -> interface;
struct client_state *client;
+ uint32_t v6only_wait;
struct client_lease *lease;
struct option_cache *oc;
struct data_string ds;
@@ -1371,6 +1487,16 @@ void dhcpack (packet)
inet_ntoa(packet->raw->yiaddr),
piaddr (packet->client_addr));
+ /* Check v6only first. */
+ v6only_wait = check_v6only(packet, client);
+ if (v6only_wait > 0) {
+ log_info("v6 only preferred for %lu seconds.",
+ (long unsigned)v6only_wait);
+ cancel_timeout(send_request, client);
+ start_v6only(client, v6only_wait);
+ return;
+ }
+
lease = packet_to_lease (packet, client);
if (!lease) {
log_info ("packet_to_lease failed.");
@@ -1524,9 +1650,12 @@ void bind_lease (client)
script_write_params(client, "alias_", client->alias);
/* If the BOUND/RENEW code detects another machine using the
- offered address, it exits nonzero. We need to send a
- DHCPDECLINE and toss the lease. */
- if (script_go(client)) {
+ offered address, then per our man page it should exit with
+ a non-zero status, to which we send a DHCPDECLINE and toss
+ the lease. A return value of less than zero indicates
+ the script crashed (e.g. segfault) which script_go will log
+ but we will ignore here. */
+ if (script_go(client) > 0) {
make_decline(client, client->new);
send_decline(client);
destroy_client_lease(client->new);
@@ -1649,6 +1778,7 @@ void state_stop (cpp)
cancel_timeout(send_discover, client);
cancel_timeout(send_request, client);
cancel_timeout(state_bound, client);
+ cancel_timeout(finish_v6only, client);
/* If we have an address, unconfigure it. */
if (client->active) {
@@ -2008,6 +2138,7 @@ void dhcpoffer (packet)
{
struct interface_info *ip = packet -> interface;
struct client_state *client;
+ uint32_t v6only_wait;
struct client_lease *lease, *lp;
struct option **req;
int i;
@@ -2043,6 +2174,16 @@ void dhcpoffer (packet)
inet_ntoa(packet->raw->yiaddr),
piaddr(packet->client_addr));
+ /* Check v6only first. */
+ v6only_wait = check_v6only(packet, client);
+ if (v6only_wait > 0) {
+ log_info("%s: v6 only preferred for %lu.", obuf,
+ (long unsigned)v6only_wait);
+ cancel_timeout(send_discover, client);
+ start_v6only(client, v6only_wait);
+ return;
+ }
+
/* If this lease doesn't supply the minimum required DHCPv4 parameters,
* ignore it.
*/
@@ -3258,12 +3399,12 @@ make_client_options(struct client_state *client, struct client_lease *lease,
hw_idx = 0;
hw_len = client->interface->hw_address.hlen;
}
- memcpy(&client_identifier.buffer->data + 5 - hw_len,
+ memcpy(client_identifier.buffer->data + 5 - hw_len,
client->interface->hw_address.hbuf + hw_idx,
hw_len);
/* Add the default duid */
- memcpy(&client_identifier.buffer->data+(1+4),
+ memcpy(client_identifier.buffer->data + (1 + 4),
default_duid.data, default_duid.len);
/* And save the option */
@@ -4434,8 +4575,14 @@ int script_go(struct client_state *client)
}
dfree (envp, MDL);
gettimeofday(&cur_tv, NULL);
- return (WIFEXITED (wstatus) ?
- WEXITSTATUS (wstatus) : -WTERMSIG (wstatus));
+
+ if (!WIFEXITED(wstatus)) {
+ int sigval = WTERMSIG(wstatus);
+ log_error ("script_go script: %s was terminated by signal %d", scriptName, sigval);
+ return (-sigval);
+ }
+
+ return (WEXITSTATUS(wstatus));
}
void client_envadd (struct client_state *client,
@@ -4622,6 +4769,7 @@ void client_location_changed ()
case S_REBINDING:
case S_STOPPED:
case S_DECLINING:
+ case S_V6ONLY:
break;
}
client -> state = S_INIT;
@@ -4700,6 +4848,7 @@ void do_release(client)
cancel_timeout (state_init, client);
cancel_timeout (send_request, client);
cancel_timeout (state_reboot, client);
+ cancel_timeout (finish_v6only, client);
client -> state = S_STOPPED;
#if defined(DHCPv6) && defined(DHCP4o6)
diff --git a/client/dhclient.conf.5 b/client/dhclient.conf.5
index fa3b908a..dbe6f7e8 100644
--- a/client/dhclient.conf.5
+++ b/client/dhclient.conf.5
@@ -1,6 +1,6 @@
.\" $Id: dhclient.conf.5,v 1.34 2012/01/24 22:23:39 sar Exp $
.\"
-.\" Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+.\" Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (c) 1996-2003 by Internet Software Consortium
.\"
.\" This Source Code Form is subject to the terms of the Mozilla Public
@@ -16,8 +16,8 @@
.\" OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.\" Internet Systems Consortium, Inc.
-.\" 950 Charter Street
-.\" Redwood City, CA 94063
+.\" PO Box 360
+.\" Newmarket, NH 03857 USA
.\" <info@isc.org>
.\" https://www.isc.org/
.\"
@@ -165,11 +165,11 @@ amount. It defaults to ten seconds.
.PP
\fBinitial-delay \fItime\fR\fB;\fR
.PP
-.I initial-delay
-parameter sets the maximum time client can wait after start before
+.I initial-delay
+parameter sets the maximum time client can wait after start before
commencing first transmission.
According to RFC2131 Section 4.4.1, client should wait a random time between
-startup and the actual first transmission. Previous versions of ISC DHCP
+startup and the actual first transmission. Previous versions of ISC DHCP
client used to wait random time up to 5 seconds, but that was unwanted
due to impact on startup time. As such, new versions have the default
initial delay set to 0. To restore old behavior, please set initial-delay
@@ -350,7 +350,7 @@ statement.
.PP
If for some option the client should always use a locally-configured
value or values rather than whatever is supplied by the server, these
-values can be defined in the
+values can be defined in the
.B supersede
statement.
.PP
@@ -664,7 +664,7 @@ effect that will be addressed in a future release.
.PP
\fBpseudo "\fIname\fR" "\fIreal-name\fB" { \fIdeclarations ... \fB }
.PP
-Under some circumstances it can be useful to declare a pseudo-interface
+Under some circumstances it can be useful to declare a pseudo-interface
and have the DHCP client acquire a configuration for that interface.
Each interface that the DHCP client is supporting normally has a DHCP
client state machine running on it to acquire and maintain its lease.
diff --git a/client/dhclient.leases.5 b/client/dhclient.leases.5
index d151753f..4d9c3d62 100644
--- a/client/dhclient.leases.5
+++ b/client/dhclient.leases.5
@@ -1,6 +1,6 @@
.\" $Id: dhclient.leases.5,v 1.8 2011/02/23 23:50:55 sar Exp $
.\"
-.\" Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+.\" Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (c) 1997-2003 by Internet Software Consortium
.\"
.\" This Source Code Form is subject to the terms of the Mozilla Public
@@ -16,8 +16,8 @@
.\" OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.\" Internet Systems Consortium, Inc.
-.\" 950 Charter Street
-.\" Redwood City, CA 94063
+.\" PO Box 360
+.\" Newmarket, NH 03857 USA
.\" <info@isc.org>
.\" https://www.isc.org/
.\"
diff --git a/client/scripts/linux b/client/scripts/linux
index 0c429697..c4e51f6d 100755
--- a/client/scripts/linux
+++ b/client/scripts/linux
@@ -400,6 +400,14 @@ case "$reason" in
;;
+ V6ONLY)
+ if [ -n "$old_ip_address" ]; then
+ # flush leased IP
+ ${ip} -4 addr flush dev ${interface} label ${interface}
+ fi
+
+ ;;
+
### DHCPv6 Handlers
# TODO handle prefix change: ?based on ${old_ip6_prefix} and ${new_ip6_prefix}?
@@ -411,7 +419,7 @@ case "$reason" in
interface_up_wait_time=5
for i in $(seq 0 ${interface_up_wait_time})
do
- ifconfig ${interface} | grep RUNNING >/dev/null 2>&1
+ ${ip} link show dev ${interface} | grep -q LOWER_UP 2>&1
if [ $? -eq 0 ]; then
break;
fi
diff --git a/client/tests/Makefile.in b/client/tests/Makefile.in
index 8e7a3afb..ce335dff 100644
--- a/client/tests/Makefile.in
+++ b/client/tests/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.2 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2020 Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -187,8 +187,6 @@ am__define_uniq_tagged_files = \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -244,6 +242,8 @@ CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
@@ -255,6 +255,7 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
GREP = @GREP@
INSTALL = @INSTALL@
@@ -570,7 +571,6 @@ cscopelist-am: $(am__tagged_files)
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
diff --git a/client/tests/duid_unittest.c b/client/tests/duid_unittest.c
index 3ca03f42..f3e9bdc3 100644
--- a/client/tests/duid_unittest.c
+++ b/client/tests/duid_unittest.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2017-2022 Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -14,8 +14,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
diff --git a/common/Makefile.in b/common/Makefile.in
index 8930a8bc..b7314d3e 100644
--- a/common/Makefile.in
+++ b/common/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.2 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2020 Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -229,8 +229,6 @@ am__define_uniq_tagged_files = \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
am__DIST_COMMON = $(srcdir)/Makefile.am.in $(srcdir)/Makefile.in \
$(top_srcdir)/depcomp
@@ -287,6 +285,8 @@ CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
@@ -298,6 +298,7 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
GREP = @GREP@
INSTALL = @INSTALL@
@@ -670,7 +671,6 @@ cscopelist-am: $(am__tagged_files)
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
diff --git a/common/alloc.c b/common/alloc.c
index 47609bbc..11bcdabd 100644
--- a/common/alloc.c
+++ b/common/alloc.c
@@ -3,7 +3,7 @@
Memory allocation... */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1996-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
diff --git a/common/bpf.c b/common/bpf.c
index 16076fea..0bffcbf9 100644
--- a/common/bpf.c
+++ b/common/bpf.c
@@ -3,7 +3,7 @@
BPF socket interface code, originally contributed by Archie Cobbs. */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1996-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -520,7 +520,7 @@ ssize_t receive_packet (interface, buf, len, from, hfrom)
physical layer that supports this, but WTH), skip this
packet. */
if (offset < 0) {
- interface->rbuf_offset =
+ interface->rbuf_offset =
BPF_WORDALIGN(interface->rbuf_offset +
hdr.bh_caplen);
continue;
@@ -535,7 +535,7 @@ ssize_t receive_packet (interface, buf, len, from, hfrom)
/* If the IP or UDP checksum was bad, skip the packet... */
if (offset < 0) {
- interface->rbuf_offset =
+ interface->rbuf_offset =
BPF_WORDALIGN(interface->rbuf_offset +
hdr.bh_caplen);
continue;
@@ -614,7 +614,7 @@ get_hw_addr(const char *name, struct hardware *hw) {
*/
sa = NULL;
for (p=ifa; (p != NULL) && (sa == NULL); p = p->ifa_next) {
- if ((p->ifa_addr->sa_family == AF_LINK) &&
+ if ((p->ifa_addr->sa_family == AF_LINK) &&
!strcmp(p->ifa_name, name)) {
sa = (struct sockaddr_dl *)p->ifa_addr;
}
diff --git a/common/comapi.c b/common/comapi.c
index 656f1d70..d1bfe8ae 100644
--- a/common/comapi.c
+++ b/common/comapi.c
@@ -3,7 +3,7 @@
OMAPI object interfaces for the DHCP server. */
/*
- * Copyright (c) 2004-2017 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1999-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -59,7 +59,7 @@ void dhcp_common_objects_setup ()
dhcp_control_destroy,
dhcp_control_signal_handler,
dhcp_control_stuff_values,
- dhcp_control_lookup,
+ dhcp_control_lookup,
dhcp_control_create,
dhcp_control_remove, 0, 0, 0,
sizeof (dhcp_control_object_t),
@@ -80,7 +80,7 @@ void dhcp_common_objects_setup ()
dhcp_group_destroy,
dhcp_group_signal_handler,
dhcp_group_stuff_values,
- dhcp_group_lookup,
+ dhcp_group_lookup,
dhcp_group_create,
dhcp_group_remove, 0, 0, 0,
sizeof (struct group_object), 0,
@@ -96,7 +96,7 @@ void dhcp_common_objects_setup ()
dhcp_subnet_destroy,
dhcp_subnet_signal_handler,
dhcp_subnet_stuff_values,
- dhcp_subnet_lookup,
+ dhcp_subnet_lookup,
dhcp_subnet_create,
dhcp_subnet_remove, 0, 0, 0,
sizeof (struct subnet), 0,
@@ -113,7 +113,7 @@ void dhcp_common_objects_setup ()
dhcp_shared_network_destroy,
dhcp_shared_network_signal_handler,
dhcp_shared_network_stuff_values,
- dhcp_shared_network_lookup,
+ dhcp_shared_network_lookup,
dhcp_shared_network_create,
dhcp_shared_network_remove, 0, 0, 0,
sizeof (struct shared_network), 0, RC_MISC);
@@ -136,7 +136,7 @@ isc_result_t dhcp_group_set_value (omapi_object_t *h,
return DHCP_R_INVALIDARG;
group = (struct group_object *)h;
- /* XXX For now, we can only set these values on new group objects.
+ /* XXX For now, we can only set these values on new group objects.
XXX Soon, we need to be able to update group objects. */
if (!omapi_ds_strcmp (name, "name")) {
if (group -> name)
@@ -193,7 +193,7 @@ isc_result_t dhcp_group_set_value (omapi_object_t *h,
if (status == ISC_R_SUCCESS || status == DHCP_R_UNCHANGED)
return status;
}
-
+
return ISC_R_NOTFOUND;
}
@@ -461,7 +461,7 @@ isc_result_t dhcp_control_set_value (omapi_object_t *h,
if (status == ISC_R_SUCCESS || status == DHCP_R_UNCHANGED)
return status;
}
-
+
return ISC_R_NOTFOUND;
}
@@ -904,4 +904,3 @@ isc_result_t dhcp_shared_network_remove (omapi_object_t *lp,
{
return ISC_R_NOTIMPLEMENTED;
}
-
diff --git a/common/conflex.c b/common/conflex.c
index 045b655d..8b01dfb8 100644
--- a/common/conflex.c
+++ b/common/conflex.c
@@ -3,7 +3,7 @@
Lexical scanner for dhcpd config file... */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1995-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -55,7 +55,7 @@ isc_result_t new_parse (cfile, file, inbuf, buflen, name, eolp)
}
/*
- * We don't need to initialize things to zero here, since
+ * We don't need to initialize things to zero here, since
* dmalloc() returns memory that is set to zero.
*/
tmp->tlname = name;
@@ -112,7 +112,7 @@ isc_result_t end_parse (cfile)
if ((*cfile)->saved_state != NULL) {
dfree((*cfile)->saved_state, MDL);
}
-
+
dfree(*cfile, MDL);
*cfile = NULL;
return ISC_R_SUCCESS;
@@ -201,7 +201,7 @@ static int get_char (cfile)
if (!cfile->ugflag) {
if (c == EOL) {
- if (cfile->cur_line == cfile->line1) {
+ if (cfile->cur_line == cfile->line1) {
cfile->cur_line = cfile->line2;
cfile->prev_line = cfile->line1;
} else {
@@ -220,7 +220,7 @@ static int get_char (cfile)
}
} else
cfile->ugflag = 0;
- return c;
+ return c;
}
/*
@@ -239,11 +239,11 @@ unget_char(struct parse *cfile, int c) {
/*
* GENERAL NOTE ABOUT TOKENS
*
- * We normally only want non-whitespace tokens. There are some
+ * We normally only want non-whitespace tokens. There are some
* circumstances where we *do* want to see whitespace (for example
* when parsing IPv6 addresses).
*
- * Generally we use the next_token() function to read tokens. This
+ * Generally we use the next_token() function to read tokens. This
* in turn calls get_next_token, which does *not* return tokens for
* whitespace. Rather, it skips these.
*
@@ -269,7 +269,7 @@ get_raw_token(struct parse *cfile) {
p = cfile -> lpos;
c = get_char (cfile);
- if (!((c == '\n') && cfile->eol_token) &&
+ if (!((c == '\n') && cfile->eol_token) &&
isascii(c) && isspace(c)) {
ttok = read_whitespace(c, cfile);
break;
@@ -316,12 +316,12 @@ get_raw_token(struct parse *cfile) {
* The get_next_token() function consumes the next token and
* returns it to the caller.
*
- * Since the code is almost the same for "normal" and "raw"
+ * Since the code is almost the same for "normal" and "raw"
* input, we pass a flag to alter the way it works.
*/
-static enum dhcp_token
-get_next_token(const char **rval, unsigned *rlen,
+static enum dhcp_token
+get_next_token(const char **rval, unsigned *rlen,
struct parse *cfile, isc_boolean_t raw) {
int rv;
@@ -343,7 +343,7 @@ get_next_token(const char **rval, unsigned *rlen,
cfile->token_line = cfile->cur_line;
}
}
-
+
if (rval)
*rval = cfile -> tval;
if (rlen)
@@ -358,10 +358,10 @@ get_next_token(const char **rval, unsigned *rlen,
/*
* Get the next token from cfile and return it.
*
- * If rval is non-NULL, set the pointer it contains to
+ * If rval is non-NULL, set the pointer it contains to
* the contents of the token.
*
- * If rlen is non-NULL, set the integer it contains to
+ * If rlen is non-NULL, set the integer it contains to
* the length of the token.
*/
@@ -386,8 +386,8 @@ next_raw_token(const char **rval, unsigned *rlen, struct parse *cfile) {
* The do_peek_token() function checks the next token without
* consuming it, and returns it to the caller.
*
- * Since the code is almost the same for "normal" and "raw"
- * input, we pass a flag to alter the way it works. (See the
+ * Since the code is almost the same for "normal" and "raw"
+ * input, we pass a flag to alter the way it works. (See the
* warning in the GENERAL NOTES ABOUT TOKENS above though.)
*/
@@ -427,15 +427,15 @@ do_peek_token(const char **rval, unsigned int *rlen,
/*
- * Get the next token from cfile and return it, leaving it for a
+ * Get the next token from cfile and return it, leaving it for a
* subsequent call to next_token().
*
* Note that it WILL consume whitespace tokens.
*
- * If rval is non-NULL, set the pointer it contains to
+ * If rval is non-NULL, set the pointer it contains to
* the contents of the token.
*
- * If rlen is non-NULL, set the integer it contains to
+ * If rlen is non-NULL, set the integer it contains to
* the length of the token.
*/
@@ -492,7 +492,7 @@ read_whitespace(int c, struct parse *cfile) {
c = get_char(cfile);
if (c == EOF)
return END_OF_FILE;
- } while (!((c == '\n') && cfile->eol_token) &&
+ } while (!((c == '\n') && cfile->eol_token) &&
isascii(c) && isspace(c));
/*
@@ -954,9 +954,11 @@ intern(char *atom, enum dhcp_token dfv) {
if (!atom [6])
return DEFINE;
}
+ if (!strcasecmp (atom + 1, "isconnect"))
+ return DISCONNECT;
break;
case 'e':
- if (isascii (atom [1]) &&
+ if (isascii (atom [1]) &&
tolower((unsigned char)atom[1]) == 'x') {
if (!strcasecmp (atom + 2, "tract-int"))
return EXTRACT_INT;
@@ -1055,15 +1057,15 @@ intern(char *atom, enum dhcp_token dfv) {
}
break;
case 'i':
- if (!strcasecmp(atom+1, "a-na"))
+ if (!strcasecmp(atom+1, "a-na"))
return IA_NA;
- if (!strcasecmp(atom+1, "a-ta"))
+ if (!strcasecmp(atom+1, "a-ta"))
return IA_TA;
- if (!strcasecmp(atom+1, "a-pd"))
+ if (!strcasecmp(atom+1, "a-pd"))
return IA_PD;
- if (!strcasecmp(atom+1, "aaddr"))
+ if (!strcasecmp(atom+1, "aaddr"))
return IAADDR;
- if (!strcasecmp(atom+1, "aprefix"))
+ if (!strcasecmp(atom+1, "aprefix"))
return IAPREFIX;
if (!strcasecmp (atom + 1, "nclude"))
return INCLUDE;
@@ -1352,11 +1354,11 @@ intern(char *atom, enum dhcp_token dfv) {
case 's':
if (!strcasecmp(atom + 1, "cript"))
return SCRIPT;
- if (isascii(atom[1]) &&
+ if (isascii(atom[1]) &&
tolower((unsigned char)atom[1]) == 'e') {
if (!strcasecmp(atom + 2, "arch"))
return SEARCH;
- if (isascii(atom[2]) &&
+ if (isascii(atom[2]) &&
tolower((unsigned char)atom[2]) == 'c') {
if (!strncasecmp(atom + 3, "ond", 3)) {
if (!strcasecmp(atom + 6, "ary"))
@@ -1386,7 +1388,7 @@ intern(char *atom, enum dhcp_token dfv) {
return TOKEN_SERVER;
if (atom[6] == '-') {
if (!strcasecmp(atom + 7,
- "duid"))
+ "duid"))
return SERVER_DUID;
if (!strcasecmp(atom + 7,
"name"))
@@ -1406,7 +1408,7 @@ intern(char *atom, enum dhcp_token dfv) {
return TOKEN_SET;
break;
}
- if (isascii(atom[1]) &&
+ if (isascii(atom[1]) &&
tolower((unsigned char)atom[1]) == 'h') {
if (!strcasecmp(atom + 2, "ared-network"))
return SHARED_NETWORK;
@@ -1414,7 +1416,7 @@ intern(char *atom, enum dhcp_token dfv) {
return SHUTDOWN;
break;
}
- if (isascii(atom[1]) &&
+ if (isascii(atom[1]) &&
tolower((unsigned char)atom[1]) == 'i') {
if (!strcasecmp(atom + 2, "addr"))
return SIADDR;
@@ -1424,9 +1426,9 @@ intern(char *atom, enum dhcp_token dfv) {
return SIZE;
break;
}
- if (isascii(atom[1]) &&
+ if (isascii(atom[1]) &&
tolower((unsigned char)atom[1]) == 'p') {
- if (isascii(atom[2]) &&
+ if (isascii(atom[2]) &&
tolower((unsigned char)atom[2]) == 'a') {
if (!strcasecmp(atom + 3, "ce"))
return SPACE;
@@ -1438,9 +1440,9 @@ intern(char *atom, enum dhcp_token dfv) {
return SPLIT;
break;
}
- if (isascii(atom[1]) &&
+ if (isascii(atom[1]) &&
tolower((unsigned char)atom[1]) == 't') {
- if (isascii(atom[2]) &&
+ if (isascii(atom[2]) &&
tolower((unsigned char)atom[2]) == 'a') {
if(!strncasecmp(atom + 3, "rt", 2)) {
if (!strcasecmp(atom + 5, "s"))
@@ -1473,7 +1475,7 @@ intern(char *atom, enum dhcp_token dfv) {
return SUBSTRING;
break;
}
- if (isascii(atom[1]) &&
+ if (isascii(atom[1]) &&
tolower((unsigned char)atom[1]) == 'u') {
if (!strcasecmp(atom + 2, "ffix"))
return SUFFIX;
@@ -1567,4 +1569,3 @@ intern(char *atom, enum dhcp_token dfv) {
}
return dfv;
}
-
diff --git a/common/ctrace.c b/common/ctrace.c
index 2813f1d1..282392b0 100644
--- a/common/ctrace.c
+++ b/common/ctrace.c
@@ -3,7 +3,7 @@
Subroutines that support dhcp tracing... */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 2001-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -44,7 +44,7 @@ void trace_interface_register (trace_type_t *ttype, struct interface_info *ip)
tipkt.index = htonl (ip -> index);
trace_write_packet (ttype, sizeof tipkt, (char *)&tipkt, MDL);
- }
+ }
}
void trace_interface_input (trace_type_t *ttype, unsigned len, char *buf)
@@ -61,7 +61,7 @@ void trace_interface_input (trace_type_t *ttype, unsigned len, char *buf)
return;
}
tipkt = (trace_interface_packet_t *)buf;
-
+
ip = (struct interface_info *)0;
status = interface_allocate (&ip, MDL);
if (status != ISC_R_SUCCESS) {
@@ -85,7 +85,7 @@ void trace_interface_input (trace_type_t *ttype, unsigned len, char *buf)
ip->address_count = ip->address_max = 1;
ip->addresses = dmalloc(sizeof(*ip->addresses), MDL);
if (!ip->addresses) {
- dfree(ip->ifp, MDL);
+ dfree(ip->ifp, MDL);
ip->ifp = NULL;
interface_dereference (&ip, MDL);
status = ISC_R_NOMEMORY;
@@ -183,7 +183,7 @@ void trace_inpacket_input (trace_type_t *ttype, unsigned len, char *buf)
tip = (trace_inpacket_t *)buf;
index = ntohl (tip -> index);
tip -> from.len = ntohl (tip -> from.len);
-
+
if (index > interface_count ||
index < 0 ||
!interface_vector [index]) {
@@ -259,7 +259,7 @@ void trace_outpacket_input (trace_type_t *ttype, unsigned len, char *buf)
}
tip = (trace_outpacket_t *)buf;
index = ntohl (tip -> index);
-
+
if (index > interface_count ||
index < 0 ||
!interface_vector [index]) {
diff --git a/common/dhcp-eval.5 b/common/dhcp-eval.5
index 7dd52613..0142377e 100644
--- a/common/dhcp-eval.5
+++ b/common/dhcp-eval.5
@@ -1,6 +1,6 @@
.\" $Id: dhcp-eval.5,v 1.33 2012/05/17 15:50:14 sar Exp $
.\"
-.\" Copyright (c) 2009-2012,2014-2015 by Internet Systems Consortium, Inc. ("ISC")
+.\" Copyright (C) 2009-2022 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (c) 2004,2007 by Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (c) 1996-2003 by Internet Software Consortium
.\"
@@ -17,8 +17,8 @@
.\" OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.\" Internet Systems Consortium, Inc.
-.\" 950 Charter Street
-.\" Redwood City, CA 94063
+.\" PO Box 360
+.\" Newmarket, NH 03857 USA
.\" <info@isc.org>
.\" https://www.isc.org/
.\"
@@ -92,7 +92,7 @@ statement are executed, and all subsequent
.B elsif
and
.B else
-clauses are skipped. Otherwise, each subsequent
+clauses are skipped. Otherwise, each subsequent
.B elsif
clause's expression is checked, until an elsif clause is encountered
whose test evaluates to true. If such a clause is found, the
@@ -101,7 +101,7 @@ subsequent
.B elsif
and
.B else
-clauses are skipped. If all the
+clauses are skipped. If all the
.B if
and
.B elsif
@@ -150,7 +150,7 @@ The
statement and the
.B case
statements can both be data expressions or numeric expressions. Within
-a switch statement they all must be the same type. The server
+a switch statement they all must be the same type. The server
evaluates the expression from the switch statement and then it evaluates
the expressions from the case statements until it finds a match.
.PP
diff --git a/common/dhcp-options.5 b/common/dhcp-options.5
index 6fae9805..51f80f7a 100644
--- a/common/dhcp-options.5
+++ b/common/dhcp-options.5
@@ -1,6 +1,6 @@
.\" $Id: dhcp-options.5,v 1.50 2011/05/20 13:48:32 tomasz Exp $
.\"
-.\" Copyright (c) 2004-2019 by Internet Systems Consortium, Inc. ("ISC")
+.\" Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (c) 1996-2003 by Internet Software Consortium
.\"
.\" Permission to use, copy, modify, and distribute this software for any
@@ -16,8 +16,8 @@
.\" OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.\" Internet Systems Consortium, Inc.
-.\" 950 Charter Street
-.\" Redwood City, CA 94063
+.\" PO Box 360
+.\" Newmarket, NH 03857 USA
.\" <info@isc.org>
.\" https://www.isc.org/
.\"
@@ -848,7 +848,7 @@ information.
.B option \fBpxe-system-type\fR \fIuint16\fR [\fB, \fIuint16\fR ... ]\fB;\fR
.RS 0.25i
.PP
-A list of one ore more 16-bit integers which allows a client to specify its
+A list of one ore more 16-bit integers which allows a client to specify its
pre-boot architecture type(s).
.PP
This option is included based on RFC 4578.
@@ -1243,6 +1243,14 @@ The domain name of the LoST server for the client to use.
This option is included based on RFC 5223.
.RE
.PP
+.B option \fBv6-only-preferred\fR \fIuint32\fR\fB;\fR
+.RS 0.25i
+.PP
+The number of seconds the client should disable DHCPv4 for.
+.PP
+This option and its use by the client are specified in RFC 8925.
+.RE
+.PP
.B option \fBvendor-class-identifier\fR \fIstring\fR\fB;\fR
.RS 0.25i
.PP
diff --git a/common/dhcp4o6.c b/common/dhcp4o6.c
index 11ae29ab..0f2c9c5f 100644
--- a/common/dhcp4o6.c
+++ b/common/dhcp4o6.c
@@ -3,7 +3,7 @@
DHCPv4 over DHCPv6 shared code... */
/*
- * Copyright (c) 2016-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2016-2022 Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -18,8 +18,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
diff --git a/common/discover.c b/common/discover.c
index ca4f4d55..ed338b44 100644
--- a/common/discover.c
+++ b/common/discover.c
@@ -3,7 +3,7 @@
Find and identify the network interfaces. */
/*
- * Copyright (c) 2004-2020 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1995-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -45,8 +45,8 @@ struct interface_info *fallback_interface = 0;
int interfaces_invalidated;
int quiet_interface_discovery;
-u_int16_t local_port;
-u_int16_t remote_port;
+u_int16_t local_port = 0;
+u_int16_t remote_port = 0;
u_int16_t relay_port = 0;
int dhcpv4_over_dhcpv6 = 0;
int (*dhcp_interface_setup_hook) (struct interface_info *, struct iaddr *);
@@ -102,7 +102,7 @@ isc_result_t interface_setup ()
dhcp_interface_destroy,
dhcp_interface_signal_handler,
dhcp_interface_stuff_values,
- dhcp_interface_lookup,
+ dhcp_interface_lookup,
dhcp_interface_create,
dhcp_interface_remove,
0, 0, 0,
@@ -139,11 +139,11 @@ isc_result_t interface_initialize (omapi_object_t *ipo,
}
-/*
+/*
* Scanning for Interfaces
* -----------------------
*
- * To find interfaces, we create an iterator that abstracts out most
+ * To find interfaces, we create an iterator that abstracts out most
* of the platform specifics. Use is fairly straightforward:
*
* - begin_iface_scan() starts the process.
@@ -213,7 +213,7 @@ isc_result_t interface_initialize (omapi_object_t *ipo,
#endif
#if defined(SIOCGLIFCONF) && defined(SIOCGLIFFLAGS)
-/*
+/*
* Solaris support
* ---------------
*
@@ -223,7 +223,7 @@ isc_result_t interface_initialize (omapi_object_t *ipo,
* Solaris' extended interface is documented in the if_tcp man page.
*/
-/*
+/*
* Structure holding state about the scan.
*/
struct iface_conf_list {
@@ -233,7 +233,7 @@ struct iface_conf_list {
int next; /* next interface to retrieve when iterating */
};
-/*
+/*
* Structure used to return information about a specific interface.
*/
struct iface_info {
@@ -242,12 +242,12 @@ struct iface_info {
isc_uint64_t flags; /* interface flags, e.g. IFF_LOOPBACK */
};
-/*
+/*
* Start a scan of interfaces.
*
* The iface_conf_list structure maintains state for this process.
*/
-int
+int
begin_iface_scan(struct iface_conf_list *ifaces) {
#ifdef ISC_PLATFORM_HAVELIFNUM
struct lifnum lifnum;
@@ -308,7 +308,7 @@ begin_iface_scan(struct iface_conf_list *ifaces) {
/*
* Retrieve the next interface.
*
- * Returns information in the info structure.
+ * Returns information in the info structure.
* Sets err to 1 if there is an error, otherwise 0.
*/
int
@@ -359,11 +359,11 @@ next_iface(struct iface_info *info, int *err, struct iface_conf_list *ifaces) {
foundif = ISC_TRUE;
} while ((foundif == ISC_FALSE) ||
(strncmp(info->name, "dummy", 5) == 0));
-
+
memset(&tmp, 0, sizeof(tmp));
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",
+ log_error("Error getting interface flags for '%s'; %m",
p->lifr_name);
*err = 1;
return 0;
@@ -387,11 +387,11 @@ end_iface_scan(struct iface_conf_list *ifaces) {
#else
-/*
+/*
* BSD/Linux support
* -----------
*
- * FreeBSD, NetBSD, OpenBSD, OS X/macOS and Linux all have the getifaddrs()
+ * FreeBSD, NetBSD, OpenBSD, OS X/macOS and Linux all have the getifaddrs()
* function.
*
* The getifaddrs() man page describes the use.
@@ -399,7 +399,7 @@ end_iface_scan(struct iface_conf_list *ifaces) {
#include <ifaddrs.h>
-/*
+/*
* Structure holding state about the scan.
*/
struct iface_conf_list {
@@ -407,7 +407,7 @@ struct iface_conf_list {
struct ifaddrs *next; /* current position in the list */
};
-/*
+/*
* Structure used to return information about a specific interface.
*/
struct iface_info {
@@ -416,12 +416,12 @@ struct iface_info {
isc_uint64_t flags; /* interface flags, e.g. IFF_LOOPBACK */
};
-/*
+/*
* Start a scan of interfaces.
*
* The iface_conf_list structure maintains state for this process.
*/
-int
+int
begin_iface_scan(struct iface_conf_list *ifaces) {
if (getifaddrs(&ifaces->head) != 0) {
log_error("Error getting interfaces; %m");
@@ -434,7 +434,7 @@ begin_iface_scan(struct iface_conf_list *ifaces) {
/*
* Retrieve the next interface.
*
- * Returns information in the info structure.
+ * Returns information in the info structure.
* Sets err to 1 if there is an error, otherwise 0.
*/
int
@@ -446,7 +446,7 @@ next_iface(struct iface_info *info, int *err, struct iface_conf_list *ifaces) {
return 0;
}
if (strlen(ifaces->next->ifa_name) >= sizeof(info->name)) {
- log_error("Interface name '%s' too long",
+ log_error("Interface name '%s' too long",
ifaces->next->ifa_name);
*err = 1;
return 0;
@@ -485,11 +485,11 @@ end_iface_scan(struct iface_conf_list *ifaces) {
ifaces->head = NULL;
ifaces->next = NULL;
}
-#endif
+#endif
/* XXX: perhaps create drealloc() rather than do it manually */
void
-add_ipv4_addr_to_interface(struct interface_info *iface,
+add_ipv4_addr_to_interface(struct interface_info *iface,
const struct in_addr *addr) {
/*
* We don't expect a lot of addresses per IPv4 interface, so
@@ -513,8 +513,8 @@ add_ipv4_addr_to_interface(struct interface_info *iface,
log_fatal("Out of memory saving IPv4 address "
"on interface.");
}
- memcpy(tmp,
- iface->addresses,
+ memcpy(tmp,
+ iface->addresses,
iface->address_max * sizeof(struct in_addr));
dfree(iface->addresses, MDL);
iface->addresses = tmp;
@@ -526,7 +526,7 @@ add_ipv4_addr_to_interface(struct interface_info *iface,
#ifdef DHCPv6
/* XXX: perhaps create drealloc() rather than do it manually */
void
-add_ipv6_addr_to_interface(struct interface_info *iface,
+add_ipv6_addr_to_interface(struct interface_info *iface,
const struct in6_addr *addr) {
/*
* Each IPv6 interface will have at least two IPv6 addresses,
@@ -551,8 +551,8 @@ add_ipv6_addr_to_interface(struct interface_info *iface,
log_fatal("Out of memory saving IPv6 address "
"on interface.");
}
- memcpy(tmp,
- iface->v6addresses,
+ memcpy(tmp,
+ iface->v6addresses,
iface->v6address_max * sizeof(struct in6_addr));
dfree(iface->v6addresses, MDL);
iface->v6addresses = tmp;
@@ -567,7 +567,7 @@ add_ipv6_addr_to_interface(struct interface_info *iface,
register that interface with the network I/O software, figure out what
subnet it's on, and add it to the list of interfaces. */
-void
+void
discover_interfaces(int state) {
struct iface_conf_list ifaces;
struct iface_info info;
@@ -637,7 +637,7 @@ discover_interfaces(int state) {
(!(info.flags & IFF_UP) &&
state != DISCOVER_UNCONFIGURED))
continue;
-
+
/* If there isn't already an interface by this name,
allocate one. */
if (tmp == NULL) {
@@ -658,7 +658,7 @@ discover_interfaces(int state) {
(*dhcp_interface_discovery_hook)(tmp);
}
- if ((info.addr.ss_family == AF_INET) &&
+ if ((info.addr.ss_family == AF_INET) &&
(local_family == AF_INET)) {
struct sockaddr_in *a = (struct sockaddr_in*)&info.addr;
struct iaddr addr;
@@ -685,14 +685,14 @@ discover_interfaces(int state) {
}
}
#ifdef DHCPv6
- else if ((info.addr.ss_family == AF_INET6) &&
+ else if ((info.addr.ss_family == AF_INET6) &&
(local_family == AF_INET6)) {
- struct sockaddr_in6 *a =
+ struct sockaddr_in6 *a =
(struct sockaddr_in6*)&info.addr;
struct iaddr addr;
/* We don't want the loopback interface. */
- if (IN6_IS_ADDR_LOOPBACK(&a->sin6_addr) &&
+ if (IN6_IS_ADDR_LOOPBACK(&a->sin6_addr) &&
((tmp->flags & INTERFACE_AUTOMATIC) &&
((state == DISCOVER_SERVER) ||
(state == DISCOVER_SERVER46))))
@@ -809,14 +809,14 @@ discover_interfaces(int state) {
log_error("%s", "");
if (local_family == AF_INET) {
log_error("No subnet declaration for %s (%s).",
- tmp->name,
+ tmp->name,
(tmp->addresses == NULL) ?
"no IPv4 addresses" :
inet_ntoa(tmp->addresses[0]));
#ifdef DHCPv6
} else {
if (tmp->v6addresses != NULL) {
- inet_ntop(AF_INET6,
+ inet_ntop(AF_INET6,
&tmp->v6addresses[0],
abuf,
sizeof(abuf));
@@ -876,7 +876,7 @@ discover_interfaces(int state) {
} else if (tmp->v6address_count > 0) {
subnet->interface_address.len = 16;
memcpy(subnet->interface_address.iabuf,
- &tmp->v6addresses[0].s6_addr,
+ &tmp->v6addresses[0].s6_addr,
16);
} else {
/* XXX: should be one */
@@ -954,7 +954,7 @@ discover_interfaces(int state) {
if (tmp -> rfdesc == -1)
continue;
switch (local_family) {
-#ifdef DHCPv6
+#ifdef DHCPv6
case AF_INET6:
#ifdef RELAY_PORT
#define UPSTREAM(ifp) \
@@ -981,7 +981,7 @@ discover_interfaces(int state) {
}
#endif
status = omapi_register_io_object((omapi_object_t *)tmp,
- if_readsocket,
+ if_readsocket,
0, got_one_v6, 0, 0);
#ifdef RELAY_PORT
if (UPSTREAM(tmp))
@@ -994,7 +994,7 @@ discover_interfaces(int state) {
case AF_INET:
default:
status = omapi_register_io_object((omapi_object_t *)tmp,
- if_readsocket,
+ if_readsocket,
0, got_one, 0, 0);
break;
}
@@ -1194,7 +1194,7 @@ got_one_v6(omapi_object_t *h) {
/*
* If a packet is not multicast, we assume it is unicast.
*/
- if (IN6_IS_ADDR_MULTICAST(&to)) {
+ if (IN6_IS_ADDR_MULTICAST(&to)) {
is_unicast = ISC_FALSE;
} else {
is_unicast = ISC_TRUE;
@@ -1211,8 +1211,8 @@ got_one_v6(omapi_object_t *h) {
if (ip == NULL)
return ISC_R_NOTFOUND;
- (*dhcpv6_packet_handler)(ip, buf,
- result, from.sin6_port,
+ (*dhcpv6_packet_handler)(ip, buf,
+ result, from.sin6_port,
&ifrom, is_unicast);
}
@@ -1252,7 +1252,7 @@ isc_result_t dhcp_interface_set_value (omapi_object_t *h,
if (status == ISC_R_SUCCESS || status == DHCP_R_UNCHANGED)
return status;
}
-
+
return ISC_R_NOTFOUND;
}
@@ -1453,7 +1453,7 @@ isc_result_t dhcp_interface_create (omapi_object_t **lp,
{
struct interface_info *hp;
isc_result_t status;
-
+
hp = (struct interface_info *)0;
status = interface_allocate (&hp, MDL);
if (status != ISC_R_SUCCESS)
diff --git a/common/dispatch.c b/common/dispatch.c
index 0207ad3c..7def34ca 100644
--- a/common/dispatch.c
+++ b/common/dispatch.c
@@ -3,7 +3,7 @@
Network input dispatcher... */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1995-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -96,7 +96,7 @@ struct timeval *process_outstanding_timeouts (struct timeval *tvp)
* to the timer and use that. The complications arise in trying to ensure
* that all of the corner cases are covered. The last one is potentially
* more painful and requires more investigation.
- *
+ *
* The plan is continue with the older DHCP calls and timer list. The
* calls will continue to manipulate the list but will also pass a
* timer to the ISC timer code for the actual dispatch. Later, if desired,
@@ -266,7 +266,7 @@ void add_timeout (when, where, what, ref, unref)
sec = when->tv_sec - cur_tv.tv_sec;
usec = when->tv_usec - cur_tv.tv_usec;
-
+
if ((when->tv_usec != 0) && (usec < 0)) {
sec--;
usec += USEC_MAX;
@@ -287,7 +287,7 @@ void add_timeout (when, where, what, ref, unref)
usec = USEC_MAX - 1;
}
- /*
+ /*
* This is necessary for the tracing code but we put it
* here in case we want to compare timing information
* for some reason, like debugging.
diff --git a/common/dlpi.c b/common/dlpi.c
index 3990bf12..f2332c0f 100644
--- a/common/dlpi.c
+++ b/common/dlpi.c
@@ -1,9 +1,9 @@
/* dlpi.c
-
+
Data Link Provider Interface (DLPI) network interface code. */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1996-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -160,8 +160,8 @@ static int dlpibindack (int fd, char *bufp);
/* These functions are not used if we're only sourcing the get_hw_addr()
* function (for USE_SOCKETS).
*/
-static int dlpiunitdatareq (int fd, unsigned char *addr, int addrlen,
- unsigned long minpri, unsigned long maxpri,
+static int dlpiunitdatareq (int fd, unsigned char *addr, int addrlen,
+ unsigned long minpri, unsigned long maxpri,
unsigned char *data, int datalen);
static int dlpiunitdataind (int fd,
unsigned char *dstaddr,
@@ -172,7 +172,7 @@ static int dlpiunitdataind (int fd,
unsigned char *data,
int datalen);
#endif /* !USE_DLPI_HWADDR: USE_DLPI_SEND || USE_DLPI_RECEIVE */
-static int expected (unsigned long prim, union DL_primitives *dlp,
+static int expected (unsigned long prim, union DL_primitives *dlp,
int msgflags);
static int strgetmsg (int fd, struct strbuf *ctlp, struct strbuf *datap,
int *flagsp, char *caller);
@@ -214,7 +214,7 @@ int if_register_dlpi (info)
}
/*
- * Submit a DL_INFO_REQ request, to find the dl_mac_type and
+ * Submit a DL_INFO_REQ request, to find the dl_mac_type and
* dl_provider_style
*/
if (dlpiinforeq(sock) < 0 || dlpiinfoack(sock, (char *)buf) < 0) {
@@ -225,7 +225,7 @@ int if_register_dlpi (info)
case DL_ETHER:
info -> hw_address.hbuf [0] = HTYPE_ETHER;
break;
- /* adding token ring 5/1999 - mayer@ping.at */
+ /* adding token ring 5/1999 - mayer@ping.at */
case DL_TPR:
info -> hw_address.hbuf [0] = HTYPE_IEEE802;
break;
@@ -243,10 +243,10 @@ int if_register_dlpi (info)
* assume -2 and ffffff.
*/
info -> dlpi_sap_length = dlp -> info_ack.dl_sap_length;
- info -> dlpi_broadcast_addr.hlen =
+ info -> dlpi_broadcast_addr.hlen =
dlp -> info_ack.dl_brdcst_addr_length;
- memcpy (info -> dlpi_broadcast_addr.hbuf,
- (char *)dlp + dlp -> info_ack.dl_brdcst_addr_offset,
+ memcpy (info -> dlpi_broadcast_addr.hbuf,
+ (char *)dlp + dlp -> info_ack.dl_brdcst_addr_offset,
dlp -> info_ack.dl_brdcst_addr_length);
}
@@ -256,7 +256,7 @@ int if_register_dlpi (info)
* does not exist.
*/
unit = dlpiunit (info -> name);
-
+
if (dlpiattachreq (sock, unit) < 0
|| dlpiokack (sock, (char *)buf) < 0) {
log_fatal ("Can't attach DLPI device for %s: %m", info -> name);
@@ -575,9 +575,9 @@ ssize_t send_packet (interface, packet, raw, len, from, to, hto)
#else
/*
- * Setup the destination address (DLSAP) in dstaddr
+ * Setup the destination address (DLSAP) in dstaddr
*
- * If sap_length < 0 we must deliver the DLSAP as phys+sap.
+ * If sap_length < 0 we must deliver the DLSAP as phys+sap.
* If sap_length > 0 we must deliver the DLSAP as sap+phys.
*
* sap = Service Access Point == ETHERTYPE_IP
@@ -601,11 +601,11 @@ ssize_t send_packet (interface, packet, raw, len, from, to, hto)
if (hto && hto -> hlen == interface -> hw_address.hlen)
memcpy ( phys, (char *) &hto -> hbuf [1], phys_len);
- else
- memcpy ( phys, interface -> dlpi_broadcast_addr.hbuf,
+ else
+ memcpy ( phys, interface -> dlpi_broadcast_addr.hbuf,
interface -> dlpi_broadcast_addr.hlen);
- if (sap_len < 0) {
+ if (sap_len < 0) {
memcpy ( dstaddr, phys, phys_len);
memcpy ( (char *) &dstaddr [phys_len], sap, ABS (sap_len));
}
@@ -640,10 +640,10 @@ ssize_t receive_packet (interface, buf, len, from, hfrom)
int offset = 0;
int bufix = 0;
unsigned paylen;
-
+
#ifdef USE_DLPI_RAW
length = read (interface -> rfdesc, dbuf, sizeof (dbuf));
-#else
+#else
length = dlpiunitdataind (interface -> rfdesc, (unsigned char *)NULL,
(unsigned long *)NULL, srcaddr, &srcaddrlen,
(unsigned long *)NULL, dbuf, sizeof (dbuf));
@@ -669,14 +669,14 @@ ssize_t receive_packet (interface, buf, len, from, hfrom)
if (hfrom && (srcaddrlen == ABS (sap_len) + phys_len )) {
hfrom -> hbuf [0] = interface -> hw_address.hbuf [0];
hfrom -> hlen = interface -> hw_address.hlen;
-
+
if (sap_len < 0) {
memcpy ((char *) &hfrom -> hbuf [1], srcaddr, phys_len);
}
else {
memcpy((char *)&hfrom->hbuf[1], srcaddr + sap_len, phys_len);
}
- }
+ }
else if (hfrom) {
memset (hfrom, '\0', sizeof *hfrom);
}
@@ -733,11 +733,11 @@ ssize_t receive_packet (interface, buf, len, from, hfrom)
* Based largely in part to the example code contained in the document
* "How to Use the STREAMS Data Link Provider Interface (DLPI)", written
* by Neal Nuckolls of SunSoft Internet Engineering.
- *
+ *
* This code has been developed and tested on sparc-based machines running
* SunOS 5.5.1, with le and hme network interfaces. It should be pretty
* generic, though.
- *
+ *
* The usual disclaimers apply. This code works for me. Don't blame me
* if it makes your machine or network go down in flames. That taken
* into consideration, use this code as you wish. If you make usefull
@@ -756,24 +756,24 @@ static int dlpiunit (ifname)
{
char *cp;
int unit;
-
+
if (!ifname) {
return 0;
}
-
+
/* Advance to the end of the name */
cp = ifname;
while (*cp) cp++;
/* Back up to the start of the first digit */
while ((*(cp-1) >= '0' && *(cp-1) <= '9') || *(cp - 1) == ':') cp--;
-
+
/* Convert the unit number */
unit = 0;
while (*cp >= '0' && *cp <= '9') {
unit *= 10;
unit += (*cp++ - '0');
}
-
+
return unit;
}
@@ -785,11 +785,11 @@ dlpiopen(const char *ifname) {
char devname [50];
char *dp;
const char *cp, *ep;
-
+
if (!ifname) {
return -1;
}
-
+
/* Open a DLPI device */
if (*ifname == '/') {
dp = devname;
@@ -810,13 +810,13 @@ dlpiopen(const char *ifname) {
while ((*(ep - 1) >= '0' && *(ep - 1) <= '9') || *(ep - 1) == ':')
ep--;
#endif
-
+
/* Copy everything up to the unit number */
while (cp < ep) {
*dp++ = *cp++;
}
*dp = '\0';
-
+
return open (devname, O_RDWR, 0);
}
@@ -830,15 +830,15 @@ static int dlpiinforeq (fd)
dl_info_req_t info_req;
struct strbuf ctl;
int flags;
-
+
info_req.dl_primitive = DL_INFO_REQ;
-
+
ctl.maxlen = 0;
ctl.len = sizeof (info_req);
ctl.buf = (char *)&info_req;
-
+
flags = RS_HIPRI;
-
+
return putmsg (fd, &ctl, (struct strbuf *)NULL, flags);
}
@@ -852,16 +852,16 @@ static int dlpiphysaddrreq (fd, addrtype)
dl_phys_addr_req_t physaddr_req;
struct strbuf ctl;
int flags;
-
+
physaddr_req.dl_primitive = DL_PHYS_ADDR_REQ;
physaddr_req.dl_addr_type = addrtype;
-
+
ctl.maxlen = 0;
ctl.len = sizeof (physaddr_req);
ctl.buf = (char *)&physaddr_req;
-
+
flags = RS_HIPRI;
-
+
return putmsg (fd, &ctl, (struct strbuf *)NULL, flags);
}
@@ -875,16 +875,16 @@ static int dlpiattachreq (fd, ppa)
dl_attach_req_t attach_req;
struct strbuf ctl;
int flags;
-
+
attach_req.dl_primitive = DL_ATTACH_REQ;
attach_req.dl_ppa = ppa;
-
+
ctl.maxlen = 0;
ctl.len = sizeof (attach_req);
ctl.buf = (char *)&attach_req;
-
+
flags = 0;
-
+
return putmsg (fd, &ctl, (struct strbuf*)NULL, flags);
}
@@ -902,20 +902,20 @@ static int dlpibindreq (fd, sap, max_conind, service_mode, conn_mgmt, xidtest)
dl_bind_req_t bind_req;
struct strbuf ctl;
int flags;
-
+
bind_req.dl_primitive = DL_BIND_REQ;
bind_req.dl_sap = sap;
bind_req.dl_max_conind = max_conind;
bind_req.dl_service_mode = service_mode;
bind_req.dl_conn_mgmt = conn_mgmt;
bind_req.dl_xidtest_flg = xidtest;
-
+
ctl.maxlen = 0;
ctl.len = sizeof (bind_req);
ctl.buf = (char *)&bind_req;
-
+
flags = 0;
-
+
return putmsg (fd, &ctl, (struct strbuf*)NULL, flags);
}
@@ -931,15 +931,15 @@ static int dlpiunbindreq (fd)
dl_unbind_req_t unbind_req;
struct strbuf ctl;
int flags;
-
+
unbind_req.dl_primitive = DL_UNBIND_REQ;
-
+
ctl.maxlen = 0;
ctl.len = sizeof (unbind_req);
ctl.buf = (char *)&unbind_req;
-
+
flags = 0;
-
+
return putmsg (fd, &ctl, (struct strbuf*)NULL, flags);
}
@@ -955,15 +955,15 @@ static int dlpidetachreq (fd)
dl_detach_req_t detach_req;
struct strbuf ctl;
int flags;
-
+
detach_req.dl_primitive = DL_DETACH_REQ;
-
+
ctl.maxlen = 0;
ctl.len = sizeof (detach_req);
ctl.buf = (char *)&detach_req;
-
+
flags = 0;
-
+
return putmsg (fd, &ctl, (struct strbuf*)NULL, flags);
}
#endif /* UNUSED_DLPI_INTERFACE */
@@ -979,7 +979,7 @@ static int dlpibindack (fd, bufp)
union DL_primitives *dlp;
struct strbuf ctl;
int flags;
-
+
ctl.maxlen = DLPI_MAXDLBUF;
ctl.len = 0;
ctl.buf = bufp;
@@ -988,13 +988,13 @@ static int dlpibindack (fd, bufp)
(struct strbuf*)NULL, &flags, "dlpibindack") < 0) {
return -1;
}
-
+
dlp = (union DL_primitives *)ctl.buf;
-
+
if (expected (DL_BIND_ACK, dlp, flags) == -1) {
return -1;
}
-
+
if (ctl.len < sizeof (dl_bind_ack_t)) {
/* Returned structure is too short */
return -1;
@@ -1013,27 +1013,27 @@ static int dlpiokack (fd, bufp)
union DL_primitives *dlp;
struct strbuf ctl;
int flags;
-
+
ctl.maxlen = DLPI_MAXDLBUF;
ctl.len = 0;
ctl.buf = bufp;
-
+
if (strgetmsg (fd, &ctl,
(struct strbuf*)NULL, &flags, "dlpiokack") < 0) {
return -1;
}
-
+
dlp = (union DL_primitives *)ctl.buf;
-
+
if (expected (DL_OK_ACK, dlp, flags) == -1) {
return -1;
}
-
+
if (ctl.len < sizeof (dl_ok_ack_t)) {
/* Returned structure is too short */
return -1;
}
-
+
return 0;
}
@@ -1047,27 +1047,27 @@ static int dlpiinfoack (fd, bufp)
union DL_primitives *dlp;
struct strbuf ctl;
int flags;
-
+
ctl.maxlen = DLPI_MAXDLBUF;
ctl.len = 0;
ctl.buf = bufp;
-
+
if (strgetmsg (fd, &ctl, (struct strbuf *)NULL, &flags,
"dlpiinfoack") < 0) {
return -1;
}
-
+
dlp = (union DL_primitives *) ctl.buf;
-
+
if (expected (DL_INFO_ACK, dlp, flags) == -1) {
return -1;
}
-
+
if (ctl.len < sizeof (dl_info_ack_t)) {
/* Returned structure is too short */
return -1;
}
-
+
return 0;
}
@@ -1081,18 +1081,18 @@ int dlpiphysaddrack (fd, bufp)
union DL_primitives *dlp;
struct strbuf ctl;
int flags;
-
+
ctl.maxlen = DLPI_MAXDLBUF;
ctl.len = 0;
ctl.buf = bufp;
-
+
if (strgetmsg (fd, &ctl, (struct strbuf *)NULL, &flags,
"dlpiphysaddrack") < 0) {
return -1;
}
dlp = (union DL_primitives *)ctl.buf;
-
+
if (expected (DL_PHYS_ADDR_ACK, dlp, flags) == -1) {
return -1;
}
@@ -1101,7 +1101,7 @@ int dlpiphysaddrack (fd, bufp)
/* Returned structure is too short */
return -1;
}
-
+
return 0;
}
@@ -1118,7 +1118,7 @@ int dlpiunitdatareq (fd, addr, addrlen, minpri, maxpri, dbuf, dbuflen)
long buf [DLPI_MAXDLBUF];
union DL_primitives *dlp;
struct strbuf ctl, data;
-
+
/* Set up the control information... */
dlp = (union DL_primitives *)buf;
dlp -> unitdata_req.dl_primitive = DL_UNITDATA_REQ;
@@ -1130,7 +1130,7 @@ int dlpiunitdatareq (fd, addr, addrlen, minpri, maxpri, dbuf, dbuflen)
/* Append the destination address */
memcpy ((char *)buf + dlp -> unitdata_req.dl_dest_addr_offset,
addr, addrlen);
-
+
ctl.maxlen = 0;
ctl.len = dlp -> unitdata_req.dl_dest_addr_offset + addrlen;
ctl.buf = (char *)buf;
@@ -1233,7 +1233,7 @@ static int expected (prim, dlp, msgflags)
/* Incorrect/unexpected return message */
return -1;
}
-
+
return 0;
}
@@ -1252,7 +1252,7 @@ static int strgetmsg (fd, ctlp, datap, flagsp, caller)
time_t now;
time_t starttime;
int to_msec;
-
+
pfd.fd = fd;
pfd.events = POLLPRI; /* We're only interested in knowing
* when we can receive the next high
@@ -1264,7 +1264,7 @@ static int strgetmsg (fd, ctlp, datap, flagsp, caller)
while (now <= starttime + DLPI_MAXWAIT) {
to_msec = ((starttime + DLPI_MAXWAIT) - now) * 1000;
count = poll (&pfd, 1, to_msec);
-
+
if (count == 0) {
/* log_fatal ("strgetmsg: timeout"); */
return -1;
@@ -1342,7 +1342,7 @@ void maybe_setup_fallback ()
}
#endif /* USE_DLPI_SEND */
-void
+void
get_hw_addr(const char *name, struct hardware *hw) {
int sock, unit;
long buf[DLPI_MAXDLBUF];
@@ -1350,7 +1350,7 @@ get_hw_addr(const char *name, struct hardware *hw) {
dlp = (union DL_primitives *)buf;
- /*
+ /*
* Open a DLPI device.
*/
sock = dlpiopen(name);
@@ -1359,7 +1359,7 @@ get_hw_addr(const char *name, struct hardware *hw) {
}
/*
- * Submit a DL_INFO_REQ request, to find the dl_mac_type and
+ * Submit a DL_INFO_REQ request, to find the dl_mac_type and
* dl_provider_style
*/
if (dlpiinforeq(sock) < 0) {
@@ -1411,12 +1411,12 @@ get_hw_addr(const char *name, struct hardware *hw) {
name);
}
if (dlp->physaddr_ack.dl_addr_length < sizeof(hw->hbuf)) {
- memcpy(hw->hbuf+1,
+ memcpy(hw->hbuf+1,
(char *)buf + dlp->physaddr_ack.dl_addr_offset,
dlp->physaddr_ack.dl_addr_length);
hw->hlen = dlp->physaddr_ack.dl_addr_length + 1;
} else {
- memcpy(hw->hbuf+1,
+ memcpy(hw->hbuf+1,
(char *)buf + dlp->physaddr_ack.dl_addr_offset,
sizeof(hw->hbuf)-1);
hw->hlen = sizeof(hw->hbuf);
diff --git a/common/dns.c b/common/dns.c
index bdd8af46..356ecd6a 100644
--- a/common/dns.c
+++ b/common/dns.c
@@ -3,7 +3,7 @@
Domain Name Service subroutines. */
/*
- * Copyright (c) 2004-2019 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 2001-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
diff --git a/common/ethernet.c b/common/ethernet.c
index 6513b95a..591493d4 100644
--- a/common/ethernet.c
+++ b/common/ethernet.c
@@ -3,7 +3,7 @@
Packet assembly code, originally contributed by Archie Cobbs. */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1996-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
diff --git a/common/execute.c b/common/execute.c
index aad8067d..a626aaae 100644
--- a/common/execute.c
+++ b/common/execute.c
@@ -3,7 +3,7 @@
Support for executable statements. */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1998-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -167,7 +167,7 @@ int execute_statements (result, packet, lease, client_state,
(&rc, packet,
lease, client_state, in_options,
out_options, scope, r->data.ie.expr));
-
+
#if defined (DEBUG_EXPRESSIONS)
log_debug ("exec: if %s", (status
? (rc ? "true" : "false")
@@ -219,7 +219,7 @@ int execute_statements (result, packet, lease, client_state,
}
log_debug("execute_statement argv[0] = %s", argv[0]);
-
+
for (i = 1, expr = r->data.execute.arglist; expr;
expr = expr->data.arg.next, i++) {
memset (&ds, 0, sizeof(ds));
@@ -509,7 +509,7 @@ int execute_statements (result, packet, lease, client_state,
(&ds, packet,
lease, client_state, in_options,
out_options, scope, r->data.log.expr, MDL));
-
+
#if defined (DEBUG_EXPRESSIONS)
log_debug ("exec: log");
#endif
@@ -936,7 +936,7 @@ void write_statements (file, statements, indent)
token_indent_data_string
(file, col, indent + 8, "", "",
&r -> data.option -> data);
-
+
fprintf (file, ";"); /* XXX */
break;
@@ -952,7 +952,7 @@ void write_statements (file, statements, indent)
(void) token_print_indent (file, col, indent + 4,
" ", "", ";");
break;
-
+
case unset_statement:
indent_spaces (file, indent);
fprintf (file, "unset ");
@@ -1021,7 +1021,7 @@ void write_statements (file, statements, indent)
"is not defined).", MDL);
#endif /* ENABLE_EXECUTE */
break;
-
+
case vendor_opt_statement:
indent_spaces (file, indent);
fprintf (file, "parse-vendor-option;");
diff --git a/common/fddi.c b/common/fddi.c
index 7a893cc6..701167f6 100644
--- a/common/fddi.c
+++ b/common/fddi.c
@@ -3,7 +3,7 @@
Packet assembly code, originally contributed by Archie Cobbs. */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1996-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -77,7 +77,7 @@ ssize_t decode_fddi_header (interface, buf, bufix, from)
{
struct fddi_header fh;
struct llc lh;
-
+
from -> hbuf [0] = HTYPE_FDDI;
memcpy (&from -> hbuf [1], fh.fddi_shost, sizeof fh.fddi_shost);
return FDDI_HEADER_SIZE + LLC_SNAP_LEN;
diff --git a/common/icmp.c b/common/icmp.c
index 2090041b..e652198d 100644
--- a/common/icmp.c
+++ b/common/icmp.c
@@ -4,7 +4,7 @@
responses. */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1996-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -20,8 +20,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -85,7 +85,7 @@ void icmp_startup (routep, handler)
proto = getprotobyname ("icmp");
if (proto)
protocol = proto -> p_proto;
-
+
/* Get a raw socket for the ICMP protocol. */
icmp_state -> socket = socket (AF_INET, SOCK_RAW, protocol);
if (icmp_state -> socket < 0) {
diff --git a/common/inet.c b/common/inet.c
index c4da73c8..0f7f1683 100644
--- a/common/inet.c
+++ b/common/inet.c
@@ -4,7 +4,7 @@
way... */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1995-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -20,8 +20,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -101,7 +101,7 @@ struct iaddr ip_addr (subnet, mask, host_address)
} else
rv.iabuf [i + j] = habuf [i];
}
-
+
return rv;
}
@@ -174,7 +174,7 @@ int addr_eq (addr1, addr2)
return memcmp (addr1.iabuf, addr2.iabuf, addr1.len) == 0;
}
-/* addr_match
+/* addr_match
*
* compares an IP address against a network/mask combination
* by ANDing the IP with the mask and seeing whether the result
@@ -189,7 +189,7 @@ addr_match(addr, match)
if (addr->len != match->addr.len)
return 0;
-
+
for (i = 0 ; i < addr->len ; i++) {
if ((addr->iabuf[i] & match->mask.iabuf[i]) !=
match->addr.iabuf[i])
@@ -198,7 +198,7 @@ addr_match(addr, match)
return 1;
}
-/*
+/*
* Compares the addresses a1 and a2.
*
* If a1 < a2, returns -1.
@@ -234,7 +234,7 @@ addr_cmp(const struct iaddr *a1, const struct iaddr *a2) {
*
* WARNING: if a1 and a2 differ in length, returns 0.
*/
-int
+int
addr_or(struct iaddr *result, const struct iaddr *a1, const struct iaddr *a2) {
int i;
int all_zero;
@@ -263,7 +263,7 @@ addr_or(struct iaddr *result, const struct iaddr *a1, const struct iaddr *a2) {
*
* WARNING: if a1 and a2 differ in length, returns 0.
*/
-int
+int
addr_and(struct iaddr *result, const struct iaddr *a1, const struct iaddr *a2) {
int i;
int all_zero;
@@ -323,7 +323,7 @@ is_cidr_mask_valid(const struct iaddr *addr, int bits) {
zero_bits = (addr->len * 8) - bits;
zero_bytes = zero_bits / 8;
- /*
+ /*
* Check to make sure the low-order bytes are zero.
*/
for (i=1; i<=zero_bytes; i++) {
@@ -332,11 +332,11 @@ is_cidr_mask_valid(const struct iaddr *addr, int bits) {
}
}
- /*
- * Look to see if any bits not in right-hand bytes are
- * non-zero, by making a byte that has these bits set to zero
- * comparing to the original byte. If these two values are
- * equal, then the right-hand bits are zero, and we are
+ /*
+ * Look to see if any bits not in right-hand bytes are
+ * non-zero, by making a byte that has these bits set to zero
+ * comparing to the original byte. If these two values are
+ * equal, then the right-hand bits are zero, and we are
* happy.
*/
shift_bits = zero_bits % 8;
@@ -350,14 +350,14 @@ is_cidr_mask_valid(const struct iaddr *addr, int bits) {
*
* Converts a range of IP addresses to a set of CIDR networks.
*
- * Examples:
+ * Examples:
* 192.168.0.0 - 192.168.0.255 = 192.168.0.0/24
* 10.0.0.0 - 10.0.1.127 = 10.0.0.0/24, 10.0.1.0/25
* 255.255.255.32 - 255.255.255.255 = 255.255.255.32/27, 255.255.255.64/26,
* 255.255.255.128/25
*/
-isc_result_t
-range2cidr(struct iaddrcidrnetlist **result,
+isc_result_t
+range2cidr(struct iaddrcidrnetlist **result,
const struct iaddr *lo, const struct iaddr *hi) {
struct iaddr addr;
struct iaddr mask;
@@ -395,30 +395,30 @@ range2cidr(struct iaddrcidrnetlist **result,
* Start at the low end, and keep trying larger networks
* until we get one that is too big (explained below).
*
- * We keep a "mask", which is the ones-complement of a
+ * We keep a "mask", which is the ones-complement of a
* normal netmask. So, a /23 has a netmask of 255.255.254.0,
* and a mask of 0.0.1.255.
*
- * We know when a network is too big when we bitwise-AND the
- * mask with the starting address and we get a non-zero
+ * We know when a network is too big when we bitwise-AND the
+ * mask with the starting address and we get a non-zero
* result, like this:
*
* addr: 192.168.1.0, mask: 0.0.1.255
* bitwise-AND: 0.0.1.0
- *
+ *
* A network is also too big if the bitwise-OR of the mask
* with the starting address is larger than the end address,
* like this:
*
* start: 192.168.1.0, mask: 0.0.1.255, end: 192.168.0.255
- * bitwise-OR: 192.168.1.255
+ * bitwise-OR: 192.168.1.255
*
* -------------------
- * Once we have found a network that is too big, we add the
+ * Once we have found a network that is too big, we add the
* appropriate CIDR network to our list of found networks.
*
* We then use the next IP address as our low address, and
- * begin the process of searching for a network that is
+ * begin the process of searching for a network that is
* too big again, starting with an empty mask.
*/
addr = *lo;
@@ -435,12 +435,12 @@ range2cidr(struct iaddrcidrnetlist **result,
mask.iabuf[ofs] |= val;
}
- /*
+ /*
* See if we're too big, and save this network if so.
*/
addr_or(&end_addr, &addr, &mask);
if ((ofs < 0) ||
- (addr_cmp(&end_addr, hi) > 0) ||
+ (addr_cmp(&end_addr, hi) > 0) ||
addr_and(&dummy, &addr, &mask)) {
/*
* Add a new prefix to our list.
@@ -459,8 +459,8 @@ range2cidr(struct iaddrcidrnetlist **result,
net->next = *result;
*result = net;
- /*
- * Figure out our new starting address,
+ /*
+ * Figure out our new starting address,
* by adding (1 << bit) to our previous
* starting address.
*/
@@ -534,7 +534,7 @@ piaddr(const struct iaddr addr) {
}
if (addr.len == 4) {
return inet_ntop(AF_INET, addr.iabuf, pbuf, sizeof(pbuf));
- }
+ }
if (addr.len == 16) {
return inet_ntop(AF_INET6, addr.iabuf, pbuf, sizeof(pbuf));
}
@@ -610,7 +610,7 @@ validate_port(char *port) {
errno = 0;
local_port = strtol(port, &endptr, 10);
-
+
if ((*endptr != '\0') || (errno == ERANGE) || (errno == EINVAL))
log_fatal ("Invalid port number specification: %s", port);
@@ -636,7 +636,7 @@ validate_port_pair(char *port) {
errno = 0;
local_port = strtol(port, &endptr, 10);
-
+
if ((*endptr != '\0') || (errno == ERANGE) || (errno == EINVAL))
log_fatal ("Invalid port pair specification: %s", port);
diff --git a/common/lpf.c b/common/lpf.c
index 82a279bb..bd20b3f5 100644
--- a/common/lpf.c
+++ b/common/lpf.c
@@ -4,7 +4,7 @@
Support Services in Vancouver, B.C. */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1996-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -20,8 +20,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*/
@@ -307,7 +307,7 @@ static void lpf_tr_filter_setup (info)
/* Patch the server port into the LPF program...
XXX changes to filter program may require changes
XXX to the insn number(s) used below!
- XXX Token ring filter is null - when/if we have a filter
+ XXX Token ring filter is null - when/if we have a filter
XXX that's not, we'll need this code.
XXX dhcp_bpf_filter [?].k = ntohs (local_port); */
@@ -539,7 +539,7 @@ get_hw_addr(const char *name, struct hardware *hw) {
memset(&tmp, 0, sizeof(tmp));
strcpy(tmp.ifr_name, name);
if (ioctl(sock, SIOCGIFHWADDR, &tmp) < 0) {
- log_fatal("Error getting hardware address for \"%s\": %m",
+ log_fatal("Error getting hardware address for \"%s\": %m",
name);
}
diff --git a/common/memory.c b/common/memory.c
index 6a2f0937..360bd8cf 100644
--- a/common/memory.c
+++ b/common/memory.c
@@ -3,7 +3,7 @@
Memory-resident database... */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1995-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
diff --git a/common/nit.c b/common/nit.c
index d822c151..ba62488f 100644
--- a/common/nit.c
+++ b/common/nit.c
@@ -4,7 +4,7 @@
with one crucial tidbit of help from Stu Grossmen. */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1996-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -20,8 +20,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
diff --git a/common/ns_name.c b/common/ns_name.c
index f5198219..f51f5411 100644
--- a/common/ns_name.c
+++ b/common/ns_name.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004-2019 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1996-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -15,8 +15,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* http://www.isc.org/
*/
@@ -491,7 +491,7 @@ cleanup:
*lpp = NULL;
errno = EMSGSIZE;
return (-1);
- }
+ }
return (dstp - dst);
}
@@ -509,7 +509,7 @@ MRns_name_uncompress(const u_char *msg, const u_char *eom, const u_char *src,
{
u_char tmp[NS_MAXCDNAME];
int n;
-
+
if ((n = MRns_name_unpack(msg, eom, src, tmp, sizeof tmp)) == -1)
return (-1);
if (MRns_name_ntop(tmp, dst, dstsiz) == -1)
diff --git a/common/options.c b/common/options.c
index a7ed84c6..92c8fee6 100644
--- a/common/options.c
+++ b/common/options.c
@@ -3,7 +3,7 @@
DHCP options parsing and reassembly. */
/*
- * Copyright (c) 2004-2019 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1995-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -1905,7 +1905,7 @@ const char *pretty_print_option (option, data, len, emit_commas, emit_quotes)
}
hunksize += k;
break;
-
+
case 't':
case 'k':
fmtbuf[l + 1] = 0;
diff --git a/common/packet.c b/common/packet.c
index f3f62c19..49795c4c 100644
--- a/common/packet.c
+++ b/common/packet.c
@@ -3,7 +3,7 @@
Packet assembly code, originally contributed by Archie Cobbs. */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1996-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -61,7 +61,7 @@ u_int32_t checksum (buf, nbytes, sum)
/* Add carry. */
if (sum > 0xFFFF)
sum -= 0xFFFF;
- }
+ }
/* If there's a single byte left over, checksum it, too. Network
byte order is big-endian, so the remaining byte is the high byte. */
@@ -74,7 +74,7 @@ u_int32_t checksum (buf, nbytes, sum)
if (sum > 0xFFFF)
sum -= 0xFFFF;
}
-
+
return sum;
}
@@ -91,7 +91,7 @@ u_int32_t wrapsum (sum)
#ifdef DEBUG_CHECKSUM_VERBOSE
log_debug ("sum = %x", sum);
#endif
-
+
#ifdef DEBUG_CHECKSUM
log_debug ("wrapsum returns %x", htons (sum));
#endif
@@ -156,10 +156,10 @@ void assemble_udp_ip_header (interface, buf, bufix,
ip.ip_sum = 0;
ip.ip_src.s_addr = from;
ip.ip_dst.s_addr = to;
-
+
/* Checksum the IP header... */
ip.ip_sum = wrapsum (checksum ((unsigned char *)&ip, sizeof ip, 0));
-
+
/* Copy the ip header into the buffer... */
memcpy (&buf [*bufix], &ip, sizeof ip);
*bufix += sizeof ip;
@@ -181,7 +181,7 @@ void assemble_udp_ip_header (interface, buf, bufix,
udp.uh_sum =
wrapsum (checksum ((unsigned char *)&udp, sizeof udp,
- checksum (data, len,
+ checksum (data, len,
checksum ((unsigned char *)
&ip.ip_src,
2 * sizeof ip.ip_src,
diff --git a/common/parse.c b/common/parse.c
index fc7b39c6..b123a6c7 100644
--- a/common/parse.c
+++ b/common/parse.c
@@ -3,7 +3,7 @@
Common parser code for dhcpd and dhclient. */
/*
- * Copyright (c) 2004-2021 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1995-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -93,7 +93,7 @@ void skip_to_semi (cfile)
statement foo bar { }
statement foo bar { statement { } }
statement}
-
+
...et cetera. */
void skip_to_rbrace (cfile, brace_count)
struct parse *cfile;
@@ -203,7 +203,7 @@ char *parse_host_name (cfile)
char *t;
pair c = (pair)0;
int ltid = 0;
-
+
/* Read a dotted hostname... */
do {
/* Read a token, which should be an identifier. */
@@ -256,7 +256,7 @@ char *parse_host_name (cfile)
/* ip-addr-or-hostname :== ip-address | hostname
ip-address :== NUMBER DOT NUMBER DOT NUMBER DOT NUMBER
-
+
Parse an ip address or a hostname. If uniform is zero, put in
an expr_substring node to limit hostnames that evaluate to more
than one IP address.
@@ -327,8 +327,8 @@ int parse_ip_addr_or_hostname (expr, cfile, uniform)
}
return 1;
-}
-
+}
+
/*
* ip-address :== NUMBER DOT NUMBER DOT NUMBER DOT NUMBER
*/
@@ -342,7 +342,7 @@ int parse_ip_addr (cfile, addr)
&addr -> len, DOT, 10, 8))
return 1;
return 0;
-}
+}
/*
* Return true if every character in the string is hexadecimal.
@@ -363,7 +363,7 @@ is_hex_string(const char *s) {
*
* See section 2.2 of RFC 1884 for details.
*
- * We are lazy for this. We pull numbers, names, colons, and dots
+ * We are lazy for this. We pull numbers, names, colons, and dots
* together and then throw the resulting string at the inet_pton()
* function.
*/
@@ -378,7 +378,7 @@ parse_ip6_addr(struct parse *cfile, struct iaddr *addr) {
int v6_len;
/*
- * First token is non-raw. This way we eat any whitespace before
+ * First token is non-raw. This way we eat any whitespace before
* our IPv6 address begins, like one would expect.
*/
token = peek_token(&val, NULL, cfile);
@@ -425,11 +425,11 @@ parse_ip6_addr(struct parse *cfile, struct iaddr *addr) {
}
/*
- * Same as parse_ip6_addr() above, but returns the value in the
+ * Same as parse_ip6_addr() above, but returns the value in the
* expression rather than in an address structure.
*/
int
-parse_ip6_addr_expr(struct expression **expr,
+parse_ip6_addr_expr(struct expression **expr,
struct parse *cfile) {
struct iaddr addr;
@@ -539,7 +539,7 @@ parse_ip_addr_with_subnet(cfile, match)
match->mask.iabuf[fflen] =
"\x00\x80\xc0\xe0\xf0\xf8\xfc\xfe"[prefixlen % 8];
- memset(match->mask.iabuf+fflen+1, 0x00,
+ memset(match->mask.iabuf+fflen+1, 0x00,
match->mask.len - fflen - 1);
/* AND-out insignificant bits from supplied netmask. */
@@ -569,7 +569,7 @@ parse_ip_addr_with_subnet(cfile, match)
parse_warn(cfile,
"expecting ip-address or ip-address/prefixlen");
- return 0; /* let caller pick up pieces */
+ return 0; /* let caller pick up pieces */
}
/*
@@ -643,7 +643,7 @@ void parse_hardware_param (cfile, hardware)
(sizeof(hardware->hbuf)) - hlen - 1);
dfree(t, MDL);
}
-
+
out:
token = next_token(&val, NULL, cfile);
if (token != SEMI) {
@@ -922,9 +922,9 @@ void convert_num (cfile, buf, str, base, size)
}
/*
- * date :== NUMBER NUMBER SLASH NUMBER SLASH NUMBER
+ * date :== NUMBER NUMBER SLASH NUMBER SLASH NUMBER
* NUMBER COLON NUMBER COLON NUMBER |
- * NUMBER NUMBER SLASH NUMBER SLASH NUMBER
+ * NUMBER NUMBER SLASH NUMBER SLASH NUMBER
* NUMBER COLON NUMBER COLON NUMBER NUMBER |
* EPOCH NUMBER |
* NEVER
@@ -939,7 +939,7 @@ void convert_num (cfile, buf, str, base, size)
* just parse the date
* any trailing semi must be consumed by the caller of this routine
*/
-TIME
+TIME
parse_date_core(cfile)
struct parse *cfile;
{
@@ -1021,7 +1021,7 @@ parse_date_core(cfile)
parse_warn(cfile, "numeric month expected.");
return((TIME)0);
}
- skip_token(&val, NULL, cfile); /* consume month */
+ skip_token(&val, NULL, cfile); /* consume month */
mon = atoi(val) - 1;
/* Slash separating month from day... */
@@ -1149,7 +1149,7 @@ parse_date_core(cfile)
* :== date semi
*/
-TIME
+TIME
parse_date(cfile)
struct parse *cfile;
{
@@ -1551,7 +1551,7 @@ int parse_option_code_definition (cfile, option)
char *s;
int has_encapsulation = 0;
struct universe *encapsulated;
-
+
/* Parse the option code. */
token = next_token (&val, (unsigned *)0, cfile);
if (token != NUMBER) {
@@ -1845,7 +1845,7 @@ int parse_option_code_definition (cfile, option)
/* INSIST(tokbuf[0] == 'E'); */
/* INSIST(encapsulated != NULL); */
if (!option_code_hash_lookup(&encapsulated->enc_opt,
- option->universe->code_hash,
+ option->universe->code_hash,
&option->code, 0, MDL)) {
log_fatal("error finding encapsulated option (%s:%d)",
MDL);
@@ -1884,7 +1884,7 @@ int parse_base64 (data, cfile)
int cc = 0;
int terminated = 0;
int valid_base64;
-
+
/* It's possible for a + or a / to cause a base64 quantity to be
tokenized into more than one token, so we have to parse them all
in before decoding. */
@@ -1925,7 +1925,7 @@ int parse_base64 (data, cfile)
data->data = NULL;
goto out;
}
-
+
j = k = 0;
for (t = bufs; t; t = t->next) {
for (i = 0; t->string[i]; i++) {
@@ -1959,7 +1959,7 @@ int parse_base64 (data, cfile)
data->buffer->data[j++] = (acc >> 4);
acc = acc & 0x0f;
break;
-
+
case 2:
data->buffer->data[j++] = (acc >> 2);
acc = acc & 0x03;
@@ -2057,7 +2057,7 @@ int parse_cshl (data, cfile)
dfree (sl, MDL);
sl = next;
}
-
+
memcpy (rvp, ibuf, ilen);
return 1;
}
@@ -2275,7 +2275,7 @@ int parse_executable_statement (result, cfile, lose, case_context)
case ON:
skip_token(&val, (unsigned *)0, cfile);
return parse_on_statement (result, cfile, lose);
-
+
case SWITCH:
skip_token(&val, (unsigned *)0, cfile);
return parse_switch_statement (result, cfile, lose);
@@ -2297,7 +2297,7 @@ int parse_executable_statement (result, cfile, lose, case_context)
if (case_context == context_any) {
parse_warn (cfile, "switch default statement in %s",
"inappropriate scope.");
-
+
*lose = 1;
return 0;
} else {
@@ -2306,7 +2306,7 @@ int parse_executable_statement (result, cfile, lose, case_context)
(*result) -> op = default_statement;
return 1;
}
-
+
case DEFINE:
case TOKEN_SET:
skip_token(&val, (unsigned *)0, cfile);
@@ -2701,7 +2701,7 @@ int parse_executable_statement (result, cfile, lose, case_context)
}
dns_zone_dereference (&zone, MDL);
return 1;
-
+
/* Also not really a statement, but same idea as above. */
case KEY:
skip_token(&val, (unsigned *)0, cfile);
@@ -2803,7 +2803,7 @@ int parse_zone (struct dns_zone *zone, struct parse *cfile)
log_fatal ("can't allocate primary option cache.");
oc = zone -> primary;
goto consemup;
-
+
case SECONDARY:
if (zone -> secondary) {
parse_warn (cfile, "more than one secondary.");
@@ -2932,7 +2932,7 @@ int parse_zone (struct dns_zone *zone, struct parse *cfile)
if (!parse_semi(cfile))
return (0);
break;
-
+
default:
done = 1;
break;
@@ -3121,15 +3121,15 @@ int parse_on_statement (result, cfile, lose)
case EXPIRY:
(*result) -> data.on.evtypes |= ON_EXPIRY;
break;
-
+
case COMMIT:
(*result) -> data.on.evtypes |= ON_COMMIT;
break;
-
+
case RELEASE:
(*result) -> data.on.evtypes |= ON_RELEASE;
break;
-
+
case TRANSMISSION:
(*result) -> data.on.evtypes |= ON_TRANSMISSION;
break;
@@ -3143,7 +3143,7 @@ int parse_on_statement (result, cfile, lose)
}
token = next_token (&val, (unsigned *)0, cfile);
} while (token == OR);
-
+
/* Semicolon means no statements. */
if (token == SEMI)
return 1;
@@ -3419,7 +3419,7 @@ int parse_if_statement (result, cfile, lose)
}
} else
(*result) -> data.ie.fc = (struct executable_statement *)0;
-
+
return 1;
}
@@ -3433,7 +3433,7 @@ int parse_if_statement (result, cfile, lose)
* boolean-expression OR boolean-expression
* EXISTS OPTION-NAME
*/
-
+
int parse_boolean_expression (expr, cfile, lose)
struct expression **expr;
struct parse *cfile;
@@ -3485,7 +3485,7 @@ int parse_boolean (cfile)
* data_expression :== SUBSTRING LPAREN data-expression COMMA
* numeric-expression COMMA
* numeric-expression RPAREN |
- * CONCAT LPAREN data-expression COMMA
+ * CONCAT LPAREN data-expression COMMA
* data-expression RPAREN
* SUFFIX LPAREN data_expression COMMA
* numeric-expression RPAREN |
@@ -4053,7 +4053,7 @@ int parse_non_binary (expr, cfile, lose, context)
if (token != RPAREN)
goto norparen;
break;
-
+
case STRING:
skip_token(&val, &len, cfile);
if (!make_const_data (expr, (const unsigned char *)val,
@@ -4062,7 +4062,7 @@ int parse_non_binary (expr, cfile, lose, context)
break;
case EXTRACT_INT:
- skip_token(&val, (unsigned *)0, cfile);
+ skip_token(&val, (unsigned *)0, cfile);
token = next_token (&val, (unsigned *)0, cfile);
if (token != LPAREN) {
parse_warn (cfile, "left parenthesis expected.");
@@ -4130,9 +4130,9 @@ int parse_non_binary (expr, cfile, lose, context)
return 0;
}
break;
-
+
case ENCODE_INT:
- skip_token(&val, (unsigned *)0, cfile);
+ skip_token(&val, (unsigned *)0, cfile);
token = next_token (&val, (unsigned *)0, cfile);
if (token != LPAREN) {
parse_warn (cfile, "left parenthesis expected.");
@@ -4197,7 +4197,7 @@ int parse_non_binary (expr, cfile, lose, context)
return 0;
}
break;
-
+
case NUMBER:
/* If we're in a numeric context, this should just be a
number, by itself. */
@@ -4232,7 +4232,7 @@ int parse_non_binary (expr, cfile, lose, context)
(*expr) -> op = expr_const_int;
(*expr) -> data.const_int = known;
break;
-
+
case NS_NOERROR:
known = ISC_R_SUCCESS;
goto ns_const;
@@ -4756,19 +4756,19 @@ int parse_expression (expr, cfile, lose, context, plhs, binop)
tmp = (struct expression *)0;
if (!expression_allocate (&tmp, MDL))
log_fatal ("No memory for equal precedence combination.");
-
+
/* Store the LHS and RHS. */
tmp -> data.equal [0] = lhs;
tmp -> data.equal [1] = rhs;
tmp -> op = binop;
-
+
lhs = tmp;
tmp = (struct expression *)0;
rhs = (struct expression *)0;
binop = next_op;
goto new_rhs;
-}
+}
int parse_option_data (expr, cfile, lookups, option)
@@ -4800,7 +4800,7 @@ struct option *option;
fmt = option->format;
/* 'a' means always uniform */
- if ((fmt[0] != 'Z') && (tolower((unsigned char)fmt[1]) == 'a'))
+ if ((fmt[0] != 'Z') && (tolower((unsigned char)fmt[1]) == 'a'))
uniform = 1;
do {
@@ -4894,7 +4894,7 @@ int parse_option_statement (result, cfile, lookups, option, op)
if ((token == SEMI) && (option->format[0] != 'Z')) {
/* Eat the semicolon... */
/*
- * XXXSK: I'm not sure why we should ever get here, but we
+ * XXXSK: I'm not sure why we should ever get here, but we
* do during our startup. This confuses things if
* we are parsing a zero-length option, so don't
* eat the semicolon token in that case.
@@ -5059,7 +5059,7 @@ int parse_option_token (rv, cfile, fmt, expr, uniform, lookups)
}
break;
- case 'k': /* key name */
+ case 'k': /* key name */
token = peek_token (&val, &len, cfile);
if (token == STRING) {
token = next_token (&val, &len, cfile);
@@ -5132,7 +5132,7 @@ int parse_option_token (rv, cfile, fmt, expr, uniform, lookups)
return 0;
}
break;
-
+
case 'T': /* Lease interval. */
token = next_token (&val, (unsigned *)0, cfile);
if (token != INFINITE)
@@ -5217,11 +5217,11 @@ int parse_option_token (rv, cfile, fmt, expr, uniform, lookups)
}
buf[0] = '\0';
if (!make_const_data(&t, /* expression */
- buf, /* buffer */
- 0, /* length */
- 0, /* terminated */
- 1, /* allocate */
- MDL))
+ buf, /* buffer */
+ 0, /* length */
+ 0, /* terminated */
+ 1, /* allocate */
+ MDL))
return 0;
break;
@@ -5305,7 +5305,7 @@ int parse_option_decl (oc, cfile)
sizeof hunkbuf - hunkix);
hunkix += len;
break;
-
+
case 't': /* Text string... */
token = peek_token (&val,
&len, cfile);
@@ -5512,7 +5512,7 @@ int parse_option_decl (oc, cfile)
if (!buffer_allocate (&bp, hunkix + nul_term, MDL))
log_fatal ("no memory to store option declaration.");
memcpy (bp -> data, hunkbuf, hunkix + nul_term);
-
+
if (!option_cache_allocate (oc, MDL))
log_fatal ("out of memory allocating option cache.");
diff --git a/common/print.c b/common/print.c
index b42e7bc5..ebe985d8 100644
--- a/common/print.c
+++ b/common/print.c
@@ -3,7 +3,7 @@
Turn data structures into printable text. */
/*
- * Copyright (c) 2004-2018 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1995-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
diff --git a/common/raw.c b/common/raw.c
index 5c88b25e..4fd8157c 100644
--- a/common/raw.c
+++ b/common/raw.c
@@ -16,7 +16,7 @@
Sigh. */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1995-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -32,8 +32,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
diff --git a/common/resolv.c b/common/resolv.c
index a01f520c..5fd683f4 100644
--- a/common/resolv.c
+++ b/common/resolv.c
@@ -3,7 +3,7 @@
Parser for /etc/resolv.conf file. */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1996-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -179,7 +179,7 @@ struct name_server *first_name_server ()
}
if (st.st_mtime > rcdate) {
rcdate = cur_time + 1;
-
+
read_resolv_conf (rcdate);
}
}
diff --git a/common/socket.c b/common/socket.c
index 31c99b3f..3953eac3 100644
--- a/common/socket.c
+++ b/common/socket.c
@@ -3,7 +3,7 @@
BSD socket interface code... */
/*
- * Copyright (c) 2004-2020 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1995-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -30,7 +30,7 @@
* This sockopt allows a socket to be bound to a particular interface,
* thus enabling the use of DHCPD on a multihomed host.
* If SO_BINDTODEVICE is defined in your system header files, the use of
- * this sockopt will be automatically enabled.
+ * this sockopt will be automatically enabled.
* I have implemented it under Linux; other systems should be doable also.
*/
@@ -150,15 +150,15 @@ if_register_socket(struct interface_info *info, int family,
once = 1;
#endif
- /*
+ /*
* Set up the address we're going to bind to, depending on the
- * address family.
- */
+ * address family.
+ */
memset(&name, 0, sizeof(name));
switch (family) {
#ifdef DHCPv6
case AF_INET6:
- addr6 = (struct sockaddr_in6 *)&name;
+ addr6 = (struct sockaddr_in6 *)&name;
addr6->sin6_family = AF_INET6;
addr6->sin6_port = local_port;
#if defined(RELAY_PORT)
@@ -194,7 +194,7 @@ if_register_socket(struct interface_info *info, int family,
case AF_INET:
default:
- addr = (struct sockaddr_in *)&name;
+ addr = (struct sockaddr_in *)&name;
addr->sin_family = AF_INET;
addr->sin_port = relay_port ? relay_port : local_port;
memcpy(&addr->sin_addr,
@@ -296,7 +296,7 @@ if_register_socket(struct interface_info *info, int family,
*/
if (family == AF_INET) {
int on = 1;
- if (setsockopt(sock, IPPROTO_IP, IP_RECVPKTINFO,
+ if (setsockopt(sock, IPPROTO_IP, IP_RECVPKTINFO,
&on, sizeof(on)) != 0) {
log_fatal("Can't set IP_RECVPTKINFO on dhcp socket for"
" %s: %m", info->name);
@@ -306,7 +306,7 @@ if_register_socket(struct interface_info *info, int family,
#ifdef DHCPv6
/*
- * If we turn on IPV6_PKTINFO, we will be able to receive
+ * If we turn on IPV6_PKTINFO, we will be able to receive
* additional information, such as the destination IP address.
* We need this to spot unicast packets.
*/
@@ -314,14 +314,14 @@ if_register_socket(struct interface_info *info, int family,
int on = 1;
#ifdef IPV6_RECVPKTINFO
/* RFC3542 */
- if (setsockopt(sock, IPPROTO_IPV6, IPV6_RECVPKTINFO,
+ if (setsockopt(sock, IPPROTO_IPV6, IPV6_RECVPKTINFO,
&on, sizeof(on)) != 0) {
log_fatal("setsockopt: IPV6_RECVPKTINFO for %s: %m",
info->name);
}
#else
/* RFC2292 */
- if (setsockopt(sock, IPPROTO_IPV6, IPV6_PKTINFO,
+ if (setsockopt(sock, IPPROTO_IPV6, IPV6_PKTINFO,
&on, sizeof(on)) != 0) {
log_fatal("setsockopt: IPV6_PKTINFO for %s: %m",
info->name);
@@ -411,7 +411,7 @@ void if_register_receive (info)
MDL);
}
}
-
+
info->rfdesc = global_v4_socket;
global_v4_socket_references++;
#else
@@ -462,7 +462,7 @@ void if_deregister_receive (info)
#endif /* USE_SOCKET_RECEIVE */
-#ifdef DHCPv6
+#ifdef DHCPv6
/*
* This function joins the interface to DHCPv6 multicast groups so we will
* receive multicast messages.
@@ -474,11 +474,11 @@ if_register_multicast(struct interface_info *info) {
if (inet_pton(AF_INET6, All_DHCP_Relay_Agents_and_Servers,
&mreq.ipv6mr_multiaddr) <= 0) {
- log_fatal("inet_pton: unable to convert '%s'",
+ log_fatal("inet_pton: unable to convert '%s'",
All_DHCP_Relay_Agents_and_Servers);
}
mreq.ipv6mr_interface = if_nametoindex(info->name);
- if (setsockopt(sock, IPPROTO_IPV6, IPV6_JOIN_GROUP,
+ if (setsockopt(sock, IPPROTO_IPV6, IPV6_JOIN_GROUP,
&mreq, sizeof(mreq)) < 0) {
log_fatal("setsockopt: IPV6_JOIN_GROUP for %s: %m",
info->name);
@@ -494,11 +494,11 @@ if_register_multicast(struct interface_info *info) {
if ((info->flags & INTERFACE_STREAMS) == 0) {
if (inet_pton(AF_INET6, All_DHCP_Servers,
&mreq.ipv6mr_multiaddr) <= 0) {
- log_fatal("inet_pton: unable to convert '%s'",
+ log_fatal("inet_pton: unable to convert '%s'",
All_DHCP_Servers);
}
mreq.ipv6mr_interface = if_nametoindex(info->name);
- if (setsockopt(sock, IPPROTO_IPV6, IPV6_JOIN_GROUP,
+ if (setsockopt(sock, IPPROTO_IPV6, IPV6_JOIN_GROUP,
&mreq, sizeof(mreq)) < 0) {
log_fatal("setsockopt: IPV6_JOIN_GROUP for %s: %m",
info->name);
@@ -545,7 +545,7 @@ if_register6(struct interface_info *info, int do_multicast) {
log_info("Bound to *:%d", (int) ntohs(local_port));
}
}
-
+
info->rfdesc = global_v6_socket;
info->wfdesc = global_v6_socket;
global_v6_socket_references++;
@@ -582,7 +582,7 @@ if_register6(struct interface_info *info, int do_multicast) {
if (!quiet_interface_discovery) {
if (info->shared_network != NULL) {
log_info("Listening on Socket/%d/%s/%s",
- global_v6_socket, info->name,
+ global_v6_socket, info->name,
info->shared_network->name);
log_info("Sending on Socket/%d/%s/%s",
global_v6_socket, info->name,
@@ -610,7 +610,7 @@ if_register_linklocal6(struct interface_info *info) {
if (global_v6_socket >= 0) {
log_fatal("Impossible condition at %s:%d", MDL);
}
-
+
no_global_v6_socket = 1;
/* get the (?) link-local address */
@@ -638,7 +638,7 @@ if_register_linklocal6(struct interface_info *info) {
if (!quiet_interface_discovery) {
if (info->shared_network != NULL) {
log_info("Listening on Socket/%d/%s/%s",
- global_v6_socket, info->name,
+ global_v6_socket, info->name,
info->shared_network->name);
log_info("Sending on Socket/%d/%s/%s",
global_v6_socket, info->name,
@@ -650,7 +650,7 @@ if_register_linklocal6(struct interface_info *info) {
}
}
-void
+void
if_deregister6(struct interface_info *info) {
/* client case */
if (no_global_v6_socket) {
@@ -734,7 +734,7 @@ ssize_t send_packet (interface, packet, raw, len, from, to, hto)
pktinfo.ipi_ifindex = interface->ifp->ifr_index;
if (setsockopt(interface->wfdesc, IPPROTO_IP,
IP_PKTINFO, (char *)&pktinfo,
- sizeof(pktinfo)) < 0)
+ sizeof(pktinfo)) < 0)
log_fatal("setsockopt: IP_PKTINFO for %s: %m",
(char*)(interface->ifp));
}
@@ -761,7 +761,7 @@ ssize_t send_packet (interface, packet, raw, len, from, to, hto)
#ifdef DHCPv6
/*
- * Solaris 9 is missing the CMSG_LEN and CMSG_SPACE macros, so we will
+ * Solaris 9 is missing the CMSG_LEN and CMSG_SPACE macros, so we will
* synthesize them (based on the BIND 9 technique).
*/
@@ -831,16 +831,16 @@ allocate_cmsg_cbuf(void) {
#endif /* DHCPv6, IP_PKTINFO ... */
#ifdef DHCPv6
-/*
- * For both send_packet6() and receive_packet6() we need to use the
+/*
+ * For both send_packet6() and receive_packet6() we need to use the
* sendmsg()/recvmsg() functions rather than the simpler send()/recv()
* functions.
*
* In the case of send_packet6(), we need to do this in order to insure
- * that the reply packet leaves on the same interface that it arrived
- * on.
+ * that the reply packet leaves on the same interface that it arrived
+ * on.
*
- * In the case of receive_packet6(), we need to do this in order to
+ * In the case of receive_packet6(), we need to do this in order to
* get the IP address the packet was sent to. This is used to identify
* whether a packet is multicast or unicast.
*
@@ -898,8 +898,8 @@ ssize_t send_packet6(struct interface_info *interface,
dst.sin6_scope_id = ifindex;
/*
- * Set the data buffer we're sending. (Using this wacky
- * "scatter-gather" stuff... we only have a single chunk
+ * Set the data buffer we're sending. (Using this wacky
+ * "scatter-gather" stuff... we only have a single chunk
* of data to send, so we declare a single vector entry.)
*/
v.iov_base = (char *)raw;
@@ -909,11 +909,11 @@ ssize_t send_packet6(struct interface_info *interface,
/*
* Setting the interface is a bit more involved.
- *
- * We have to create a "control message", and set that to
+ *
+ * We have to create a "control message", and set that to
* define the IPv6 packet information. We could set the
* source address if we wanted, but we can safely let the
- * kernel decide what that should be.
+ * kernel decide what that should be.
*/
m.msg_control = control_buf;
m.msg_controllen = control_buf_len;
@@ -993,7 +993,7 @@ ssize_t receive_packet (interface, buf, len, from, hfrom)
m.msg_namelen = sizeof(*from);
/*
- * Set the data buffer we're receiving. (Using this wacky
+ * Set the data buffer we're receiving. (Using this wacky
* "scatter-gather" stuff... but we that doesn't really make
* sense for us, so we use a single vector entry.)
*/
@@ -1005,8 +1005,8 @@ ssize_t receive_packet (interface, buf, len, from, hfrom)
/*
* Getting the interface is a bit more involved.
*
- * We set up some space for a "control message". We have
- * previously asked the kernel to give us packet
+ * We set up some space for a "control message". We have
+ * previously asked the kernel to give us packet
* information (when we initialized the interface), so we
* should get the interface index from that.
*/
@@ -1018,19 +1018,19 @@ ssize_t receive_packet (interface, buf, len, from, hfrom)
if (result >= 0) {
/*
* If we did read successfully, then we need to loop
- * through the control messages we received and
+ * through the control messages we received and
* find the one with our inteface index.
*/
cmsg = CMSG_FIRSTHDR(&m);
while (cmsg != NULL) {
- if ((cmsg->cmsg_level == IPPROTO_IP) &&
+ if ((cmsg->cmsg_level == IPPROTO_IP) &&
(cmsg->cmsg_type == IP_PKTINFO)) {
pktinfo = (struct in_pktinfo *)CMSG_DATA(cmsg);
ifindex = pktinfo->ipi_ifindex;
/*
- * We pass the ifindex back to the caller
+ * We pass the ifindex back to the caller
* using the unused hfrom parameter avoiding
- * interface changes between sockets and
+ * interface changes between sockets and
* the discover code.
*/
memcpy(hfrom->hbuf, &ifindex, sizeof(ifindex));
@@ -1062,9 +1062,9 @@ ssize_t receive_packet (interface, buf, len, from, hfrom)
#endif /* USE_SOCKET_RECEIVE */
#ifdef DHCPv6
-ssize_t
-receive_packet6(struct interface_info *interface,
- unsigned char *buf, size_t len,
+ssize_t
+receive_packet6(struct interface_info *interface,
+ unsigned char *buf, size_t len,
struct sockaddr_in6 *from, struct in6_addr *to_addr,
unsigned int *if_idx)
{
@@ -1100,7 +1100,7 @@ receive_packet6(struct interface_info *interface,
m.msg_namelen = sizeof(*from);
/*
- * Set the data buffer we're receiving. (Using this wacky
+ * Set the data buffer we're receiving. (Using this wacky
* "scatter-gather" stuff... but we that doesn't really make
* sense for us, so we use a single vector entry.)
*/
@@ -1112,8 +1112,8 @@ receive_packet6(struct interface_info *interface,
/*
* Getting the interface is a bit more involved.
*
- * We set up some space for a "control message". We have
- * previously asked the kernel to give us packet
+ * We set up some space for a "control message". We have
+ * previously asked the kernel to give us packet
* information (when we initialized the interface), so we
* should get the destination address from that.
*/
@@ -1125,12 +1125,12 @@ receive_packet6(struct interface_info *interface,
if (result >= 0) {
/*
* If we did read successfully, then we need to loop
- * through the control messages we received and
+ * through the control messages we received and
* find the one with our destination address.
*/
cmsg = CMSG_FIRSTHDR(&m);
while (cmsg != NULL) {
- if ((cmsg->cmsg_level == IPPROTO_IPV6) &&
+ if ((cmsg->cmsg_level == IPPROTO_IPV6) &&
(cmsg->cmsg_type == IPV6_PKTINFO)) {
pktinfo = (struct in6_pktinfo *)CMSG_DATA(cmsg);
*to_addr = pktinfo->ipi6_addr;
@@ -1230,7 +1230,7 @@ void maybe_setup_fallback ()
(fbi -> shared_network ? "/" : ""),
(fbi -> shared_network ?
fbi -> shared_network -> name : ""));
-
+
status = omapi_register_io_object ((omapi_object_t *)fbi,
if_readsocket, 0,
fallback_discard, 0, 0);
diff --git a/common/tables.c b/common/tables.c
index 50d9cf10..be37737c 100644
--- a/common/tables.c
+++ b/common/tables.c
@@ -3,7 +3,7 @@
Tables of information... */
/*
- * Copyright (c) 2004-2019 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1995-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -86,7 +86,7 @@ HASH_FUNCTIONS (option_code, const unsigned *, struct option,
named enumeration. Named enumerations are tracked in parse.c.
d - Domain name (e.g., FOO or FOO.BAR) no quotes,
on-wire format is RFC 1035.
- D - Domain list (e.g., "example.com eng.example.com") quoted,
+ D - Domain list (e.g., "example.com eng.example.com") quoted,
on-wire format is RFC 1035.
c - When following a 'D' atom, enables compression pointers.
Z - Zero-length option
@@ -209,6 +209,9 @@ static struct option dhcp_options[] = {
{ "pcode", "t", &dhcp_universe, 100, 1 },
{ "tcode", "t", &dhcp_universe, 101, 1 },
#endif
+#if defined(RFC8925_OPTIONS)
+ { "v6-only-preferred", "L", &dhcp_universe, 108, 1 },
+#endif
{ "netinfo-server-address", "Ia", &dhcp_universe, 112, 1 },
{ "netinfo-server-tag", "t", &dhcp_universe, 113, 1 },
{ "default-url", "t", &dhcp_universe, 114, 1 },
diff --git a/common/tests/Makefile.in b/common/tests/Makefile.in
index bd0cd7cd..e78a55db 100644
--- a/common/tests/Makefile.in
+++ b/common/tests/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.2 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2020 Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -234,8 +234,6 @@ am__define_uniq_tagged_files = \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -291,6 +289,8 @@ CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
@@ -302,6 +302,7 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
GREP = @GREP@
INSTALL = @INSTALL@
@@ -642,7 +643,6 @@ cscopelist-am: $(am__tagged_files)
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
diff --git a/common/tr.c b/common/tr.c
index d5d25f0a..39052bf5 100644
--- a/common/tr.c
+++ b/common/tr.c
@@ -4,7 +4,7 @@
Contributed in May of 1999 by Andrew Chittenden */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1996-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -20,8 +20,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*/
@@ -152,7 +152,7 @@ ssize_t decode_tr_header (interface, buf, bufix, from)
&& llc->protid[1] == 0
&& llc->protid[2] == 0) {
/* say there is source routing information present */
- trh->saddr[0] |= TR_RII;
+ trh->saddr[0] |= TR_RII;
}
if (trh->saddr[0] & TR_RII)
@@ -199,7 +199,7 @@ static int insert_source_routing (trh, interface)
/* single route broadcasts as per rfc 1042 */
if (memcmp(trh->daddr, tr_broadcast,TR_ALEN) == 0) {
trh->saddr[0] |= TR_RII;
- trh->rcf = ((sizeof(trh->rcf)) << 8) & TR_RCF_LEN_MASK;
+ trh->rcf = ((sizeof(trh->rcf)) << 8) & TR_RCF_LEN_MASK;
trh->rcf |= (TR_RCF_FRAME2K | TR_RCF_LIMITED_BROADCAST);
trh->rcf = htons(trh->rcf);
} else {
@@ -214,7 +214,7 @@ static int insert_source_routing (trh, interface)
if ((rover->rcf & TR_RCF_LEN_MASK) >> 8) {
u_int16_t rcf = rover->rcf;
memcpy(trh->rseg,rover->rseg,sizeof(trh->rseg));
- rcf ^= TR_RCF_DIR_BIT;
+ rcf ^= TR_RCF_DIR_BIT;
rcf &= ~TR_RCF_BROADCAST_MASK;
trh->rcf = htons(rcf);
trh->saddr[0] |= TR_RII;
@@ -224,7 +224,7 @@ static int insert_source_routing (trh, interface)
/* we don't have any routing information so send a
* limited broadcast */
trh->saddr[0] |= TR_RII;
- trh->rcf = ((sizeof(trh->rcf)) << 8) & TR_RCF_LEN_MASK;
+ trh->rcf = ((sizeof(trh->rcf)) << 8) & TR_RCF_LEN_MASK;
trh->rcf |= (TR_RCF_FRAME2K | TR_RCF_LIMITED_BROADCAST);
trh->rcf = htons(trh->rcf);
}
diff --git a/common/tree.c b/common/tree.c
index ea787543..68173354 100644
--- a/common/tree.c
+++ b/common/tree.c
@@ -3,7 +3,7 @@
Routines for manipulating parse trees... */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1995-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -42,14 +42,14 @@ static int do_host_lookup (struct data_string *, struct dns_host_entry *);
#define DS_SPRINTF_SIZE 128
/*
- * If we are using a data_string structure to hold a NUL-terminated
- * ASCII string, this function can be used to append a printf-formatted
+ * If we are using a data_string structure to hold a NUL-terminated
+ * ASCII string, this function can be used to append a printf-formatted
* string to the end of it. The data_string structure will be resized to
* be big enough to hold the new string.
*
* If the append works, then 1 is returned.
*
- * If it is not possible to allocate a buffer big enough to hold the
+ * If it is not possible to allocate a buffer big enough to hold the
* new value, then the old data_string is unchanged, and 0 is returned.
*/
int
@@ -81,7 +81,7 @@ data_string_sprintfa(struct data_string *ds, const char *fmt, ...) {
cur_strlen = strlen((char *)ds->data);
max = ds->len - cur_strlen;
- /*
+ /*
* Use vsnprintf(), which won't write past our space, but will
* tell us how much space it wants.
*/
@@ -94,7 +94,7 @@ data_string_sprintfa(struct data_string *ds, const char *fmt, ...) {
* If our buffer is not big enough, we need a new buffer.
*/
if (vsnprintf_ret >= max) {
- /*
+ /*
* Figure out a size big enough.
*/
new_len = ds->len * 2;
@@ -102,13 +102,13 @@ data_string_sprintfa(struct data_string *ds, const char *fmt, ...) {
new_len *= 2;
}
- /*
+ /*
* Create a new buffer and fill it.
*/
tmp_buffer = NULL;
if (!buffer_allocate(&tmp_buffer, new_len, MDL)) {
- /*
- * If we can't create a big enough buffer,
+ /*
+ * If we can't create a big enough buffer,
* we should remove any truncated output that we had.
*/
*((char *)ds->data+cur_strlen) = '\0';
@@ -240,7 +240,7 @@ int make_const_data (struct expression **expr, const unsigned char *data,
&nt -> data.const_data.buffer -> data [0];
memcpy (nt -> data.const_data.buffer -> data,
data, len + terminated);
- } else
+ } else
nt -> data.const_data.data = data;
nt -> data.const_data.terminated = terminated;
} else
@@ -282,13 +282,13 @@ int make_concat (expr, left, right)
expression_reference (expr, left, MDL);
return 1;
}
-
+
/* Otherwise, allocate a new node to concatenate the two. */
if (!expression_allocate (expr, MDL)) {
log_error ("No memory for concatenation expression node.");
return 0;
}
-
+
(*expr) -> op = expr_concat;
expression_reference (&(*expr) -> data.concat [0], left, MDL);
expression_reference (&(*expr) -> data.concat [1], right, MDL);
@@ -304,7 +304,7 @@ int make_encapsulation (expr, name)
log_error ("No memory for encapsulation expression node.");
return 0;
}
-
+
(*expr) -> op = expr_encapsulate;
data_string_copy (&(*expr) -> data.encapsulate, name, MDL);
return 1;
@@ -380,7 +380,7 @@ int make_let (result, name)
{
if (!(executable_statement_allocate (result, MDL)))
return 0;
-
+
(*result) -> op = let_statement;
(*result) -> data.let.name = dmalloc (strlen (name) + 1, MDL);
if (!(*result) -> data.let.name) {
@@ -390,7 +390,7 @@ int make_let (result, name)
strcpy ((*result) -> data.let.name, name);
return 1;
}
-
+
static int do_host_lookup (result, dns)
struct data_string *result;
struct dns_host_entry *dns;
@@ -457,7 +457,7 @@ static int do_host_lookup (result, dns)
/* Count the number of addresses we got... */
for (count = 0; h -> h_addr_list [count]; count++)
;
-
+
/* Dereference the old data, if any. */
data_string_forget (&dns -> data, MDL);
@@ -1571,8 +1571,8 @@ int evaluate_data_expression (result, packet, lease, client_state,
result -> data, 20));
#endif
return s0;
-
-
+
+
case expr_encode_int16:
s0 = evaluate_numeric_expression (&len, packet, lease,
client_state,
@@ -1994,7 +1994,7 @@ int evaluate_data_expression (result, packet, lease, client_state,
memchr (packet -> raw -> sname, 0,
sizeof packet -> raw -> sname);
if (!fn)
- fn = ((char *)packet -> raw -> sname +
+ fn = ((char *)packet -> raw -> sname +
sizeof packet -> raw -> sname);
result -> len = fn - &packet -> raw -> sname [0];
if (buffer_allocate (&result -> buffer,
@@ -2080,7 +2080,7 @@ int evaluate_data_expression (result, packet, lease, client_state,
/* no number or an obviously invalid number */
if ((s0 == 0) ||
- ((len > 0) &&
+ ((len > 0) &&
((packet == NULL) ||
(packet->dhcpv6_container_packet == NULL)))) {
#if defined (DEBUG_EXPRESSIONS)
@@ -2093,7 +2093,7 @@ int evaluate_data_expression (result, packet, lease, client_state,
i = len;
relay_packet = packet;
relay_options = in_options;
- while ((i != 0) &&
+ while ((i != 0) &&
(relay_packet->dhcpv6_container_packet != NULL)) {
relay_packet = relay_packet->dhcpv6_container_packet;
relay_options = relay_packet->options;
@@ -2224,7 +2224,7 @@ int evaluate_data_expression (result, packet, lease, client_state,
log_error ("Bogus opcode in evaluate_data_expression: %d", expr -> op);
return 0;
-}
+}
int evaluate_numeric_expression (result, packet, lease, client_state,
in_options, cfg_options, scope, expr)
@@ -2377,7 +2377,7 @@ int evaluate_numeric_expression (result, packet, lease, client_state,
(long unsigned)cur_time, *result);
#endif
return (1);
-
+
case expr_variable_reference:
if (scope && *scope) {
binding = find_binding (*scope, expr -> data.variable);
@@ -2793,7 +2793,7 @@ int evaluate_boolean_expression_result (ignorep, packet, lease, client_state,
/* So that we can be called with option_lookup as an argument. */
if (!expr)
return 0;
-
+
if (!evaluate_boolean_expression (&result, packet, lease, client_state,
in_options, cfg_options,
scope, expr))
@@ -2806,7 +2806,7 @@ int evaluate_boolean_expression_result (ignorep, packet, lease, client_state,
*ignorep = 0;
return result;
}
-
+
/* Dereference an expression node, and if the reference count goes to zero,
dereference any data it refers to, and then free it. */
@@ -3318,7 +3318,7 @@ int write_expression (file, expr, col, indent, firstp)
case expr_none:
col = token_print_indent (file, col, indent, "", "", "null");
break;
-
+
case expr_check:
col = token_print_indent (file, col, indent, "", "", "check");
col = token_print_indent_concat (file, col, indent,
@@ -3483,7 +3483,7 @@ int write_expression (file, expr, col, indent, firstp)
if (expr -> data.option -> universe != &dhcp_universe) {
col = token_print_indent (file, col, indent,
" ", "",
- (expr -> data.option ->
+ (expr -> data.option ->
universe -> name));
col = token_print_indent (file, col, indent, "", "",
".");
@@ -3495,7 +3495,7 @@ int write_expression (file, expr, col, indent, firstp)
}
break;
- case expr_hardware:
+ case expr_hardware:
col = token_print_indent (file, col, indent, "", "",
"hardware");
break;
@@ -3941,7 +3941,7 @@ int data_subexpression_length (int *rv,
else
*rv = lrhs;
return 1;
-
+
case expr_v6relay:
clhs = data_subexpression_length (&llhs,
expr -> data.v6relay.relay);
@@ -4148,11 +4148,11 @@ int unset (struct binding_scope *scope, const char *name)
/*!
* \brief Adds two Dc-formatted lists into a single Dc-formatted list
*
- * Given two data_strings containing compressed lists, it constructs a
+ * Given two data_strings containing compressed lists, it constructs a
* third data_string containing a single compressed list:
*
* 1. Decompressing the first list into a buffer
- * 2. Decompressing the second list onto the end of the buffer
+ * 2. Decompressing the second list onto the end of the buffer
* 3. Compressing the buffer into the result
*
* If either list is empty, the result will be the equal to the compressed
@@ -4161,17 +4161,17 @@ int unset (struct binding_scope *scope, const char *name)
*
* It relies on two functions to decompress and compress:
*
- * - MRns_name_uncompress_list() - produces a null-terminated string of
+ * - MRns_name_uncompress_list() - produces a null-terminated string of
* comma-separated domain-names from a buffer containing "Dc" formatted
* data
*
* - MRns_name_compress_list() - produces a buffer containing "Dc" formatted
* data from a null-terminated string containing comma-separated domain-names
- *
+ *
* \param result data_string which will contain the combined list
* in Dc format
- * \param list1 data_string containing first Dc formatted list
- * \param list2 data_string containing second Dc formatted list
+ * \param list1 data_string containing first Dc formatted list
+ * \param list2 data_string containing second Dc formatted list
* \return 0 if there is an error, the length of the new list when successful
*/
int concat_dclists (struct data_string* result,
diff --git a/common/upf.c b/common/upf.c
index 9785879a..37e5cb28 100644
--- a/common/upf.c
+++ b/common/upf.c
@@ -3,7 +3,7 @@
Ultrix PacketFilter interface code. */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1996-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -94,7 +94,7 @@ int if_register_upf (info)
info -> name);
/* We only know how to do ethernet. */
- if (param.end_dev_type != ENDT_10MB)
+ if (param.end_dev_type != ENDT_10MB)
log_fatal ("Invalid device type on network interface %s: %d",
info -> name, param.end_dev_type);
diff --git a/configure b/configure
index 78efd185..1bdbe576 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for DHCP 4.4.2-P1.
+# Generated by GNU Autoconf 2.69 for DHCP 4.4.3b1.
#
# Report bugs to <dhcp-users@isc.org>.
#
@@ -580,8 +580,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='DHCP'
PACKAGE_TARNAME='dhcp'
-PACKAGE_VERSION='4.4.2-P1'
-PACKAGE_STRING='DHCP 4.4.2-P1'
+PACKAGE_VERSION='4.4.3b1'
+PACKAGE_STRING='DHCP 4.4.3b1'
PACKAGE_BUGREPORT='dhcp-users@isc.org'
PACKAGE_URL=''
@@ -694,6 +694,9 @@ AM_BACKSLASH
AM_DEFAULT_VERBOSITY
AM_DEFAULT_V
AM_V
+CSCOPE
+ETAGS
+CTAGS
am__untar
am__tar
AMTAR
@@ -1350,7 +1353,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures DHCP 4.4.2-P1 to adapt to many kinds of systems.
+\`configure' configures DHCP 4.4.3b1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1420,7 +1423,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of DHCP 4.4.2-P1:";;
+ short | recursive ) echo "Configuration of DHCP 4.4.3b1:";;
esac
cat <<\_ACEOF
@@ -1591,7 +1594,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-DHCP configure 4.4.2-P1
+DHCP configure 4.4.3b1
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2384,7 +2387,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by DHCP $as_me 4.4.2-P1, which was
+It was created by DHCP $as_me 4.4.3b1, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2941,12 +2944,7 @@ program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
am_aux_dir=`cd "$ac_aux_dir" && pwd`
if test x"${MISSING+set}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
- *)
- MISSING="\${SHELL} $am_aux_dir/missing" ;;
- esac
+ MISSING="\${SHELL} '$am_aux_dir/missing'"
fi
# Use eval to expand $SHELL
if eval "$MISSING --is-lightweight"; then
@@ -3251,7 +3249,7 @@ fi
# Define the identity of the package.
PACKAGE='dhcp'
- VERSION='4.4.2-P1'
+ VERSION='4.4.3b1'
cat >>confdefs.h <<_ACEOF
@@ -3301,6 +3299,20 @@ am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
+# Variables for tags utilities; see am/tags.am
+if test -z "$CTAGS"; then
+ CTAGS=ctags
+fi
+
+if test -z "$ETAGS"; then
+ ETAGS=etags
+fi
+
+if test -z "$CSCOPE"; then
+ CSCOPE=cscope
+fi
+
+
# POSIX will say in a future version that running "rm -f" with no argument
# is OK; and we want to be able to make that assumption in our Makefile
@@ -6762,7 +6774,7 @@ if test "$have_nanosleep" = "rt"; then
LIBS="-lrt $LIBS"
fi
-# check for /dev/random (declares HAVE_DEV_RANDOM)
+# check for /dev/random (declares ISC_PATH_RANDOMDEV)
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for random device" >&5
$as_echo_n "checking for random device... " >&6; }
@@ -6813,7 +6825,9 @@ eval ac_res=\$$as_ac_File
$as_echo "$ac_res" >&6; }
if eval test \"x\$"$as_ac_File"\" = x"yes"; then :
-$as_echo "#define HAVE_DEV_RANDOM 1" >>confdefs.h
+cat >>confdefs.h <<_ACEOF
+#define ISC_PATH_RANDOMDEV "$use_randomdev"
+_ACEOF
else
as_fn_error $? "cannot find $use_randomdev" "$LINENO" 5
@@ -8093,7 +8107,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by DHCP $as_me 4.4.2-P1, which was
+This file was extended by DHCP $as_me 4.4.3b1, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -8159,7 +8173,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-DHCP config.status 4.4.2-P1
+DHCP config.status 4.4.3b1
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/configure.ac b/configure.ac
index 2ca53ffd..de2a6a49 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,4 +1,4 @@
-AC_INIT([DHCP],[4.4.2-P1],[dhcp-users@isc.org])
+AC_INIT([DHCP],[4.4.3b1],[dhcp-users@isc.org])
# we specify "foreign" to avoid having to have the GNU mandated files,
@@ -170,7 +170,7 @@ if test "$enable_dhcpv4o6" = "yes"; then
if test "$enable_dhcpv6" = "no"; then
AC_MSG_ERROR([dhcpv4o6 requires dhcpv6])
fi
- AC_DEFINE([DHCP4o6], [1],
+ AC_DEFINE([DHCP4o6], [1],
[Define to 1 to include DHCPv4 over DHCPv6 support.])
else
# so we can report below
@@ -629,7 +629,7 @@ if test "$have_nanosleep" = "rt"; then
LIBS="-lrt $LIBS"
fi
-# check for /dev/random (declares HAVE_DEV_RANDOM)
+# check for /dev/random (declares ISC_PATH_RANDOMDEV)
AC_MSG_CHECKING(for random device)
AC_ARG_WITH(randomdev,
AS_HELP_STRING([--with-randomdev=PATH],[Path for random device
@@ -653,8 +653,8 @@ else
else
AC_MSG_RESULT($use_randomdev)
AC_CHECK_FILE($use_randomdev,
- AC_DEFINE([HAVE_DEV_RANDOM], [1],
- [Define to 1 if you have the /dev/random or other configured file.]),
+ AC_DEFINE_UNQUOTED([ISC_PATH_RANDOMDEV], ["$use_randomdev"],
+ [Define if you have the /dev/random or other configured file.]),
AC_MSG_ERROR(cannot find $use_randomdev))
fi
BINDCONFIG="$BINDCONFIG --with-randomdev=$use_randomdev"
@@ -806,7 +806,7 @@ no)
BINDLIBIRSDIR="$BINDDIR/lib"
BINDLIBDNSDIR="$BINDDIR/lib"
BINDLIBISCCFGDIR="$BINDDIR/lib"
- BINDLIBISCDIR="$BINDDIR/lib"
+ BINDLIBISCDIR="$BINDDIR/lib"
DISTCHECK_LIBBIND_CONFIGURE_FLAG="--with-libbind=$use_libbind"
;;
esac
diff --git a/configure.ac+lt b/configure.ac+lt
index 6432927f..dd0517ae 100644
--- a/configure.ac+lt
+++ b/configure.ac+lt
@@ -630,7 +630,7 @@ if test "$have_nanosleep" = "rt"; then
LIBS="-lrt $LIBS"
fi
-# check for /dev/random (declares HAVE_DEV_RANDOM)
+# check for /dev/random (declares ISC_PATH_RANDOMDEV)
AC_MSG_CHECKING(for random device)
AC_ARG_WITH(randomdev,
AS_HELP_STRING([--with-randomdev=PATH],[Path for random device
@@ -654,8 +654,8 @@ else
else
AC_MSG_RESULT($use_randomdev)
AC_CHECK_FILE($use_randomdev,
- AC_DEFINE([HAVE_DEV_RANDOM], [1],
- [Define to 1 if you have the /dev/random or other configured file.]),
+ AC_DEFINE_UNQUOTED([ISC_PATH_RANDOMDEV], ["$use_randomdev"],
+ [Define if you have the /dev/random or other configured file.]),
AC_MSG_ERROR(cannot find $use_randomdev))
fi
BINDCONFIG="$BINDCONFIG --with-randomdev=$use_randomdev"
diff --git a/configure.ac-base b/configure.ac-base
index a981afe0..32f5e5df 100644
--- a/configure.ac-base
+++ b/configure.ac-base
@@ -635,7 +635,7 @@ if test "$have_nanosleep" = "rt"; then
LIBS="-lrt $LIBS"
fi
-# check for /dev/random (declares HAVE_DEV_RANDOM)
+# check for /dev/random (declares ISC_PATH_RANDOMDEV)
AC_MSG_CHECKING(for random device)
AC_ARG_WITH(randomdev,
AS_HELP_STRING([--with-randomdev=PATH],[Path for random device
@@ -659,8 +659,8 @@ else
else
AC_MSG_RESULT($use_randomdev)
AC_CHECK_FILE($use_randomdev,
- AC_DEFINE([HAVE_DEV_RANDOM], [1],
- [Define to 1 if you have the /dev/random or other configured file.]),
+ AC_DEFINE_UNQUOTED([ISC_PATH_RANDOMDEV], ["$use_randomdev"],
+ [Define if you have the /dev/random or other configured file.]),
AC_MSG_ERROR(cannot find $use_randomdev))
fi
BINDCONFIG="$BINDCONFIG --with-randomdev=$use_randomdev"
diff --git a/configure.ac-lt b/configure.ac-lt
index 3a583a59..c7ad1922 100644
--- a/configure.ac-lt
+++ b/configure.ac-lt
@@ -629,7 +629,7 @@ if test "$have_nanosleep" = "rt"; then
LIBS="-lrt $LIBS"
fi
-# check for /dev/random (declares HAVE_DEV_RANDOM)
+# check for /dev/random (declares ISC_PATH_RANDOMDEV)
AC_MSG_CHECKING(for random device)
AC_ARG_WITH(randomdev,
AS_HELP_STRING([--with-randomdev=PATH],[Path for random device
@@ -653,8 +653,8 @@ else
else
AC_MSG_RESULT($use_randomdev)
AC_CHECK_FILE($use_randomdev,
- AC_DEFINE([HAVE_DEV_RANDOM], [1],
- [Define to 1 if you have the /dev/random or other configured file.]),
+ AC_DEFINE_UNQUOTED([ISC_PATH_RANDOMDEV], ["$use_randomdev"],
+ [Define if you have the /dev/random or other configured file.]),
AC_MSG_ERROR(cannot find $use_randomdev))
fi
BINDCONFIG="$BINDCONFIG --with-randomdev=$use_randomdev"
diff --git a/dhcpctl/Makefile.am b/dhcpctl/Makefile.am
index 0d669715..9e623375 100644
--- a/dhcpctl/Makefile.am
+++ b/dhcpctl/Makefile.am
@@ -5,7 +5,7 @@ BINDLIBISCDIR=@BINDLIBISCDIR@
bin_PROGRAMS = omshell
lib_LIBRARIES = libdhcpctl.a
-noinst_PROGRAMS = cltest
+noinst_PROGRAMS = cltest cltest2
man_MANS = omshell.1 dhcpctl.3
EXTRA_DIST = $(man_MANS)
@@ -24,3 +24,10 @@ cltest_LDADD = libdhcpctl.a ../common/libdhcp.a ../omapip/libomapi.a \
$(BINDLIBDNSDIR)/libdns.a \
$(BINDLIBISCCFGDIR)/libisccfg.a \
$(BINDLIBISCDIR)/libisc.a
+
+cltest2_SOURCES = cltest2.c
+cltest2_LDADD = libdhcpctl.a ../common/libdhcp.a ../omapip/libomapi.a \
+ $(BINDLIBIRSDIR)/libirs.a \
+ $(BINDLIBDNSDIR)/libdns.a \
+ $(BINDLIBISCCFGDIR)/libisccfg.a \
+ $(BINDLIBISCDIR)/libisc.a
diff --git a/dhcpctl/Makefile.am.in b/dhcpctl/Makefile.am.in
index 0d77ffc6..28333cef 100644
--- a/dhcpctl/Makefile.am.in
+++ b/dhcpctl/Makefile.am.in
@@ -5,7 +5,7 @@ BINDLIBISCDIR=@Q@BINDLIBISCDIR@Q@
bin_PROGRAMS = omshell
lib_@DHLIBS@ = libdhcpctl.@A@
-noinst_PROGRAMS = cltest
+noinst_PROGRAMS = cltest cltest2
man_MANS = omshell.1 dhcpctl.3
EXTRA_DIST = $(man_MANS)
@@ -24,3 +24,10 @@ cltest_LDADD = libdhcpctl.@A@ ../common/libdhcp.@A@ ../omapip/libomapi.@A@ \
$(BINDLIBDNSDIR)/libdns.@A@ \
$(BINDLIBISCCFGDIR)/libisccfg.@A@ \
$(BINDLIBISCDIR)/libisc.@A@
+
+cltest2_SOURCES = cltest2.c
+cltest2_LDADD = libdhcpctl.@A@ ../common/libdhcp.@A@ ../omapip/libomapi.@A@ \
+ $(BINDLIBIRSDIR)/libirs.@A@ \
+ $(BINDLIBDNSDIR)/libdns.@A@ \
+ $(BINDLIBISCCFGDIR)/libisccfg.@A@ \
+ $(BINDLIBISCDIR)/libisc.@A@
diff --git a/dhcpctl/Makefile.in b/dhcpctl/Makefile.in
index 7e31633c..79825568 100644
--- a/dhcpctl/Makefile.in
+++ b/dhcpctl/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.2 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2020 Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -90,7 +90,7 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
bin_PROGRAMS = omshell$(EXEEXT)
-noinst_PROGRAMS = cltest$(EXEEXT)
+noinst_PROGRAMS = cltest$(EXEEXT) cltest2$(EXEEXT)
subdir = dhcpctl
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
@@ -148,6 +148,12 @@ cltest_DEPENDENCIES = libdhcpctl.a ../common/libdhcp.a \
../omapip/libomapi.a $(BINDLIBIRSDIR)/libirs.a \
$(BINDLIBDNSDIR)/libdns.a $(BINDLIBISCCFGDIR)/libisccfg.a \
$(BINDLIBISCDIR)/libisc.a
+am_cltest2_OBJECTS = cltest2.$(OBJEXT)
+cltest2_OBJECTS = $(am_cltest2_OBJECTS)
+cltest2_DEPENDENCIES = libdhcpctl.a ../common/libdhcp.a \
+ ../omapip/libomapi.a $(BINDLIBIRSDIR)/libirs.a \
+ $(BINDLIBDNSDIR)/libdns.a $(BINDLIBISCCFGDIR)/libisccfg.a \
+ $(BINDLIBISCDIR)/libisc.a
am_omshell_OBJECTS = omshell.$(OBJEXT)
omshell_OBJECTS = $(am_omshell_OBJECTS)
omshell_DEPENDENCIES = libdhcpctl.a ../common/libdhcp.a \
@@ -170,8 +176,8 @@ DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/includes
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__maybe_remake_depfiles = depfiles
am__depfiles_remade = ./$(DEPDIR)/callback.Po ./$(DEPDIR)/cltest.Po \
- ./$(DEPDIR)/dhcpctl.Po ./$(DEPDIR)/omshell.Po \
- ./$(DEPDIR)/remote.Po
+ ./$(DEPDIR)/cltest2.Po ./$(DEPDIR)/dhcpctl.Po \
+ ./$(DEPDIR)/omshell.Po ./$(DEPDIR)/remote.Po
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -185,9 +191,10 @@ AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
-SOURCES = $(libdhcpctl_a_SOURCES) $(cltest_SOURCES) $(omshell_SOURCES)
-DIST_SOURCES = $(libdhcpctl_a_SOURCES) $(cltest_SOURCES) \
+SOURCES = $(libdhcpctl_a_SOURCES) $(cltest_SOURCES) $(cltest2_SOURCES) \
$(omshell_SOURCES)
+DIST_SOURCES = $(libdhcpctl_a_SOURCES) $(cltest_SOURCES) \
+ $(cltest2_SOURCES) $(omshell_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -214,8 +221,6 @@ am__define_uniq_tagged_files = \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
am__DIST_COMMON = $(srcdir)/Makefile.am.in $(srcdir)/Makefile.in \
$(top_srcdir)/depcomp
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -246,6 +251,8 @@ CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
@@ -257,6 +264,7 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
GREP = @GREP@
INSTALL = @INSTALL@
@@ -360,6 +368,13 @@ cltest_LDADD = libdhcpctl.a ../common/libdhcp.a ../omapip/libomapi.a \
$(BINDLIBISCCFGDIR)/libisccfg.a \
$(BINDLIBISCDIR)/libisc.a
+cltest2_SOURCES = cltest2.c
+cltest2_LDADD = libdhcpctl.a ../common/libdhcp.a ../omapip/libomapi.a \
+ $(BINDLIBIRSDIR)/libirs.a \
+ $(BINDLIBDNSDIR)/libdns.a \
+ $(BINDLIBISCCFGDIR)/libisccfg.a \
+ $(BINDLIBISCDIR)/libisc.a
+
all: all-am
.SUFFIXES:
@@ -481,6 +496,10 @@ cltest$(EXEEXT): $(cltest_OBJECTS) $(cltest_DEPENDENCIES) $(EXTRA_cltest_DEPENDE
@rm -f cltest$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(cltest_OBJECTS) $(cltest_LDADD) $(LIBS)
+cltest2$(EXEEXT): $(cltest2_OBJECTS) $(cltest2_DEPENDENCIES) $(EXTRA_cltest2_DEPENDENCIES)
+ @rm -f cltest2$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(cltest2_OBJECTS) $(cltest2_LDADD) $(LIBS)
+
omshell$(EXEEXT): $(omshell_OBJECTS) $(omshell_DEPENDENCIES) $(EXTRA_omshell_DEPENDENCIES)
@rm -f omshell$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(omshell_OBJECTS) $(omshell_LDADD) $(LIBS)
@@ -493,6 +512,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/callback.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cltest.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cltest2.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dhcpctl.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/omshell.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/remote.Po@am__quote@ # am--include-marker
@@ -654,7 +674,6 @@ cscopelist-am: $(am__tagged_files)
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
@@ -733,6 +752,7 @@ clean-am: clean-binPROGRAMS clean-generic clean-libLIBRARIES \
distclean: distclean-am
-rm -f ./$(DEPDIR)/callback.Po
-rm -f ./$(DEPDIR)/cltest.Po
+ -rm -f ./$(DEPDIR)/cltest2.Po
-rm -f ./$(DEPDIR)/dhcpctl.Po
-rm -f ./$(DEPDIR)/omshell.Po
-rm -f ./$(DEPDIR)/remote.Po
@@ -783,6 +803,7 @@ installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f ./$(DEPDIR)/callback.Po
-rm -f ./$(DEPDIR)/cltest.Po
+ -rm -f ./$(DEPDIR)/cltest2.Po
-rm -f ./$(DEPDIR)/dhcpctl.Po
-rm -f ./$(DEPDIR)/omshell.Po
-rm -f ./$(DEPDIR)/remote.Po
diff --git a/dhcpctl/callback.c b/dhcpctl/callback.c
index 95096edf..dc992085 100644
--- a/dhcpctl/callback.c
+++ b/dhcpctl/callback.c
@@ -3,7 +3,7 @@
The dhcpctl callback object. */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1999-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -66,7 +66,7 @@ dhcpctl_status dhcpctl_set_callback (dhcpctl_handle h, void *data,
omapi_object_reference (&callback -> object, h, MDL);
callback -> data = data;
callback -> callback = func;
-
+
return ISC_R_SUCCESS;
}
@@ -93,7 +93,7 @@ isc_result_t dhcpctl_callback_get_value (omapi_object_t *h,
{
if (h -> type != dhcpctl_callback_type)
return DHCP_R_INVALIDARG;
-
+
if (h -> inner && h -> inner -> type -> get_value)
return (*(h -> inner -> type -> get_value))
(h -> inner, id, name, value);
@@ -159,4 +159,3 @@ isc_result_t dhcpctl_callback_stuff_values (omapi_object_t *c,
p -> inner);
return ISC_R_SUCCESS;
}
-
diff --git a/dhcpctl/cltest.c b/dhcpctl/cltest.c
index 4e2544b1..8a64d22b 100644
--- a/dhcpctl/cltest.c
+++ b/dhcpctl/cltest.c
@@ -3,7 +3,7 @@
Example program that uses the dhcpctl library. */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 2000-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -99,7 +99,7 @@ int main (argc, argv)
int mode = undefined;
const char *interface = 0;
const char *action;
-
+
for (i = 1; i < argc; i++) {
if (!strcmp (argv[i], "-u")) {
mode = up;
diff --git a/dhcpctl/cltest2.c b/dhcpctl/cltest2.c
new file mode 100644
index 00000000..8e02b18b
--- /dev/null
+++ b/dhcpctl/cltest2.c
@@ -0,0 +1,310 @@
+/* cltest2.c
+
+ Example program that uses the dhcpctl library. */
+
+/*
+ * Copyright (C) 2020-2022 Internet Systems Consortium, Inc. ("ISC")
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+ * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * Internet Systems Consortium, Inc.
+ * 950 Charter Street
+ * Redwood City, CA 94063
+ * <info@isc.org>
+ * https://www.isc.org/
+ *
+ * This software was contributed to Internet Systems Consortium
+ * by Brian Murrell.
+ */
+
+#include "config.h"
+
+#include <time.h>
+#include <sys/time.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdarg.h>
+#include "omapip/result.h"
+#include "dhcpctl.h"
+#include "dhcpd.h"
+
+int main (int, char **);
+
+static void usage (char *s) {
+ fprintf (stderr,
+ "Usage: %s [-s <server ip>] [-p <port>]", s);
+ exit (1);
+}
+
+static void fail_on_error(isc_result_t status, const char* message) {
+ if (status != ISC_R_SUCCESS) {
+ fprintf (stderr, "%s: %s\n",
+ message, isc_result_totext (status));
+ exit (1);
+ }
+}
+
+isc_result_t wait_with_retry(dhcpctl_handle handle, struct timeval* timeout, int retries);
+
+void print_object(char *msg, dhcpctl_handle handle);
+
+/* Simple test program that exercises dhcpctl calls as follows:
+ *
+ * 1. Connect to the given server
+ * 2. Create a local host object with hostname "cltest2.host"
+ * 3. Attempt to open the remote host object
+ * 4. If the host does not exist, add a client id and create it
+ * 5. Disconnect
+ * 6. Reconnect
+ * 7. Refresh the host object
+ * 8. Disconnect
+ * 9. Time connect
+ * 10. Time connect retry
+ *
+ * Note that this program tests dhcpctl_timed_wait_for_completion() by calling
+ * it with extremely small timeouts.
+*/
+
+int main (argc, argv)
+ int argc;
+ char **argv;
+{
+ isc_result_t status;
+ dhcpctl_handle connection;
+ dhcpctl_handle host;
+ char* ip_address = "127.0.0.1";
+ int port = 7911;
+ char* hostname = "cltest2.host";
+ struct timeval timeout;
+ int i;
+
+ for (i = 1; i < argc; i++) {
+ if (!strcmp (argv[i], "-s")) {
+ ip_address = argv[i];
+ } else if (!strcmp (argv [i], "-p")) {
+ port=atoi(argv[i]);
+ } else if (argv[i][0] == '-') {
+ usage(argv[0]);
+ }
+ }
+
+ /* Initialize dhcpctl */
+ status = dhcpctl_initialize ();
+ fail_on_error(status ,"can't initialize dhcpctl");
+
+ /* Connect */
+ connection = 0;
+ status = dhcpctl_connect (&connection, ip_address, port, 0);
+ fail_on_error(status ,"connect failed");
+
+ /* Create the host object */
+ host = 0;
+ status = dhcpctl_new_object (&host, connection, "host");
+ fail_on_error(status ,"new oject failed");
+
+ status = dhcpctl_set_string_value (host, hostname, "name");
+ fail_on_error(status ,"cant set host name");
+
+ /* Attempt to open the object */
+ status = dhcpctl_open_object (host, connection, 0);
+ timeout.tv_sec = 0;
+ timeout.tv_usec = 20;
+ status = wait_with_retry(host, &timeout, 2);
+ switch (status) {
+ case ISC_R_NOTFOUND:
+ /* Host doesn't exist add it. We set an id so the create will be valid. */
+ status = dhcpctl_set_string_value (host, "abcdefg", "dhcp-client-identifier");
+ fail_on_error(status ,"can't set client id");
+
+ status = dhcpctl_open_object (host, connection,
+ DHCPCTL_CREATE | DHCPCTL_EXCL);
+ fail_on_error(status, "open(create) failed");
+
+ status = wait_with_retry(host, &timeout, 2);
+ fail_on_error(status, "wait after open(create)");
+
+ print_object("Host created", host);
+ break;
+
+ case ISC_R_SUCCESS:
+ print_object("Host exists", host);
+ break;
+
+ default:
+ fail_on_error(status, "initial open failed, waiting for completion");
+ break;
+ }
+
+ /* Now we'll test disconnect */
+ status = dhcpctl_disconnect(&connection, 0);
+ fail_on_error(status, "can't disconnect");
+
+ /* Reconnect */
+ status = dhcpctl_connect (&connection, ip_address, port, 0);
+ fail_on_error(status ,"can't reconnect");
+
+ /* Refresh the object */
+ status = dhcpctl_object_refresh (connection, host);
+ fail_on_error(status , "can't refresh");
+
+ status = wait_with_retry(host, &timeout, 2);
+ fail_on_error(status , "wait after refresh failed");
+
+ print_object("After reconnect/refresh", host);
+
+ /* Now we'll disconnect */
+ status = dhcpctl_disconnect(&connection, 0);
+ fail_on_error(status, "can't disconnect");
+
+ /* Try a timed connect */
+ timeout.tv_sec = 0;
+ timeout.tv_usec = 1;
+ status = dhcpctl_timed_connect (&connection, ip_address, port, 0, &timeout);
+
+ /* Try again if we time out */
+ if (status == ISC_R_TIMEDOUT) {
+ printf ("Retry timed connect\n");
+ timeout.tv_sec = 10;
+ status = dhcpctl_timed_connect (&connection, ip_address, port, 0,
+ &timeout);
+ }
+
+ fail_on_error(status ,"can't reconnect");
+
+ /* Lastly we'll disconnect to clean up */
+ status = dhcpctl_disconnect(&connection, 0);
+ fail_on_error(status ,"can't disconnect");
+
+ exit (0);
+}
+
+/* Function to call and optionally retry dhcp_timed_wait_for_completion() */
+isc_result_t wait_with_retry(dhcpctl_handle handle, struct timeval* timeout, int retries) {
+ isc_result_t status;
+ isc_result_t waitstatus;
+ struct timeval use_timeout;
+
+ if (timeout) {
+ use_timeout.tv_sec = timeout->tv_sec;
+ use_timeout.tv_usec = timeout->tv_usec;
+ } else {
+ retries = 0;
+ }
+
+ int tries = 0;
+ do {
+ if (tries++) {
+ printf ("wait retry #%d\n", tries);
+ /* Set the timeout value to 30 secs */
+ use_timeout.tv_sec = 30;
+ use_timeout.tv_usec = 0;
+ }
+
+ // Call timed wait.
+ status = dhcpctl_timed_wait_for_completion (handle, &waitstatus,
+ (timeout ? &use_timeout: 0));
+ if (status == ISC_R_SUCCESS) {
+ return(waitstatus);
+ }
+
+ if (status != ISC_R_TIMEDOUT) {
+ fprintf (stderr, "timed wait failed: %s\n", isc_result_totext (status));
+ exit (1);
+ }
+ } while (--retries > 0);
+
+ return (ISC_R_TIMEDOUT);
+}
+
+/* Function to print out the values contained in an object. Largely
+ * stolen from omshell.c */
+void print_object(char* msg, dhcpctl_handle handle) {
+ dhcpctl_remote_object_t *r = (dhcpctl_remote_object_t *)handle;
+ omapi_generic_object_t *object = (omapi_generic_object_t *)(r->inner);
+ char hex_buf[4096];
+ int i;
+
+ printf ("%s:\n",msg);
+ for (i = 0; i < object->nvalues; i++) {
+ omapi_value_t *v = object->values[i];
+
+ if (!object->values[i])
+ continue;
+
+ printf ("\t%.*s = ", (int)v->name->len, v->name->value);
+
+ if (!v->value) {
+ printf ("<null>\n");
+ continue;
+ }
+
+ switch (v->value->type) {
+ case omapi_datatype_int:
+ printf ("%d\n", v->value->u.integer);
+ break;
+
+ case omapi_datatype_string:
+ printf ("\"%.*s\"\n", (int)v->value->u.buffer.len,
+ v->value->u.buffer.value);
+ break;
+
+ case omapi_datatype_data:
+ print_hex_or_string(v->value->u.buffer.len,
+ v->value->u.buffer.value,
+ sizeof(hex_buf), hex_buf);
+ printf("%s\n", hex_buf);
+ break;
+
+ case omapi_datatype_object:
+ printf ("<obj>\n");
+ break;
+ }
+ }
+}
+
+/* Dummy functions to appease linker */
+isc_result_t find_class (struct class **c, const char *n, const char *f, int l)
+{
+ return 0;
+}
+int parse_allow_deny (struct option_cache **oc, struct parse *cfile, int flag)
+{
+ return 0;
+}
+void dhcp (struct packet *packet) { }
+void bootp (struct packet *packet) { }
+
+#ifdef DHCPv6
+void dhcpv6(struct packet *packet) { }
+
+#ifdef DHCP4o6
+isc_result_t dhcpv4o6_handler(omapi_object_t *h)
+{
+ return ISC_R_NOTIMPLEMENTED;
+}
+#endif /* DHCP4o6 */
+#endif /* DHCPv6 */
+
+int check_collection (struct packet *p, struct lease *l, struct collection *c)
+{
+ return 0;
+}
+void classify (struct packet *packet, struct class *class) { }
+
+isc_result_t dhcp_set_control_state (control_object_state_t oldstate,
+ control_object_state_t newstate)
+{
+ return ISC_R_SUCCESS;
+}
+
diff --git a/dhcpctl/dhcpctl.3 b/dhcpctl/dhcpctl.3
index ee2e583a..48fd728c 100644
--- a/dhcpctl/dhcpctl.3
+++ b/dhcpctl/dhcpctl.3
@@ -3,9 +3,8 @@
.\" Project: DHCP
.\" File: dhcpctl.3
.\" RCSId: $Id: dhcpctl.3,v 1.9 2011/04/25 23:43:16 sar Exp $
-.\"
-.\" Copyright (c) 2011,2014 by Internet Systems Consortium, Inc. ("ISC")
-.\" Copyright (c) 2004,2009 by Internet Systems Consortium, Inc. ("ISC")
+.\"
+.\" Copyright (c) 2004-2022 by Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (c) 2000-2003 by Internet Software Consortium
.\" Copyright (c) 2000 Nominum, Inc.
.\"
@@ -22,13 +21,13 @@
.\" OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.\" Internet Systems Consortium, Inc.
-.\" 950 Charter Street
-.\" Redwood City, CA 94063
+.\" PO Box 360
+.\" Newmarket, NH 03857 USA
.\" <info@isc.org>
.\" https://www.isc.org/
-.\"
+.\"
.\" Description: dhcpctl man page.
-.\"
+.\"
.\"
.Dd Nov 15, 2000
.Dt DHCPCTL 3
@@ -61,6 +60,25 @@
.\"
.\"
.Ft dhcpctl_status
+.Fo dhcpctl_timed_connect
+.Fa "dhcpctl_handle *cxn"
+.Fa "const char *host"
+.Fa "int port"
+.Fa "dhcpctl_handle auth"
+.Fa "dhcpctl_status *status"
+.Fc
+.\"
+.\"
+.\"
+.Ft dhcpctl_status
+.Fo dhcpctl_disconnect
+.Fa "dhcpctl_handle *cxn"
+.Fa "int force"
+.Fc
+.\"
+.\"
+.\"
+.Ft dhcpctl_status
.Fo dhcpctl_wait_for_completion
.Fa "dhcpctl_handle object"
.Fa "dhcpctl_status *status"
@@ -69,6 +87,15 @@
.\"
.\"
.Ft dhcpctl_status
+.Fo dhcpctl_timed_wait_for_completion
+.Fa "dhcpctl_handle object"
+.Fa "dhcpctl_status *status"
+.Fa "struct timeval *timeout"
+.Fc
+.\"
+.\"
+.\"
+.Ft dhcpctl_status
.Fo dhcpctl_get_value
.Fa "dhcpctl_data_string *value"
.Fa "dhcpctl_handle object"
@@ -207,8 +234,8 @@ with and manipulate a running ISC DHCP server. All functions return a value of
The return values reflects the result of operations to local data
structures. If an operation fails on the server for any reason, then the error
result will be returned through the
-second parameter of the
-.Fn dhcpctl_wait_for_completion
+second parameter of the
+.Fn dhcpctl_wait_for_completion
call.
.\"
.\"
@@ -235,19 +262,66 @@ OMAPI port). No authentication is used for the connection.
.\"
.\"
.Pp
+.Fn dhcpctl_timed_connect
+opens a connection to the DHCP server at the given host and port. If an
+authenticator has been created for the connection, then it is given as the 4th
+argument. On a successful return the address pointed at by the first
+argument will have a new connection object assigned to it.
+How long the function waits for complete the connection is dictated by the value
+of the parameter, \fBtimeout\fR. If the value is null, it will wait indefinetly
+Otherwise it will wait for the amount of time specified by \fBtimeout\fR
+(tv_sec:tv_usec). Values of zero for both fields are valid but not recommended.
+An example is shown below:
+.Pp
+For example:
+.Bd -literal -offset indent
+struct timeval timeout;
+timeout.tv_sec = 5; /* wait for 5 seconds */
+timeout.tv_usec = 0;
+
+s = dhcpctl_connect(&cxn, "127.0.0.1", 7911, NULL, &timeout);
+.Ed
+.Pp
+connects to the DHCP server on the localhost via port 7911 (the standard
+OMAPI port). No authentication is used for the connection. It allows
+5 seconds for the connect to complete.
+.\"
+.\"
+.\"
+.Pp
+.Fn dhcpctl_disconnect
+closes the open connection specified by the first parameter, \fBcxn\fR. Note
+that this call will free the connection object and \fBcxn\fR will be set to
+ nul. If the second parameter,\fBforce\fR, is nonzero, the connection will be
+closed immediately. Otherwise the receiving end will be shut down but any
+unsent data will be sent before actually closing the socket. Note that
+disconnecting only destroys the connection object, any other objects previously
+created will still exist.
+.Pp
+For example:
+.Bd -literal -offset indent
+s = dhcpctl_disconnect(&cxn, 1);
+.Ed
+.Pp
+will close the connection immediately. This funcion should be considered
+\fBEXPERIMENTAL\fR.
+.\"
+.\"
+.\"
+.Pp
.Fn dhcpctl_wait_for_completion
flushes a pending message to the server and waits for the response. The result
of the request as processed on the server is returned via the second
parameter.
.Bd -literal -offset indent
s = dhcpctl_wait_for_completion(cxn, &wv);
-if (s != ISC_R_SUCCESS)
+if (s != ISC_R_SUCCESS)
local_failure(s);
else if (wv != ISC_R_SUCCESS)
server_failure(wc);
.Ed
.Pp
-The call to
+The call to
.Fn dhcpctl_wait_for_completion
won't return until the remote message processing completes or the connection
to the server is lost.
@@ -255,6 +329,43 @@ to the server is lost.
.\"
.\"
.Pp
+
+.Fn dhcpctl_timed_wait_for_completion
+flushes a pending message to the server and waits for the response. How long
+the function waits for a response is dictated by the value of the third
+parameter, \fBtimeout\fR. If the value is null, it will wait indefinetly or
+until the connection is lost. Otherwise it will wait for the amount of time
+specified by \fBtimeout\fR (tv_sec:tv_usec). Values of zero for both fields
+are valid but not recommended. The result of the request as processed on the
+server is returned via the second parameter. An example is shown below:
+.Bd -literal -offset indent
+
+struct timeval timeout;
+timeout.tv_sec = 5; /* wait for 5 seconds */
+timeout.tv_usec = 0;
+
+s = dhcpctl_wait_for_completion(cxn, &wv, &timeout);
+if (s != ISC_R_SUCCESS) {
+ local_failure(s);
+} else if (wv != ISC_R_SUCCESS) {
+ server_failure(wc);
+}
+.Ed
+.Pp
+If the function times out, the status returned will be ISC_R_TIMEDOUT. Please
+note that even though the function is no longer waiting for a response, the
+server does not abandon the request and may still respond by writing the
+response to the socket. A subsequent call to either this function or
+\fBdhcpctl_wait_for_completion()\fR will see that data and read it. Depending
+on the application logic flow this may or may not be desired. Currently though
+only mechanism for "flushing" this data is to close the connection by calling
+\fBdisconnet()\fR, and then reconnecting via \fBconnect()\fR. Please note
+this function should be considered \fBEXPERIMENTAL\fR.
+
+.\"
+.\"
+.\"
+.Pp
.Fn dhcpctl_get_value
extracts a value of an attribute from the handle. The value can be of any
length and is treated as a sequence of bytes. The handle must have been
@@ -290,7 +401,7 @@ The
.Fn dhcpctl_set_boolean_value ,
and
.Fn dhcpctl_set_int_value
-functions all set a value on the object handle.
+functions all set a value on the object handle.
.\"
.\"
.\"
@@ -319,7 +430,7 @@ handle.
.\"
.\"
.Pp
-The
+The
.Fn dhcpctl_set_callback
function sets up a user-defined function to be called when an event completes
on the given object handle. This is needed for asynchronous handling of
@@ -327,23 +438,23 @@ events, versus the synchronous handling given by
.Fn dhcpctl_wait_for_completion .
When the function is called the first parameter is the object the event
arrived for, the second is the status of the message that was processed, the
-third is the same value as the second parameter given to
+third is the same value as the second parameter given to
.Fn dhcpctl_set_callback .
.\"
.\"
.\"
.Pp
-The
+The
.Fn dhcpctl_new_authenticator
creates a new authenticator object to be used for signing the messages
-that cross over the network. The
+that cross over the network. The
.Dq name ,
.Dq algorithm ,
-and
+and
.Dq secret
values must all match what the server uses and are defined in its
configuration file. The created object is returned through the first parameter
-and must be used as the 4th parameter to
+and must be used as the 4th parameter to
.Fn dhcpctl_connect .
Note that the 'secret' value must not be base64 encoded, which is different
from how the value appears in the dhcpd.conf file.
@@ -352,11 +463,11 @@ from how the value appears in the dhcpd.conf file.
.\"
.Pp
.Fn dhcpctl_new_object
-creates a local handle for an object on the server. The
+creates a local handle for an object on the server. The
.Dq object_type
-parameter is the ascii name of the type of object being accessed. e.g.
+parameter is the ascii name of the type of object being accessed. e.g.
.Qq lease .
-This function only sets up local data structures, it does not queue any
+This function only sets up local data structures, it does not queue any
messages
to be sent to the remote side,
.Fn dhcpctl_open_object
@@ -385,22 +496,22 @@ was also specified
.\"
.\"
.Pp
-The
+The
.Fn omapi_data_string_new
function allocates a new
.Ft dhcpctl_data_string
-object. The data string will be large enough to hold
+object. The data string will be large enough to hold
.Dq length
bytes of data. The
-.Dq file
+.Dq file
and
.Dq lineno
arguments are the source file location the call is made from, typically by
-using the
+using the
.Dv __FILE__
and
.Dv __LINE__
-macros or the
+macros or the
.Dv MDL
macro defined in
.
@@ -414,11 +525,11 @@ deallocates a data string created by
The memory for the object won't be freed until the last reference is
released.
.Sh EXAMPLES
-.Pp
+.Pp
The following program will connect to the DHCP server running on the local
host and will get the details of the existing lease for IP address
10.0.0.101. It will then print out the time the lease is due to expire. Note
-that most error checking has been omitted for brevity.
+that most error checking has been omitted for brevity.
.Bd -literal -offset indent
#include <sys/time.h>
#include <stdio.h>
@@ -446,7 +557,7 @@ int main (int argc, char **argv) {
dhcpctl_connect (&connection, "127.0.0.1",
7911, 0);
-
+
dhcpctl_new_object (&lease, connection,
"lease");
@@ -492,4 +603,3 @@ omapi(3), omshell(1), dhcpd(8), dhclient(8), dhcpd.conf(5), dhclient.conf(5).
is maintained by ISC. To learn more about Internet Systems Consortium,
see
.B https://www.isc.org
-
diff --git a/dhcpctl/dhcpctl.c b/dhcpctl/dhcpctl.c
index f394fc5d..cb84b4e0 100644
--- a/dhcpctl/dhcpctl.c
+++ b/dhcpctl/dhcpctl.c
@@ -3,7 +3,7 @@
Subroutines providing general support for objects. */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1999-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -29,6 +29,9 @@
#include "dhcpd.h"
#include <omapip/omapip_p.h>
#include "dhcpctl.h"
+#include <sys/time.h>
+
+/* #define DEBUG_DHCPCTL 1 */
omapi_object_type_t *dhcpctl_callback_type;
omapi_object_type_t *dhcpctl_remote_type;
@@ -86,7 +89,7 @@ dhcpctl_status dhcpctl_initialize ()
synchronous
returns nonzero status code if it didn't connect, zero otherwise
stores connection handle through connection, which can be used
- for subsequent access to the specified server.
+ for subsequent access to the specified server.
server_name is the name of the server, and port is the TCP
port on which it is listening.
authinfo is the handle to an object containing authentication
@@ -97,6 +100,9 @@ dhcpctl_status dhcpctl_connect (dhcpctl_handle *connection,
dhcpctl_handle authinfo)
{
isc_result_t status;
+#ifdef DEBUG_DHCPCTL
+ log_debug("dhcpctl_connect(%s:%d)", server_name, port);
+#endif
status = omapi_generic_new (connection, MDL);
if (status != ISC_R_SUCCESS) {
@@ -105,19 +111,88 @@ dhcpctl_status dhcpctl_connect (dhcpctl_handle *connection,
status = omapi_protocol_connect (*connection, server_name,
(unsigned)port, authinfo);
- if (status == ISC_R_SUCCESS)
+ if (status == ISC_R_SUCCESS) {
+#ifdef DEBUG_DHCPCTL
+ log_debug("dhcpctl_connect success");
+#endif
return status;
+ }
+
if (status != DHCP_R_INCOMPLETE) {
omapi_object_dereference (connection, MDL);
+#ifdef DEBUG_DHCPCTL
+ log_debug("dhcpctl_connect failed:%s",
+ isc_result_totext (status));
+#endif
return status;
}
status = omapi_wait_for_completion (*connection, 0);
if (status != ISC_R_SUCCESS) {
omapi_object_dereference (connection, MDL);
+#ifdef DEBUG_DHCPCTL
+ log_debug("dhcpctl_connect, wait failed:%s",
+ isc_result_totext (status));
+#endif
return status;
}
+#ifdef DEBUG_DHCPCTL
+ log_debug("dhcpctl_connect success");
+#endif
+ return status;
+}
+
+/* dhcpctl_timed_connect
+
+ synchronous
+ returns nonzero status code if it didn't connect, zero otherwise
+ stores connection handle through connection, which can be used
+ for subsequent access to the specified server.
+ server_name is the name of the server, and port is the TCP
+ port on which it is listening.
+ authinfo is the handle to an object containing authentication
+ information.
+ How long the function waits for the connection to complete is
+ dictated by the value of the parameter, t. If the value is nul,
+ it will wait indefinetly. Otherwise it will wait for the amount
+ of time specified by t (tv_sec:tv_usec). Values of zero for both
+ fields are valid but not recommended. */
+dhcpctl_status dhcpctl_timed_connect (dhcpctl_handle *connection,
+ const char *server_name, int port,
+ dhcpctl_handle authinfo,
+ struct timeval *t)
+{
+ isc_result_t status;
+#ifdef DEBUG_DHCPCTL
+ log_debug("dhcpctl_timed_connect(%s:%d)", server_name, port);
+#endif
+ status = omapi_generic_new (connection, MDL);
+ if (status != ISC_R_SUCCESS) {
+ return status;
+ }
+
+ status = omapi_protocol_connect (*connection, server_name,
+ (unsigned)port, authinfo);
+
+ if (status == ISC_R_SUCCESS) {
+ return status;
+ }
+
+ if (status == DHCP_R_INCOMPLETE) {
+ isc_result_t wait_status = ISC_R_SUCCESS;
+
+ /* Wait for it to complete */
+ status = dhcpctl_timed_wait_for_completion(*connection,
+ &wait_status, t);
+ if (status == ISC_R_SUCCESS) {
+ status = wait_status;
+ }
+ }
+
+ if (status != ISC_R_SUCCESS) {
+ omapi_object_dereference (connection, MDL);
+ }
return status;
}
@@ -137,20 +212,81 @@ dhcpctl_status dhcpctl_connect (dhcpctl_handle *connection,
dhcpctl_status dhcpctl_wait_for_completion (dhcpctl_handle h,
dhcpctl_status *s)
{
+#ifdef DEBUG_DHCPCTL
+ log_debug("dhcpctl_wait_for_completion");
+#endif
isc_result_t status;
status = omapi_wait_for_completion (h, 0);
- if (status != ISC_R_SUCCESS)
+ if (status != ISC_R_SUCCESS) {
return status;
+ }
if (h -> type == dhcpctl_remote_type)
*s = ((dhcpctl_remote_object_t *)h) -> waitstatus;
+
+ return ISC_R_SUCCESS;
+}
+
+/* dhcpctl_timed_wait_for_completion
+
+ synchronous
+ returns zero if the callback completes, a nonzero status if
+ there was some problem relating to the wait operation. The
+ status of the queued request will be stored through s, and
+ will also be either zero for success or nonzero for some kind
+ of failure. How long the function waits for a response is
+ dictated by the value of the parameter, t. If the value is nul,
+ it will wait indefinetly or until the connection is lost.
+ Otherwise it will wait for the amount of time specified by t
+ (tv_sec:tv_usec). Values of zero for both fields are valid
+ but not recommended. The result of the request as processed on the
+ server is returned via the parameter, s. This performs the same
+ function as dhcpctl_set_callback and the subsequent callback,
+ for programs that want to do inline execution instead of using
+ callbacks. */
+
+dhcpctl_status dhcpctl_timed_wait_for_completion (dhcpctl_handle h,
+ dhcpctl_status *s,
+ struct timeval *t)
+{
+ isc_result_t status;
+ struct timeval adjusted_t;
+
+#ifdef DEBUG_DHCPCTL
+ if (t) {
+ log_debug ("dhcpctl_timed_wait_for_completion"
+ "(%u.%u secs.usecs)",
+ (unsigned int)(t->tv_sec),
+ (unsigned int)(t->tv_usec));
+ } else {
+ log_debug ("dhcpctl_timed_wait_for_completion(no timeout)");
+ }
+#endif
+
+ if (t) {
+ struct timeval now;
+ gettimeofday (&now, (struct timezone *)0);
+ adjusted_t.tv_sec = now.tv_sec + t->tv_sec;
+ adjusted_t.tv_usec = now.tv_usec + t->tv_usec;
+ }
+
+ status = omapi_wait_for_completion (h, (t ? &adjusted_t : 0));
+ if (status != ISC_R_SUCCESS) {
+ return status;
+ }
+
+ if (h->type == dhcpctl_remote_type) {
+ *s = ((dhcpctl_remote_object_t *)h)->waitstatus;
+ }
+
return ISC_R_SUCCESS;
}
+
/* dhcpctl_get_value
synchronous
returns zero if the call succeeded, a nonzero status code if
- it didn't.
+ it didn't.
result is the address of an empty data string (initialized
with bzero or cleared with data_string_forget). On
successful completion, the addressed data string will contain
@@ -168,6 +304,9 @@ dhcpctl_status dhcpctl_get_value (dhcpctl_data_string *result,
omapi_value_t *tv = (omapi_value_t *)0;
unsigned len;
int ip;
+#ifdef DEBUG_DHCPCTL
+ log_debug("dhcpctl_get_value(%s)", value_name);
+#endif
status = omapi_get_value_str (h, (omapi_object_t *)0, value_name, &tv);
if (status != ISC_R_SUCCESS)
@@ -232,7 +371,11 @@ dhcpctl_status dhcpctl_get_boolean (int *result,
isc_result_t status;
dhcpctl_data_string data = (dhcpctl_data_string)0;
int rv;
-
+
+#ifdef DEBUG_DHCPCTL
+ log_debug("dhcpctl_get_boolean(%s)", value_name);
+#endif
+
status = dhcpctl_get_value (&data, h, value_name);
if (status != ISC_R_SUCCESS)
return status;
@@ -258,6 +401,9 @@ dhcpctl_status dhcpctl_set_value (dhcpctl_handle h, dhcpctl_data_string value,
isc_result_t status;
omapi_typed_data_t *tv = (omapi_typed_data_t *)0;
omapi_data_string_t *name = (omapi_data_string_t *)0;
+#ifdef DEBUG_DHCPCTL
+ log_debug("dhcpctl_set_value(%s)", value_name);
+#endif
status = omapi_data_string_new (&name, strlen (value_name), MDL);
if (status != ISC_R_SUCCESS)
@@ -291,6 +437,9 @@ dhcpctl_status dhcpctl_set_string_value (dhcpctl_handle h, const char *value,
isc_result_t status;
omapi_typed_data_t *tv = (omapi_typed_data_t *)0;
omapi_data_string_t *name = (omapi_data_string_t *)0;
+#ifdef DEBUG_DHCPCTL
+ log_debug("dhcpctl_set_string_value(%s)", value_name);
+#endif
status = omapi_data_string_new (&name, strlen (value_name), MDL);
if (status != ISC_R_SUCCESS)
@@ -324,6 +473,9 @@ dhcpctl_status dhcpctl_set_data_value (dhcpctl_handle h,
omapi_typed_data_t *tv = (omapi_typed_data_t *)0;
omapi_data_string_t *name = (omapi_data_string_t *)0;
unsigned ll;
+#ifdef DEBUG_DHCPCTL
+ log_debug("dhcpctl_set_data_value(%s)", value_name);
+#endif
ll = strlen (value_name);
status = omapi_data_string_new (&name, ll, MDL);
@@ -355,6 +507,9 @@ dhcpctl_status dhcpctl_set_null_value (dhcpctl_handle h,
isc_result_t status;
omapi_data_string_t *name = (omapi_data_string_t *)0;
unsigned ll;
+#ifdef DEBUG_DHCPCTL
+ log_debug("dhcpctl_set_null_value(%s)", value_name);
+#endif
ll = strlen (value_name);
status = omapi_data_string_new (&name, ll, MDL);
@@ -379,6 +534,9 @@ dhcpctl_status dhcpctl_set_boolean_value (dhcpctl_handle h, int value,
isc_result_t status;
omapi_typed_data_t *tv = (omapi_typed_data_t *)0;
omapi_data_string_t *name = (omapi_data_string_t *)0;
+#ifdef DEBUG_DHCPCTL
+ log_debug("dhcpctl_set_boolean_value(%s)", value_name);
+#endif
status = omapi_data_string_new (&name, strlen (value_name), MDL);
if (status != ISC_R_SUCCESS)
@@ -408,6 +566,9 @@ dhcpctl_status dhcpctl_set_int_value (dhcpctl_handle h, int value,
isc_result_t status;
omapi_typed_data_t *tv = (omapi_typed_data_t *)0;
omapi_data_string_t *name = (omapi_data_string_t *)0;
+#ifdef DEBUG_DHCPCTL
+ log_debug("dhcpctl_set_int_value(%s)", value_name);
+#endif
status = omapi_data_string_new (&name, strlen (value_name), MDL);
if (status != ISC_R_SUCCESS)
@@ -438,6 +599,9 @@ dhcpctl_status dhcpctl_object_update (dhcpctl_handle connection,
isc_result_t status;
omapi_object_t *message = (omapi_object_t *)0;
dhcpctl_remote_object_t *ro;
+#ifdef DEBUG_DHCPCTL
+ log_debug("dhcpctl_object_update");
+#endif
if (h -> type != dhcpctl_remote_type)
return DHCP_R_INVALIDARG;
@@ -487,6 +651,9 @@ dhcpctl_status dhcpctl_object_refresh (dhcpctl_handle connection,
isc_result_t status;
omapi_object_t *message = (omapi_object_t *)0;
dhcpctl_remote_object_t *ro;
+#ifdef DEBUG_DHCPCTL
+ log_debug("dhcpctl_object_refresh");
+#endif
if (h -> type != dhcpctl_remote_type)
return DHCP_R_INVALIDARG;
@@ -540,6 +707,9 @@ dhcpctl_status dhcpctl_object_remove (dhcpctl_handle connection,
isc_result_t status;
omapi_object_t *message = (omapi_object_t *)0;
dhcpctl_remote_object_t *ro;
+#ifdef DEBUG_DHCPCTL
+ log_debug("dhcpctl_object_remove");
+#endif
if (h -> type != dhcpctl_remote_type)
return DHCP_R_INVALIDARG;
@@ -582,5 +752,40 @@ dhcpctl_status dhcpctl_object_remove (dhcpctl_handle connection,
isc_result_t dhcpctl_data_string_dereference (dhcpctl_data_string *vp,
const char *file, int line)
{
+#ifdef DEBUG_DHCPCTL
+ log_debug("dhcpctl_data_string_dereference");
+#endif
return omapi_data_string_dereference (vp, file, line);
}
+
+dhcpctl_status dhcpctl_disconnect (dhcpctl_handle *connection,
+ int force)
+{
+ isc_result_t status;
+#ifdef DEBUG_DHCPCTL
+ log_debug("dhcpctl_disconnect()");
+#endif
+ if (!connection || !((*connection)->outer) ||
+ !((*connection)->outer->type) ||
+ ((*connection)->outer->type != omapi_type_protocol) ||
+ !((*connection)->outer->outer)) {
+ log_debug("dhcpctl_disconnect detected invalid arg");
+ return DHCP_R_INVALIDARG;
+ }
+
+ status = omapi_disconnect ((*connection)->outer->outer, force);
+ if (status == ISC_R_SUCCESS) {
+#ifdef DEBUG_DHCPCTL
+ log_debug("dhcpctl_disconnect success");
+#endif
+ omapi_object_dereference (connection, MDL);
+ return status;
+ }
+
+#ifdef DEBUG_DHCPCTL
+ log_debug("dhcpctl_disconnect failed:%s",
+ isc_result_totext (status));
+#endif
+ return status;
+}
+
diff --git a/dhcpctl/dhcpctl.h b/dhcpctl/dhcpctl.h
index 0512bd4c..61a2cd4b 100644
--- a/dhcpctl/dhcpctl.h
+++ b/dhcpctl/dhcpctl.h
@@ -3,7 +3,7 @@
Subroutines providing general support for objects. */
/*
- * Copyright (c) 2004,2009,2014 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1999-2003 by Internet Software Consortium
*
* Permission to use, copy, modify, and distribute this software for any
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -62,7 +62,16 @@ extern omapi_object_type_t *dhcpctl_remote_type;
dhcpctl_status dhcpctl_initialize (void);
dhcpctl_status dhcpctl_connect (dhcpctl_handle *,
const char *, int, dhcpctl_handle);
+
+dhcpctl_status dhcpctl_timed_connect (dhcpctl_handle *, const char *,
+ int, dhcpctl_handle, struct timeval *);
+
dhcpctl_status dhcpctl_wait_for_completion (dhcpctl_handle, dhcpctl_status *);
+
+dhcpctl_status dhcpctl_timed_wait_for_completion (dhcpctl_handle h,
+ dhcpctl_status *s,
+ struct timeval *t);
+
dhcpctl_status dhcpctl_get_value (dhcpctl_data_string *,
dhcpctl_handle, const char *);
dhcpctl_status dhcpctl_get_boolean (int *, dhcpctl_handle, const char *);
@@ -87,7 +96,7 @@ isc_result_t dhcpctl_callback_set_value (omapi_object_t *, omapi_object_t *,
omapi_typed_data_t *);
isc_result_t dhcpctl_callback_get_value (omapi_object_t *, omapi_object_t *,
omapi_data_string_t *,
- omapi_value_t **);
+ omapi_value_t **);
isc_result_t dhcpctl_callback_destroy (omapi_object_t *, const char *, int);
isc_result_t dhcpctl_callback_signal_handler (omapi_object_t *,
const char *, va_list);
@@ -107,7 +116,7 @@ isc_result_t dhcpctl_remote_set_value (omapi_object_t *, omapi_object_t *,
omapi_typed_data_t *);
isc_result_t dhcpctl_remote_get_value (omapi_object_t *, omapi_object_t *,
omapi_data_string_t *,
- omapi_value_t **);
+ omapi_value_t **);
isc_result_t dhcpctl_remote_destroy (omapi_object_t *, const char *, int);
isc_result_t dhcpctl_remote_signal_handler (omapi_object_t *,
const char *, va_list);
@@ -116,4 +125,7 @@ isc_result_t dhcpctl_remote_stuff_values (omapi_object_t *,
omapi_object_t *);
isc_result_t dhcpctl_data_string_dereference (dhcpctl_data_string *,
const char *, int);
+
+dhcpctl_status dhcpctl_disconnect (dhcpctl_handle *, int);
+
#endif /* _DHCPCTL_H_ */
diff --git a/dhcpctl/omshell.1 b/dhcpctl/omshell.1
index 2f55e965..918c1e96 100644
--- a/dhcpctl/omshell.1
+++ b/dhcpctl/omshell.1
@@ -1,6 +1,6 @@
.\" $Id: omshell.1,v 1.6 2009/11/24 02:06:56 sar Exp $
.\"
-.\" Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+.\" Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (c) 2001-2003 by Internet Software Consortium
.\"
.\" Permission to use, copy, modify, and distribute this software for any
@@ -16,8 +16,8 @@
.\" OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.\" Internet Systems Consortium, Inc.
-.\" 950 Charter Street
-.\" Redwood City, CA 94063
+.\" PO Box 360
+.\" Newmarket, NH 03857 USA
.\" <info@isc.org>
.\" https://www.isc.org/
.\"
@@ -96,7 +96,7 @@ transactions. Supported values for \fIalgorithm\fR are:
HMAC-SHA256
HMAC-SHA384
HMAC-SHA512
-fi
+.fi
The default is HMAC-MD5. (Value is not case sensitive).
.RE
.PP
@@ -341,4 +341,3 @@ dhcpctl(3), omapi(3), dhcpd(8), dhclient(8), dhcpd.conf(5), dhclient.conf(5).
is maintained by ISC. To learn more about Internet Systems Consortium,
see
.B https://www.isc.org
-
diff --git a/dhcpctl/omshell.c b/dhcpctl/omshell.c
index d7a05cc4..afbccf69 100644
--- a/dhcpctl/omshell.c
+++ b/dhcpctl/omshell.c
@@ -3,7 +3,7 @@
Examine and modify omapi objects. */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 2001-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -81,7 +81,7 @@ static void check (isc_result_t status, const char *func) {
}
}
-int
+int
main(int argc, char **argv) {
isc_result_t status, waitstatus;
dhcpctl_handle connection;
@@ -132,7 +132,7 @@ main(int argc, char **argv) {
dhcpctl_remote_object_t *r = (dhcpctl_remote_object_t *)oh;
omapi_generic_object_t *g =
(omapi_generic_object_t *)(r -> inner);
-
+
printf ("obj: ");
if (r -> rtype -> type != omapi_datatype_string) {
@@ -142,16 +142,16 @@ main(int argc, char **argv) {
(int)(r -> rtype -> u . buffer . len),
r -> rtype -> u . buffer . value);
}
-
+
for (i = 0; i < g -> nvalues; i++) {
omapi_value_t *v = g -> values [i];
-
+
if (!g -> values [i])
continue;
printf ("%.*s = ", (int)v -> name -> len,
v -> name -> value);
-
+
if (!v -> value) {
printf ("<null>\n");
continue;
@@ -161,20 +161,20 @@ main(int argc, char **argv) {
printf ("%d\n",
v -> value -> u . integer);
break;
-
+
case omapi_datatype_string:
printf ("\"%.*s\"\n",
(int) v -> value -> u.buffer.len,
v -> value -> u.buffer.value);
break;
-
+
case omapi_datatype_data:
print_hex_or_string(v->value->u.buffer.len,
v->value->u.buffer.value,
sizeof(hex_buf), hex_buf);
printf("%s\n", hex_buf);
break;
-
+
case omapi_datatype_object:
printf ("<obj>\n");
break;
@@ -189,18 +189,18 @@ main(int argc, char **argv) {
status = new_parse (&cfile, -1, buf, strlen(buf), "<STDIN>", 1);
check(status, "new_parse()");
-
+
token = next_token (&val, (unsigned *)0, cfile);
switch (token) {
default:
parse_warn (cfile, "unknown token: %s", val);
skip_to_semi (cfile);
break;
-
+
case END_OF_FILE:
case ENDOFLINE: /* EOL: */
break;
-
+
case TOKEN_HELP:
case QUESTIONMARK: /* '?': */
printf ("Commands:\n");
@@ -208,6 +208,7 @@ main(int argc, char **argv) {
printf (" server <server address>\n");
printf (" key <key name> <key value>\n");
printf (" connect\n");
+ printf (" disconnect\n");
printf (" new <object-type>\n");
printf (" set <name> = <value>\n");
printf (" create\n");
@@ -218,7 +219,7 @@ main(int argc, char **argv) {
printf (" remove\n");
skip_to_semi (cfile);
break;
-
+
case PORT:
token = next_token (&val, (unsigned *)0, cfile);
if (is_identifier (token)) {
@@ -427,19 +428,41 @@ main(int argc, char **argv) {
connected = 1;
break;
+ case DISCONNECT:
+ token = next_token (&val, (unsigned *)0, cfile);
+ if (token != END_OF_FILE && token != EOL) {
+ printf ("usage: disconnect\n");
+ skip_to_semi (cfile);
+ break;
+ }
+
+ if (!connected || !connection) {
+ fprintf (stderr, "not connected\n");
+ break;
+ }
+
+ status = dhcpctl_disconnect (&connection, 0);
+ if (status != ISC_R_SUCCESS) {
+ fprintf (stderr, "dhcpctl_disconnect: %s\n",
+ isc_result_totext (status));
+ break;
+ }
+ connected = 0;
+ break;
+
case TOKEN_NEW:
token = next_token (&val, (unsigned *)0, cfile);
if ((!is_identifier (token) && token != STRING)) {
printf ("usage: new <object-type>\n");
break;
}
-
+
if (oh) {
printf ("an object is already open.\n");
skip_to_semi (cfile);
break;
}
-
+
if (!connected) {
printf ("not connected.\n");
skip_to_semi (cfile);
@@ -452,7 +475,7 @@ main(int argc, char **argv) {
isc_result_totext (status));
break;
}
-
+
token = next_token (&val, (unsigned *)0, cfile);
if (token != END_OF_FILE && token != EOL) {
printf ("usage: new <object-type>\n");
@@ -481,7 +504,7 @@ main(int argc, char **argv) {
break;
}
omapi_object_dereference (&oh, MDL);
-
+
break;
case TOKEN_SET:
@@ -493,13 +516,13 @@ main(int argc, char **argv) {
skip_to_semi (cfile);
break;
}
-
+
if (oh == NULL) {
printf ("no open object.\n");
skip_to_semi (cfile);
break;
}
-
+
if (!connected) {
printf ("not connected.\n");
skip_to_semi (cfile);
@@ -512,7 +535,7 @@ main(int argc, char **argv) {
s1[0] = 0;
strncat (s1, val, sizeof(s1)-strlen(s1)-1);
#endif
-
+
token = next_token (&val, (unsigned *)0, cfile);
if (token != EQUAL)
goto set_usage;
@@ -523,7 +546,7 @@ main(int argc, char **argv) {
dhcpctl_set_string_value (oh, val, s1);
token = next_token (&val, (unsigned *)0, cfile);
break;
-
+
case NUMBER:
strcpy (buf, val);
token = peek_token (&val, (unsigned *)0, cfile);
@@ -561,7 +584,7 @@ main(int argc, char **argv) {
token = next_token (&val, (unsigned *)0, cfile);
badnum:
break;
-
+
case NUMBER_OR_NAME:
strcpy (buf, val);
cshl:
@@ -587,11 +610,11 @@ main(int argc, char **argv) {
printf ("invalid value.\n");
skip_to_semi (cfile);
}
-
+
if (token != END_OF_FILE && token != EOL)
goto set_usage;
break;
-
+
case UNSET:
token = next_token (&val, (unsigned *)0, cfile);
@@ -601,13 +624,13 @@ main(int argc, char **argv) {
skip_to_semi (cfile);
break;
}
-
+
if (!oh) {
printf ("no open object.\n");
skip_to_semi (cfile);
break;
}
-
+
if (!connected) {
printf ("not connected.\n");
skip_to_semi (cfile);
@@ -620,7 +643,7 @@ main(int argc, char **argv) {
s1[0] = 0;
strncat (s1, val, sizeof(s1)-strlen(s1)-1);
#endif
-
+
token = next_token (&val, (unsigned *)0, cfile);
if (token != END_OF_FILE && token != EOL)
goto unset_usage;
@@ -628,7 +651,7 @@ main(int argc, char **argv) {
dhcpctl_set_null_value (oh, s1);
break;
-
+
case TOKEN_CREATE:
case TOKEN_OPEN:
i = token;
@@ -638,7 +661,7 @@ main(int argc, char **argv) {
skip_to_semi (cfile);
break;
}
-
+
if (!connected) {
printf ("not connected.\n");
skip_to_semi (cfile);
@@ -655,7 +678,7 @@ main(int argc, char **argv) {
i = DHCPCTL_CREATE | DHCPCTL_EXCL;
else
i = 0;
-
+
status = dhcpctl_open_object (oh, connection, i);
if (status == ISC_R_SUCCESS)
status = dhcpctl_wait_for_completion
@@ -667,7 +690,7 @@ main(int argc, char **argv) {
isc_result_totext (status));
break;
}
-
+
break;
case UPDATE:
@@ -677,7 +700,7 @@ main(int argc, char **argv) {
skip_to_semi (cfile);
break;
}
-
+
if (!connected) {
printf ("not connected.\n");
skip_to_semi (cfile);
@@ -701,7 +724,7 @@ main(int argc, char **argv) {
isc_result_totext (status));
break;
}
-
+
break;
case REMOVE:
@@ -711,7 +734,7 @@ main(int argc, char **argv) {
skip_to_semi (cfile);
break;
}
-
+
if (!connected) {
printf ("not connected.\n");
break;
@@ -743,7 +766,7 @@ main(int argc, char **argv) {
skip_to_semi (cfile);
break;
}
-
+
if (!connected) {
printf ("not connected.\n");
break;
@@ -765,7 +788,7 @@ main(int argc, char **argv) {
isc_result_totext (status));
break;
}
-
+
break;
}
end_parse (&cfile);
diff --git a/dhcpctl/remote.c b/dhcpctl/remote.c
index 31964c79..93904a0d 100644
--- a/dhcpctl/remote.c
+++ b/dhcpctl/remote.c
@@ -3,7 +3,7 @@
The dhcpctl remote object. */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1999-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -164,7 +164,7 @@ dhcpctl_status dhcpctl_new_object (dhcpctl_handle *h,
flags include:
DHCPCTL_CREATE - if the object doesn't exist, create it
DHCPCTL_UPDATE - update the object on the server using the
- attached parameters
+ attached parameters
DHCPCTL_EXCL - error if the object exists and DHCPCTL_CREATE
was also specified */
@@ -281,7 +281,7 @@ isc_result_t dhcpctl_remote_get_value (omapi_object_t *h,
{
if (h -> type != dhcpctl_remote_type)
return DHCP_R_INVALIDARG;
-
+
if (h -> inner && h -> inner -> type -> get_value)
return (*(h -> inner -> type -> get_value))
(h -> inner, id, name, value);
@@ -352,4 +352,3 @@ isc_result_t dhcpctl_remote_stuff_values (omapi_object_t *c,
p -> inner);
return ISC_R_SUCCESS;
}
-
diff --git a/doc/Makefile b/doc/Makefile
index 60a48fdf..e55b12f0 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -1,4 +1,4 @@
-# Copyright (c) 2004-2006,2009 by Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
# Copyright (c) 1995-2003 by Internet Software Consortium
#
# Permission to use, copy, modify, and distribute this software for any
@@ -14,8 +14,8 @@
# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
# Internet Systems Consortium, Inc.
-# 950 Charter Street
-# Redwood City, CA 94063
+# PO Box 360
+# Newmarket, NH 03857 USA
# <info@isc.org>
# https://www.isc.org/
diff --git a/doc/References.html b/doc/References.html
index 30745d49..4f9017a4 100644
--- a/doc/References.html
+++ b/doc/References.html
@@ -157,7 +157,7 @@
</p>
<h3>Copyright Notice</h3>
-<p>Copyright (c) 2006-2017 by Internet Systems
+<p>Copyright (C) 2006-2022 Internet Systems
Consortium, Inc. ("ISC")
</p>
<p> This Source Code Form is subject to the terms of the Mozilla Public
@@ -301,7 +301,7 @@ Definition: Reference Implementation</h3>
first provide a reference.
</li>
</ul><p>
-
+
</p>
<p>That is the lofty goal, at any rate. It's well understood that,
especially because the ISC DHCP Software package has not always been
@@ -394,7 +394,7 @@ Low Layer References</h3>
the need to implement many forms of Link Layer framing and above.
The software gets away with not having to implement IP routing
tables as well by simply utilizing the aforementioned 'fallback'
- UDP socket when unicasting between two configured systems is
+ UDP socket when unicasting between two configured systems is
needed.
</p>
<p>Modern unixes have opened up some facilities that diminish how
@@ -645,7 +645,7 @@ Experimental: Failover References</h3>
DHCP clients on given networks, so that one of the two servers may
fail and be survived by a server that can act responsibly.
</p>
-<p>Unfortunately it has been quite some years (2003) since the last
+<p>Unfortunately it has been quite some years (2003) since the last
time this document was edited, and the authors no longer show any
interest in fielding comments or improving the document.
</p>
@@ -676,7 +676,7 @@ Experimental: Failover References</h3>
communications-interrupted. This is supported using a new
'rewind state' record on the dhcpd.leases entry for each
lease.
-
+
</p>
<p><a class='info' href='#RFC3074'>[RFC3074]<span> (</span><span class='info'>Volz, B., Gonczi, S., Lemon, T., and R. Stevens, &ldquo;DHC Load Balancing Algorithm,&rdquo; February&nbsp;2001.</span><span>)</span></a> describes the Load Balancing
Algorithm (LBA) that ISC DHCP uses in concert with the Failover
@@ -734,7 +734,7 @@ DHCPv6 Protocol References</h3>
beneath options it also contains.
</li>
</ol><p>
-
+
</p>
<p>Precisely how to correctly support the above conundrums has not
quite yet been settled, so support is incomplete.
@@ -1015,9 +1015,9 @@ References</h3>
<td class="author-text">Internet Systems Consortium,
Inc.</td></tr>
<tr><td class="author-text">&nbsp;</td>
-<td class="author-text">950 Charter Street</td></tr>
+<td class="author-text">PO Box 360</td></tr>
<tr><td class="author-text">&nbsp;</td>
-<td class="author-text">Redwood City, CA 94063</td></tr>
+<td class="author-text">Newmarket, NH 03857 USA</td></tr>
<tr cellpadding="3"><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td class="author-text">&nbsp;</td>
<td class="author-text">Tomasz Mrugalski</td></tr>
@@ -1025,9 +1025,9 @@ References</h3>
<td class="author-text">Internet Systems Consortium,
Inc.</td></tr>
<tr><td class="author-text">&nbsp;</td>
-<td class="author-text">950 Charter Street</td></tr>
+<td class="author-text">PO Box 360</td></tr>
<tr><td class="author-text">&nbsp;</td>
-<td class="author-text">Redwood City, CA 94063</td></tr>
+<td class="author-text">Newmarket, NH 03857 USA</td></tr>
<tr><td class="author" align="right">Phone:&nbsp;</td>
<td class="author-text">+1 650 423 1345</td></tr>
<tr><td class="author" align="right">Email:&nbsp;</td>
diff --git a/doc/References.txt b/doc/References.txt
index abf67da5..d4c5d915 100644
--- a/doc/References.txt
+++ b/doc/References.txt
@@ -17,7 +17,7 @@ Abstract
Copyright Notice
- Copyright (c) 2006-2017 by Internet Systems Consortium,
+ Copyright (C) 2006-2022 Internet Systems Consortium,
Inc. ("ISC")
This Source Code Form is subject to the terms of the Mozilla Public
@@ -1102,8 +1102,8 @@ Authors' Addresses
David W. Hankins
Internet Systems Consortium, Inc.
- 950 Charter Street
- Redwood City, CA 94063
+ PO Box 360
+ Newmarket, NH 03857 USA
@@ -1122,11 +1122,8 @@ Hankins & Mrugalski [Page 20]
Tomasz Mrugalski
Internet Systems Consortium, Inc.
- 950 Charter Street
- Redwood City, CA 94063
-
- Phone: +1 650 423 1345
- Email: Tomasz_Mrugalski@isc.org
+ PO Box 360
+ Newmarket, NH 03857 USA
diff --git a/doc/References.xml b/doc/References.xml
index f998d7dd..7f310ff8 100644
--- a/doc/References.xml
+++ b/doc/References.xml
@@ -109,10 +109,11 @@
<address>
<postal>
- <street>950 Charter Street</street>
- <city>Redwood City</city>
- <region>CA</region>
- <code>94063</code>
+ <street>PO Box 360</street>
+ <city>Newmarket</city>
+ <region>NH</region>
+ <code>03857</code>
+ <country>USA</country>
</postal>
</address>
</author>
@@ -124,14 +125,12 @@
<address>
<postal>
- <street>950 Charter Street</street>
- <city>Redwood City</city>
- <region>CA</region>
- <code>94063</code>
+ <street>PO Box 360</street>
+ <city>Newmarket</city>
+ <region>NH</region>
+ <code>03857</code>
+ <country>USA</country>
</postal>
-
- <phone>+1 650 423 1345</phone>
- <email>Tomasz_Mrugalski@isc.org</email>
</address>
</author>
@@ -148,7 +147,7 @@
</abstract>
<note title="Copyright Notice">
- <t>Copyright (c) 2006-2017 by Internet Systems
+ <t>Copyright (C) 2006-2022 Internet Systems
Consortium, Inc. ("ISC")</t>
<t>This Source Code Form is subject to the terms of the Mozilla Public
@@ -314,7 +313,7 @@
the need to implement many forms of Link Layer framing and above.
The software gets away with not having to implement IP routing
tables as well by simply utilizing the aforementioned 'fallback'
- UDP socket when unicasting between two configured systems is
+ UDP socket when unicasting between two configured systems is
needed.</t>
<t>Modern unixes have opened up some facilities that diminish how
@@ -527,7 +526,7 @@
DHCP clients on given networks, so that one of the two servers may
fail and be survived by a server that can act responsibly.</t>
- <t>Unfortunately it has been quite some years (2003) since the last
+ <t>Unfortunately it has been quite some years (2003) since the last
time this document was edited, and the authors no longer show any
interest in fielding comments or improving the document.</t>
diff --git a/doc/ja_JP.eucJP/dhclient-script.8 b/doc/ja_JP.eucJP/dhclient-script.8
index 9ebcf3f0..97e7b465 100644
--- a/doc/ja_JP.eucJP/dhclient-script.8
+++ b/doc/ja_JP.eucJP/dhclient-script.8
@@ -1,6 +1,6 @@
.\" $Id: dhclient-script.8,v 1.4 2009/11/24 02:06:56 sar Exp $
.\"
-.\" Copyright (c) 2004,2009,2016 by Internet Systems Consortium, Inc. ("ISC")
+.\" Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (c) 1996-2003 by Internet Software Consortium
.\"
.\" Permission to use, copy, modify, and distribute this software for any
@@ -16,8 +16,8 @@
.\" OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.\" Internet Systems Consortium, Inc.
-.\" 950 Charter Street
-.\" Redwood City, CA 94063
+.\" PO Box 360
+.\" Newmarket, NH 03857 USA
.\" <info@isc.org>
.\" https://www.isc.org/
.\"
@@ -25,211 +25,211 @@
.\"
.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/dhclient-script.8,v 1.13 2002/05/08 03:27:27 horikawa Exp $
.TH dhclient-script 8
-.SH ̾¾Î
-dhclient-script - DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Î¥Í¥Ã¥È¥ï¡¼¥¯ÀßÄꥹ¥¯¥ê¥×¥È
-.SH ²òÀâ
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Î¥Í¥Ã¥È¥ï¡¼¥¯ÀßÄꥹ¥¯¥ê¥×¥È¤Ï¡¢
-»þ¤¢¤ë¤´¤È¤Ë \fBdhclient(8)\fR ¤¬¸Æ¤Ó½Ð¤·¤Þ¤¹¡£
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢ËÜ¥¹¥¯¥ê¥×¥È¤ò»ÈÍѤ¹¤ë¤³¤È¤Ë¤è¤ê¡¢
-¥¢¥É¥ì¥¹Í×µá¤ËÀèΩ¤Ä³Æ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î½é´üÀßÄê¤È¡¢
-ÉÕÍ¿¤µ¤ì¤¿¥¢¥É¥ì¥¹¤Î¸¡ºº¤È¡¢
-¥ê¡¼¥¹³ÍÆÀ»þ¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÎºÇ½ªÀßÄê¤ò¹Ô¤¤¤Þ¤¹¡£
-¥ê¡¼¥¹¤¬³ÍÆÀ¤µ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢
-ÄêµÁºÑ¤ß¤Î¥ê¡¼¥¹¤¬Â¸ºß¤¹¤ë¤Ê¤é¤Ð¤³¤ì¤ò¸¡ºº¤¹¤ë¤¿¤á¤ËËÜ¥¹¥¯¥ê¥×¥È¤Ï»ÈÍѤµ¤ì¡¢
-Í­¸ú¤Ê¥ê¡¼¥¹¤¬È½ÌÀ¤·¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¤â¤â¤¦ 1 ²ó¤³¤Î¥¹¥¯¥ê¥×¥È¤¬¸Æ¤Ð¤ì¤Þ¤¹¡£
+.SH ̾��
+dhclient-script - DHCP ���饤����ȤΥͥåȥ�����ꥹ����ץ�
+.SH ����
+DHCP ���饤����ȤΥͥåȥ�����ꥹ����ץȤϡ�
+�����뤴�Ȥ� \fBdhclient(8)\fR ���ƤӽФ��ޤ���
+DHCP ���饤����Ȥϡ��ܥ�����ץȤ���Ѥ��뤳�Ȥˤ�ꡢ
+���ɥ쥹�׵����Ω�ijƥ��󥿥ե������ν������ȡ�
+��Ϳ���줿���ɥ쥹�θ����ȡ�
+�꡼���������Υ��󥿥ե������κǽ������Ԥ��ޤ���
+�꡼������������ʤ��ä���硢
+����ѤߤΥ꡼����¸�ߤ���ʤ�Ф���򸡺����뤿����ܥ�����ץȤϻ��Ѥ��졢
+ͭ���ʥ꡼����Ƚ�����ʤ��ä����ˤ�⤦ 1 �󤳤Υ�����ץȤ��ƤФ�ޤ���
.PP
-ËÜ¥¹¥¯¥ê¥×¥È¤Ï¡¢¥¨¥ó¥É¥æ¡¼¥¶¤Ë¥«¥¹¥¿¥Þ¥¤¥º¤µ¤ì¤ë¤³¤È¤ò°Õ¿Þ¤·¤Æ¤¤¤Þ¤»¤ó¡£
-¥í¡¼¥«¥ë¤Ê¥«¥¹¥¿¥Þ¥¤¥º¤¬É¬Íפʾì¹ç¡¢
-¤³¤ì¤ÏÆþ (enter) ¤È½Ð (exit) ¤È¤¤¤¦¥Õ¥Ã¥¯¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç²Äǽ¤È¤Ê¤ê¤Þ¤¹
-(¾ÜºÙ¤Ï¥Õ¥Ã¥¯»²¾È)¡£
-¤³¤ì¤é¤Î¥Õ¥Ã¥¯¤Ï¡¢
+�ܥ�����ץȤϡ�����ɥ桼���˥������ޥ�������뤳�Ȥ�տޤ��Ƥ��ޤ���
+��������ʥ������ޥ�����ɬ�פʾ�硢
+������� (enter) �Ƚ� (exit) �Ȥ����եå�����Ѥ��뤳�ȤDz�ǽ�Ȥʤ�ޤ�
+(�ܺ٤ϥեå�����)��
+�����Υեå��ϡ�
.B /etc/resolv.conf
-ºîÀ®»þ¤Ë¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤Î¥Ç¥Õ¥©¥ë¥ÈÆ°ºî¤ò¥æ¡¼¥¶¤¬¥ª¡¼¥Ð¥é¥¤¥É¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
+�������ˡ�
+���饤����ȤΥǥե����ư���桼���������Х饤�ɤǤ���褦�ˤ��ޤ���
.PP
-ÆÃÄê¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ç¤Ï¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤Î¼ÂÂΤÏÆ°ºî¤¹¤ë¤È¤·¤Æ¤â¡¢
-ɸ½à¤Î¥¹¥¯¥ê¥×¥È¤¬Æ°ºî¤·¤Ê¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£
-Àè¶îŪ¤Ê¥æ¡¼¥¶¤¬¿·µ¬¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤¿¤ê´û¸¤Î¤â¤Î¤ò½¤Àµ¤·¤¿¤ê¤¹¤ëɬÍפ¬¤¢¤ë
-¤³¤È¤Ï¤â¤Ã¤È¤â¤Ê¤³¤È¤Ç¤¹¡£
-°ìÈÌŪ¤Ë¤Ï¡¢¤½¤ì¤¾¤ì¤Î¥³¥ó¥Ô¥å¡¼¥¿¤Ë¸ÇÍ­¤Î¥«¥¹¥¿¥Þ¥¤¥º¤Ï
+����Υ��ڥ졼�ƥ��󥰥����ƥ�Ǥϡ�
+���饤����Ȥμ��Τ�ư���Ȥ��Ƥ⡢
+ɸ��Υ�����ץȤ�ư��ʤ����⤷��ޤ���
+���Ū�ʥ桼��������������ץȤ�����������¸�Τ�Τ��������ꤹ��ɬ�פ�����
+���ȤϤ�äȤ�ʤ��ȤǤ���
+����Ū�ˤϡ����줾��Υ���ԥ塼���˸�ͭ�Υ������ޥ�����
.B ETCDIR/dhclient.conf
-¥¹¥¯¥ê¥×¥È¤Ç¹Ô¤¦¤Ù¤­¤Ç¤¹¡£
+������ץȤǹԤ��٤��Ǥ���
.B ETCDIR/dhclient.conf
-¤Î¥«¥¹¥¿¥Þ¥¤¥ºÌµ¤·¤Ë¤Ç¤­¤Ê¤¤¥«¥¹¥¿¥Þ¥¤¥º¤ä¡¢
-Æþ¤È½Ð¤Î¥Õ¥Ã¥¯¤Î»ÈÍѤǤϤǤ­¤Ê¤¤¥«¥¹¥¿¥Þ¥¤¥º¤Ëµ¤¤Å¤¤¤¿¾ì¹ç¤Ë¤Ï¡¢
-¥Ð¥°¥ì¥Ý¡¼¥È¤òÁ÷¤Ã¤Æ¤¯¤À¤µ¤¤¡£
-.SH ¥Õ¥Ã¥¯
-³«»Ï»þ¤Ë¡¢¥¯¥é¥¤¥¢¥ó¥È¥¹¥¯¥ê¥×¥È¤Ï¤Þ¤º¥·¥§¥ë´Ø¿ô¤òÄêµÁ¤·¤Þ¤¹¡£¤½¤Î´Ø¿ô¤Ï
+�Υ������ޥ���̵���ˤǤ��ʤ��������ޥ����䡢
+���ȽФΥեå��λ��ѤǤϤǤ��ʤ��������ޥ����˵��Ť������ˤϡ�
+�Х���ݡ��Ȥ����äƤ���������
+.SH �եå�
+���ϻ��ˡ����饤����ȥ�����ץȤϤޤ�������ؿ���������ޤ������δؿ���
.B make_resolv_conf
-¤Ç¤¢¤ê¡¢¸å¤Ë
+�Ǥ��ꡢ���
.B /etc/resolv.conf
-¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
-¥Ç¥Õ¥©¥ë¥ÈÆ°ºî¤ò¥ª¡¼¥Ð¥é¥¤¥É¤¹¤ë¤Ë¤Ï¡¢
-¤³¤Î´Ø¿ô¤òÆþ¤Î¥Õ¥Ã¥¯¥¹¥¯¥ê¥×¥È¤ÇºÆÄêµÁ¤·¤Æ¤¯¤À¤µ¤¤¡£
+�ե������������뤿��˻��Ѥ���ޤ���
+�ǥե����ư��򥪡��Х饤�ɤ���ˤϡ�
+���δؿ������Υեå�������ץȤǺ�������Ƥ���������
.PP
-make_resolv_conf ´Ø¿ô¤ÎÄêµÁ¤Î¸å¡¢¥¯¥é¥¤¥¢¥ó¥È¥¹¥¯¥ê¥×¥È¤Ï
-¼Â¹Ô²Äǽ¤Ê
+make_resolv_conf �ؿ�������θ塢���饤����ȥ�����ץȤ�
+�¹Բ�ǽ��
.B ETCDIR/dhclient-enter-hooks
-¥¹¥¯¥ê¥×¥È¤Î¸ºß¤ò¸¡ºº¤·¡¢
-¸ºß¤¹¤ë¾ì¹ç¤Ë¤Ï Bourne ¥·¥§¥ë¤Î '.' ¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ
-ËÜ¥¹¥¯¥ê¥×¥È¤ò¥¤¥ó¥é¥¤¥ó¤Çµ¯Æ°¤·¤Þ¤¹¡£
-Áàºî¤Çµ­½Ò¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î´Ä¶­¤¬ËÜ¥¹¥¯¥ê¥×¥È¤Ç»ÈÍѲÄǽ¤Ç¤¢¤ê¡¢
-¥¹¥¯¥ê¥×¥È¤ÎÆ°ºî¤ÎÊѹ¹¤¬É¬Íפʾì¹ç¤Ë¤Ï´Ä¶­¤Î½¤Àµ¤¬µö¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-¥¹¥¯¥ê¥×¥È¼Â¹ÔÃæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¡¢
-exit_status ÊÑ¿ô¤òÈó 0 ÃͤËÀßÄꤹ¤ë¤³¤È¤¬²Äǽ¤Ç¤¢¤ê¡¢
-¥¯¥é¥¤¥¢¥ó¥È¥¹¥¯¥ê¥×¥È½ªÎ»Ä¾¸å¤Ë
+������ץȤ�¸�ߤ򸡺�����
+¸�ߤ�����ˤ� Bourne ������� '.' ���ޥ�ɤ���Ѥ���
+�ܥ�����ץȤ򥤥�饤��ǵ�ư���ޤ���
+���ǵ��Ҥ���Ƥ��뤹�٤ƤδĶ����ܥ�����ץȤǻ��Ѳ�ǽ�Ǥ��ꡢ
+������ץȤ�ư����ѹ���ɬ�פʾ��ˤϴĶ��ν�����������Ƥ��ޤ���
+������ץȼ¹���˥��顼��ȯ��������硢
+exit_status �ѿ����� 0 �ͤ����ꤹ�뤳�Ȥ���ǽ�Ǥ��ꡢ
+���饤����ȥ�����ץȽ�λľ���
.B CLIENTBINDIR/dhclient-script
-¤Ï¤½¤Î¥¨¥é¡¼¥³¡¼¥É¤Ç½ªÎ»¤·¤Þ¤¹¡£
+�Ϥ��Υ��顼�����ɤǽ�λ���ޤ���
.PP
-¤¹¤Ù¤Æ¤Î½èÍý¤Î´°Î»¸å¤Ë¡¢
+���٤Ƥν����δ�λ��ˡ�
.B CLIENTBINDIR/dhclient-script
-¤Ï¼Â¹Ô²Äǽ¤Ê
+�ϼ¹Բ�ǽ��
.B ETCDIR/dhclient-exit-hooks
-¥¹¥¯¥ê¥×¥È¤Î¸ºß¤ò¸¡ºº¤·¡¢Â¸ºß¤¹¤ë¾ì¹ç¤Ë¤Ï '.' ¥³¥Þ¥ó¥É¤Ç¤³¤ì¤òµ¯Æ°¤·¤Þ¤¹¡£
-dhclient-script ¤Î
-½ªÎ»¾õÂÖ¤Ï dhclient-exit-hooks ¤Î exit_status ¥·¥§¥ëÊÑ¿ô¤ËÅϤµ¤ì¡¢
-µ¯Æ°¤µ¤ì¤¿»Å»ö¤Ë¥¹¥¯¥ê¥×¥È¤¬À®¸ù¤·¤¿¾ì¹ç¤Ë¤ÏÃͤϾï¤Ë 0 ¤Ë¤Ê¤ê¤Þ¤¹¡£
-dhclient-enter-hooks ¤Î¹à¤ÇÁ°½Ò¤·¤¿¤½¤Î¾¤Î´Ä¶­¤â°ú¤­·Ñ¤¬¤ì¤Þ¤¹¡£
+������ץȤ�¸�ߤ򸡺�����¸�ߤ�����ˤ� '.' ���ޥ�ɤǤ����ư���ޤ���
+dhclient-script ��
+��λ���֤� dhclient-exit-hooks �� exit_status �������ѿ����Ϥ��졢
+��ư���줿�Ż��˥�����ץȤ������������ˤ��ͤϾ�� 0 �ˤʤ�ޤ���
+dhclient-enter-hooks �ι�����Ҥ�������¾�δĶ�������Ѥ���ޤ���
.B ETCDIR/dhclient-exit-hooks
-¤Ï exit_status ¤Ë¼ê¤ò²Ã¤¨¤Æ
-dhclient-script ¤ÎÌá¤êÃͤòÊѹ¹¤Ç¤­¤Þ¤¹¡£
-.SH Áàºî
-dhclient ¤¬¥¯¥é¥¤¥¢¥ó¥ÈÀßÄꥹ¥¯¥ê¥×¥È¤òµ¯Æ°¤¹¤ëɬÍפ¬¤¢¤ë¤È¤­¡¢
-ÍÍ¡¹¤ÊÊÑ¿ô¤ò´Ä¶­¤ËÄêµÁ¤·¤Æ¤«¤é
+�� exit_status �˼��ä���
+dhclient-script ������ͤ��ѹ��Ǥ��ޤ���
+.SH ���
+dhclient �����饤��������ꥹ����ץȤ�ư����ɬ�פ�����Ȥ���
+�͡����ѿ���Ķ���������Ƥ���
.B CLIENTBINDIR/dhclient-script
-¤òµ¯Æ°¤·¤Þ¤¹¡£
-¤¹¤Ù¤Æ¤Î¾ì¹ç¤Ë¤ª¤¤¤Æ¡¢$reason ¤Ë¤Ï¥¹¥¯¥ê¥×¥È¤¬µ¯Æ°¤µ¤ì¤ëÍýͳ̾¤¬ÀßÄꤵ¤ì¤Þ¤¹¡£
-¼¡¤ÎÍýͳ¤¬¸½ºßÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹:
+��ư���ޤ���
+���٤Ƥξ��ˤ����ơ�$reason �ˤϥ�����ץȤ���ư�������ͳ̾�����ꤵ��ޤ���
+������ͳ�������������Ƥ��ޤ�:
MEDIUM, PREINIT, BOUND, RENEW, REBIND, REBOOT,
-EXPIRE, FAIL, TIMEOUT¡£
+EXPIRE, FAIL, TIMEOUT��
.PP
.SH MEDIUM
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥á¥Ç¥£¥¢¥¿¥¤¥×¤ÎÀßÄê¤òµá¤á¤Æ¤¤¤Þ¤¹¡£
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹Ì¾¤Ï $interface ¤ÇÅϤµ¤ì¡¢¥á¥Ç¥£¥¢¥¿¥¤¥×¤Ï $medium ¤ÇÅϤµ¤ì¤Þ¤¹¡£
+DHCP ���饤����Ȥϡ����󥿥ե������Υ�ǥ��������פ��������Ƥ��ޤ���
+���󥿥ե�����̾�� $interface ���Ϥ��졢��ǥ��������פ� $medium ���Ϥ���ޤ���
.SH PREINIT
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢
-¼ÂºÝ¤Î¥¢¥É¥ì¥¹¤ò¼õ¤±¼è¤ëÁ°¤Ë¥Ñ¥±¥Ã¥È¤òÁ÷¿®¤¹¤ëÌÜŪ¤Ç¡¢
-Í×µáÄ̤ê¤Ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬ÀßÄꤵ¤ì¤ë¤³¤È¤òµá¤á¤Æ¤¤¤Þ¤¹¡£
-BSD ¤Î¥½¥±¥Ã¥È¥é¥¤¥Ö¥é¥ê¤ò»ÈÍѤ¹¤ë¥¯¥é¥¤¥¢¥ó¥È¤Ç¤Ï¡¢
-IP ¥¢¥É¥ì¥¹ 0.0.0.0 ¤«¤Ä¥Ö¥í¡¼¥É¥­¥ã¥¹¥È¥¢¥É¥ì¥¹ 255.255.255.255 ¤Ç¡¢
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÀßÄꤹ¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
-¾¤Î¥¯¥é¥¤¥¢¥ó¥È¤Ç¤Ï¡¢
-¼ÂºÝ¤Ë IP ¥¢¥É¥ì¥¹¤òÍ¿¤¨¤ë¤³¤È¤Ê¤¯Ã±¤Ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÀßÄꤹ¤ë¤³¤È¤Ç
-¼Â¸½¤µ¤ì¤ë¤Ç¤·¤ç¤¦¡£
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹Ì¾¤Ï $interface ¤ÇÅϤµ¤ì¡¢¥á¥Ç¥£¥¢¥¿¥¤¥×¤Ï $medium ¤ÇÅϤµ¤ì¤Þ¤¹¡£
+DHCP ���饤����Ȥϡ�
+�ºݤΥ��ɥ쥹�����������˥ѥ��åȤ�����������Ū�ǡ�
+�׵��̤�˥��󥿥ե����������ꤵ��뤳�Ȥ���Ƥ��ޤ���
+BSD �Υ����åȥ饤�֥�����Ѥ��륯�饤����ȤǤϡ�
+IP ���ɥ쥹 0.0.0.0 ���ĥ֥����ɥ��㥹�ȥ��ɥ쥹 255.255.255.255 �ǡ�
+���󥿥ե����������ꤹ�뤳�Ȥ��̣���ޤ���
+¾�Υ��饤����ȤǤϡ�
+�ºݤ� IP ���ɥ쥹��Ϳ���뤳�Ȥʤ�ñ�˥��󥿥ե����������ꤹ�뤳�Ȥ�
+�¸������Ǥ��礦��
+���󥿥ե�����̾�� $interface ���Ϥ��졢��ǥ��������פ� $medium ���Ϥ���ޤ���
.PP
-IP ¥¨¥¤¥ê¥¢¥¹¤¬ dhclient.conf ¤ÇÀë¸À¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢
-¤³¤Î¥¢¥É¥ì¥¹¤¬ $alias_ip_address ¤ÇÅϤµ¤ì¤Þ¤¹¡£
-ËÜ IP ¥¢¥É¥ì¥¹¤Ø¤Î·ÐÏ©¤È¤È¤â¤Ë¡¢
-ËÜ IP ¥¢¥É¥ì¥¹¤òÂоݥ¤¥ó¥¿¥Õ¥§¡¼¥¹¤«¤éºï½ü¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+IP �����ꥢ���� dhclient.conf ���������Ƥ����硢
+���Υ��ɥ쥹�� $alias_ip_address ���Ϥ���ޤ���
+�� IP ���ɥ쥹�ؤη�ϩ�ȤȤ�ˡ�
+�� IP ���ɥ쥹���оݥ��󥿥ե���������������ɬ�פ�����ޤ���
.SH BOUND
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢¿·¥¢¥É¥ì¥¹¤Ø¤Î½é´ü¤Î·ë¹ç¤ò´°Î»¤·¤Þ¤·¤¿¡£
-¿·¤·¤¤ IP ¥¢¥É¥ì¥¹¤Ï $new_ip_address ¤ÇÅϤµ¤ì¡¢
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹Ì¾¤Ï $interface ¤ÇÅϤµ¤ì¤Þ¤¹¡£
-¥á¥Ç¥£¥¢¥¿¥¤¥×¤Ï $medium ¤ÇÅϤµ¤ì¤Þ¤¹¡£
-¥µ¡¼¥Ð¤«¤é³ÍÆÀ¤·¤¿¥ª¥×¥·¥ç¥ó¤Ï¡¢\fBdhcp-options\fR ¤ÇÀë¸À¤µ¤ì¤Æ¤¤¤ë
-¥ª¥×¥·¥ç¥ó̾¤ÇÅϤµ¤ì¤Þ¤¹¡£
-Îã³°¤È¤·¤Æ¡¢ Í­¸ú¤Ê¥·¥§¥ëÊÑ¿ô¤È¤¹¤ë¤¿¤á¤Ë
-¥À¥Ã¥·¥å ('-') ¤Ï¥¢¥ó¥À¥¹¥³¥¢('_')¤ÇÃÖ¤­´¹¤¨¤é¤ì¡¢
-ÊÑ¿ô̾¤Ï new_ ¤Ç³«»Ï¤·¤Þ¤¹¡£
-Î㤨¤Ð¡¢¿·¤·¤¤¥µ¥Ö¥Í¥Ã¥È¥Þ¥¹¥¯¤Ï $new_subnet_mask ¤ÇÅϤµ¤ì¤Þ¤¹¡£
+DHCP ���饤����Ȥϡ������ɥ쥹�ؤν���η���λ���ޤ�����
+������ IP ���ɥ쥹�� $new_ip_address ���Ϥ��졢
+���󥿥ե�����̾�� $interface ���Ϥ���ޤ���
+��ǥ��������פ� $medium ���Ϥ���ޤ���
+�����Ф�������������ץ����ϡ�\fBdhcp-options\fR ���������Ƥ���
+���ץ����̾���Ϥ���ޤ���
+�㳰�Ȥ��ơ� ͭ���ʥ������ѿ��Ȥ��뤿���
+���å��� ('-') �ϥ����������('_')���֤�������졢
+�ѿ�̾�� new_ �dz��Ϥ��ޤ���
+�㤨�С����������֥ͥåȥޥ����� $new_subnet_mask ���Ϥ���ޤ���
.PP
-¥¢¥É¥ì¥¹¤ò¼ÂºÝ¤ËÀßÄꤹ¤ëÁ°¤Ë¡¢dhclient-script ¤Ï²¿¤é¤«¤ÎÊýË¡¤Ç
-¤½¤Î¥¢¥É¥ì¥¹¤ËÂФ·¤Æ ARP ¤ò¹Ô¤¤¡¢ÊÖ»ö¤ò¼õ¤±¼è¤Ã¤¿¾ì¹ç¤Ë¤ÏÈó 0 ¤ÎÃͤÇ
-½ªÎ»¤¹¤ë¤Ù¤­¤Ç¤¹¡£¤³¤Î¾ì¹ç¥¯¥é¥¤¥¢¥ó¥È¤Ï DHCPDECLINE ¥á¥Ã¥»¡¼¥¸¤ò¥µ¡¼¥Ð
-¤ËÁ÷¿®¤·¡¢°ã¤¦¥¢¥É¥ì¥¹¤ò¼èÆÀ¤·¤Þ¤¹¡£
-¤³¤Îºî¶È¤Ï RENEW, REBIND, REBOOT ¾õÂ֤ǤâƱÍͤ˹Ԥ¤¤Þ¤¹¤¬¡¢
-ɬ¤º¤·¤âɬÍפǤϤʤ¯¡¢¼ÂºÝ¹¥¤Þ¤·¤¯¤Ê¤¤¤Ç¤·¤ç¤¦¡£
+���ɥ쥹��ºݤ����ꤹ�����ˡ�dhclient-script �ϲ��餫����ˡ��
+���Υ��ɥ쥹���Ф��� ARP ��Ԥ����ֻ��������ä����ˤ��� 0 ���ͤ�
+��λ����٤��Ǥ������ξ�祯�饤����Ȥ� DHCPDECLINE ��å������򥵡���
+�����������㤦���ɥ쥹��������ޤ���
+���κ�Ȥ� RENEW, REBIND, REBOOT ���֤Ǥ�Ʊ�ͤ˹Ԥ��ޤ�����
+ɬ������ɬ�פǤϤʤ����ºݹ��ޤ����ʤ��Ǥ��礦��
.PP
-·ë¹ç¤¬´°Î»¤¹¤ë¤È¡¢
-¥Í¥Ã¥È¥ï¡¼¥¯¤Ë´Ø¤¹¤ë¿¤¯¤Î¥Ñ¥é¥á¡¼¥¿¤òÀßÄꤹ¤ëɬÍפ¬¤¢¤ë¤Ç¤·¤ç¤¦¡£
-$new_domain_name ¤ª¤è¤Ó $new_domain_name_servers
-(¤³¤ì¤Ë¤ÏÊ£¿ô¤Î¥µ¡¼¥Ð¤ò¶õÇò¤Ç¶èÀڤäÆÎóµó¤·¤Æ¤¢¤ë¤«¤â¤·¤ì¤Þ¤»¤ó) ¤ò»ÈÍѤ·¤Æ¡¢
-¿·¤·¤¤ /etc/resolv.conf ¤òºîÀ®¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-¥Ç¥Õ¥©¥ë¥È·ÐÏ©¤Ï¡¢$new_routers ¤ò»ÈÍѤ·¤ÆÀßÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-ÀÅŪ·ÐÏ©¤Ï¡¢$new_static_routes ¤ò»ÈÍѤ·¤ÆÀßÄꤹ¤ëɬÍפ¬¤¢¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£
+��礬��λ����ȡ�
+�ͥåȥ���˴ؤ���¿���Υѥ�᡼�������ꤹ��ɬ�פ�����Ǥ��礦��
+$new_domain_name ����� $new_domain_name_servers
+(����ˤ�ʣ���Υ����Ф����Ƕ��ڤä���󤷤Ƥ��뤫�⤷��ޤ���) ����Ѥ��ơ�
+������ /etc/resolv.conf ���������ɬ�פ�����ޤ���
+�ǥե���ȷ�ϩ�ϡ�$new_routers ����Ѥ������ꤹ��ɬ�פ�����ޤ���
+��Ū��ϩ�ϡ�$new_static_routes ����Ѥ������ꤹ��ɬ�פ����뤫�⤷��ޤ���
.PP
-IP ¥¨¥¤¥ê¥¢¥¹¤¬Àë¸À¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¤³¤³¤ÇÀßÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-¥¨¥¤¥ê¥¢¥¹¤Î IP ¥¢¥É¥ì¥¹¤Ï $alias_ip_address ¤È¤·¤Æµ­½Ò¤µ¤ì¡¢
-¥¨¥¤¥ê¥¢¥¹ÍѤËÀßÄꤵ¤ì¤ë¾¤Î DHCP ¥ª¥×¥·¥ç¥ó (Î㤨¤Ð¥µ¥Ö¥Í¥Ã¥È¥Þ¥¹¥¯) ¤Ï
-Á°½Ò¤Î¤è¤¦¤ËÊÑ¿ô¤ÇÅϤµ¤ì¤Þ¤¹¤¬¡¢
-$new_ ¤Ç³«»Ï¤¹¤ë¤Î¤Ç¤Ï¤Ê¤¯ $alias_ ¤Ç³«»Ï¤·¤Þ¤¹¡£
-¥¨¥¤¥ê¥¢¥¹¤Î IP ¥¢¥É¥ì¥¹¤¬·ë¹ç¤µ¤ì¤¿ IP ¥¢¥É¥ì¥¹ ($new_ip_address) ¤È
-Ʊ¤¸¾ì¹ç¡¢¤³¤ì¤ò»ÈÍѤ·¤Æ¤Ï¤Ê¤é¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-¤Ê¤¼¤Ê¤é¡¢¤³¤Î¾ì¹ç¤Ë¤Ï¾¤Î¥¨¥¤¥ê¥¢¥¹¤Î¥Ñ¥é¥á¡¼¥¿¤¬Àµ¤·¤¯¤Ê¤¤²ÄǽÀ­¤¬¤¢¤ë
-¤«¤é¤Ç¤¹¡£
+IP �����ꥢ�����������Ƥ����硢���������ꤹ��ɬ�פ�����ޤ���
+�����ꥢ���� IP ���ɥ쥹�� $alias_ip_address �Ȥ��Ƶ��Ҥ��졢
+�����ꥢ���Ѥ����ꤵ���¾�� DHCP ���ץ���� (�㤨�Х��֥ͥåȥޥ���) ��
+���ҤΤ褦���ѿ����Ϥ���ޤ�����
+$new_ �dz��Ϥ���ΤǤϤʤ� $alias_ �dz��Ϥ��ޤ���
+�����ꥢ���� IP ���ɥ쥹����礵�줿 IP ���ɥ쥹 ($new_ip_address) ��
+Ʊ����硢�������Ѥ��ƤϤʤ�ʤ����Ȥ����դ��Ƥ���������
+�ʤ��ʤ顢���ξ��ˤ�¾�Υ����ꥢ���Υѥ�᡼�����������ʤ���ǽ��������
+����Ǥ���
.SH RENEW
-·ë¹ç¤¬¹¹¿·¤µ¤ì¤ë¤È¡¢¥¹¥¯¥ê¥×¥È¤Ï BOUND ¤ÈƱÍͤ˸ƤФì¤Þ¤¹¤¬¡¢
-$new_ ¤Ç³«»Ï¤¹¤ëÁ´ÊÑ¿ô¤Ë²Ã¤¨¤Æ $old ¤Ç³«»Ï¤¹¤ëÊ̤ÎÊÑ¿ô¤ÎÁȤ¬¤¢¤ë¤È¤¤¤¦
-Îã³°¤¬¤¢¤ê¤Þ¤¹¡£
-Êѹ¹¤µ¤ì¤¿²ÄǽÀ­¤¬¤¢¤ë±Ê³Ū¤ÊÀßÄê¤Ï¡¢ºï½ü¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-Î㤨¤Ð¡¢·ë¹ç¤µ¤ì¤¿¥¢¥É¥ì¥¹¤ËÂФ¹¤ë¥í¡¼¥«¥ë·ÐÏ©¤¬ÀßÄꤵ¤ì¤¿¾ì¹ç¡¢
-¸Å¤¤¥í¡¼¥«¥ë·ÐÏ©¤òºï½ü¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-¥Ç¥Õ¥©¥ë¥È·ÐÏ©¤¬Êѹ¹¤µ¤ì¤¿¾ì¹ç¡¢¸Å¤¤¥Ç¥Õ¥©¥ë¥È·ÐÏ©¤òºï½ü¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-ÀÅŪ·ÐÏ©¤¬Êѹ¹¤µ¤ì¤¿¾ì¹ç¡¢¸Å¤¤¤â¤Î¤òºï½ü¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-¤½¤Î¾¤Ë¤Ä¤¤¤Æ¤Ï¡¢BOUND ¤ÈƱÍͤ˽èÍý²Äǽ¤Ç¤¹¡£
+��礬���������ȡ�������ץȤ� BOUND ��Ʊ�ͤ˸ƤФ�ޤ�����
+$new_ �dz��Ϥ������ѿ��˲ä��� $old �dz��Ϥ����̤��ѿ����Ȥ�����Ȥ���
+�㳰������ޤ���
+�ѹ����줿��ǽ���������³Ū������ϡ��������ɬ�פ�����ޤ���
+�㤨�С���礵�줿���ɥ쥹���Ф�����������ϩ�����ꤵ�줿��硢
+�Ť����������ϩ��������ɬ�פ�����ޤ���
+�ǥե���ȷ�ϩ���ѹ����줿��硢�Ť��ǥե���ȷ�ϩ��������ɬ�פ�����ޤ���
+��Ū��ϩ���ѹ����줿��硢�Ť���Τ�������ɬ�פ�����ޤ���
+����¾�ˤĤ��Ƥϡ�BOUND ��Ʊ�ͤ˽�����ǽ�Ǥ���
.SH REBIND
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤¬¡¢¿·µ¬ DHCP ¥µ¡¼¥Ð¤ËºÆ·ë¹ç¤µ¤ì¤Þ¤·¤¿¡£
-¤³¤ì¤Ï RENEW ¤ÈƱÍͤ˰·¤¨¤Þ¤¹¤¬¡¢IP ¥¢¥É¥ì¥¹¤¬ÊѤï¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢
-ARP ɽ¤ò¥¯¥ê¥¢¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+DHCP ���饤����Ȥ������� DHCP �����Ф˺Ʒ�礵��ޤ�����
+����� RENEW ��Ʊ�ͤ˰����ޤ�����IP ���ɥ쥹���Ѥ�ä����ˤϡ�
+ARP ɽ�򥯥ꥢ����ɬ�פ�����ޤ���
.SH REBOOT
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢¥ê¥Ö¡¼¥È¸å¤Ë¸µ¤Î¥¢¥É¥ì¥¹¤òºÆ³ÍÆÀ¤¹¤ë¤³¤È¤ËÀ®¸ù¤·¤Þ¤·¤¿¡£
-¤³¤ì¤Ï BOUND ¤ÈƱÍͤ˽èÍý²Äǽ¤Ç¤¹¡£
+DHCP ���饤����Ȥϡ���֡��ȸ�˸��Υ��ɥ쥹��Ƴ������뤳�Ȥ��������ޤ�����
+����� BOUND ��Ʊ�ͤ˽�����ǽ�Ǥ���
.SH EXPIRE
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï¥ê¡¼¥¹¹¹¿·¤È¿·µ¬¥ê¡¼¥¹³ÍÆÀ¤Ë¼ºÇÔ¤·¡¢
-¥ê¡¼¥¹¤Î´ü¸Â¤¬ÀÚ¤ì¤Þ¤·¤¿¡£
-ÂÐ¾Ý IP ¥¢¥É¥ì¥¹¤ò²òÊü¤¹¤ëɬÍפ¬¤¢¤ê¡¢
-RENEW ¤ª¤è¤Ó REBIND ¤ÈƱÍͤˡ¢´ØÏ¢¤¹¤ë¥Ñ¥é¥á¡¼¥¿¤òºï½ü¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+DHCP ���饤����Ȥϥ꡼�������ȿ����꡼�������˼��Ԥ���
+�꡼���δ��¤��ڤ�ޤ�����
+�о� IP ���ɥ쥹���������ɬ�פ����ꡢ
+RENEW ����� REBIND ��Ʊ�ͤˡ���Ϣ����ѥ�᡼����������ɬ�פ�����ޤ���
.SH FAIL
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï DHCP ¥µ¡¼¥Ð¤ËÀܳ¤Ç¤­¤º¡¢
-¤Þ¤¿¸¡ºº¤·¤¿ IP ¥¢¥É¥ì¥¹¤Ë¤ÏÍ­¸ú¤Ê¤â¤Î¤Ï¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£
-ºÇ¸å¤Ë¸¡ºº¤·¤¿¥ê¡¼¥¹¤Î¥Ñ¥é¥á¡¼¥¿¤Ï¡¢ÀßÄê²ò½ü¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-¤³¤ì¤Ï¡¢EXPIRE ¤ÈƱÍͤ˰·¤¨¤Þ¤¹¡£
+DHCP ���饤����Ȥ� DHCP �����Ф���³�Ǥ�����
+�ޤ��������� IP ���ɥ쥹�ˤ�ͭ���ʤ�ΤϤ���ޤ���Ǥ�����
+�Ǹ�˸��������꡼���Υѥ�᡼���ϡ�����������ɬ�פ�����ޤ���
+����ϡ�EXPIRE ��Ʊ�ͤ˰����ޤ���
.SH TIMEOUT
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï¤É¤Î DHCP ¥µ¡¼¥Ð¤Ë¤âÀܳ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£
-¤·¤«¤·¤Ê¤¬¤é¡¢¸Å¤¤¥ê¡¼¥¹¤¬¼±Ê̤µ¤ì¡¢
-BOUND ¤ÈƱÍͤˡ¢¤³¤Î¸Å¤¤¥ê¡¼¥¹¤Î¥Ñ¥é¥á¡¼¥¿¤¬ÅϤµ¤ì¤Þ¤·¤¿¡£
-¥¯¥é¥¤¥¢¥ó¥È¤ÎÀßÄꥹ¥¯¥ê¥×¥È¤Ï¡¢¤³¤Î¥Ñ¥é¥á¡¼¥¿¤ò¸¡ºº¤·¡¢
-¤³¤ì¤¬Í­¸ú¤Ç¤¢¤ë¤È¿®¤¸¤ëÍýͳ¤¬¤¢¤ë¤Ê¤é¤Ð¡¢ÃÍ 0 ¤Ç½ªÎ»¤¹¤Ù¤­¤Ç¤¹¡£
-¤½¤¦¤Ç¤Ê¤¤¤Ê¤é¤Ð¡¢Èó 0 ¤ÎÃͤǽªÎ»¤¹¤Ù¤­¤Ç¤¹¡£
+DHCP ���饤����ȤϤɤ� DHCP �����Фˤ���³�Ǥ��ޤ���Ǥ�����
+�������ʤ��顢�Ť��꡼�������̤��졢
+BOUND ��Ʊ�ͤˡ����θŤ��꡼���Υѥ�᡼�����Ϥ���ޤ�����
+���饤����Ȥ����ꥹ����ץȤϡ����Υѥ�᡼���򸡺�����
+���줬ͭ���Ǥ���ȿ�������ͳ������ʤ�С��� 0 �ǽ�λ���٤��Ǥ���
+�����Ǥʤ��ʤ�С��� 0 ���ͤǽ�λ���٤��Ǥ���
.PP
-¥ê¡¼¥¹¤ò¸¡ºº¤¹¤ëÄ̾ï¤ÎÊýË¡¤Ï¡¢REBIND ¤ÈƱÍͤ˥ͥåȥ¥¯¤òÀßÄꤷ¤Æ
-(Ê£¿ô¤Î¥ê¡¼¥¹¤ò¸¡ºº¤¹¤ë¤¿¤á¤Ë¸Æ¤Ð¤ì¤ë¤³¤È¤¬¤¢¤ë¤«¤é¤Ç¤¹)¡¢
-$routers ¤ÇÄêµÁ¤µ¤ì¤ëºÇ½é¤Î¥ë¡¼¥¿¤Ë ping ¤¹¤ë¤³¤È¤Ç¤¹¡£
-±þÅú¤ò¼õ¿®¤·¤¿¾ì¹ç¡¢
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬¸½ºßÀܳ¤µ¤ì¤Æ¤¤¤ë¥Í¥Ã¥È¥ï¡¼¥¯¤ËÂФ·¤Æ¡¢¥ê¡¼¥¹¤¬Í­¸ú¤Ç¤¹¡£
-$new_static_routers ¤Ë²Ã¤¨¤Æ
-$new_routers ¤ËÎóµó¤µ¤ì¤Æ¤¤¤ëÁ´¥ë¡¼¥¿¤Ë ping ¤ò»î¤¹¤è¤¦¤Ë¤Ê¤ì¤Ð¡¢
-´°Á´À­¤¬Áý¤¹¤Ç¤·¤ç¤¦¡£¤·¤«¤·¡¢¸½ºß¤Î¥¹¥¯¥ê¥×¥È¤Ï¤½¤¦¤Ê¤Ã¤Æ¤¤¤Þ¤»¤ó¡£
-.SH ´ØÏ¢¥Õ¥¡¥¤¥ë
-Îà»÷¤·¤¿¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤ËÂФ¹¤ë¥¹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë¤Ï
-»÷¤Æ¤¤¤¿¤êÁ´¤¯Æ±¤¸¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¡¢°ìÈ̤ˤϡ¢
-³Æ¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥àÍѤ˳ơ¹¤Î¥¹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë¤¬¤¢¤ë¤Ù¤­¤Ç¤¹¡£
-Internet Systems Consortium ¤Î DHCP ÇÛÉۤ˴ޤޤì¤ë¥¹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë¤Ï¡¢
-client/scripts °Ê²¼¤ÎÇÛÉۥĥ꡼¤Ë¤¢¤ê¡¢
-Æ°ºîÂоݥª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à̾¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
-.SH ¥Ð¥°
-Ê£¿ô¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢
-¥µ¡¼¥Ð¤¬Ä󶡤¹¤ëÀßÄê¥Ñ¥é¥á¡¼¥¿Æ±»Î¤¬
-¾×Æͤ·¤Ê¤¤¤è¤¦¤Ë¤¹¤ëÌÀ³Î¤ÊÊýË¡¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-Î㤨¤Ð¡¢
-ɸ½à¤Î dhclient-script ¤Ï /etc/resolv.conf ¤òºÆÅÙ½ñ¤­´¹¤¨¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
-¤¹¤Ê¤ï¤Á¡¢Ê£¿ô¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢
-¤¢¤ë¥µ¡¼¥Ð¤«¤éÄ󶡤µ¤ì¤ëÃÍ¤Ë /etc/resolv.conf ¤¬½é´ü²½¤µ¤ì¤¿¸å¤Ë¡¢
-Ê̤Υµ¡¼¥Ð¤«¤éÄ󶡤µ¤ì¤ëÃͤ˽é´ü²½¤µ¤ì¤ë¤È¤¤¤¦Æ°ºî¤ò·«¤êÊÖ¤·¤Þ¤¹¡£
-¤É¤Á¤é¤Î¥µ¡¼¥Ð¤«¤éÄ󶡤µ¤ì¤ë¾ðÊó¤âÍ­¸ú¤Ç¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢
-¼ÂºÝ¾åÌäÂê¤È¤Ï¤Ê¤é¤Ê¤¤¤â¤Î¤Î¡¢º®Íð¤Î¤â¤È¤Ë¤Ê¤ê¤¨¤Þ¤¹¡£
-.SH ´ØÏ¢¹àÌÜ
+�꡼���򸡺������̾����ˡ�ϡ�REBIND ��Ʊ�ͤ˥ͥåȥ�������ꤷ��
+(ʣ���Υ꡼���򸡺����뤿��˸ƤФ�뤳�Ȥ����뤫��Ǥ�)��
+$routers ����������ǽ�Υ롼���� ping ���뤳�ȤǤ���
+���������������硢
+���󥿥ե�������������³����Ƥ���ͥåȥ�����Ф��ơ��꡼����ͭ���Ǥ���
+$new_static_routers �˲ä���
+$new_routers ����󤵤�Ƥ������롼���� ping ���褦�ˤʤ�С�
+�������������Ǥ��礦�������������ߤΥ�����ץȤϤ����ʤäƤ��ޤ���
+.SH ��Ϣ�ե�����
+����������ڥ졼�ƥ��󥰥����ƥ���Ф��륹����ץȥե������
+���Ƥ���������Ʊ�����⤷��ޤ��󤬡����̤ˤϡ�
+�ƥ��ڥ졼�ƥ��󥰥����ƥ��Ѥ˳ơ��Υ�����ץȥե����뤬����٤��Ǥ���
+Internet Systems Consortium �� DHCP ���ۤ˴ޤޤ�륹����ץȥե�����ϡ�
+client/scripts �ʲ������ۥĥ꡼�ˤ��ꡢ
+ư���оݥ��ڥ졼�ƥ��󥰥����ƥ�̾�ˤʤäƤ��ޤ���
+.SH �Х�
+ʣ�����󥿥ե���������Ѥ����硢
+�����Ф��󶡤�������ѥ�᡼��Ʊ�Τ�
+���ͤ��ʤ��褦�ˤ������Τ���ˡ�Ϥ���ޤ���
+�㤨�С�
+ɸ��� dhclient-script �� /etc/resolv.conf ����ٽ񤭴����Ƥ��ޤ��ޤ���
+���ʤ����ʣ���Υ��󥿥ե����������ꤵ��Ƥ����硢
+���륵���Ф����󶡤�����ͤ� /etc/resolv.conf ����������줿��ˡ�
+�̤Υ����Ф����󶡤�����ͤ˽���������Ȥ���ư��򷫤��֤��ޤ���
+�ɤ���Υ����Ф����󶡤��������ͭ���Ǥ�����ˤϡ�
+�ºݾ�����ȤϤʤ�ʤ���ΤΡ�����Τ�Ȥˤʤꤨ�ޤ���
+.SH ��Ϣ����
dhclient.conf(5), dhclient.leases(5), dhclient(8)
-.SH ºî¼Ô
+.SH ���
.B dhclient-script(8)
-¤Ï Ted Lemon ¤¬
-Vixie Enterprises ¤È¶¨ÎϤ·¤Æ Internet Systems Consortium ¤Î¤¿¤á¤Ë
-½ñ¤­¤Þ¤·¤¿¡£
-Internet Systems Consortium ¤Ë¤Ä¤¤¤Æ¤è¤ê¾Ü¤·¤¯¤Ï¡¢
+�� Ted Lemon ��
+Vixie Enterprises �ȶ��Ϥ��� Internet Systems Consortium �Τ����
+�񤭤ޤ�����
+Internet Systems Consortium �ˤĤ��Ƥ��ܤ����ϡ�
.B https://www.isc.org
-¤ò¤´Í÷¤¯¤À¤µ¤¤¡£
-Vixie Enterprises ¤Ë¤Ä¤¤¤Æ¤è¤ê¾Ü¤·¤¯¤Ï¡¢
+��������������
+Vixie Enterprises �ˤĤ��Ƥ��ܤ����ϡ�
.B http://www.vix.com
-¤ò¤´Í÷¤¯¤À¤µ¤¤¡£
+��������������
diff --git a/doc/ja_JP.eucJP/dhclient.8 b/doc/ja_JP.eucJP/dhclient.8
index d0b25879..1719d6fa 100644
--- a/doc/ja_JP.eucJP/dhclient.8
+++ b/doc/ja_JP.eucJP/dhclient.8
@@ -1,6 +1,6 @@
.\" $Id: dhclient.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-2022 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (c) 1996-2003 by Internet Software Consortium
.\"
.\" Permission to use, copy, modify, and distribute this software for any
@@ -16,8 +16,8 @@
.\" OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.\" Internet Systems Consortium, Inc.
-.\" 950 Charter Street
-.\" Redwood City, CA 94063
+.\" PO Box 360
+.\" Newmarket, NH 03857 USA
.\" <info@isc.org>
.\" https://www.isc.org/
.\"
@@ -26,16 +26,16 @@
.\" %FreeBSD: src/contrib/isc-dhcp/client/dhclient.8,v 1.8.2.3 2002/04/11 10:16:45 murray Exp %
.\"
.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/dhclient.8,v 1.8 2002/05/21 03:46:48 horikawa Exp $
-.\" WORD: Dynamic Host Configuration Protocol (DHCP) ưŪ¥Û¥¹¥ÈÀßÄê¥×¥í¥È¥³¥ë
-.\" WORD: lease ¥ê¡¼¥¹ [dhclient.8]
-.\" WORD: mobile host °ÜÆ°¥Û¥¹¥È
-.\" WORD: limited broadcast address ¥ê¥ß¥Æ¥Ã¥É¥Ö¥í¡¼¥É¥­¥ã¥¹¥È¥¢¥É¥ì¥¹
-.\" WORD: networking framework ¥Í¥Ã¥È¥ï¡¼¥­¥ó¥°¥Õ¥ì¡¼¥à¥ï¡¼¥¯
-.\" WORD: housekeeping chores ȬȚ
+.\" WORD: Dynamic Host Configuration Protocol (DHCP) ưŪ�ۥ�������ץ��ȥ���
+.\" WORD: lease �꡼�� [dhclient.8]
+.\" WORD: mobile host ��ư�ۥ���
+.\" WORD: limited broadcast address ��ߥƥåɥ֥����ɥ��㥹�ȥ��ɥ쥹
+.\" WORD: networking framework �ͥåȥ���󥰥ե졼����
+.\" WORD: housekeeping chores ����
.TH dhclient 8
-.SH ̾¾Î
-dhclient - ưŪ¥Û¥¹¥ÈÀßÄê¥×¥í¥È¥³¥ë¤Î¥¯¥é¥¤¥¢¥ó¥È
-.SH ½ñ¼°
+.SH ̾��
+dhclient - ưŪ�ۥ�������ץ��ȥ���Υ��饤�����
+.SH ��
.B dhclient
[
.B -p
@@ -95,271 +95,271 @@ relay
.I ...ifN
]
]
-.SH ²òÀâ
-Internet Systems Consortium ¤Î DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ç¤¢¤ë dhclient
-¤ÏưŪ¥Û¥¹¥ÈÀßÄê¥×¥í¥È¥³¥ë (DHCP: Dynamic Host Configuration Protocol)
-¤Þ¤¿¤Ï BOOTP ¥×¥í¥È¥³¥ë¤òÍѤ¤¤Æ¡¢¤¢¤ë¤¤¤Ï
-¤³¤ì¤é¤Î¥×¥í¥È¥³¥ë¤¬¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï¥¢¥É¥ì¥¹¤òÀÅŪ¤Ë³ä¤êÅö¤Æ¤Æ¡¢
-1 ¤Ä°Ê¾å¤Î¥Í¥Ã¥È¥ï¡¼¥¯¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÀßÄꤹ¤ëÊýË¡¤òÄ󶡤·¤Þ¤¹¡£
-.SH Áàºî
+.SH ����
+Internet Systems Consortium �� DHCP ���饤����ȤǤ��� dhclient
+��ưŪ�ۥ�������ץ��ȥ��� (DHCP: Dynamic Host Configuration Protocol)
+�ޤ��� BOOTP �ץ��ȥ�����Ѥ��ơ����뤤��
+�����Υץ��ȥ��뤬���Ԥ������ˤϥ��ɥ쥹����Ū�˳�����Ƥơ�
+1 �İʾ�Υͥåȥ�����󥿥ե����������ꤹ����ˡ���󶡤��ޤ���
+.SH ���
.PP
-DHCP ¥×¥í¥È¥³¥ë¤Ç¤Ï¡¢1 ¤Ä°Ê¾å¤Î¥µ¥Ö¥Í¥Ã¥È¤Ë³ä¤êÅö¤Æ¤ë¤³¤È¤Î¤Ç¤­¤ë
-IP ¥¢¥É¥ì¥¹¤Î¥ê¥¹¥È¤ò´ÉÍý¤¹¤ëÃæ±û¥µ¡¼¥Ð¤Ë¡¢¥Û¥¹¥È¤¬¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤¹¡£
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï¤³¤Î¥ê¥¹¥È¤«¤é¥¢¥É¥ì¥¹¤òÍ׵ᤷ¤Æ¡¢
-¤½¤ì¤ò¥Í¥Ã¥È¥ï¡¼¥¯ÄÌ¿®¤Î°ì»þŪ¤ÊÅÚÂæ¤ËÍѤ¤¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-¤Þ¤¿ DHCP ¥×¥í¥È¥³¥ë¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¥ë¡¼¥¿¤Î¾ì½ê¤ä¥Í¡¼¥à¥µ¡¼¥Ð¤Î¾ì½ê¤Ê¤É¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤¬Àܳ¤·¤Æ¤¤¤ë¥Í¥Ã¥È¥ï¡¼¥¯¤Ë´Ø¤¹¤ë½ÅÍפʾðÊó¤ò
-¥¯¥é¥¤¥¢¥ó¥È¤Ë¾ÜºÙ¤ËÃΤ餻¤ëµ¡¹½¤âÄ󶡤·¤Þ¤¹¡£
+DHCP �ץ��ȥ���Ǥϡ�1 �İʾ�Υ��֥ͥåȤ˳�����Ƥ뤳�ȤΤǤ���
+IP ���ɥ쥹�Υꥹ�Ȥ����������������Фˡ��ۥ��Ȥ����������Ǥ��ޤ���
+DHCP ���饤����ȤϤ��Υꥹ�Ȥ��饢�ɥ쥹���׵ᤷ�ơ�
+�����ͥåȥ���̿��ΰ��Ū��������Ѥ��뤳�Ȥ��Ǥ��ޤ���
+�ޤ� DHCP �ץ��ȥ���ϡ��ǥե���ȥ롼���ξ���͡��ॵ���Фξ��ʤɡ�
+���饤����Ȥ���³���Ƥ���ͥåȥ���˴ؤ�����פʾ����
+���饤����Ȥ˾ܺ٤��Τ餻�뵡�����󶡤��ޤ���
.PP
-µ¯Æ°»þ¤Ë dhclient ¤Ï
+��ư���� dhclient ��
.IR dhclient.conf
-¤«¤éÀßÄê»Ø¼¨¤òÆɤ߼è¤ê¤Þ¤¹¡£
-¤½¤ì¤«¤é¸½ºß¤Î¥·¥¹¥Æ¥à¤ËÁȤ߹þ¤Þ¤ì¤Æ¤¤¤ë
-¤¹¤Ù¤Æ¤Î¥Í¥Ã¥È¥ï¡¼¥¯¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥ê¥¹¥È¤ò¼èÆÀ¤·¤Þ¤¹¡£
-³Æ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ËÂФ· dhclient ¤Ï DHCP ¥×¥í¥È¥³¥ë¤òÍѤ¤¤ÆÀßÄê¤ò»î¤ß¤Þ¤¹¡£
+��������ؼ����ɤ߼��ޤ���
+���줫�鸽�ߤΥ����ƥ���Ȥ߹��ޤ�Ƥ���
+���٤ƤΥͥåȥ�����󥿥ե������Υꥹ�Ȥ�������ޤ���
+�ƥ��󥿥ե��������Ф� dhclient �� DHCP �ץ��ȥ�����Ѥ���������ߤޤ���
.PP
-¥·¥¹¥Æ¥à¥ê¥Ö¡¼¥È¤ä¥µ¡¼¥ÐºÆµ¯Æ°¤ÎºÝ¤Ë¥ê¡¼¥¹¤ò¼º¤ï¤Ê¤¤¤è¤¦¤Ë¡¢
-dhclient ¤Ï³ä¤êÅö¤Æ¤é¤ì¤¿¥ê¡¼¥¹¤Î¥ê¥¹¥È¤ò
-dhclient.leases(5) ¥Õ¥¡¥¤¥ë¤ËÊݸ¤·¤Þ¤¹¡£
-µ¯Æ°»þ¡¢dhclient.conf ¥Õ¥¡¥¤¥ë¤òÆɤ߼è¤Ã¤¿¸å¡¢
-dhclient ¤Ï dhclient.leases ¥Õ¥¡¥¤¥ë¤òÆɤ߹þ¤ó¤Ç¡¢
-³ä¤êÅö¤Æ¤é¤ì¤¿¥ê¡¼¥¹¤Ë´Ø¤¹¤ë¥á¥â¥ê¤ò¹¹¿·¤·¤Þ¤¹¡£
+�����ƥ��֡��Ȥ䥵���кƵ�ư�κݤ˥꡼���򼺤�ʤ��褦�ˡ�
+dhclient �ϳ�����Ƥ�줿�꡼���Υꥹ�Ȥ�
+dhclient.leases(5) �ե��������¸���ޤ���
+��ư����dhclient.conf �ե�������ɤ߼�ä��塢
+dhclient �� dhclient.leases �ե�������ɤ߹���ǡ�
+������Ƥ�줿�꡼���˴ؤ������򹹿����ޤ���
.PP
-¿·¤·¤¤¥ê¡¼¥¹¤ò¼èÆÀ¤¹¤ë¤È¡¢dhclient.leases ¥Õ¥¡¥¤¥ë¤ÎËöÈø¤ËÉÕ¤±²Ã¤¨¤é¤ì¤Þ¤¹¡£
-¥Õ¥¡¥¤¥ë¤¬¶Ëü¤ËÂ礭¤¯¤Ê¤ë¤Î¤òËɤ°¤¿¤á¤Ë¡¢
-dhclient ¤Ï»þ¤ª¤ê¥³¥¢ÆâÉô¤Î¥ê¡¼¥¹¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤é
-¿·µ¬¤Ë dhclient.leases ¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£
-¸Å¤¤ dhclient.leases ¥Õ¥¡¥¤¥ë¤Ï¡¢
-dhclient ¤¬¼¡¤Ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤òºî¤êÂؤ¨¤ë¤Þ¤Ç¡¢
+�������꡼�����������ȡ�dhclient.leases �ե�������������դ��ä����ޤ���
+�ե����뤬��ü���礭���ʤ�Τ��ɤ�����ˡ�
+dhclient �ϻ����ꥳ�������Υ꡼���ǡ����١�������
+������ dhclient.leases �ե������������ޤ���
+�Ť� dhclient.leases �ե�����ϡ�
+dhclient �����˥ǡ����١��������ؤ���ޤǡ�
.IR dhclient.leases~
-¤È¤¤¤¦Ì¾Á°¤ÇÊݸ¤µ¤ì¤Þ¤¹¡£
+�Ȥ���̾������¸����ޤ���
.PP
-dhclient ¤¬ºÇ½é¤Ëµ¯Æ°¤µ¤ì¤¿¤È¤­
-(°ìÈÌŪ¤Ë¤Ï¥·¥¹¥Æ¥à¥Ö¡¼¥È½é´ü²áÄø¤Î´Ö) ¤Ë DHCP ¥µ¡¼¥Ð¤¬ÍøÍѤǤ­¤Ê¤±¤ì¤Ð¡¢
-¸Å¤¤¥ê¡¼¥¹¤Ï»Ä¤µ¤ì¤Þ¤¹¡£
-¤½¤Î¾ì¹ç¡¢dhclient.leases ¥Õ¥¡¥¤¥ë¤«¤é
-¤Þ¤À´ü¸Â¤ÎÀÚ¤ì¤Æ¤¤¤Ê¤¤¸Å¤¤¥ê¡¼¥¹¤ò¸¡ºº¤·¡¢
-Í­¸ú¤Ç¤¢¤ë¤ÈȽÃǤµ¤ì¤ì¤Ð¡¢¤½¤ì¤é¤Î´ü¸Â¤¬ÀÚ¤ì¤ë¤«
-¤Þ¤¿¤Ï DHCP ¥µ¡¼¥Ð¤¬ÍøÍѤǤ­¤ë¤è¤¦¤Ë¤Ê¤ë¤Þ¤Ç¡¢¤½¤Î¥ê¡¼¥¹¤ò»È¤¤¤Þ¤¹¡£
+dhclient ���ǽ�˵�ư���줿�Ȥ�
+(����Ū�ˤϥ����ƥ�֡��Ƚ�������δ�) �� DHCP �����Ф����ѤǤ��ʤ���С�
+�Ť��꡼���ϻĤ���ޤ���
+���ξ�硢dhclient.leases �ե����뤫��
+�ޤ����¤��ڤ�Ƥ��ʤ��Ť��꡼���򸡺�����
+ͭ���Ǥ����Ƚ�Ǥ����С������δ��¤��ڤ�뤫
+�ޤ��� DHCP �����Ф����ѤǤ���褦�ˤʤ�ޤǡ����Υ꡼����Ȥ��ޤ���
.PP
-DHCP ¥µ¡¼¥Ð¤¬Â¸ºß¤·¤Ê¤¤¥Í¥Ã¥È¥ï¡¼¥¯¤Ë»þ¤ª¤ê¥¢¥¯¥»¥¹¤¹¤ëɬÍפ¬
-¤¢¤ë¤è¤¦¤Ê°ÜÆ°¥Û¥¹¥È¤Ï¡¢¤½¤Î¥Í¥Ã¥È¥ï¡¼¥¯¾å¤Î¸ÇÄꥢ¥É¥ì¥¹¤Î¥ê¡¼¥¹¤ò
-¤¢¤é¤«¤¸¤áÆɤ߹þ¤ó¤Ç¤ª¤¯¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-DHCP ¥µ¡¼¥Ð¤Ø¤Î¥¢¥¯¥»¥¹¤¬¤É¤ì¤âÀ®¸ù¤·¤Ê¤«¤Ã¤¿¾ì¹ç¡¢
-dhclient ¤Ï¤½¤ÎÀÅŪ¤Ê¥ê¡¼¥¹¤¬Í­¸ú¤Ç¤¢¤ë¤«¸¡¾Ú¤·¡¢
-Í­¸ú¤Ç¤¢¤ì¤Ð¼¡¤ËºÆµ¯Æ°¤µ¤ì¤ë¤Þ¤Ç¤½¤Î¥ê¡¼¥¹¤ò»È¤¤¤Þ¤¹¡£
+DHCP �����Ф�¸�ߤ��ʤ��ͥåȥ���˻����ꥢ����������ɬ�פ�
+����褦�ʰ�ư�ۥ��Ȥϡ����Υͥåȥ����θ��ꥢ�ɥ쥹�Υ꡼����
+���餫�����ɤ߹���Ǥ������Ȥ��Ǥ��ޤ���
+DHCP �����ФؤΥ����������ɤ���������ʤ��ä���硢
+dhclient �Ϥ�����Ū�ʥ꡼����ͭ���Ǥ��뤫���ڤ���
+ͭ���Ǥ���м��˺Ƶ�ư�����ޤǤ��Υ꡼����Ȥ��ޤ���
.PP
-¤Þ¤¿°ÜÆ°¥Û¥¹¥È¤Ï¡¢DHCP ¤ÏÍøÍѤǤ­¤Ê¤¤¤¬ BOOTP ¤Ê¤éÍøÍѤǤ­¤ë¤è¤¦¤Ê
-¥Í¥Ã¥È¥ï¡¼¥¯¤Ø°ÜÆ°¤¹¤ë¤³¤È¤â¤¢¤ë¤Ç¤·¤ç¤¦¡£
-¤½¤Î¤è¤¦¤Ê¾ì¹ç¤Ï¡¢¸Å¤¤¥ê¡¼¥¹¤ò½ç¼¡»î¤¹¤è¤ê¤â¡¢
-¤½¤Î¥Í¥Ã¥È¥ï¡¼¥¯¤Î´ÉÍý¼Ô¤ÈÁêÃ̤·¤Æ
-BOOTP ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¥¨¥ó¥È¥ê¤òºîÀ®¤·¤Æ¤â¤é¤¤¡¢
-¤½¤Î¥Í¥Ã¥È¥ï¡¼¥¯¾å¤ÇÁÇÁ᤯¥Ö¡¼¥È¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¤È¤è¤¤¤Ç¤·¤ç¤¦¡£
-.SH ¥³¥Þ¥ó¥É¥é¥¤¥ó
+�ޤ���ư�ۥ��Ȥϡ�DHCP �����ѤǤ��ʤ��� BOOTP �ʤ����ѤǤ���褦��
+�ͥåȥ���ذ�ư���뤳�Ȥ⤢��Ǥ��礦��
+���Τ褦�ʾ��ϡ��Ť��꡼����缡����⡢
+���Υͥåȥ���δ����Ԥ����̤���
+BOOTP �ǡ����١����˥���ȥ��������Ƥ�餤��
+���Υͥåȥ��������᤯�֡��ȤǤ���褦�ˤ���Ȥ褤�Ǥ��礦��
+.SH ���ޥ�ɥ饤��
.PP
-dhclient ¤¬ÀßÄꤷ¤è¤¦¤È¤¹¤ë¥Í¥Ã¥È¥ï¡¼¥¯¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î̾Á°¤ò
-¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄê¤Ç¤­¤Þ¤¹¡£
-¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¥¤¥ó¥¿¥Õ¥§¡¼¥¹Ì¾¤¬»ØÄꤵ¤ì¤Ê¤±¤ì¤Ð¡¢
-dhclient ¤Ï¤¹¤Ù¤Æ¤Î¥Í¥Ã¥È¥ï¡¼¥¯¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò¼±Ê̤·¡¢
-²Äǽ¤Ê¤éÈó¥Ö¥í¡¼¥É¥­¥ã¥¹¥È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï½ü¤¤¤Æ¡¢
-¤½¤ì¤¾¤ì¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÀßÄꤷ¤è¤¦¤È¤·¤Þ¤¹¡£
+dhclient �����ꤷ�褦�Ȥ���ͥåȥ�����󥿥ե�������̾����
+���ޥ�ɥ饤��ǻ���Ǥ��ޤ���
+���ޥ�ɥ饤��ǥ��󥿥ե�����̾�����ꤵ��ʤ���С�
+dhclient �Ϥ��٤ƤΥͥåȥ�����󥿥ե��������̤���
+��ǽ�ʤ���֥����ɥ��㥹�ȥ��󥿥ե������Ͻ����ơ�
+���줾��Υ��󥿥ե����������ꤷ�褦�Ȥ��ޤ���
.PP
.B dhclient.conf(5)
-¥Õ¥¡¥¤¥ëÃæ¤Î̾Á°¤Ç¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò»ØÄꤹ¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£
-¤³¤ÎÊýË¡¤Ç¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢
-ÀßÄê¥Õ¥¡¥¤¥ëÃæ¤Ç»ØÄꤷ¤¿¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤â¤·¤¯¤Ï¥³¥Þ¥ó¥É¹Ô¤Ç
-»ØÄꤷ¤¿¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¤É¤Á¤é¤«¤À¤±¤òÀßÄꤹ¤ë¤Ç¤·¤ç¤¦¡£
+�ե��������̾���ǥ��󥿥ե���������ꤹ�뤳�Ȥ��ǽ�Ǥ���
+������ˡ�ǥ��󥿥ե���������ꤷ����硢���饤����Ȥϡ�
+����ե�������ǻ��ꤷ�����󥿥ե������⤷���ϥ��ޥ�ɹԤ�
+���ꤷ�����󥿥ե������Τɤ��餫���������ꤹ��Ǥ��礦��
.PP
.B -D
-¥Õ¥é¥°¤ò»ØÄꤹ¤ë¤È¡¢
+�ե饰����ꤹ��ȡ�
.B dhclient
-¤¬
+��
.B dhclient-script
-¤ÈÁȤ߹ç¤ï¤»¤Æ»ÈÍѤ¹¤ë¤¿¤á¤ËºîÀ®¤·¤¿¥¹¥¯¥ê¥×¥È¤ò¡¢
+���Ȥ߹�碌�ƻ��Ѥ��뤿��˺�������������ץȤ�
.IR /tmp
-¤ËÊݸ¤µ¤»¤Þ¤¹¡£
+����¸�����ޤ���
.PP
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤¬É¸½à¥Ý¡¼¥È (¥Ý¡¼¥ÈÈÖ¹æ 68) °Ê³°¤Î¥Ý¡¼¥È¤Ç
-ÂÔµ¡¤ª¤è¤ÓÁ÷¿®¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ë¤Ï
+DHCP ���饤����Ȥ�ɸ��ݡ��� (�ݡ����ֹ� 68) �ʳ��Υݡ��Ȥ�
+�Ե��������������ɬ�פ�������ˤ�
.B -p
-¥Õ¥é¥°¤¬»È¤¨¤Þ¤¹¡£
-¤³¤Î¥Õ¥é¥°¤Ë³¤±¤Æ¡¢dhclient ¤¬»È¤¦ udp ¥Ý¡¼¥ÈÈÖ¹æ¤ò»ØÄꤷ¤Þ¤¹¡£
-¤³¤ì¤Ï¼ç¤È¤·¤Æ¥Ç¥Ð¥Ã¥°ÌÜŪ¤Ç¤ÏÍ­ÍѤǤ¹¡£
-¥¯¥é¥¤¥¢¥ó¥È¤¬ÂÔµ¡¤ª¤è¤ÓÁ÷¿®¤¹¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¥Ý¡¼¥È¤Ë
-¥Ç¥Õ¥©¥ë¥È¤È¤Ï°ã¤¦¥Ý¡¼¥È¤ò»ØÄꤹ¤ë¾ì¹ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï
-¤â¤¦ 1 ¤ÄÊ̤ÎÁ÷¿®Àè¥Ý¡¼¥È¤â»ÈÍѤ·¤Þ¤¹¡£¤½¤ÎÁ÷¿®Àè¥Ý¡¼¥È¤Ï¡¢
-»ØÄꤷ¤¿Á÷¿®Àè¥Ý¡¼¥È¤è¤ê¤âÂ礭¤ÊÈÖ¹æ¤ò»ý¤Ã¤¿¤â¤Î¤Ç¤¹¡£
+�ե饰���Ȥ��ޤ���
+���Υե饰��³���ơ�dhclient ���Ȥ� udp �ݡ����ֹ����ꤷ�ޤ���
+����ϼ�Ȥ��ƥǥХå���Ū�Ǥ�ͭ�ѤǤ���
+���饤����Ȥ��Ե�������������뤿��˻��Ѥ���ݡ��Ȥ�
+�ǥե���ȤȤϰ㤦�ݡ��Ȥ���ꤹ���硢���饤����Ȥ�
+�⤦ 1 ���̤�������ݡ��Ȥ���Ѥ��ޤ�������������ݡ��Ȥϡ�
+���ꤷ��������ݡ��Ȥ����礭���ֹ����ä���ΤǤ���
.PP
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢Ä̾ï IP ¥¢¥É¥ì¥¹¤ò³ÍÆÀ¤·¤Æ¤¤¤Ê¤¤´Ö
-Ǥ°Õ¤Î¥×¥í¥È¥³¥ë¥á¥Ã¥»¡¼¥¸¤ò¥ê¥ß¥Æ¥Ã¥É¥Ö¥í¡¼¥É¥­¥ã¥¹¥È
-¥¢¥É¥ì¥¹¤Ç¤¢¤ë 255.255.255.255 ¤Ø¤ÈÁ÷¿®¤·¤Þ¤¹¡£
-¥Ç¥Ð¥Ã¥°ÌÜŪ¤Ç¡¢¥µ¡¼¥Ð¤¬¤³¤ì¤é¤Î¥á¥Ã¥»¡¼¥¸¤ò¤É¤³¤«Ê̤Υ¢¥É¥ì¥¹¤Ø
-Á÷¿®¤·¤¿Êý¤¬ÊØÍø¤Ê¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
+DHCP ���饤����Ȥϡ��̾� IP ���ɥ쥹��������Ƥ��ʤ���
+Ǥ�դΥץ��ȥ����å��������ߥƥåɥ֥����ɥ��㥹��
+���ɥ쥹�Ǥ��� 255.255.255.255 �ؤ��������ޤ���
+�ǥХå���Ū�ǡ������Ф������Υ�å�������ɤ����̤Υ��ɥ쥹��
+�����������������ʤ��Ȥ�����ޤ���
.B -s
-¥Õ¥é¥°¤Î¸å¤ËÁ÷¿®Àè¤Î IP ¥¢¥É¥ì¥¹¤â¤·¤¯¤Ï¥É¥á¥¤¥ó̾¤ò¤Ä¤±¤Æ»ØÄê
-¤Ç¤­¤Þ¤¹¡£
-¥Æ¥¹¥ÈÌÜŪ¤Ç¡¢DHCP ¥¯¥é¥¤¥¢¥ó¥È¤¬Á÷¿®¤¹¤ëÁ´¤Æ¤Î¥Ñ¥±¥Ã¥È¤Î
-giaddr ¥Õ¥£¡¼¥ë¥É¤ò
+�ե饰�θ��������� IP ���ɥ쥹�⤷���ϥɥᥤ��̾��Ĥ��ƻ���
+�Ǥ��ޤ���
+�ƥ�����Ū�ǡ�DHCP ���饤����Ȥ������������ƤΥѥ��åȤ�
+giaddr �ե�����ɤ�
.B -g
-¥Õ¥é¥°¤ËÁ÷¿®Àè¤Î IP ¥¢¥É¥ì¥¹¤ò³¤±¤¿·Á¤ò»ÈÍѤ¹¤ë¤³¤È¤ÇÀßÄꤹ¤ë
-¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤ì¤Ï¥Æ¥¹¥ÈÌÜŪ¤Î»þ¤Î¤ßÍ­ÍѤʤâ¤Î¤Ç¤¢¤ê¡¢
-·ø¼Â¤µ¤ä»È¤¤¤ä¤¹¤µ¤òµá¤á¤ë¾õ¶·¤ÇÆ°ºî¤¹¤ë¤³¤È¤òÁÛÄꤷ¤Æ¤Ï
-¤¤¤±¤Þ¤»¤ó¡£
+�ե饰��������� IP ���ɥ쥹��³����������Ѥ��뤳�Ȥ����ꤹ��
+���Ȥ��Ǥ��ޤ�������ϥƥ�����Ū�λ��Τ�ͭ�Ѥʤ�ΤǤ��ꡢ
+���¤���Ȥ��䤹������������ư��뤳�Ȥ����ꤷ�Ƥ�
+�����ޤ���
.PP
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢Ä̾磻¥ó¥¿¥Õ¥§¡¼¥¹¤òÀßÄꤹ¤ë¤Þ¤Ç¤Ï
-¥Õ¥©¥¢¥°¥é¥¦¥ó¥É¤ÇÆ°ºî¤·¡¢¤½¤Î¸å¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤ÇÆ°ºî
-¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£dhclient ¤ò¾ï¤Ë¥Õ¥©¥¢¥°¥é¥¦¥ó¥É¤Î
-¥×¥í¥»¥¹¤È¤·¤ÆÆ°ºî¤µ¤»¤ë¤¿¤á¤Ë¤Ï¡¢
+DHCP ���饤����Ȥϡ��̾磻�󥿥ե����������ꤹ��ޤǤ�
+�ե������饦��ɤ�ư������θ�Хå����饦��ɤ�ư��
+����褦�ˤʤ�ޤ���dhclient ���˥ե������饦��ɤ�
+�ץ������Ȥ���ư����뤿��ˤϡ�
.B -d
-¥Õ¥é¥°¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢DHCP ¥¯¥é¥¤¥¢¥ó¥È¤¬
-¥Ç¥Ð¥Ã¥¬¤Î¤â¤È¤ÇÆ°ºî¤·¤Æ¤¤¤ë¾ì¹ç¤ä¡¢System V ¥·¥¹¥Æ¥à¤Î
-inittab ¤Î³°Â¦¤ÇÆ°ºî¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤ÏÍ­¸ú¤Ê¤â¤Î¤Ç¤¹¡£
+�ե饰����ꤹ��ɬ�פ�����ޤ�������ϡ�DHCP ���饤����Ȥ�
+�ǥХå��Τ�Ȥ�ư��Ƥ�����䡢System V �����ƥ��
+inittab �γ�¦��ư��Ƥ�����ˤ�ͭ���ʤ�ΤǤ���
.PP
-¤³¤Î¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢Ä̾ï¤Ïµ¯Æ°¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¡¢¥¢¥É¥ì¥¹¤ò
-³ÍÆÀ¤¹¤ë¤Þ¤Çɸ½à¥¨¥é¡¼½ÐÎϤ˥ץí¥È¥³¥ë¥·¡¼¥±¥ó¥¹¤ò
-½ñ¤­½Ð¤·¤Þ¤¹¡£¥¢¥É¥ì¥¹¤ò³ÍÆÀ¤·¤¿¸å¤Ï
+���Υ��饤����Ȥϡ��̾�ϵ�ư��å�������ɽ���������ɥ쥹��
+��������ޤ�ɸ�२�顼���Ϥ˥ץ��ȥ��륷�����󥹤�
+�񤭽Ф��ޤ������ɥ쥹������������
.B syslog (3)
-¥Õ¥¡¥·¥ê¥Æ¥£¤ò»ÈÍѤ·¤Æ¥á¥Ã¥»¡¼¥¸¤Î¥í¥°¤ò¼è¤ë¤À¤±¤Ë¤Ê¤ê¤Þ¤¹¡£
+�ե�����ƥ�����Ѥ��ƥ�å������Υ�����������ˤʤ�ޤ���
.B -q
-¥Õ¥é¥°¤ò»ÈÍѤ¹¤ë¤È¡¢¥¨¥é¡¼°Ê³°¤Î¥á¥Ã¥»¡¼¥¸¤òɸ½à¥¨¥é¡¼½ÐÎϤË
-½ñ¤­½Ð¤µ¤Ê¤¤¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
+�ե饰����Ѥ���ȡ����顼�ʳ��Υ�å�������ɸ�२�顼���Ϥ�
+�񤭽Ф��ʤ��褦�ˤʤ�ޤ���
.PP
-¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢DHCP ¥×¥í¥È¥³¥ë¤ÇµÁ̳¤Å¤±¤é¤ì¤Æ¤¤¤Ê¤¤¤¿¤á¡¢
-Ä̾ï¤Ï¸½ºß¼èÆÀ¤·¤Æ¤¤¤ë¥ê¡¼¥¹¤ò³«Êü¤¹¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-¤¿¤À¡¢¥±¡¼¥Ö¥ë ISP ¤Î¤Ê¤«¤Ë¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬
-³ä¤êÅö¤Æ¤é¤ì¤¿IP ¥¢¥É¥ì¥¹¤ò³«Êü¤·¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢¥µ¡¼¥Ð¤Ë
-ÄÌÃΤ¹¤ë¤è¤¦¤ËµÁ̳¤Å¤±¤Æ¤¤¤ë¤È¤³¤í¤â¤¢¤ê¤Þ¤¹¡£
+���饤����Ȥϡ�DHCP �ץ��ȥ���ǵ�̳�Ť����Ƥ��ʤ����ᡢ
+�̾�ϸ��߼������Ƥ���꡼���������뤳�ȤϤ���ޤ���
+�����������֥� ISP �Τʤ��ˤϡ����饤����Ȥ�
+������Ƥ�줿IP ���ɥ쥹�������������ˤϡ������Ф�
+���Τ���褦�˵�̳�Ť��Ƥ���Ȥ����⤢��ޤ���
.B -r
-¥Õ¥é¥°¤òÍѤ¤¤ë¤È¡¢ÌÀ¼¨Åª¤Ë¸½ºß¤Î¥ê¡¼¥¹¤ò³«Êü¤·¡¢¤¤¤Ã¤¿¤ó
-¥ê¡¼¥¹¤ò³«Êü¤¹¤ë¤È¥¯¥é¥¤¥¢¥ó¥È¤Ï½ªÎ»¤·¤Þ¤¹¡£
+�ե饰���Ѥ���ȡ�����Ū�˸��ߤΥ꡼�������������ä���
+�꡼����������ȥ��饤����ȤϽ�λ���ޤ���
.PP
.B -1
-¥Õ¥é¥°¤ò»ØÄꤹ¤ë¤È¡¢
-dhclient ¤Ï¤Ò¤È¤Ä¤Î¥ê¡¼¥¹¤ËÂФ· 1 ÅÙ¤À¤±¤·¤«¼èÆÀ¤ò»î¤ß¤Þ¤»¤ó¡£
-¤â¤·¼èÆÀ¤Ë¼ºÇÔ¤¹¤ì¤Ð dhclient ¤Ï½ªÎ»¥³¡¼¥É 2 ¤Ç½ªÎ»¤·¤Þ¤¹¡£
+�ե饰����ꤹ��ȡ�
+dhclient �ϤҤȤĤΥ꡼�����Ф� 1 �٤��������������ߤޤ���
+�⤷�����˼��Ԥ���� dhclient �Ͻ�λ������ 2 �ǽ�λ���ޤ���
.PP
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢Ä̾ï¤ÏÀßÄê¾ðÊó¤ò
+DHCP ���饤����Ȥϡ��̾����������
.B ETCDIR/dhclient.conf
-¤«¤é¡¢¥ê¡¼¥¹¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò
+���顢�꡼���ǡ����١�����
.B DBDIR/dhclient.leases
-¤«¤é¼èÆÀ¤·¡¢¼«Ê¬¤Î¥×¥í¥»¥¹ ID ¤ò
+�������������ʬ�Υץ����� ID ��
.B RUNDIR/dhclient.pid
-¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤ËÊݸ¤·¡¢
-¤½¤·¤Æ¥Í¥Ã¥È¥ï¡¼¥¯¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò
+�Ȥ���̾���Υե��������¸����
+�����ƥͥåȥ�����󥿥ե�������
.B CLIENTBINDIR/dhclient-script
-¤ò»ÈÍѤ·¤ÆÀßÄꤷ¤Þ¤¹¡£
-¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤ËÊ̤Î̾Á°¤ò»ØÄꤷ¤¿¤ê¡¢Ê̤ξì½ê¤ò
-»ØÄꤷ¤¿¤ê¤¹¤ë¤Ë¤Ï¡¢¤½¤ì¤¾¤ì
+����Ѥ������ꤷ�ޤ���
+�����Υե�������̤�̾������ꤷ���ꡢ�̤ξ���
+���ꤷ���ꤹ��ˤϡ����줾��
.B -cf,
.B -lf,
.B -pf
-¤ª¤è¤Ó
+�����
.B -sf
-¥Õ¥é¥°¤ò¡¢¸å¤í¤Ë¥Õ¥¡¥¤¥ë̾¤ò³¤±¤ë·Á¤Ç»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
-¤³¤ÎÊýË¡¤Ï¡¢Î㤨¤Ð DHCP ¥¯¥é¥¤¥¢¥ó¥È¤¬µ¯Æ°¤·¤¿¤È¤­¤Ë
+�ե饰�򡢸���˥ե�����̾��³������ǻ��Ѥ��Ƥ���������
+������ˡ�ϡ��㤨�� DHCP ���饤����Ȥ���ư�����Ȥ���
.B DBDIR
-¤â¤·¤¯¤Ï
+�⤷����
.B RUNDIR
-¤¬¤Þ¤À¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤ÏÆäËÍ­ÍѤʤâ¤Î¤Ë
-¤Ê¤êÆÀ¤Þ¤¹¡£
+���ޤ��ޥ���Ȥ���Ƥ��ʤ����ˤ��ä�ͭ�Ѥʤ�Τ�
+�ʤ����ޤ���
.PP
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢ÀßÄꤹ¤Ù¤­¥Í¥Ã¥È¥ï¡¼¥¯
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òƱÄê¤Ç¤­¤Ê¤¤¾ì¹ç¡¢Ä̾ï¤Ï½ªÎ»¤·¤Þ¤¹¡£
-¥é¥Ã¥×¥È¥Ã¥×¥³¥ó¥Ô¥å¡¼¥¿¤ä¥Û¥Ã¥È¥¹¥ï¥Ã¥×²Äǽ¤Ê I/O ¥Ð¥¹¤ò
-»ý¤Ã¤¿¥³¥ó¥Ô¥å¡¼¥¿¤Ç¤Ï¡¢¥Ö¥í¡¼¥É¥­¥ã¥¹¥È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬
-¥·¥¹¥Æ¥àµ¯Æ°¸å¤ËÄɲ䵤ì¤ë¤³¤È¤¬¤¢¤êÆÀ¤Þ¤¹¡£
+DHCP ���饤����Ȥϡ����ꤹ�٤��ͥåȥ��
+���󥿥ե�������Ʊ��Ǥ��ʤ���硢�̾�Ͻ�λ���ޤ���
+��åץȥåץ���ԥ塼����ۥåȥ���åײ�ǽ�� I/O �Х���
+���ä�����ԥ塼���Ǥϡ��֥����ɥ��㥹�ȥ��󥿥ե�������
+�����ƥ൯ư����ɲä���뤳�Ȥ��������ޤ���
.B -w
-¥Õ¥é¥°¤òÍѤ¤¤ë¤È¡¢¤½¤Î¤è¤¦¤Ê¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬ 1 ¤Ä¤â
-¸«¤Ä¤«¤é¤Ê¤¤¤È¤­¤Ë¤â¥¯¥é¥¤¥¢¥ó¥È¤¬½ªÎ»¤·¤Ê¤¤¤è¤¦¤Ë¤Ç¤­¤Þ¤¹¡£
-¸å¤Ç
+�ե饰���Ѥ���ȡ����Τ褦�ʥ��󥿥ե������� 1 �Ĥ�
+���Ĥ���ʤ��Ȥ��ˤ⥯�饤����Ȥ���λ���ʤ��褦�ˤǤ��ޤ���
+���
.B omshell (8)
-¥×¥í¥°¥é¥à¤ò»ÈÍѤ·¤Æ¡¢¥Í¥Ã¥È¥ï¡¼¥¯¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬Äɲ䵤줿¤ê
-ºï½ü¤µ¤ì¤¿¤ê¤·¤¿¤³¤È¤ò¥¯¥é¥¤¥¢¥ó¥È¤ËÄÌÃΤ¹¤ë¤³¤È¤¬¤Ç¤­¡¢
-¤³¤ì¤Ë¤è¤Ã¤Æ¥¯¥é¥¤¥¢¥ó¥È¤¬¤³¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¾å¤Î
-IP ¥¢¥É¥ì¥¹¤òÀßÄꤹ¤ë¤è¤¦»î¤ß¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
+�ץ���������Ѥ��ơ��ͥåȥ�����󥿥ե��������ɲä��줿��
+������줿�ꤷ�����Ȥ򥯥饤����Ȥ����Τ��뤳�Ȥ��Ǥ���
+����ˤ�äƥ��饤����Ȥ����Υ��󥿥ե��������
+IP ���ɥ쥹�����ꤹ��褦��ߤ뤳�Ȥ��Ǥ��ޤ���
.PP
.B -n
-¥Õ¥é¥°¤òÍѤ¤¤ë¤³¤È¤Ç¡¢¤É¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤âÀßÄꤷ¤è¤¦¤È
-¤·¤Ê¤¤¤è¤¦¤Ë DHCP ¥¯¥é¥¤¥¢¥ó¥È¤ò»Ø¼¨¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-¤³¤Î¥Õ¥é¥°¤Ï¡¢¤­¤Ã¤È
+�ե饰���Ѥ��뤳�Ȥǡ��ɤΥ��󥿥ե����������ꤷ�褦��
+���ʤ��褦�� DHCP ���饤����Ȥ�ؼ����뤳�Ȥ��Ǥ��ޤ���
+���Υե饰�ϡ����ä�
.B -w
-¥Õ¥é¥°¤È¶¦¤Ë»ÈÍѤ¹¤ë¤ÈÍ­ÍѤǤ·¤ç¤¦¡£
+�ե饰�ȶ��˻��Ѥ����ͭ�ѤǤ��礦��
.PP
-IP ¥¢¥É¥ì¥¹¤ò³ÍÆÀ¤¹¤ë¤Þ¤ÇÂԤĤΤǤϤʤ¯¡¢Â¨ºÂ¤Ë¥Ç¡¼¥â¥ó¤È
-¤Ê¤ë¤è¤¦¤Ë¥¯¥é¥¤¥¢¥ó¥È¤ò»Ø¼¨¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£
+IP ���ɥ쥹���������ޤ��ԤĤΤǤϤʤ���¨�¤˥ǡ�����
+�ʤ�褦�˥��饤����Ȥ�ؼ����뤳�Ȥ�Ǥ��ޤ���
.B -nw
-¥Õ¥é¥°¤òÍ¿¤¨¤ë¤È²Äǽ¤Ç¤¹¡£
-.SH ÀßÄê
-dhclient.conf(5) ¥Õ¥¡¥¤¥ë¤Î½ñ¼°¤ÏÊ̤˲òÀ⤵¤ì¤Æ¤¤¤Þ¤¹¡£
+�ե饰��Ϳ����Ȳ�ǽ�Ǥ���
+.SH ����
+dhclient.conf(5) �ե�����ν񼰤��̤˲��⤵��Ƥ��ޤ���
.SH OMAPI
-¤³¤Î DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢Æ°ºîÃæ¤Ë¤½¤ÎÆ°ºî¤òÄä»ß¤µ¤»¤ë
-¤³¤È¤Ê¤¯¼«Ê¬¼«¿È¤òÀ©¸æ¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Îµ¡Ç½¤òÄ󶡤·¤Æ¤¤¤Þ¤¹¡£
-¤³¤Îµ¡Ç½¤Ï¡¢¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥ÈÁàºî API ¤Ç¤¢¤ë OMAPI ¤ò
-ÍѤ¤¤ÆÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£OMAPI ¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢TCP/IP ¤ò
-»ÈÍѤ·¤Æ¤³¤Î DHCP ¥¯¥é¥¤¥¢¥ó¥È¤ËÀܳ¤·¤Þ¤¹¡£¤½¤·¤Æ¡¢
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Î¸½ºß¤Î¾õÂÖ¤ò¸¡ºº¤Ç¤­¡¢¤½¤Î¾õÂÖ¤òÊѹ¹¤¹¤ë¤³¤È¤¬
-¤Ç¤­¤Þ¤¹¡£
+���� DHCP ���饤����Ȥϡ�ư����ˤ���ư�����ߤ�����
+���Ȥʤ���ʬ���Ȥ�����Ǥ���褦�ˤ��뤿��ε�ǽ���󶡤��Ƥ��ޤ���
+���ε�ǽ�ϡ���⡼�ȥ��֥���������� API �Ǥ��� OMAPI ��
+�Ѥ����󶡤���Ƥ��ޤ���OMAPI ���饤����Ȥϡ�TCP/IP ��
+���Ѥ��Ƥ��� DHCP ���饤����Ȥ���³���ޤ��������ơ�
+DHCP ���饤����Ȥθ��ߤξ��֤򸡺��Ǥ������ξ��֤��ѹ����뤳�Ȥ�
+�Ǥ��ޤ���
.PP
-¥æ¡¼¥¶¥×¥í¥°¥é¥à¤Ç¤Ï¡¢´ðÁäˤ¢¤ë OMAPI ¥×¥í¥È¥³¥ë¤òľÀܼÂÁõ¤¹¤ë
-¤Î¤Ç¤Ï¤Ê¤¯¡¢dhcpctl API ¤â¤·¤¯¤Ï OMAPI ¤½¤Î¤â¤Î¤ò»ÈÍѤ¹¤Ù¤­¤Ç¤¹¡£
-dhcpctl ¤Ï¡¢OMAPI ¤¬¼«Æ°¤Ç¹Ô¤Ã¤Æ¤Ï¤¯¤ì¤Ê¤¤»¨»ö¤Î¤¤¤¯¤Ä¤«¤ò°·¤¦
-¥é¥Ã¥Ñ¤Ç¤¹¡£dhcpctl ¤ª¤è¤Ó OMAPI ¤Ë¤Ä¤¤¤Æ¤Ï
-\fBdhcpctl(3)\fR ¤ª¤è¤Ó \fBomapi(3)\fR ¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-¥¯¥é¥¤¥¢¥ó¥È¤òÍѤ¤¤Æ¤ä¤ê¤¿¤¤¤³¤È¤Î¤Û¤È¤ó¤É¤Ï¡¢ÆÃÊÌ¤Ê¥×¥í¥°¥é¥à¤ò
-½ñ¤«¤Ê¤¯¤È¤â \fBomshell(1)\fR ¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤ÆľÀܼ¸½¤Ç¤­¤ë
-¤â¤Î¤Ç¤¹¡£
-.SH À©¸æ¥ª¥Ö¥¸¥§¥¯¥È
-À©¸æ¥ª¥Ö¥¸¥§¥¯¥È¤ò»ÈÍѤ¹¤ë¤È¡¢DHCP ¥¯¥é¥¤¥¢¥ó¥È¤ò½ªÎ»¤µ¤»¡¢
-ÊÝ»ý¤·¤Æ¤¤¤ë¥ê¡¼¥¹¤ò¤¹¤Ù¤Æ³«Êü¤·¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬Äɲä·¤¿
-DNS ¥ì¥³¡¼¥É¤ò¤¹¤Ù¤Æ¾Ãµî¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
-¤Þ¤¿¡¢¥¯¥é¥¤¥¢¥ó¥È¤ò°ì»þÄä»ß¤µ¤»¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬»ÈÍѤ·¤Æ¤¤¤ë
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÎÀßÄê¤ò½ü¤¯¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤â¤Ê¤ê¤Þ¤¹¡£
-¤½¤Î¸å¤Ç¡¢DHCP ¥¯¥é¥¤¥¢¥ó¥È¤òºÆµ¯Æ°¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¡¢
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òºÆÀßÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£Ä̾¥Ï¥¤¥Ð¥Í¡¼¥·¥ç¥ó¤Ë
-Æþ¤ëÁ°¤ä¥é¥Ã¥×¥È¥Ã¥×¥³¥ó¥Ô¥å¡¼¥¿¤Ç¤Ï¥¹¥ê¡¼¥×¤¹¤ëÁ°¤Ë
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤ò°ì»þÄä»ß¤µ¤»¤ë¤Ç¤·¤ç¤¦¡£
-¤½¤·¤Æ¡¢ÅŸ»¤¬Ìá¤Ã¤Æ¤­¤¿¸å¤Ç DHCP ¥¯¥é¥¤¥¢¥ó¥È¤ò²óÉü¤µ¤»¤ë
-¤Ç¤·¤ç¤¦¡£¤³¤¦¤¹¤ë¤³¤È¤Ç¡¢¥³¥ó¥Ô¥å¡¼¥¿¤¬¥Ï¥¤¥Ð¥Í¡¼¥·¥ç¥ó¤ä
-¥¹¥ê¡¼¥×Ãæ¤Ë¤Ï PC ¥«¡¼¥É¤òÄä»ß¤µ¤»¤Æ¤ª¤­¡¢¥³¥ó¥Ô¥å¡¼¥¿¤¬
-¥Ï¥¤¥Ð¥Í¡¼¥·¥ç¥ó¤ä¥¹¥ê¡¼¥×¤«¤éÉüµ¢¤·¤¿¤é°ÊÁ°¤Î¾õÂÖ¤Ë
-ºÆÅÙ½é´ü²½¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ë¤Î¤Ç¤¹¡£
+�桼���ץ������Ǥϡ����äˤ��� OMAPI �ץ��ȥ����ľ�ܼ�������
+�ΤǤϤʤ���dhcpctl API �⤷���� OMAPI ���Τ�Τ���Ѥ��٤��Ǥ���
+dhcpctl �ϡ�OMAPI ����ư�ǹԤäƤϤ���ʤ������Τ����Ĥ��򰷤�
+��åѤǤ���dhcpctl ����� OMAPI �ˤĤ��Ƥ�
+\fBdhcpctl(3)\fR ����� \fBomapi(3)\fR �˵��Ҥ���Ƥ��ޤ���
+���饤����Ȥ��Ѥ��Ƥ�ꤿ�����ȤΤۤȤ�ɤϡ����̤ʥץ�������
+�񤫤ʤ��Ȥ� \fBomshell(1)\fR ���ޥ�ɤ���Ѥ���ľ�ܼ¸��Ǥ���
+��ΤǤ���
+.SH ���楪�֥�������
+���楪�֥������Ȥ���Ѥ���ȡ�DHCP ���饤����Ȥ�λ������
+�ݻ����Ƥ���꡼���򤹤٤Ƴ����������饤����Ȥ��ɲä���
+DNS �쥳���ɤ򤹤٤ƾõ�뤳�Ȥ��Ǥ���褦�ˤʤ�ޤ���
+�ޤ������饤����Ȥ�����ߤ��������饤����Ȥ����Ѥ��Ƥ���
+���󥿥ե������������������Ȥ��Ǥ���褦�ˤ�ʤ�ޤ���
+���θ�ǡ�DHCP ���饤����Ȥ�Ƶ�ư�����뤳�Ȥ��Ǥ���
+���󥿥ե�����������ꤹ�뤳�Ȥ��Ǥ��ޤ����̾�ϥ��Х͡�������
+���������åץȥåץ���ԥ塼���Ǥϥ��꡼�פ�������
+DHCP ���饤����Ȥ�����ߤ�����Ǥ��礦��
+�����ơ��Ÿ�����äƤ������ DHCP ���饤����Ȥ����������
+�Ǥ��礦���������뤳�Ȥǡ�����ԥ塼�����ϥ��Х͡�������
+���꡼����ˤ� PC �����ɤ���ߤ����Ƥ���������ԥ塼����
+�ϥ��Х͡������䥹�꡼�פ�����������������ξ��֤�
+���ٽ�������뤳�Ȥ��Ǥ���褦�ˤʤ�ΤǤ���
.PP
-À©¸æ¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ï°À­¤¬ 1 ¤Ä¤¢¤ê¤Þ¤¹¡£¤½¤ì¤Ï¾õÂÖ°À­¤Ç¤¹¡£
-¥¯¥é¥¤¥¢¥ó¥È¤ò½ªÎ»¤µ¤»¤ë¤Ë¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤Î¾õÂÖ°À­¤ò 2 ¤Ë
-ÀßÄꤷ¤Þ¤¹¡£¥¯¥é¥¤¥¢¥ó¥È¤Ï¼«Æ°Åª¤Ë DHCPRELEASE ¤ò¹Ô¤¦¤Ç¤·¤ç¤¦¡£
-¥¯¥é¥¤¥¢¥ó¥È¤ò°ì»þÄä»ß¤µ¤»¤ë¤Ë¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤Î¾õÂÖ°À­¤ò
-3 ¤ËÀßÄꤷ¤Þ¤¹¡£¥¯¥é¥¤¥¢¥ó¥È¤òÉüµ¢¤µ¤»¤ë¤Ë¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤Î
-¾õÂÖ°À­¤ò 4 ¤ËÀßÄꤷ¤Þ¤¹¡£
-.SH ´ØÏ¢¥Õ¥¡¥¤¥ë
+���楪�֥������Ȥˤ�°���� 1 �Ĥ���ޤ�������Ͼ���°���Ǥ���
+���饤����Ȥ�λ������ˤϡ����饤����Ȥξ���°���� 2 ��
+���ꤷ�ޤ������饤����Ȥϼ�ưŪ�� DHCPRELEASE ��Ԥ��Ǥ��礦��
+���饤����Ȥ�����ߤ�����ˤϡ����饤����Ȥξ���°����
+3 �����ꤷ�ޤ������饤����Ȥ�����������ˤϡ����饤����Ȥ�
+����°���� 4 �����ꤷ�ޤ���
+.SH ��Ϣ�ե�����
.B CLIENTBINDIR/dhclient-script,
.B ETCDIR/dhclient.conf, DBDIR/dhclient.leases, RUNDIR/dhclient.pid,
.B DBDIR/dhclient.leases~
-.SH ´ØÏ¢¹àÌÜ
+.SH ��Ϣ����
dhclient.conf(5), dhclient.leases(5), dhclient-script(8)
-.SH ºî¼Ô
+.SH ���
.B dhclient(8)
-¤Ï Ted Lemon ¤¬
-Vixie Enterprises ¤È¶¨ÎϤ·¤Æ Internet Systems Consortium ¤Î¤¿¤á¤Ë
-½ñ¤­¤Þ¤·¤¿¡£
-Internet Systems Consortium ¤Ë¤Ä¤¤¤Æ¤è¤ê¾Ü¤·¤¯¤Ï¡¢
+�� Ted Lemon ��
+Vixie Enterprises �ȶ��Ϥ��� Internet Systems Consortium �Τ����
+�񤭤ޤ�����
+Internet Systems Consortium �ˤĤ��Ƥ��ܤ����ϡ�
.B https://www.isc.org
-¤ò¤´Í÷¤¯¤À¤µ¤¤¡£
-Vixie Enterprises ¤Ë¤Ä¤¤¤Æ¤è¤ê¾Ü¤·¤¯¤Ï¡¢
+��������������
+Vixie Enterprises �ˤĤ��Ƥ��ܤ����ϡ�
.B http://www.vix.com
-¤ò¤´Í÷¤¯¤À¤µ¤¤¡£
+��������������
.PP
-ËÜ¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢Elliot Poger ¤¬
-Stanford Âç³Ø¤Î MosquitoNet ¥×¥í¥¸¥§¥¯¥È¤Ë»²²Ã¤·¤Æ¤¤¤ë´Ö¤Ë¡¢
-Linux ¤Ç¤ÎÍøÍѤ˺ݤ·ÂçÉý¤Ë½¤Àµ¡¢²þÎɤò¹Ô¤¤¤Þ¤·¤¿¡£
+�ܥ��饤����Ȥϡ�Elliot Poger ��
+Stanford ��ؤ� MosquitoNet �ץ��������Ȥ˻��ä��Ƥ���֤ˡ�
+Linux �Ǥ����Ѥ˺ݤ������˽��������ɤ�Ԥ��ޤ�����
.PP
-¸½ºß¤Î¥Ð¡¼¥¸¥ç¥ó¤Ï¡¢Elliot ¤Ë¤è¤ë Linux ¤Ç¤Î²þÎɤËÉ餦¤È¤³¤í¤¬Â礭¤¤¤Ç¤¹¤¬¡¢
-Internet Systems Consortium ¤Î DHCP ¥µ¡¼¥Ð¤¬»È¤¦¤â¤Î¤ÈƱ¤¸
-¥Í¥Ã¥È¥ï¡¼¥­¥ó¥°¥Õ¥ì¡¼¥à¥ï¡¼¥¯¤òÍѤ¤¤ë¤è¤¦¤Ë¡¢Ted Lemon ¤¬
-ÂçÉý¤ÊºÆÊÔÀ®¤äÉôʬŪ¤Ê½ñ¤­´¹¤¨¤ò¹Ô¤¤¤Þ¤·¤¿¡£
-¥·¥¹¥Æ¥àÆÃÍ­¤ÎÀßÄꥳ¡¼¥É¤ÎÂçÉôʬ¤Ï¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤Ë°Ü¤µ¤ì¤¿¤Î¤Ç¡¢
-¤è¤ê¿¤¯¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Î¥µ¥Ý¡¼¥È¤¬²Ã¤¨¤é¤ì¤ë¤Ë¤Ä¤ì¡¢
-¥·¥¹¥Æ¥àÆÃÍ­¤ÎÀßÄꥳ¡¼¥É¤ò¤½¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ë
-°Ü¿¢¤·¤¿¤ê´ÉÍý¤·¤¿¤ê¤¹¤ëɬÍפϤʤ¯¤Ê¤ë¤Ç¤·¤ç¤¦¡£
-Âå¤ï¤ê¤Ë¡¢¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤¬´Ä¶­¤Ë¹ç¤Ã¤¿¥Ä¡¼¥ë¤ò¸Æ¤Ó½Ð¤·¤Æ
-¤½¤ÎÌÜŪ¤ò²Ì¤¿¤·¤Æ¤¯¤ì¤Þ¤¹¡£
+���ߤΥС������ϡ�Elliot �ˤ�� Linux �Ǥβ��ɤ��餦�Ȥ������礭���Ǥ�����
+Internet Systems Consortium �� DHCP �����Ф��Ȥ���Τ�Ʊ��
+�ͥåȥ���󥰥ե졼�������Ѥ���褦�ˡ�Ted Lemon ��
+�����ʺ���������ʬŪ�ʽ񤭴�����Ԥ��ޤ�����
+�����ƥ���ͭ�����ꥳ���ɤ�����ʬ�ϥ����륹����ץȤ˰ܤ��줿�Τǡ�
+���¿���Υ��ڥ졼�ƥ��󥰥����ƥ�Υ��ݡ��Ȥ��ä�����ˤĤ졢
+�����ƥ���ͭ�����ꥳ���ɤ򤽤Υ��ڥ졼�ƥ��󥰥����ƥ��
+�ܿ���������������ꤹ��ɬ�פϤʤ��ʤ�Ǥ��礦��
+����ˡ������륹����ץȤ��Ķ��˹�ä��ġ����ƤӽФ���
+������Ū��̤����Ƥ���ޤ���
.PP
diff --git a/doc/ja_JP.eucJP/dhclient.conf.5 b/doc/ja_JP.eucJP/dhclient.conf.5
index a14e1da6..f7ba1991 100644
--- a/doc/ja_JP.eucJP/dhclient.conf.5
+++ b/doc/ja_JP.eucJP/dhclient.conf.5
@@ -1,6 +1,6 @@
.\" $Id: dhclient.conf.5,v 1.4 2009/11/24 02:06:56 sar Exp $
.\"
-.\" Copyright (c) 2004,2009,2016 by Internet Systems Consortium, Inc. ("ISC")
+.\" Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (c) 1996-2003 by Internet Software Consortium
.\"
.\" Permission to use, copy, modify, and distribute this software for any
@@ -16,48 +16,48 @@
.\" OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.\" Internet Systems Consortium, Inc.
-.\" 950 Charter Street
-.\" Redwood City, CA 94063
+.\" PO Box 360
+.\" Newmarket, NH 03857 USA
.\" <info@isc.org>
.\" https://www.isc.org/
.\"
.\" %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]
-.\" WORD: lease discovery request ¥ê¡¼¥¹È¯¸«Í×µá[dhclient.conf.5]
-.\" WORD: offer (¥ê¡¼¥¹Ä󶡤Î)¿½¤·½Ð¡¢Ä󶡿½¤·½Ð[dhclient.conf.5]
+.\" WORD: lease �꡼��(���ɥ쥹����Ϳ)[dhclient.conf.5]
+.\" WORD: lease discovery request �꡼��ȯ���׵�[dhclient.conf.5]
+.\" WORD: offer (�꡼���󶡤�)�����С��󶡿�����[dhclient.conf.5]
.TH dhclient.conf 5
-.SH ̾¾Î
-dhclient.conf - DHCP ¥¯¥é¥¤¥¢¥ó¥ÈÀßÄê¥Õ¥¡¥¤¥ë
-.SH ²òÀâ
-dhclient.conf ¥Õ¥¡¥¤¥ë¤Ë¤Ï
-Internet Systems Consortium ¤Î DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ç¤¢¤ë
+.SH ̾��
+dhclient.conf - DHCP ���饤���������ե�����
+.SH ����
+dhclient.conf �ե�����ˤ�
+Internet Systems Consortium �� DHCP ���饤����ȤǤ���
.IR dhclient
-¤ÎÀßÄê¾ðÊ󤬴ޤޤì¤Þ¤¹¡£
-.PP
-dhclient.conf ¤Ï¼«Í³·Á¼°¤Î ASCII ¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤Ç¤¹¡£
-¤³¤Î¥Õ¥¡¥¤¥ë¤Ï dhclient ¤ËÁȤ߹þ¤Þ¤ì¤¿ºÆµ¢²¼¹ß¥Ñ¡¼¥¶¤Ë²òÀϤµ¤ì¤Þ¤¹¡£
-¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢À°·Á¤ÎÌÜŪ¤Ç¥¿¥Ö¤ä²þ¹Ô¤ò;ʬ¤Ë´Þ¤á¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£
-¥Õ¥¡¥¤¥ëÃæ¤Î¥­¡¼¥ï¡¼¥É¤Ç¤ÏÂçʸ»ú¾®Ê¸»ú¤ò¶èÊ̤·¤Þ¤»¤ó¡£
-(¥¯¥©¡¼¥ÈÆâ¤Ï½ü¤¤¤Æ) ¥Õ¥¡¥¤¥ëÃæ¤Î¤É¤³¤Ç¤â¥³¥á¥ó¥È¤òÃÖ¤¯¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-¥³¥á¥ó¥È¤Ïʸ»ú # ¤Ç»Ï¤Þ¤ê¡¢¹ÔËö¤Ç½ª¤ï¤ê¤Þ¤¹¡£
-.PP
-dhclient.conf ¥Õ¥¡¥¤¥ë¤Ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤Î¤µ¤Þ¤¶¤Þ¤ÊÆ°ºî¤òÀßÄê¤Ç¤­¤Þ¤¹¡£
-¤½¤ì¤é¤Ë¤Ï¡¢¥×¥í¥È¥³¥ë¤Î¥¿¥¤¥ß¥ó¥°¡¢¥µ¡¼¥Ð¤ËÂФ·¤ÆÍ׵᤹¤ë¾ðÊó¡¢
-¥µ¡¼¥Ð¤ËÂФ·¤Æɬ¿Ü¤È¤µ¤ì¤ë¾ðÊó¡¢
-¥µ¡¼¥Ð¤¬¾ðÊó¤òÄ󶡤·¤Ê¤«¤Ã¤¿¾ì¹ç¤ËÍѤ¤¤ë¥Ç¥Õ¥©¥ë¥È¡¢
-¥µ¡¼¥Ð¤«¤éÄ󶡤µ¤ì¤¿¾ðÊó¤ò¾å½ñ¤­¤¹¤ëÃÍ¡¢
-¥µ¡¼¥Ð¤«¤éÄ󶡤µ¤ì¤¿¾ðÊó¤ËÁ°ÃÖ¤ä¸åÃÖ¤¹¤ëÃͤʤɤ¬¤¢¤ê¤Þ¤¹¡£
-¤Þ¤¿¡¢DHCP ¥µ¡¼¥Ð¤ò»ý¤¿¤Ê¤¤¥Í¥Ã¥È¥ï¡¼¥¯¤Ç»È¤¦¥¢¥É¥ì¥¹¤Ç¤¢¤Ã¤Æ¤â¡¢
-¤¢¤é¤«¤¸¤áÀßÄê¥Õ¥¡¥¤¥ë¤Ç½é´ü²½¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£
-.SH ¥×¥í¥È¥³¥ë¤Î¥¿¥¤¥ß¥ó¥°
-¥¯¥é¥¤¥¢¥ó¥È¤Î¥¿¥¤¥ß¥ó¥°Æ°ºî¤Ï¡¢¥æ¡¼¥¶¤¬ÀßÄꤹ¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£
-¥æ¡¼¥¶¤¬¥¿¥¤¥ß¥ó¥°ÀßÄê¤ò¹Ô¤ï¤Ê¤±¤ì¤Ð¡¢
-¥µ¡¼¥Ð¤Ë̵Ãá½ø¤ËÉé²Ù¤òÍ¿¤¨¤¿¤ê¤»¤ºÅ¬»þ¹¹¿·¤ò¹Ô¤¦¤è¤¦¤Ê¡¢
-½¼Ê¬¤ËŬÀڤʥ¿¥¤¥ß¥ó¥°Æ°ºî¤¬¥Ç¥Õ¥©¥ë¥È¤ÇÍѤ¤¤é¤ì¤Þ¤¹¡£
-.PP
-¤·¤«¤·¡¢É¬Íפ˱þ¤¸¤Æ¡¢
-¼¡¤Îʸ¤ò»ØÄꤷ¤Æ DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Î¥¿¥¤¥ß¥ó¥°Æ°ºî¤òÄ´Àá¤Ç¤­¤Þ¤¹:
+��������󤬴ޤޤ�ޤ���
+.PP
+dhclient.conf �ϼ�ͳ������ ASCII �ƥ����ȥե�����Ǥ���
+���Υե������ dhclient ���Ȥ߹��ޤ줿�Ƶ����ߥѡ����˲��Ϥ���ޤ���
+�ե�����ˤϡ���������Ū�ǥ��֤���Ԥ�;ʬ�˴ޤ�뤳�Ȥ�Ǥ��ޤ���
+�ե�������Υ�����ɤǤ���ʸ����ʸ������̤��ޤ���
+(����������Ͻ�����) �ե�������Τɤ��Ǥ⥳���Ȥ��֤����Ȥ��Ǥ��ޤ���
+�����Ȥ�ʸ�� # �ǻϤޤꡢ�����ǽ����ޤ���
+.PP
+dhclient.conf �ե�����ǡ����饤����ȤΤ��ޤ��ޤ�ư�������Ǥ��ޤ���
+�����ˤϡ��ץ��ȥ���Υ����ߥ󥰡������Ф��Ф����׵᤹�����
+�����Ф��Ф���ɬ�ܤȤ�������
+�����Ф�������󶡤��ʤ��ä������Ѥ���ǥե���ȡ�
+�����Ф����󶡤��줿������񤭤����͡�
+�����Ф����󶡤��줿��������֤���֤����ͤʤɤ�����ޤ���
+�ޤ���DHCP �����Ф�����ʤ��ͥåȥ���ǻȤ����ɥ쥹�Ǥ��äƤ⡢
+���餫��������ե�����ǽ�������뤳�Ȥ�Ǥ��ޤ���
+.SH �ץ��ȥ���Υ����ߥ�
+���饤����ȤΥ����ߥ�ư��ϡ��桼�������ꤹ��ɬ�פϤ���ޤ���
+�桼���������ߥ������Ԥ�ʤ���С�
+�����Ф�̵�������٤�Ϳ�����ꤻ��Ŭ��������Ԥ��褦�ʡ�
+��ʬ��Ŭ�ڤʥ����ߥ�ư��ǥե���Ȥ��Ѥ����ޤ���
+.PP
+��������ɬ�פ˱����ơ�
+����ʸ����ꤷ�� DHCP ���饤����ȤΥ����ߥ�ư���Ĵ��Ǥ��ޤ�:
.PP
.B timeout
.I ʸ
@@ -67,18 +67,18 @@ dhclient.conf ¥Õ¥¡¥¤¥ë¤Ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤Î¤µ¤Þ¤¶¤Þ¤ÊÆ°ºî¤òÀßÄê¤Ç¤­¤Þ¤¹¡£
.B ;
.PP
.I timeout
-ʸ¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥¢¥É¥ì¥¹¤ò·è¤á¤ë»î¤ß¤ò³«»Ï¤·¤Æ¤«¤é¡¢
-¥µ¡¼¥Ð¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤³¤È¤¬
-¤Ç¤­¤Ê¤¤¤ÈȽÃǤ¹¤ë¤Þ¤Ç¤Ë·Ð²á¤¹¤Ù¤­»þ´Ö¤ò·è¤á¤Þ¤¹¡£
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¤³¤Î¥¿¥¤¥à¥¢¥¦¥ÈÃÍ¤Ï 60 ÉäǤ¹¡£
-¤³¤Î¥¿¥¤¥à¥¢¥¦¥ÈÃͤ¬²á¤®¤¿¸å¤Ï¡¢
-¤â¤·ÀÅŪ¤Ê¥ê¡¼¥¹¤¬ÀßÄê¥Õ¥¡¥¤¥ë¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤«¡¢
-¥ê¡¼¥¹¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¤Þ¤À´ü¸ÂÀÚ¤ì¤Ë¤Ê¤Ã¤Æ¤¤¤Ê¤¤¥ê¡¼¥¹¤¬»Ä¤Ã¤Æ¤¤¤ì¤Ð¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤Ï¤½¤ì¤é¤Î¥ê¡¼¥¹¤ò¤Ò¤È¤Ä¤º¤Ä¸¡¾Ú¤·¤Æ¤ß¤Æ¡¢
-¤¤¤º¤ì¤«¤¬Í­¸ú¤Ê¤è¤¦¤Ç¤¢¤ì¤Ð¤½¤Î¥ê¡¼¥¹¤Î¥¢¥É¥ì¥¹¤ò»È¤¤¤Þ¤¹¡£
-¤â¤·ÀÅŪ¤Ê¥ê¡¼¥¹¤â¡¢¥ê¡¼¥¹¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤Î´ü¸Â¤ÎÀÚ¤ì¤Æ¤¤¤Ê¤¤¥ê¡¼¥¹¤Ç
-Í­¸ú¤Ê¤â¤Î¤â¸ºß¤·¤Ê¤±¤ì¤Ð¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤ÏÄêµÁ¤µ¤ì¤¿ retry ´Ö³Ö¤Î¸å¤Ç¥×¥í¥È¥³¥ë¤òºÆ³«¤µ¤»¤Þ¤¹¡£
+ʸ�ϡ����饤����Ȥ����ɥ쥹������ߤ򳫻Ϥ��Ƥ��顢
+�����Ф˥����������뤳�Ȥ�
+�Ǥ��ʤ���Ƚ�Ǥ���ޤǤ˷в᤹�٤����֤���ޤ���
+�ǥե���ȤǤϤ��Υ����ॢ�����ͤ� 60 �äǤ���
+���Υ����ॢ�����ͤ��᤮����ϡ�
+�⤷��Ū�ʥ꡼��������ե�������������Ƥ��뤫��
+�꡼���ǡ����١����ˤޤ������ڤ�ˤʤäƤ��ʤ��꡼�����ĤäƤ���С�
+���饤����ȤϤ����Υ꡼����ҤȤĤ��ĸ��ڤ��Ƥߤơ�
+�����줫��ͭ���ʤ褦�Ǥ���Ф��Υ꡼���Υ��ɥ쥹��Ȥ��ޤ���
+�⤷��Ū�ʥ꡼���⡢�꡼���ǡ����١�����δ��¤��ڤ�Ƥ��ʤ��꡼����
+ͭ���ʤ�Τ�¸�ߤ��ʤ���С�
+���饤����Ȥ�������줿 retry �ֳ֤θ�ǥץ��ȥ����Ƴ������ޤ���
.PP
.B retry
.I ʸ
@@ -86,63 +86,63 @@ dhclient.conf ¥Õ¥¡¥¤¥ë¤Ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤Î¤µ¤Þ¤¶¤Þ¤ÊÆ°ºî¤òÀßÄê¤Ç¤­¤Þ¤¹¡£
\fBretry \fItime\fR\fB;\fR
.PP
.I retry
-ʸ¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ DHCP ¥µ¡¼¥Ð¤¬Â¸ºß¤·¤Ê¤¤¤ÈȽÃǤ·¤Æ¤«¤é
-ºÆ¤Ó DHCP ¥µ¡¼¥Ð¤Ë¥¢¥¯¥»¥¹¤ò»î¤ß¤ë¤Þ¤Ç¤Î´Ö¤Ë¡¢·Ð²á¤¹¤ë¤Ù¤­»þ´Ö¤ò·è¤á¤Þ¤¹¡£
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤ì¤Ï 5 ʬ¤Ç¤¹¡£
+ʸ�ϡ����饤����Ȥ� DHCP �����Ф�¸�ߤ��ʤ���Ƚ�Ǥ��Ƥ���
+�Ƥ� DHCP �����Ф˥����������ߤ�ޤǤδ֤ˡ��в᤹��٤����֤���ޤ���
+�ǥե���ȤǤϡ������ 5 ʬ�Ǥ���
.PP
.B select-timeout
.I ʸ
.PP
\fBselect-timeout \fItime\fR\fB;\fR
.PP
-¤¢¤ë¥Í¥Ã¥È¥ï¡¼¥¯¾å¤Ç¡¢Ê£¿ô¤Î DHCP ¥µ¡¼¥Ð¤¬¥µ¡¼¥Ó¥¹¤òÄ󶡤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹
-(¤½¤ÎÊý¤¬Ë¾¤Þ¤·¤¤¤È¤¤¤¦°Õ¸«¤â¤¢¤ê¤Þ¤¹)¡£
-¤½¤Î¾ì¹ç¡¢ºÇ½é¤Î¥ê¡¼¥¹È¯¸«¥á¥Ã¥»¡¼¥¸ (lease discovery message)
-¤Ø¤Î±þÅú¤È¤·¤Æ¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤¬Ê£¿ô¤Î¥ê¡¼¥¹Ä󶡤、·½Ð¤ò¼õ¤±¤ë¤³¤È¤â¤¢¤êÆÀ¤Þ¤¹¡£
-¤½¤ì¤é¤Î¤¦¤Á¡¢¤¢¤ëÄ󶡤¬Â¾¤ÎÄ󶡤è¤ê¤â¹¥¤Þ¤·¤¤¤«¤â¤·¤ì¤Þ¤»¤ó
-(Î㤨¤Ð¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬°ÊÁ°»ÈÍѤ·¤Æ¤¤¤¿¥¢¥É¥ì¥¹¤¬¤¢¤ëÄ󶡤˴ޤޤì¤Æ¤¤¤ë¤¬¡¢
-¾¤ÎÄ󶡤ˤϴޤޤì¤Ê¤¤¤Ê¤É)¡£
+����ͥåȥ����ǡ�ʣ���� DHCP �����Ф������ӥ����󶡤��뤳�Ȥ�Ǥ��ޤ�
+(��������˾�ޤ����Ȥ����ո��⤢��ޤ�)��
+���ξ�硢�ǽ�Υ꡼��ȯ����å����� (lease discovery message)
+�ؤα����Ȥ��ơ�
+���饤����Ȥ�ʣ���Υ꡼���󶡤ο����Ф�����뤳�Ȥ⤢�����ޤ���
+�����Τ����������󶡤�¾���󶡤��⹥�ޤ������⤷��ޤ���
+(�㤨�С����饤����Ȥ��������Ѥ��Ƥ������ɥ쥹�������󶡤˴ޤޤ�Ƥ��뤬��
+¾���󶡤ˤϴޤޤ�ʤ��ʤ�)��
.PP
.I select-timeout
-¤Ï¥¯¥é¥¤¥¢¥ó¥È¤¬ºÇ½é¤Î¥ê¡¼¥¹È¯¸«Í×µá
-¤òÁ÷¿®¤·¤Æ¡¢
-¾¯¤Ê¤¯¤È¤â 1 ¤Ä¤ÎÄ󶡿½¤·½Ð¤ò¼õ¤±¤¿¾ì¹ç¡¢
-¥µ¡¼¥Ð¤«¤é¤ÎÄ󶡿½¤·½ÐÂÔ¤Á¤ò¤ä¤á¤ë¤Þ¤Ç¤Î»þ´Ö¤Ç¤¹¡£
-¤â¤·
+�ϥ��饤����Ȥ��ǽ�Υ꡼��ȯ���׵�
+���������ơ�
+���ʤ��Ȥ� 1 �Ĥ��󶡿����Ф��������硢
+�����Ф�����󶡿������Ԥ������ޤǤλ��֤Ǥ���
+�⤷
.I select-timeout
-¤¬ÀÚ¤ì¤ë¤Þ¤Ç¤Ë¤É¤³¤«¤é¤âÄ󶡿½¤·½Ð¤ò¼õ¤±¼è¤ì¤Ê¤±¤ì¤Ð¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤Ï¤½¤Î¤¢¤ÈºÇ½é¤ËÅþÃ夹¤ëÄ󶡿½¤·½Ð¤ò¼õ¤±Æþ¤ì¤Þ¤¹¡£
+���ڤ��ޤǤˤɤ�������󶡿����Ф�������ʤ���С�
+���饤����ȤϤ��Τ��Ⱥǽ�����夹���󶡿����Ф��������ޤ���
.PP
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢select-timeout ÃÍ¤Ï 0 ÉäǤ¹¡£
-¤Ä¤Þ¤ê¥¯¥é¥¤¥¢¥ó¥È¤ÏºÇ½é¤Ë¼õ¤±¼è¤ëÄ󶡿½¤·½Ð¤ò¼õ¤±Æþ¤ì¤Þ¤¹¡£
+�ǥե���ȤǤϡ�select-timeout �ͤ� 0 �äǤ���
+�Ĥޤꥯ�饤����ȤϺǽ�˼�������󶡿����Ф��������ޤ���
.PP
.B reboot
.I ʸ
.PP
\fBreboot \fItime\fR\fB;\fR
.PP
-¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢ºÆµ¯Æ°¤¹¤ë¤È¡¢
-ºÇ¸å¤ËÊÝ»ý¤·¤Æ¤¤¤¿¥¢¥É¥ì¥¹¤ò¤Þ¤º¼èÆÀ¤·Ä¾¤½¤¦¤È¤·¤Þ¤¹¡£
-¤³¤ì¤ò INIT-REBOOT (½é´ü¥ê¥Ö¡¼¥È) ¾õÂ֤ȸƤӤޤ¹¡£
-ºÇ¸å¤ËÆ°ºî¤·¤Æ¤¤¤¿¤È¤­¤ÈƱ¤¸¥Í¥Ã¥È¥ï¡¼¥¯¤Ë
-¥¯¥é¥¤¥¢¥ó¥È¤¬¤Þ¤ÀÀܳ¤·¤Æ¤¤¤ì¤Ð¡¢¤³¤ì¤¬ºÇ¤âÁÇÁᤤµ¯Æ°Ë¡¤È¤Ê¤ê¤Þ¤¹¡£
+���饤����Ȥϡ��Ƶ�ư����ȡ�
+�Ǹ���ݻ����Ƥ������ɥ쥹��ޤ�������ľ�����Ȥ��ޤ���
+����� INIT-REBOOT (�����֡���) ���֤ȸƤӤޤ���
+�Ǹ��ư��Ƥ����Ȥ���Ʊ���ͥåȥ����
+���饤����Ȥ��ޤ���³���Ƥ���С����줬�Ǥ����ᤤ��ưˡ�Ȥʤ�ޤ���
.I reboot
-ʸ¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ºÇ½é¤Ë¸Å¤¤¥¢¥É¥ì¥¹¤ÎºÆ¼èÆÀ¤ò»î¤ß¤Æ¤«¤é¡¢
-¤¢¤­¤é¤á¤Æ¿·¤·¤¤¥¢¥É¥ì¥¹¤òȯ¸«¤·¤è¤¦¤È¤¹¤ë¤Þ¤Ç¤Ë¡¢
-·Ð²á¤¹¤Ù¤­»þ´Ö¤òÀßÄꤷ¤Þ¤¹¡£
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢reboot ¥¿¥¤¥à¥¢¥¦¥ÈÃÍ¤Ï 10 ÉäǤ¹¡£
+ʸ�ϡ����饤����Ȥ��ǽ�˸Ť����ɥ쥹�κƼ������ߤƤ��顢
+�������ƿ��������ɥ쥹��ȯ�����褦�Ȥ���ޤǤˡ�
+�в᤹�٤����֤����ꤷ�ޤ���
+�ǥե���ȤǤϡ�reboot �����ॢ�����ͤ� 10 �äǤ���
.PP
.B backoff-cutoff
.I ʸ
.PP
\fBbackoff-cutoff \fItime\fR\fB;\fR
.PP
-¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢»Ø¿ôŪ¤Ê°ì»þÂàÈò (backoff) ¥¢¥ë¥´¥ê¥º¥à¤ò¡¢¤¢¤ëÄøÅÙ¤Î
-Íð¿ôÉÕ¤­¤Ç»ÈÍѤ·¤Þ¤¹¡£¤³¤ì¤Ï¡¢Â¿¤¯¤Î¥¯¥é¥¤¥¢¥ó¥È¤¬Æ±»þ¤Ë¼«Ê¬¤òÀßÄꤷ¤è¤¦
-¤È¤·¤¿¤È¤­¤Ç¤â¡¢¥ê¥¯¥¨¥¹¥È¤¬¥í¥Ã¥¯¤·¤Æ¤·¤Þ¤¦¤³¤È¤¬¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ç¤¹¡£
+���饤����Ȥϡ��ؿ�Ū�ʰ������ (backoff) ���르�ꥺ��򡢤������٤�
+����դ��ǻ��Ѥ��ޤ�������ϡ�¿���Υ��饤����Ȥ�Ʊ���˼�ʬ�����ꤷ�褦
+�Ȥ����Ȥ��Ǥ⡢�ꥯ�����Ȥ����å����Ƥ��ޤ����Ȥ��ʤ��褦�ˤ��뤿��Ǥ���
.I backoff-cutoff
-ʸ¤Ï¡¢°ì»þÂàÈò¤Ëµö¤µ¤ì¤¿ºÇÂç»þ´Ö¤ò·èÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï 2 ʬ¤Ç¤¹¡£
+ʸ�ϡ��������˵����줿������֤���ꤷ�ޤ����ǥե�����ͤ� 2 ʬ�Ǥ���
.PP
.B initial-interval
.I ʸ
@@ -150,43 +150,43 @@ dhclient.conf ¥Õ¥¡¥¤¥ë¤Ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤Î¤µ¤Þ¤¶¤Þ¤ÊÆ°ºî¤òÀßÄê¤Ç¤­¤Þ¤¹¡£
\fBinitial-interval \fItime\fR\fB;\fR
.PP
.I initial-interval
-ʸ¤Ï¡¢¥µ¡¼¥Ð¤Ø¤ÎºÇ½é¤Î¥¢¥¯¥»¥¹¤Î»î¤ß¤«¤é¼¡¤Î»î¤ß¤Þ¤Ç¤Î´Ö¤Î»þ´Ö¤ò
-ÀßÄꤷ¤Þ¤¹¡£¥á¥Ã¥»¡¼¥¸¤Î´Ö³Ö¤Ï¡¢¥á¥Ã¥»¡¼¥¸¤ò 1 ²óÁ÷¿®¤¹¤ë¤¿¤Ó¤Ë¡¢
-¸½ºß¤Î´Ö³Ö¤Ë 0 ¤«¤é 1 ¤Î´Ö¤ÎÍð¿ôÃͤò¾è¤¸¤¿¤â¤Î¤Î 2 Çܤò¡¢¸½ºß¤Î´Ö³Ö¤Ë
-²Ã¤¨¤¿¤â¤Î¤Ë¤Ê¤ê¤Þ¤¹¡£
-¤³¤ÎÃͤ¬ backoff-cutoff Ãͤè¤êÂ礭¤¯¤Ê¤ë¤È¡¢¤³¤Î»þ´Ö¤¬ÀßÄꤵ¤ì¤Þ¤¹¡£
-¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï 10 ÉäǤ¹¡£
-.SH ¥ê¡¼¥¹Í×µá¤È¥ê¥¯¥¨¥¹¥È
-DHCP ¥×¥í¥È¥³¥ë¤Ç¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤«¤é¥µ¡¼¥Ð¤ËÂФ·¡¢ÆÃÄê¤Î¾ðÊó¤òÁ÷¤ë¤è¤¦
-Í׵ᤷ¤¿¤ê¡¢¼õ¤±Æþ¤ì½àÈ÷¤Î¤Ç¤­¤Æ¤¤¤Ê¤¤Â¾¤Î¾ðÊó¤ÏÁ÷¤é¤Ê¤¤¤è¤¦¤ËÍ׵ᤷ¤¿¤ê
-¤Ç¤­¤Þ¤¹¡£
-¤Þ¤¿¡¢¥µ¡¼¥Ð¤«¤é¤ÎÄ󶡿½¤·½Ð¤Ë¥¯¥é¥¤¥¢¥ó¥È¤ÎɬÍפȤ¹¤ë¾ðÊ󤬴ޤޤì¤Ê¤¤
-¾ì¹ç¤ä¡¢Ä󶡤µ¤ì¤¿¾ðÊ󤬽¼Ê¬¤Ç¤Ê¤¤¾ì¹ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬Ä󶡿½¤·½Ð¤ò
-µñÈݤ¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£
-.PP
-DHCP ¥µ¡¼¥Ð¤¬ DHCP ¥¯¥é¥¤¥¢¥ó¥È¤ËÁ÷¤ëÄ󶡿½¤·½Ð¤Ë´Þ¤Þ¤ì¤ë¥Ç¡¼¥¿¤Ë¤Ï¡¢
-¤µ¤Þ¤¶¤Þ¤Ê¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£
-ÆäËÍ×µá¤Ç¤­¤ë¥Ç¡¼¥¿¤Ï \fIDHCP ¥ª¥×¥·¥ç¥ó\fR ¤È¸Æ¤Ð¤ì¤ë¤â¤Î¤Ç¤¹¡£
-DHCP ¥ª¥×¥·¥ç¥ó¤Ï
+ʸ�ϡ������Фؤκǽ�Υ��������λ�ߤ��鼡�λ�ߤޤǤδ֤λ��֤�
+���ꤷ�ޤ�����å������δֳ֤ϡ���å������� 1 ���������뤿�Ӥˡ�
+���ߤδֳ֤� 0 ���� 1 �δ֤�����ͤ�褸����Τ� 2 �ܤ򡢸��ߤδֳ֤�
+�ä�����Τˤʤ�ޤ���
+�����ͤ� backoff-cutoff �ͤ���礭���ʤ�ȡ����λ��֤����ꤵ��ޤ���
+�ǥե�����ͤ� 10 �äǤ���
+.SH �꡼���׵�ȥꥯ������
+DHCP �ץ��ȥ���Ǥϡ����饤����Ȥ��饵���Ф��Ф�������ξ��������褦
+�׵ᤷ���ꡢ������������ΤǤ��Ƥ��ʤ�¾�ξ��������ʤ��褦���׵ᤷ����
+�Ǥ��ޤ���
+�ޤ��������Ф�����󶡿����Ф˥��饤����Ȥ�ɬ�פȤ�����󤬴ޤޤ�ʤ�
+���䡢�󶡤��줿���󤬽�ʬ�Ǥʤ���硢���饤����Ȥ��󶡿����Ф�
+���ݤ��뤳�Ȥ�Ǥ��ޤ���
+.PP
+DHCP �����Ф� DHCP ���饤����Ȥ������󶡿����Ф˴ޤޤ��ǡ����ˤϡ�
+���ޤ��ޤʤ�Τ�����ޤ���
+�ä��׵�Ǥ���ǡ����� \fIDHCP ���ץ����\fR �ȸƤФ���ΤǤ���
+DHCP ���ץ�����
\fBdhcp-options(5)\fR
-¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
+���������Ƥ��ޤ���
.PP
.B request
.I ʸ
.PP
\fBrequest [ \fIoption\fR ] [\fB,\fI ... \fIoption\fR ]\fB;\fR
.PP
-request ʸ¤ò»ØÄꤹ¤ë¤³¤È¤Ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢¥µ¡¼¥Ð¤ËÂФ·¡¢¤½¤Î
-¥¯¥é¥¤¥¢¥ó¥È¤Ë±þÅú¤¹¤ë¤Ê¤é¤Ð¡¢»ØÄꤷ¤¿¥ª¥×¥·¥ç¥ó¤ÎÃͤòÁ÷¤ë¤è¤¦
-Í׵᤹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
-request ʸ¤Ë¤Ï¥ª¥×¥·¥ç¥ó̾¤À¤±¤ò»ØÄꤷ¡¢¥ª¥×¥·¥ç¥ó¥Ñ¥é¥á¡¼¥¿¤Ï»ØÄꤷ¤Þ¤»¤ó¡£
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï
+request ʸ����ꤹ�뤳�Ȥǡ����饤����Ȥϡ������Ф��Ф�������
+���饤����Ȥ˱�������ʤ�С����ꤷ�����ץ������ͤ�����褦
+�׵᤹��褦�ˤʤ�ޤ���
+request ʸ�ˤϥ��ץ����̾��������ꤷ�����ץ����ѥ�᡼���ϻ��ꤷ�ޤ���
+�ǥե���ȤǤ� DHCP ���饤����Ȥ�
subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, host-name
-¥ª¥×¥·¥ç¥ó¤òÍ׵ᤷ¤Þ¤¹¡£
+���ץ������׵ᤷ�ޤ���
.PP
-¾ì¹ç¤Ë¤è¤Ã¤Æ¤ÏÍ×µá¥ê¥¹¥È¤òÁ´¤¯Á÷¤é¤Ê¤¤¤³¤È¤¬Ë¾¤Þ¤·¤¤¤³¤È¤â¤¢¤ê¤Þ¤¹¡£
-¤½¤¦¤¹¤ë¤¿¤á¤Ë¤Ï¡¢Ã±½ã¤Ë¥Ñ¥é¥á¡¼¥¿¤ò»ØÄꤷ¤Ê¤¤ request ʸ¤ò½ñ¤¤¤Æ²¼¤µ¤¤:
+���ˤ�äƤ��׵�ꥹ�Ȥ���������ʤ����Ȥ�˾�ޤ������Ȥ⤢��ޤ���
+�������뤿��ˤϡ�ñ��˥ѥ�᡼������ꤷ�ʤ� request ʸ��񤤤Ʋ�����:
.PP
.nf
request;
@@ -197,9 +197,9 @@ domain-name, domain-name-servers, host-name
.PP
\fBrequire [ \fIoption\fR ] [\fB,\fI ... \fIoption ]\fB;\fR
.PP
-require ʸ¤Ë¤Ï¡¢¤¢¤ëÄ󶡿½¤·½Ð¤ò¥¯¥é¥¤¥¢¥ó¥È¤¬¼õ¤±Æþ¤ì¤ë¤¿¤á¤Ë
-¥µ¡¼¥Ð¤¬Á÷¤ë¤Ù¤­¥ª¥×¥·¥ç¥ó¤òÎóµó¤·¤Þ¤¹¡£
-Îóµó¤µ¤ì¤¿¥ª¥×¥·¥ç¥ó¤¹¤Ù¤Æ¤ò´Þ¤Þ¤Ê¤¤Ä󶡿½¤·½Ð¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£
+require ʸ�ˤϡ������󶡿����Ф򥯥饤����Ȥ���������뤿���
+�����Ф�����٤����ץ�������󤷤ޤ���
+��󤵤줿���ץ���󤹤٤Ƥ�ޤޤʤ��󶡿����Ф�̵�뤵��ޤ���
.PP
.B send
.I ʸ
@@ -207,27 +207,27 @@ require ʸ¤Ë¤Ï¡¢¤¢¤ëÄ󶡿½¤·½Ð¤ò¥¯¥é¥¤¥¢¥ó¥È¤¬¼õ¤±Æþ¤ì¤ë¤¿¤á¤Ë
\fBsend { [ \fIoption declaration\fR ]
[\fB,\fI ... \fIoption declaration\fR ]\fB}\fR
.PP
-send ʸ¤ò»ØÄꤹ¤ë¤³¤È¤Ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢
-»ØÄꤷ¤¿¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿Ãͤǥµ¡¼¥Ð¤ËÁ÷¿®¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
-¤³¤³¤Ç»ØÄê¤Ç¤­¤ë¥ª¥×¥·¥ç¥ó¤Ï¡¢
-\fBdhcp-options(5)\fR ¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥óÀë¸À¤¹¤Ù¤Æ¤Ç¤¹¡£
-DHCP ¥×¥í¥È¥³¥ë¤Ç¾ï¤ËÁ÷¤é¤ì¤ë¥ª¥×¥·¥ç¥ó¤Ï
-¤³¤³¤Ë»ØÄꤹ¤ë¤Ù¤­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£Ã¢¤·¡¢
-\fBrequested-lease-time\fR ¥ª¥×¥·¥ç¥ó¤ò¥Ç¥Õ¥©¥ë¥È¤Î¥ê¡¼¥¹»þ´Ö (2 »þ´Ö)
-°Ê³°¤ÎÃͤǻØÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤¹¡£¤³¤Îʸ¤ò»È¤¦Â¾¤Î¾ì¹ç¤È¤·¤ÆÌÀ¤é¤«¤Ê
-¤â¤Î¤Ï¡¢¼«Ê¬¤ÈÊ̤μïÎà¤Î¥¯¥é¥¤¥¢¥ó¥È¤È¤ò¶èÊ̤Ǥ­¤ë¤è¤¦¤Ê
-¾ðÊó¤ò¡¢¥µ¡¼¥Ð¤ËÂФ·Á÷¿®¤¹¤ë¾ì¹ç¤Ç¤¹¡£
+send ʸ����ꤹ�뤳�Ȥǡ����饤����Ȥϡ�
+���ꤷ�����ץ�������ꤷ���ͤǥ����Ф���������褦�ˤʤ�ޤ���
+�����ǻ���Ǥ��륪�ץ����ϡ�
+\fBdhcp-options(5)\fR ����������Ƥ��륪�ץ����������٤ƤǤ���
+DHCP �ץ��ȥ���Ǿ�������륪�ץ�����
+�����˻��ꤹ��٤��ǤϤ���ޤ���â����
+\fBrequested-lease-time\fR ���ץ�����ǥե���ȤΥ꡼������ (2 ����)
+�ʳ����ͤǻ��ꤹ�뤳�ȤϤǤ��ޤ�������ʸ��Ȥ�¾�ξ��Ȥ������餫��
+��Τϡ���ʬ���̤μ���Υ��饤����ȤȤ���̤Ǥ���褦��
+����򡢥����Ф��Ф�����������Ǥ���
.SH ưŪ DNS
-¸½ºß¡¢¥ê¡¼¥¹¤¬³ÍÆÀ¤µ¤ì¤¿ºÝ¤Ë DNS ¤Î¹¹¿·¤ò¹Ô¤¦¤¿¤á¤Î¡¢
-Èó¾ï¤Ë¸ÂÄêŪ¤Ê¥µ¥Ý¡¼¥È¤¬¥¯¥é¥¤¥¢¥ó¥È¤Ë¤¢¤ê¤Þ¤¹¡£
-¤³¤ì¤Ï¥×¥í¥È¥¿¥¤¥×Ū¤Ê¤â¤Î¤Ç¤¢¤ê¡¢
-¤ª¤½¤é¤¯¤¢¤Ê¤¿¤¬»×¤Ã¤Æ¤¤¤ë¤è¤¦¤Ë¤ÏÆ°¤­¤Þ¤»¤ó¡£
-¤â¤·¡¢¤¢¤Ê¤¿¤¬¶öÁ³¤Ë¤â¼«Ê¬¤Î¤È¤³¤í¤Î DNS ¥µ¡¼¥Ð¤Î´ÉÍý¼Ô¤Ç¤¢¤ë¤È¤¤¤¦¤Ê¤é¡¢
-¤½¤Î¾ì¹ç¤Ë¸Â¤Ã¤Æ¤ÏÆ°¤­¤Þ¤¹¡£¤È¤Æ¤â¤¢¤ê¤½¤¦¤Ë¤Ê¤¤¤³¤È¤Ç¤¹¤¬¡£
+���ߡ��꡼�����������줿�ݤ� DNS �ι�����Ԥ�����Ρ�
+���˸���Ū�ʥ��ݡ��Ȥ����饤����Ȥˤ���ޤ���
+����ϥץ��ȥ�����Ū�ʤ�ΤǤ��ꡢ
+�����餯���ʤ����פäƤ���褦�ˤ�ư���ޤ���
+�⤷�����ʤ��������ˤ⼫ʬ�ΤȤ����� DNS �����Фδ����ԤǤ���Ȥ����ʤ顢
+���ξ��˸¤äƤ�ư���ޤ����ȤƤ⤢�ꤽ���ˤʤ����ȤǤ�����
.PP
-¤³¤ì¤òÆ°ºî¤µ¤»¤ë¤¿¤á¤Ë¤Ï¡¢DHCP ¥µ¡¼¥Ð¤ÎÃæ¤Ç
-¸°¤È¥¾¡¼¥ó¤òÀë¸À¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹ (¾ÜºÙ¤Ï \fBdhcpd.conf\fR(5) ¤ò»²¾È)¡£
-¤Þ¤¿¡¢¼¡¤Î¤è¤¦¤Ë¥¯¥é¥¤¥¢¥ó¥È¤Ç fqdn ¥ª¥×¥·¥ç¥ó¤òÀßÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹:
+�����ư����뤿��ˤϡ�DHCP �����Ф����
+���ȥ�������������ɬ�פ�����ޤ� (�ܺ٤� \fBdhcpd.conf\fR(5) �򻲾�)��
+�ޤ������Τ褦�˥��饤����Ȥ� fqdn ���ץ��������ꤹ��ɬ�פ�����ޤ�:
.PP
.nf
send fqdn.fqdn "grosse.example.com.";
@@ -235,214 +235,214 @@ DHCP ¥×¥í¥È¥³¥ë¤Ç¾ï¤ËÁ÷¤é¤ì¤ë¥ª¥×¥·¥ç¥ó¤Ï
send fqdn.server-update off;
.fi
.PP
-\fIfqdn.fqdn\fR ¥ª¥×¥·¥ç¥ó¤Ï \fBɬ¤º\fR ´°Á´¤Ê¥É¥á¥¤¥ó̾¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-¹¹¿·¤¹¤ë¥¾¡¼¥ó¤ËÂФ¹¤ë¥¾¡¼¥óʸ¤ò \fBɬ¤º\fR ÄêµÁ¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-\fIfqdn.encoded\fR ¥ª¥×¥·¥ç¥ó¤Ï¡¢»ÈÍѤ·¤Æ¤¤¤ë DHCP ¥µ¡¼¥Ð¤Ë¤è¤Ã¤Æ¤Ï¡¢
-\fIon\fR ¤« \fIoff\fR ¤ËÀßÄꤹ¤ëɬÍפ¬¤¢¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£
+\fIfqdn.fqdn\fR ���ץ����� \fBɬ��\fR �����ʥɥᥤ��̾�Ǥʤ���Фʤ�ޤ���
+�������륾������Ф��륾����ʸ�� \fBɬ��\fR ������ʤ���Фʤ�ޤ���
+\fIfqdn.encoded\fR ���ץ����ϡ����Ѥ��Ƥ��� DHCP �����Фˤ�äƤϡ�
+\fIon\fR �� \fIoff\fR �����ꤹ��ɬ�פ����뤫�⤷��ޤ���
.PP
.B no-client-updates
.I ʸ
.PP
\fBno-client-updates [ \fIflag\fR ] \fB;\fR
.PP
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤¬Ä¾ÀÜ DNS ¤Î¹¹¿·¤ò¹Ô¤¦¤è¤ê¤â¡¢
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¥¹¥¯¥ê¥×¥È (\fBdhclient-script(8)\fR »²¾È) ¤ÎÃæ¤Ç
-DNS ¤Î¹¹¿·¤ò¹Ô¤¤¤¿¤¤¾ì¹ç
-(Î㤨¤Ð¡¢DHCP ¥¯¥é¥¤¥¢¥ó¥È¤¬Ä¾ÀÜ¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤
-SIG(0) ǧ¾Ú¤ò»ÈÍѤ·¤¿¤¤¾ì¹ç)
-¤Ë¤Ï¡¢\fBno-client-updates\fR ʸ¤ò»È¤Ã¤Æ¡¢¹¹¿·¤ò¹Ô¤ï¤Ê¤¤¤è¤¦¤Ë
-¥¯¥é¥¤¥¢¥ó¥È¤Ë¶µ¤¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤¬¹¹¿·¤¹¤ë¤³¤È¤ò˾¤Þ¤Ê¤¤¾ì¹ç¤Ï \fIflag\fR ¤ò \fBtrue\fR ¤Ë¤·¡¢
-¹¹¿·¤¹¤ë¤³¤È¤ò˾¤à¾ì¹ç¤Ï \fIflag\fR ¤ò \fBfalse\fR ¤Ë¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï DNS ¤Î¹¹¿·¤ò¹Ô¤¤¤Þ¤¹¡£
-.PP
-.SH ¥ª¥×¥·¥ç¥ó½¤¾þ»Ò
-¤½¤Î¥¯¥é¥¤¥¢¥ó¥È¤Ë¤È¤Ã¤Æ¼ÂºÝ¤Ë¤ÏŬÀڤǤʤ¤
-¥ª¥×¥·¥ç¥ó¥Ç¡¼¥¿¤ò¼õ¤±¼è¤Ã¤¿¤ê¡¢É¬ÍפʾðÊó¤ò¼õ¤±¼è¤é¤Ê¤«¤Ã¤¿¤ê
-¤¹¤ë¾ì¹ç¤Ç¡¢¤«¤Ä¡¢¤½¤ì¤é¤Î¾ðÊó¤ËÍøÍѲÄǽ¤Ê¥Ç¥Õ¥©¥ë¥È¤ÎÃͤ¬
-¥¯¥é¥¤¥¢¥ó¥È¦¤Ë¸ºß¤¹¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£
-¤Þ¤¿¡¢ÍøÍѲÄǽ¤Ç¤Ï¤¢¤ë¤¬¥í¡¼¥«¥ë¤Î¾ðÊó¤ÇÊ䤦ɬÍפΤ¢¤ë¾ðÊó¤ò
-¥¯¥é¥¤¥¢¥ó¥È¤¬¼õ¤±¤È¤ë¾ì¹ç¤â¤¢¤ê¤Þ¤¹¡£
-¤³¤¦¤¤¤¦¾ì¹ç¤ò°·¤¦¤¿¤á¤Ë¡¢
-¤¤¤¯¤Ä¤«¤Î¥ª¥×¥·¥ç¥ó½¤¾þ»Ò¤¬ÍøÍѤǤ­¤Þ¤¹¡£
+DHCP ���饤����Ȥ�ľ�� DNS �ι�����Ԥ����⡢
+DHCP ���饤����ȥ�����ץ� (\fBdhclient-script(8)\fR ����) �����
+DNS �ι�����Ԥ��������
+(�㤨�С�DHCP ���饤����Ȥ�ľ�ܥ��ݡ��Ȥ��Ƥ��ʤ�
+SIG(0) ǧ�ڤ���Ѥ��������)
+�ˤϡ�\fBno-client-updates\fR ʸ��Ȥäơ�������Ԥ�ʤ��褦��
+���饤����Ȥ˶����뤳�Ȥ��Ǥ��ޤ���
+DHCP ���饤����Ȥ��������뤳�Ȥ�˾�ޤʤ����� \fIflag\fR �� \fBtrue\fR �ˤ���
+�������뤳�Ȥ�˾����� \fIflag\fR �� \fBfalse\fR �ˤ��뤳�Ȥˤʤ�ޤ���
+�ǥե���ȤǤ� DHCP ���饤����Ȥ� DNS �ι�����Ԥ��ޤ���
+.PP
+.SH ���ץ���󽤾���
+���Υ��饤����ȤˤȤäƼºݤˤ�Ŭ�ڤǤʤ�
+���ץ����ǡ����������ä��ꡢɬ�פʾ����������ʤ��ä���
+������ǡ����ġ������ξ�������Ѳ�ǽ�ʥǥե���Ȥ��ͤ�
+���饤�����¦��¸�ߤ����礬����ޤ���
+�ޤ������Ѳ�ǽ�ǤϤ��뤬��������ξ�����䤦ɬ�פΤ�������
+���饤����Ȥ������Ȥ���⤢��ޤ���
+�����������򰷤�����ˡ�
+�����Ĥ��Υ��ץ���󽤾��Ҥ����ѤǤ��ޤ���
.PP
.B default
.I ʸ
.PP
\fBdefault [ \fIoption declaration\fR ] \fB;\fR
.PP
-¤¢¤ë¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¡¢
-¥µ¡¼¥Ð¤«¤éÄ󶡤µ¤ì¤ëÃͤò¥¯¥é¥¤¥¢¥ó¥È¤¬»È¤ï¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤¬¡¢
-¤â¤·¥µ¡¼¥Ð¤«¤éÃͤ¬Ä󶡤µ¤ì¤Ê¤±¤ì¤Ð
-²¿¤é¤«¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤò»È¤¦É¬Íפ¬¤¢¤ë¾ì¹ç¡¢
-¤½¤ì¤é¤ÎÃͤò
+���륪�ץ����ˤĤ��ơ�
+�����Ф����󶡤�����ͤ򥯥饤����Ȥ��Ȥ�ʤ���Фʤ�ʤ�����
+�⤷�����Ф����ͤ��󶡤���ʤ����
+���餫�Υǥե�����ͤ�Ȥ�ɬ�פ������硢
+�������ͤ�
.B default
-ʸ¤ÇÄêµÁ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
+ʸ��������뤳�Ȥ��Ǥ��ޤ���
.PP
.B supersede
.I ʸ
.PP
\fBsupersede [ \fIoption declaration\fR ] \fB;\fR
.PP
-¤¢¤ë¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¡¢
-¤É¤Î¤è¤¦¤ÊÃͤ¬¥µ¡¼¥Ð¤«¤éÄ󶡤µ¤ì¤Æ¤â¡¢
-¾ï¤Ë¥í¡¼¥«¥ë¤ÇÀßÄꤵ¤ì¤¿Ãͤò»È¤ï¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¾ì¹ç¡¢
-¤½¤ì¤é¤ÎÃͤò
+���륪�ץ����ˤĤ��ơ�
+�ɤΤ褦���ͤ������Ф����󶡤���Ƥ⡢
+��˥�����������ꤵ�줿�ͤ�Ȥ�ʤ���Фʤ�ʤ���硢
+�������ͤ�
.B supersede
-ʸ¤ÇÄêµÁ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
+ʸ��������뤳�Ȥ��Ǥ��ޤ���
.PP
.B prepend
.I ʸ
.PP
\fBprepend [ \fIoption declaration\fR ] \fB;\fR
.PP
-¤¢¤ë¥ª¥×¥·¥ç¥ó¤Î½¸¹ç¤Ë¤Ä¤¤¤Æ¡¢¤Þ¤º¥æ¡¼¥¶¤¬Ä󶡤¹¤ëÃͤò»È¤¤¡¢
-¤½¤Î¼¡¤Ë¥µ¡¼¥Ð¤«¤éÄ󶡤µ¤ì¤¿Ãͤ¬¤¢¤ì¤Ð¤½¤ì¤ò»È¤¦¾ì¹ç¡¢
-¤½¤ì¤é¤ÎÃͤò
+���륪�ץ����ν���ˤĤ��ơ��ޤ��桼�����󶡤����ͤ�Ȥ���
+���μ��˥����Ф����󶡤��줿�ͤ�����Ф����Ȥ���硢
+�������ͤ�
.B prepend
-ʸ¤ÇÄêµÁ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
+ʸ��������뤳�Ȥ��Ǥ��ޤ���
.B prepend
-ʸ¤ÏÊ£¿ô¤ÎÃͤò¼è¤ë¤³¤È¤Î¤Ç¤­¤ë¥ª¥×¥·¥ç¥ó¤Ë¤Î¤ßÍѤ¤¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-¤³¤ÎÀ©Ìó¤Ï¶¯À©¤µ¤ì¤ë¤â¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢
-¤³¤ì¤ò̵»ë¤·¤¿¾ì¹ç¡¢¤É¤Î¤è¤¦¤ÊµóÆ°¤Ë¤Ê¤ë¤«¤ÏͽÁۤǤ­¤Þ¤»¤ó¡£
+ʸ��ʣ�����ͤ��뤳�ȤΤǤ��륪�ץ����ˤΤ��Ѥ��뤳�Ȥ��Ǥ��ޤ���
+��������϶���������ΤǤϤ���ޤ��󤬡�
+�����̵�뤷����硢�ɤΤ褦�ʵ�ư�ˤʤ뤫��ͽ�ۤǤ��ޤ���
.PP
.B append
.I ʸ
.PP
\fBappend [ \fIoption declaration\fR ] \fB;\fR
.PP
-¤¢¤ë¥ª¥×¥·¥ç¥ó¤Î½¸¹ç¤Ë¤Ä¤¤¤Æ¡¢¤Þ¤º¥µ¡¼¥Ð¤«¤éÄ󶡤µ¤ì¤¿Ãͤò»È¤¤¡¢
-¤½¤Î¼¡¤Ë¥æ¡¼¥¶¤¬Ä󶡤¹¤ëÃͤ¬¤¢¤ì¤Ð¤½¤ì¤â»È¤¦¾ì¹ç¡¢
-¤½¤ì¤é¤ÎÃͤò
+���륪�ץ����ν���ˤĤ��ơ��ޤ������Ф����󶡤��줿�ͤ�Ȥ���
+���μ��˥桼�����󶡤����ͤ�����Ф����Ȥ���硢
+�������ͤ�
.B append
-ʸ¤ÇÄêµÁ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
+ʸ��������뤳�Ȥ��Ǥ��ޤ���
.B append
-ʸ¤ÏÊ£¿ô¤ÎÃͤò¼è¤ë¤³¤È¤Î¤Ç¤­¤ë¥ª¥×¥·¥ç¥ó¤Ë¤Î¤ßÍѤ¤¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-¤³¤ÎÀ©Ìó¤Ï¶¯À©¤µ¤ì¤ë¤â¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢
-¤â¤·°ãÈ¿¤¹¤ë¤Èͽ´ü¤Ç¤­¤Ê¤¤·ë²Ì¤È¤Ê¤ê¤Þ¤¹¡£
-.SH ¥ê¡¼¥¹Àë¸À
+ʸ��ʣ�����ͤ��뤳�ȤΤǤ��륪�ץ����ˤΤ��Ѥ��뤳�Ȥ��Ǥ��ޤ���
+��������϶���������ΤǤϤ���ޤ��󤬡�
+�⤷��ȿ�����ͽ���Ǥ��ʤ���̤Ȥʤ�ޤ���
+.SH �꡼�����
.PP
.B lease
-.I Àë¸À
+.I ���
.PP
\fBlease {\fR \fIlease-declaration\fR [ ... \fIlease-declaration ] \fB}\fR
.PP
-¤¢¤ë»þ´Ö (\fB¥×¥í¥È¥³¥ë¤Î¥¿¥¤¥ß¥ó¥°\fR »²¾È) ¤Î¸å¡¢DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï
-¥µ¡¼¥Ð¤Ø¤Î¥¢¥¯¥»¥¹¤ËÀ®¸ù¤·¤½¤¦¤Ë¤Ê¤¤¤ÈȽÃǤ¹¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£
-¤½¤Î»þÅÀ¤Ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï¼«Ê¬¤¬»ý¤Ã¤Æ¤¤¤ë¡¢¸Å¤¤¥ê¡¼¥¹¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò
-¸«¤Æ¡¢»þ´ÖÀÚ¤ì¤Ë¤Ê¤Ã¤Æ¤¤¤Ê¤¤¥ê¡¼¥¹¤ò½ç¤ËÄ´¤Ù¡¢¤½¤³¤Ëµó¤¬¤Ã¤Æ¤¤¤ë
-¥ë¡¼¥¿¤Ë ping ¤ò¹Ô¤Ã¤Æ¡¢¤½¤ì¤¬ÍøÍѲÄǽ¤Ê¥ê¡¼¥¹¤«¤É¤¦¤«¤òÄ´¤Ù¤Þ¤¹¡£
-DHCP ¥µ¡¼¥Ó¥¹¤ä BOOTP ¥µ¡¼¥Ó¥¹¤¬Â¸ºß¤·¤Ê¤¤¥Í¥Ã¥È¥ï¡¼¥¯¤Î¤¿¤á¤Ë¡¢
-1 ¤Ä°Ê¾å¤Î \fI¸ÇÄê\fR ¥ê¡¼¥¹¤ò¥¯¥é¥¤¥¢¥ó¥ÈÀßÄê¥Õ¥¡¥¤¥ë¤ËÄêµÁ¤·¤Æ¤ª¤¤¤Æ¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤¬¥¢¥É¥ì¥¹¤ò¼«Æ°Åª¤ËÀßÄê¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£
-¤³¤ì¤Ï
+������� (\fB�ץ��ȥ���Υ����ߥ�\fR ����) �θ塢DHCP ���饤����Ȥ�
+�����ФؤΥ��������������������ˤʤ���Ƚ�Ǥ����礬����ޤ���
+���λ����ǡ����饤����Ȥϼ�ʬ�����äƤ��롢�Ť��꡼���Υǡ����١�����
+���ơ������ڤ�ˤʤäƤ��ʤ��꡼������Ĵ�١������˵󤬤äƤ���
+�롼���� ping ��Ԥäơ����줬���Ѳ�ǽ�ʥ꡼�����ɤ�����Ĵ�٤ޤ���
+DHCP �����ӥ��� BOOTP �����ӥ���¸�ߤ��ʤ��ͥåȥ���Τ���ˡ�
+1 �İʾ�� \fI����\fR �꡼���򥯥饤���������ե������������Ƥ����ơ�
+���饤����Ȥ����ɥ쥹��ưŪ������Ǥ���褦�ˤ��뤳�Ȥ�Ǥ��ޤ���
+�����
.B lease
-ʸ¤Ç¹Ô¤¤¤Þ¤¹¡£
+ʸ�ǹԤ��ޤ���
.PP
-Ãí°Õ: lease ʸ¤Ï¡¢DHCP ¥µ¡¼¥Ð¤«¤é¼õ¤±¼è¤Ã¤¿¥ê¡¼¥¹¤òµ­Ï¿¤¹¤ë¤¿¤á¤Ë¡¢
-dhclient.leases ¥Õ¥¡¥¤¥ë¤Ç¤â»È¤ï¤ì¤Þ¤¹¡£
-°Ê²¼¤ËÀâÌÀ¤¹¤ë¥ê¡¼¥¹ÍѤΥ·¥ó¥¿¥Ã¥¯¥¹¤Ë¤Ï
-dhclient.leases ¥Õ¥¡¥¤¥ë¤Ç¤Î¤ßɬÍפʤâ¤Î¤â¤¢¤ê¤Þ¤¹¡£
-ÀâÌÀ¤ò´°Á´¤Ê¤â¤Î¤Ë¤¹¤ë¤¿¤á¡¢¤½¤Î¤è¤¦¤Ê¥·¥ó¥¿¥Ã¥¯¥¹¤â¤³¤³¤Çµ­½Ò¤·¤Þ¤¹¡£
+����: lease ʸ�ϡ�DHCP �����Ф��������ä��꡼����Ͽ���뤿��ˡ�
+dhclient.leases �ե�����Ǥ�Ȥ��ޤ���
+�ʲ�����������꡼���ѤΥ��󥿥å����ˤ�
+dhclient.leases �ե�����ǤΤ�ɬ�פʤ�Τ⤢��ޤ���
+���������ʤ�Τˤ��뤿�ᡢ���Τ褦�ʥ��󥿥å����⤳���ǵ��Ҥ��ޤ���
.PP
-lease ʸ¤Ï¡¢¥ê¡¼¥¹¥­¡¼¥ï¡¼¥É¡¢º¸Ãæ³ç¸Ì¡¢1 ¤Ä°Ê¾å¤Î¥ê¡¼¥¹Àë¸Àʸ¡¢
-±¦Ãæ³ç¸Ì¤¬Â³¤¤¤¿¤â¤Î¤Ç¹½À®¤µ¤ì¤Þ¤¹¡£
-¥ê¡¼¥¹Àë¸À¤È¤·¤Æ¡¢¼¡¤Î¤â¤Î¤¬²Äǽ¤Ç¤¹:
+lease ʸ�ϡ��꡼��������ɡ������̡�1 �İʾ�Υ꡼�����ʸ��
+�����̤�³������Τǹ�������ޤ���
+�꡼������Ȥ��ơ����Τ�Τ���ǽ�Ǥ�:
.PP
\fBbootp;\fR
.PP
.B bootp
-ʸ¤Ï¡¢¥ê¡¼¥¹¤¬ DHCP ¥×¥í¥È¥³¥ë¤Ç¤Ï¤Ê¤¯¡¢
-BOOTP ¥×¥í¥È¥³¥ë¤òÍѤ¤¤Æ¼èÆÀ¤µ¤ì¤¿¤³¤È¤ò¼¨¤·¤Þ¤¹¡£
-¤³¤Îʸ¤ò¥¯¥é¥¤¥¢¥ó¥ÈÀßÄê¥Õ¥¡¥¤¥ë¤Ë»ØÄꤹ¤ëɬÍפÏÁ´¤¯¤¢¤ê¤Þ¤»¤ó¡£
-¥¯¥é¥¤¥¢¥ó¥È¤Ï¤³¤Î¹½Ê¸¤ò¥ê¡¼¥¹¥Ç¡¼¥¿¥Ù¡¼¥¹¥Õ¥¡¥¤¥ëÆâ¤Ç»È¤¤¤Þ¤¹¡£
+ʸ�ϡ��꡼���� DHCP �ץ��ȥ���ǤϤʤ���
+BOOTP �ץ��ȥ�����Ѥ��Ƽ������줿���Ȥ򼨤��ޤ���
+����ʸ�򥯥饤���������ե�����˻��ꤹ��ɬ�פ���������ޤ���
+���饤����ȤϤ��ι�ʸ��꡼���ǡ����١����ե�������ǻȤ��ޤ���
.PP
\fBinterface\fR \fB"\fR\fIstring\fR\fB";\fR
.PP
.B interface
-¥ê¡¼¥¹Ê¸¤Ï¡¢¤½¤Î¥ê¡¼¥¹¤òÍ­¸ú¤È¤¹¤ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò¼¨¤·¤Þ¤¹¡£
-¤³¤ì¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¤³¤Î¥ê¡¼¥¹¤Ï¡¢»ØÄꤵ¤ì¤¿¥¤¥ó¥¿¥Õ¥§¡¼¥¹
-¾å¤Ç¤Î¤ß»ÈÍѤµ¤ì¤Þ¤¹¡£
-¥µ¡¼¥Ð¤«¤é¥ê¡¼¥¹¤ò¼õ¤±¼è¤Ã¤¿¤È¤­¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤Ï¾ï¤Ë¤½¤Î¥ê¡¼¥¹¤ò¼õ¤±¼è¤Ã¤¿¥¤¥ó¥¿¥Õ¥§¡¼¥¹ÈÖ¹æ¤òµ­Ï¿¤·¤Þ¤¹¡£
-dhclient.conf ¥Õ¥¡¥¤¥ë¤Ç»öÁ°¤Ë¥ê¡¼¥¹¤òÄêµÁ¤·¤Æ¤¤¤ë¾ì¹ç¡¢Í׵ᤵ¤ì¤Æ¤Ê¤¤
-¤Î¤Ç¤¹¤¬¡¢¤½¤Î¥ê¡¼¥¹¤Ç¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤â¤¢¤ï¤»¤Æ»ØÄꤷ¤Ê¤±¤ì¤Ð
-¤Ê¤ê¤Þ¤»¤ó¡£
+�꡼��ʸ�ϡ����Υ꡼����ͭ���Ȥ��륤�󥿥ե������򼨤��ޤ���
+���줬���ꤵ��Ƥ����硢���Υ꡼���ϡ����ꤵ�줿���󥿥ե�����
+��ǤΤ߻��Ѥ���ޤ���
+�����Ф���꡼���������ä��Ȥ���
+���饤����ȤϾ�ˤ��Υ꡼���������ä����󥿥ե������ֹ��Ͽ���ޤ���
+dhclient.conf �ե�����ǻ����˥꡼����������Ƥ����硢�׵ᤵ��Ƥʤ�
+�ΤǤ��������Υ꡼���ǥ��󥿥ե������⤢�碌�ƻ��ꤷ�ʤ����
+�ʤ�ޤ���
.PP
\fBfixed-address\fR \fIip-address\fR\fB;\fR
.PP
.B fixed-address
-ʸ¤ÏÆÃÄê¤Î¥ê¡¼¥¹¤Î IP ¥¢¥É¥ì¥¹¤ò»ØÄꤹ¤ëºÝ¤Ë»È¤¤¤Þ¤¹¡£
-¤³¤ì¤Ï¤¹¤Ù¤Æ¤Î lease ʸ¤ËɬÍפǤ¹¡£
-IP ¥¢¥É¥ì¥¹¤Ï (12.34.56.78 ¤Î¤è¤¦¤Ë) ¥É¥Ã¥ÈÉÕ¤­ 4 ¤ÄÁÈ·Á¼°¤Ç
-»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
+ʸ������Υ꡼���� IP ���ɥ쥹����ꤹ��ݤ˻Ȥ��ޤ���
+����Ϥ��٤Ƥ� lease ʸ��ɬ�פǤ���
+IP ���ɥ쥹�� (12.34.56.78 �Τ褦��) �ɥå��դ� 4 ���ȷ�����
+���ꤷ�ʤ���Фʤ�ޤ���
.PP
\fBfilename "\fR\fIstring\fR\fB";\fR
.PP
.B filename
-ʸ¤Ï»ÈÍѤ¹¤ë¥Ö¡¼¥È¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤷ¤Þ¤¹¡£
-¤³¤ì¤Ïɸ½àŪ¤Ê¥¯¥é¥¤¥¢¥ó¥ÈÀßÄꥹ¥¯¥ê¥×¥È¤Ç¤Ï»È¤ï¤ì¤Þ¤»¤ó¤¬¡¢
-ÀâÌÀ¤Î´°Á´¤ò´ü¤¹¤¿¤á¤Ë¤³¤³¤Ë´Þ¤á¤Æ¤¢¤ê¤Þ¤¹¡£
+ʸ�ϻ��Ѥ���֡��ȥե�����̾����ꤷ�ޤ���
+�����ɸ��Ū�ʥ��饤��������ꥹ����ץȤǤϻȤ��ޤ��󤬡�
+�����δ������������ˤ����˴ޤ�Ƥ���ޤ���
.PP
\fBserver-name "\fR\fIstring\fR\fB";\fR
.PP
.B server-name
-ʸ¤Ï»ÈÍѤ¹¤ë¥Ö¡¼¥È¥µ¡¼¥Ð̾¤ò»ØÄꤷ¤Þ¤¹¡£
-¤³¤ì¤âɸ½àŪ¤Ê¥¯¥é¥¤¥¢¥ó¥ÈÀßÄꥹ¥¯¥ê¥×¥È¤Ç¤Ï»È¤ï¤ì¤Þ¤»¤ó¡£
+ʸ�ϻ��Ѥ���֡��ȥ�����̾����ꤷ�ޤ���
+�����ɸ��Ū�ʥ��饤��������ꥹ����ץȤǤϻȤ��ޤ���
.PP
\fBoption\fR \fIoption-declaration\fR\fB;\fR
.PP
.B option
-ʸ¤Ï¡¢¥µ¡¼¥Ð¤«¤éÄ󶡤µ¤ì¤ë¥ª¥×¥·¥ç¥ó¤ÎÃͤò»ØÄꤹ¤ë¤Î¤Ë»È¤¤¤Þ¤¹¡£
-¤¢¤ë¤¤¤Ï¡¢dhclient.conf ¤Ç»öÁ°ÄêµÁ¥ê¡¼¥¹¤¬Àë¸À¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢
-¤½¤Î»öÁ°ÄêµÁ¥ê¡¼¥¹¤¬»È¤ï¤ì¤ëºÝ¤Ë¥¯¥é¥¤¥¢¥ó¥ÈÀßÄꥹ¥¯¥ê¥×¥È¤Ç»ÈÍѤ·¤Æ
-Íߤ·¤¤Ãͤò»ØÄꤷ¤Þ¤¹¡£
+ʸ�ϡ������Ф����󶡤���륪�ץ������ͤ���ꤹ��Τ˻Ȥ��ޤ���
+���뤤�ϡ�dhclient.conf �ǻ�������꡼�����������Ƥ�����ˤϡ�
+���λ�������꡼�����Ȥ���ݤ˥��饤��������ꥹ����ץȤǻ��Ѥ���
+�ߤ����ͤ���ꤷ�ޤ���
.PP
\fBscript "\fIscript-name\fB";\fR
.PP
.B script
-ʸ¤Ï dhcp ¥¯¥é¥¤¥¢¥ó¥ÈÀßÄꥹ¥¯¥ê¥×¥È¤Î¥Ñ¥¹Ì¾¤ò»ØÄꤹ¤ë¤Î¤Ë»È¤¤¤Þ¤¹¡£
-¤³¤Î¥¹¥¯¥ê¥×¥È¤Ï¡¢¥¢¥É¥ì¥¹¤òÍ׵ᤷ¤¿¤ê¡¢°ÊÁ°¤ËÄ󶡤µ¤ì¤¿¥¢¥É¥ì¥¹¤ò
-»î¤·¤¿¤ê¡¢
-¥ê¡¼¥¹¤ò¼èÆÀ¤·¤Æ¤«¤é¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÎºÇ½ªÀßÄê¤ò¹Ô¤Ã¤¿¤ê¤¹¤ëÁ°¤Ë¡¢
-dhcp ¥¯¥é¥¤¥¢¥ó¥È¤¬³Æ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î½é´üÀßÄê¤ò¹Ô¤¦¤Î¤Ë»È¤¤¤Þ¤¹¡£
-¥ê¡¼¥¹¤¬¼èÆÀ¤Ç¤­¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢
-»öÁ°ÄêµÁ¥ê¡¼¥¹¤¬Â¸ºß¤¹¤ë¾ì¹ç¡¢¤½¤ì¤é¤ò»î¤¹¤¿¤á¤Ë¤³¤Î¥¹¥¯¥ê¥×¥È¤¬»È¤ï¤ì¤Þ¤¹¡£
-¤Þ¤¿¡¢Í­¸ú¤Ê¥ê¡¼¥¹¤¬¤Ò¤È¤Ä¤âÆÀ¤é¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¤Ç¤â¡¢¤³¤Î¥¹¥¯¥ê¥×¥È¤Ï¡¢
-1 ²ó¤Ï¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£
-¤è¤ê¾Ü¤·¤¯¤Ï¡¢
+ʸ�� dhcp ���饤��������ꥹ����ץȤΥѥ�̾����ꤹ��Τ˻Ȥ��ޤ���
+���Υ�����ץȤϡ����ɥ쥹���׵ᤷ���ꡢ�������󶡤��줿���ɥ쥹��
+����ꡢ
+�꡼����������Ƥ��饤�󥿥ե������κǽ������Ԥä��ꤹ�����ˡ�
+dhcp ���饤����Ȥ��ƥ��󥿥ե������ν�������Ԥ��Τ˻Ȥ��ޤ���
+�꡼���������Ǥ��ʤ��ä����ˤϡ�
+��������꡼����¸�ߤ����硢����������ˤ��Υ�����ץȤ��Ȥ��ޤ���
+�ޤ���ͭ���ʥ꡼�����ҤȤĤ������ʤ��ä����Ǥ⡢���Υ�����ץȤϡ�
+1 ��ϸƤӽФ���ޤ���
+���ܤ����ϡ�
.B dhclient-script(8)
-¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+�򻲾Ȥ��Ƥ���������
.PP
\fBvendor option space "\fIname\fB";\fR
.PP
.B vendor option space
-ʸ¤Ï¡¢vendor-encapsulate-options ¥ª¥×¥·¥ç¥ó¤ò¼õ¿®¤·¤¿¾ì¹ç¡¢
-Éü¹æ²½¤Ë¤É¤Î¥ª¥×¥·¥ç¥ó¶õ´Ö¤ò»ÈÍѤ¹¤ë¤Ù¤­¤«¤ò»ØÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
-¥µ¡¼¥Ð¤«¤é¤Î¥Ù¥ó¥À¥ª¥×¥·¥ç¥ó¤ÎÆÃÄê¤Î¥¯¥é¥¹¤òÍ׵᤹¤ë¤¿¤á¤Ë¡¢
-\fIdhcp-vendor-identifier\fR ¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-¾ÜºÙ¤Ï
+ʸ�ϡ�vendor-encapsulate-options ���ץ��������������硢
+���沽�ˤɤΥ��ץ������֤���Ѥ���٤�������ꤹ�뤿��˻��Ѥ���ޤ���
+�����Ф���Υ٥�����ץ���������Υ��饹���׵᤹�뤿��ˡ�
+\fIdhcp-vendor-identifier\fR ����Ѥ��뤳�Ȥ��Ǥ��ޤ���
+�ܺ٤�
.B dhcp-options(5)
-¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+�򻲾Ȥ��Ƥ���������
.PP
\fBmedium "\fImedia setup\fB";\fR
.PP
.B medium
-ʸ¤Ï¡¢Àܳ¤µ¤ì¤Æ¤¤¤ë¥Í¥Ã¥È¥ï¡¼¥¯¤Î¥¿¥¤¥×¤ò¥Í¥Ã¥È¥ï¡¼¥¯¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬
-¼«Æ°Åª¤ËȽÃǤǤ­¤Ê¤¤¤è¤¦¤Ê¥·¥¹¥Æ¥à¤Ç»È¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-ʸ»úÎó media setup ¤Ï¥·¥¹¥Æ¥à°Í¸¤Î¥Ñ¥é¥á¡¼¥¿¤Ç¡¢
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹½é´ü²½¤ÎºÝ¤Ë dhcp ¥¯¥é¥¤¥¢¥ó¥ÈÀßÄꥹ¥¯¥ê¥×¥È¤ËÅϤµ¤ì¤Þ¤¹¡£
-Unix ¤ª¤è¤Ó Unix É÷¤Î¥·¥¹¥Æ¥à¤Ç¤Ï¡¢
-¤³¤Î°ú¿ô¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÀßÄꤹ¤ë¤È¤­¤Ë ifconfig ¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë
-ÅϤµ¤ì¤Þ¤¹¡£
-.PP
-¥ê¡¼¥¹¤òÆÀ¤ë¤¿¤á¤Ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÀßÄꤹ¤ë
-ºÝ¤Ë¡¢dhcp ¥¯¥é¥¤¥¢¥ó¥È¤¬¥á¥Ç¥£¥¢¥¿¥¤¥× (
+ʸ�ϡ���³����Ƥ���ͥåȥ���Υ����פ�ͥåȥ�����󥿥ե�������
+��ưŪ��Ƚ�ǤǤ��ʤ��褦�ʥ����ƥ�ǻȤ����Ȥ��Ǥ��ޤ���
+ʸ���� media setup �ϥ����ƥ��¸�Υѥ�᡼���ǡ�
+���󥿥ե�����������κݤ� dhcp ���饤��������ꥹ����ץȤ��Ϥ���ޤ���
+Unix ����� Unix ���Υ����ƥ�Ǥϡ�
+���ΰ����ϥ��󥿥ե����������ꤹ��Ȥ��� ifconfig ���ޥ�ɥ饤���
+�Ϥ���ޤ���
+.PP
+�꡼�������뤿��˥��󥿥ե����������ꤹ��
+�ݤˡ�dhcp ���饤����Ȥ���ǥ��������� (
.B media
-ʸ¤ò»²¾È) ¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢dhcp ¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢¤³¤Î¥Ñ¥é¥á¡¼¥¿¤ò
-¼«Æ°Åª¤ËÀë¸À¤·¤Þ¤¹¡£¥Í¥Ã¥È¥ï¡¼¥¯¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬¥á¥Ç¥£¥¢¥¿¥¤¥×¤Î
-ÀßÄê¤òɬÍפȤ¹¤ë¾ì¹ç¤Ï (¤¹¤ë¾ì¹ç¤Ë¸Â¤ê)¡¢¤³¤Îʸ¤ò»öÁ°ÄêµÁ¥ê¡¼¥¹¤Ç
-»ÈÍѤ·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
+ʸ�򻲾�) ����Ѥ����硢dhcp ���饤����Ȥϡ����Υѥ�᡼����
+��ưŪ��������ޤ����ͥåȥ�����󥿥ե���������ǥ��������פ�
+�����ɬ�פȤ������ (������˸¤�)������ʸ���������꡼����
+���Ѥ��ʤ���Фʤ�ޤ���
.PP
\fBrenew\fR \fIdate\fB;\fR
.PP
@@ -450,86 +450,86 @@ Unix ¤ª¤è¤Ó Unix É÷¤Î¥·¥¹¥Æ¥à¤Ç¤Ï¡¢
.PP
\fBexpire\fR \fIdate\fB;\fR
.PP
-\fBrenew\fR ʸ¤Ï¡¢¸½ºß»ÈÍÑÃæ¤Î¥ê¡¼¥¹¤ò¹¹¿· (renew) ¤¹¤ë¤¿¤á¤Ë¡¢
-dhcp ¥¯¥é¥¤¥¢¥ó¥È¤¬»ÈÍÑÃæ¤Î¥ê¡¼¥¹¤òÄ󶡤·¤Æ¤¯¤ì¤¿¥µ¡¼¥Ð¤Ø¤Î¥¢¥¯¥»¥¹¤Î
-»î¤ß¤ò³«»Ï¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤Æü»þ¤òÄêµÁ¤·¤Þ¤¹¡£\fBrebind\fR ʸ¤Ï¡¢
-¥ê¡¼¥¹¤ò¹¹¿·¤¹¤ë¤¿¤á¤Ë¡¢dhcp ¥¯¥é¥¤¥¢¥ó¥È¤¬ \fI¤¤¤º¤ì¤«¤Î\fR dhcp
-¥µ¡¼¥Ð¤Ø¤Î¥¢¥¯¥»¥¹¤Î»î¤ß¤ò³«»Ï¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤Æü»þ¤òÄêµÁ¤·¤Þ¤¹¡£
-\fBexpire\fR ʸ¤Ï¡¢¥ê¡¼¥¹¤Î¹¹¿·¤Î¤¿¤á¤Ë¥µ¡¼¥Ð¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤«¤Ã¤¿¾ì¹ç¡¢
-dhcp ¥¯¥é¥¤¥¢¥ó¥È¤¬¤½¤Î¥ê¡¼¥¹¤Î»ÈÍѤòÄä»ß¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤Æü»þ¤ò
-ÄêµÁ¤·¤Þ¤¹¡£
+\fBrenew\fR ʸ�ϡ����߻�����Υ꡼���򹹿� (renew) ���뤿��ˡ�
+dhcp ���饤����Ȥ�������Υ꡼�����󶡤��Ƥ��줿�����ФؤΥ���������
+��ߤ򳫻Ϥ��ʤ���Фʤ�ʤ�������������ޤ���\fBrebind\fR ʸ�ϡ�
+�꡼���򹹿����뤿��ˡ�dhcp ���饤����Ȥ� \fI�����줫��\fR dhcp
+�����ФؤΥ��������λ�ߤ򳫻Ϥ��ʤ���Фʤ�ʤ�������������ޤ���
+\fBexpire\fR ʸ�ϡ��꡼���ι����Τ���˥����Ф˥��������Ǥ��ʤ��ä���硢
+dhcp ���饤����Ȥ����Υ꡼���λ��Ѥ���ߤ��ʤ���Фʤ�ʤ�������
+������ޤ���
.PP
-¤³¤ì¤é¤ÎÀë¸À¤Ï¡¢DHCP ¥¯¥é¥¤¥¢¥ó¥È¤¬ÆÀ¤¿¥ê¡¼¥¹Ãæ¤Ç¤Ï¼«Æ°Åª¤ËÀßÄꤵ¤ì¤Þ¤¹¡£
-»öÁ°ÄêµÁ¥ê¡¼¥¹¤Î¤¦¤Á¡¢DHCP ¥¯¥é¥¤¥¢¥ó¥È¤ËÍ­¸ú´ü¸Â¤¬²á¤®¤¿¤â¤Î¤ò»ÈÍѤ·¤Æ
-Íߤ·¤¯¤Ê¤¤¤â¤Î¤ÎÃæ¤Ç¤Ï¡¢¤³¤ì¤é¤ÎÀë¸À¤òÀßÄꤷ¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
+����������ϡ�DHCP ���饤����Ȥ������꡼����Ǥϼ�ưŪ�����ꤵ��ޤ���
+��������꡼���Τ�����DHCP ���饤����Ȥ�ͭ�����¤��᤮����Τ���Ѥ���
+�ߤ����ʤ���Τ���Ǥϡ���������������ꤷ�Ƥ���ɬ�פ�����ޤ���
.PP
-date ¤Ï°Ê²¼¤Î¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£
+date �ϰʲ��Τ褦�˻��ꤷ�ޤ���
.PP
\fI<weekday> <year>\fB/\fI<month>\fB/\fI<day>
<hour>\fB:\fI<minute>\fB:\fI<second>\fR
.PP
-weekday ¤Ï¡¢¿Í´Ö¤¬¸«¤Æ¥ê¡¼¥¹´ü¸Â¤ò¤ï¤«¤ê¤ä¤¹¤¯¤¹¤ë¤¿¤á¤Ë¸ºß¤·¤Þ¤¹¡£
-¤³¤ì¤Ï¡¢0 ¤«¤é 6 ¤Þ¤Ç¤Î¿ô»ú¤Ç»ØÄꤷ¤Þ¤¹¡£0 ¤ÏÆüÍËÆü¤Ç¤¹¡£year ¤ÏÀ¤µª
-¹þ¤ß¤Ç»ØÄꤷ¤Þ¤¹¡£¤Ç¤¹¤«¤é¡¢ËÜÅö¤ËŤ¤¥ê¡¼¥¹¤òÊ̤ˤ¹¤ë¤È¡¢É¬¤º 4 ·å¤Ë
-¤Ê¤ë¤Ï¤º¤Ç¤¹¡£month ¤Ï 1 (1 ·î¤òɽ¤·¤Þ¤¹) ¤«¤é»Ï¤Þ¤ë¿ô»ú¤Ç»ØÄꤷ¤Þ¤¹¡£
-day ¤ÏƱÍÍ¤Ë 1 ¤«¤é»Ï¤Þ¤ë (·î¤Ë¤ª¤±¤ë) Æü¤È¤·¤Æ»ØÄꤷ¤Þ¤¹¡£hour ¤Ï¡¢
-0 ¤«¤é 23 ¤Î´Ö¤Î¿ô»ú¤Ç¤¹¡£minute ¤È second ¤Ï¤È¤â¤Ë 0 ¤«¤é 59 ¤Î´Ö¤Î
-¿ô»ú¤ò»ØÄꤷ¤Þ¤¹¡£
-.SH ¥¨¥¤¥ê¥¢¥¹Àë¸À
+weekday �ϡ��ʹ֤����ƥ꡼�����¤�狼��䤹�����뤿���¸�ߤ��ޤ���
+����ϡ�0 ���� 6 �ޤǤο����ǻ��ꤷ�ޤ���0 ���������Ǥ���year ������
+���ߤǻ��ꤷ�ޤ����Ǥ����顢������Ĺ���꡼�����̤ˤ���ȡ�ɬ�� 4 ���
+�ʤ�Ϥ��Ǥ���month �� 1 (1 ���ɽ���ޤ�) ����Ϥޤ�����ǻ��ꤷ�ޤ���
+day ��Ʊ�ͤ� 1 ����Ϥޤ� (��ˤ�����) ���Ȥ��ƻ��ꤷ�ޤ���hour �ϡ�
+0 ���� 23 �δ֤ο����Ǥ���minute �� second �ϤȤ�� 0 ���� 59 �δ֤�
+��������ꤷ�ޤ���
+.SH �����ꥢ�����
\fBalias { \fI declarations ... \fB}\fR
.PP
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤¬ TCP/IP ¥í¡¼¥ß¥ó¥° (roaming) ¥×¥í¥È¥³¥ë¤ò¼Â¹Ô¤·¤Æ
-¤¤¤ë¾ì¹ç¡¢DHCP ¤òÍѤ¤¤ÆÆÀ¤é¤ì¤ë¥ê¡¼¥¹¤À¤±¤Ç¤Ê¤¯¡¢»öÁ°¤ËÄêµÁ¤µ¤ì¤¿
-IP ¥¨¥¤¥ê¥¢¥¹¤â¡¢¼«Ê¬¤¬»ÈÍѤ¹¤ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ËÀßÄꤹ¤ëɬÍפ¬¤¢¤ë
-¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£Internet Systems Consortium ÈÇ DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢
-¸ÇÄꥢ¥É¥ì¥¹Ä¾ÀÜ»ØÄê¤Î¥í¡¼¥ß¥ó¥°¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó¤¬¡¢¤½¤Î¼ï¤Î¼Â¸³
-¤¬¤Ç¤­¤ë¤è¤¦¤Ë¡¢¤³¤Î dhcp ¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢
+DHCP ���饤����Ȥ� TCP/IP �����ߥ� (roaming) �ץ��ȥ����¹Ԥ���
+�����硢DHCP ���Ѥ���������꡼�������Ǥʤ���������������줿
+IP �����ꥢ���⡢��ʬ�����Ѥ��륤�󥿥ե����������ꤹ��ɬ�פ�����
+��礬����ޤ���Internet Systems Consortium �� DHCP ���饤����Ȥϡ�
+���ꥢ�ɥ쥹ľ�ܻ���Υ����ߥ󥰤򥵥ݡ��Ȥ��Ƥ��ޤ��󤬡����μ�μ¸�
+���Ǥ���褦�ˡ����� dhcp ���饤����Ȥϡ�
.B alias
-Àë¸À¤ò»È¤Ã¤Æ IP ¥¨¥¤¥ê¥¢¥¹¤òÀßÄꤹ¤ë½àÈ÷¤Ï¤Ç¤­¤Æ¤¤¤Þ¤¹¡£
-.PP
-alias Àë¸À¤Ï lease Àë¸À¤Ë»÷¤Æ¤¤¤Þ¤¹¡£Ã¢¤·¡¢É¸½à¤Î
-¥¯¥é¥¤¥¢¥ó¥ÈÀßÄꥹ¥¯¥ê¥×¥È¤Ç¤Ï¡¢subnet-mask ¥ª¥×¥·¥ç¥ó°Ê³°¤Î
-¥ª¥×¥·¥ç¥ó¤È¡¢³Æ¼ïÍ­¸ú´ü¸Â (expiry times) ¤¬Ìµ»ë¤µ¤ì¤ëÅÀ¤¬°Û¤Ê¤ê¤Þ¤¹¡£
-ÉáÄ̤Πalias Àë¸À¤Ç¤Ï¡¢ interface Àë¸À¡¢IP ¥¨¥¤¥ê¥¢¥¹¤Î¤¿¤á¤Î
-¸ÇÄꥢ¥É¥ì¥¹Àë¸À¡¢subnet-mask ¥ª¥×¥·¥ç¥ó¤ò´Þ¤ß¤Þ¤¹¡£alias Àë¸À¤Ë¤Ï
-medium ʸ¤Ï·è¤·¤Æ´Þ¤Þ¤ì¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-.SH ¤½¤Î¾¤ÎÀë¸À
+�����Ȥä� IP �����ꥢ�������ꤹ������ϤǤ��Ƥ��ޤ���
+.PP
+alias ����� lease ����˻��Ƥ��ޤ���â����ɸ���
+���饤��������ꥹ����ץȤǤϡ�subnet-mask ���ץ����ʳ���
+���ץ����ȡ��Ƽ�ͭ������ (expiry times) ��̵�뤵��������ۤʤ�ޤ���
+���̤� alias ����Ǥϡ� interface �����IP �����ꥢ���Τ����
+���ꥢ�ɥ쥹�����subnet-mask ���ץ�����ޤߤޤ���alias ����ˤ�
+medium ʸ�Ϸ褷�ƴޤޤ�ƤϤʤ�ޤ���
+.SH ����¾�����
\fBreject \fIip-address\fB;\fR
.PP
.B reject
-ʸ¤Ë¤è¤ê¡¢DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï»ØÄꤷ¤¿¥¢¥É¥ì¥¹¤ò¥µ¡¼¥Ð¼±Ê̻ҤȤ·¤Æ»ÈÍѤ¹¤ë
-¥µ¡¼¥Ð¤«¤é¤ÎÄ󶡿½¤·½Ð¤òµñÈݤ¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£É¸½à¤Ë½àµò¤·¤Ê¤¤ dhcp
-¥µ¡¼¥Ð¤äÀßÄê¤ò´Ö°ã¤¨¤Æ¤¤¤ë dhcp ¥µ¡¼¥Ð¤Ë¤è¤Ã¤Æ¥¯¥é¥¤¥¢¥ó¥È¤¬ÀßÄꤵ¤ì¤Ê¤¤
-¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ë¡¢¤³¤Îʸ¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤·¤«¤·¤Ê¤¬¤é¡¢¤³¤ì¤Ï
-ºÇ¸å¤ÎÉð´ï¤È¤¹¤ë¤Ù¤­¤Ç¤¹¡£¤³¤ì¤ËÀèΩ¤Á¡¢Éå¤Ã¤¿ DHCP ¥µ¡¼¥Ð¤òÄɤ¤¤«¤±¤Æ
-¤½¤ì¤òľ¤¹Êý¤¬¤è¤¤¤Ç¤¹¡£
+ʸ�ˤ�ꡢDHCP ���饤����Ȥϻ��ꤷ�����ɥ쥹�򥵡��м��̻ҤȤ��ƻ��Ѥ���
+�����Ф�����󶡿����Ф���ݤ���褦�ˤʤ�ޤ���ɸ��˽�򤷤ʤ� dhcp
+�����Ф������ְ㤨�Ƥ��� dhcp �����Фˤ�äƥ��饤����Ȥ����ꤵ��ʤ�
+�褦�ˤ��뤿��ˡ�����ʸ����Ѥ��뤳�Ȥ��Ǥ��ޤ����������ʤ��顢�����
+�Ǹ�����Ȥ���٤��Ǥ����������Ω������ä� DHCP �����Ф��ɤ�������
+�����ľ�������褤�Ǥ���
.PP
\fBinterface "\fIname\fB" { \fIdeclarations ... \fB }
.PP
-Ê£¿ô¤Î¥Í¥Ã¥È¥ï¡¼¥¯¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò»ý¤Ä¥¯¥é¥¤¥¢¥ó¥È¤Î¾ì¹ç¡¢DHCP ¤Ç
-ÀßÄꤵ¤ì¤ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë¤è¤Ã¤Æ°Û¤Ê¤ëÆ°ºî¤ò¤µ¤»¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤¬
-¤¢¤ê¤Þ¤¹¡£lease Àë¸À¤È alias Àë¸À¤ò½ü¤¯¤¹¤Ù¤Æ¤Î¥¿¥¤¥ß¥ó¥°¥Ñ¥é¥á¡¼¥¿
-¤ÈÀë¸À¤ò¡¢interface Àë¸À¤Ç°Ï¤à¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤½¤Î¾ì¹ç¡¢°Ï¤Þ¤ì¤¿
-¥Ñ¥é¥á¡¼¥¿¤Ï»ØÄꤷ¤¿Ì¾Á°¤Ë¹çÃפ¹¤ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë¤Î¤ßŬÍѤµ¤ì¤Þ¤¹¡£
-interface Àë¸À¤ò»ý¤¿¤Ê¤¤¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï¡¢¤¹¤Ù¤Æ¤Î interface Àë¸À¤Î
-³°Â¦¤ÇÀë¸À¤µ¤ì¤¿¥Ñ¥é¥á¡¼¥¿¡¢¤â¤·¤¯¤Ï¥Ç¥Õ¥©¥ë¥È¤ÎÀßÄ꤬ŬÍѤµ¤ì¤Þ¤¹¡£
+ʣ���Υͥåȥ�����󥿥ե���������ĥ��饤����Ȥξ�硢DHCP ��
+���ꤵ��륤�󥿥ե������ˤ�äưۤʤ�ư��򤵤���ɬ�פ������礬
+����ޤ���lease ����� alias �����������٤ƤΥ����ߥ󥰥ѥ�᡼��
+�������interface ����ǰϤळ�Ȥ��Ǥ��ޤ������ξ�硢�Ϥޤ줿
+�ѥ�᡼���ϻ��ꤷ��̾���˹��פ��륤�󥿥ե������ˤΤ�Ŭ�Ѥ���ޤ���
+interface ���������ʤ����󥿥ե������ϡ����٤Ƥ� interface �����
+��¦��������줿�ѥ�᡼�����⤷���ϥǥե���Ȥ����꤬Ŭ�Ѥ���ޤ���
.PP
\fBpseudo "\fIname\fR" "\fIreal-name\fB" { \fIdeclarations ... \fB }
.PP
-¾õ¶·¤Ë¤è¤Ã¤Æ¤Ï²¾ÁÛ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÀë¸À¤·¡¢
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤¬¤³¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¤¿¤á¤ÎÀßÄê¤ò¼èÆÀ¤¹¤ë¤è¤¦¤Ë¤¹¤ë¤È
-ÊØÍø¤Ë¤Ê¤êÆÀ¤Þ¤¹¡£
-Ä̾ï DHCP ¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë³Æ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï¡¢
-¤½¤Î¥ê¡¼¥¹¤ò³ÍÆÀ¤·´ÉÍý¤¹¤ë¤¿¤á¤Ë¡¢
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Î¾õÂÖµ¡³£¤ò¼Â¹Ô¤·¤Æ¤¤¤Þ¤¹¡£
-²¾ÁÛ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï¡¢\fIreal-name\fR ¤È̾ÉÕ¤±¤é¤ì¤¿¥¤¥ó¥¿¥Õ¥§¡¼¥¹¾å¤Ç
-²ÔƯ¤·¤Æ¤¤¤ë¡¢¤Þ¤µ¤·¤¯¤â¤¦°ì¤Ä¤Î¾õÂÖµ¡³£¤Ç¤¹¡£
-¤³¤Îµ¡Ç½¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢
-²¾ÁÛ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤È¼ÂºÝ¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÎξÊý¤ËÂФ·¤Æ
-¥¯¥é¥¤¥¢¥ó¥È¼±Ê̻ҤòÄ󶡤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-¤Þ¤¿¡¢»ÈÍѤ·¤¿¤¤ IP ¥¢¥É¥ì¥¹¤ËÂФ¹¤ë²¾ÁÛ¥¤¥ó¥¿¥Õ¥§¡¼¥¹ÍѤË
-ʬΥ¤µ¤ì¤¿¥¯¥é¥¤¥¢¥ó¥È¥¹¥¯¥ê¥×¥È¤òÄ󶡤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-Î㤨¤Ð¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹:
+�����ˤ�äƤϲ��ۥ��󥿥ե��������������
+DHCP ���饤����Ȥ����Υ��󥿥ե������Τ����������������褦�ˤ����
+�����ˤʤ����ޤ���
+�̾� DHCP ���饤����Ȥ����ݡ��Ȥ��Ƥ���ƥ��󥿥ե������ϡ�
+���Υ꡼����������������뤿��ˡ�
+DHCP ���饤����Ȥξ��ֵ�����¹Ԥ��Ƥ��ޤ���
+���ۥ��󥿥ե������ϡ�\fIreal-name\fR ��̾�դ���줿���󥿥ե��������
+��Ư���Ƥ��롢�ޤ������⤦��Ĥξ��ֵ����Ǥ���
+���ε�ǽ����Ѥ����硢
+���ۥ��󥿥ե������ȼºݤΥ��󥿥ե�������ξ�����Ф���
+���饤����ȼ��̻Ҥ��󶡤��ʤ���Фʤ�ޤ���
+�ޤ������Ѥ����� IP ���ɥ쥹���Ф��벾�ۥ��󥿥ե������Ѥ�
+ʬΥ���줿���饤����ȥ�����ץȤ��󶡤��ʤ���Фʤ�ޤ���
+�㤨�м��Τ褦�ˤʤ�ޤ�:
.PP
.nf
interface "ep0" {
@@ -541,38 +541,38 @@ DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Î¾õÂÖµ¡³£¤ò¼Â¹Ô¤·¤Æ¤¤¤Þ¤¹¡£
}
.fi
.PP
-²¾ÁÛ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¤¿¤á¤Î¥¯¥é¥¤¥¢¥ó¥È¥¹¥¯¥ê¥×¥È¤Ï
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÍ­¸ú¤Ë¤·¤¿¤ê̵¸ú¤Ë¤·¤¿¤ê¤¹¤ëÀßÄê¤ò¤¹¤ë¤Ù¤­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-Æäˡ¢¥ê¡¼¥¹¤Î³ÍÆÀ¤ä¹¹¿·¤Î¾õÂÖ¡¢¤½¤·¤Æ¥ê¡¼¥¹¤Î´ü¸ÂÀÚ¤ì¤Î¾õÂÖ¤ò
-¼è¤ê°·¤¦¤¿¤á¤Ë¤Ï¡¢¤½¤Î¤³¤È¤¬É¬ÍפǤ¹¡£
-¾ÜºÙ¤Ï \fBdhclient-script(8)\fR ¤ò»²¾È¤·¤Æ²¼¤µ¤¤¡£
+���ۥ��󥿥ե������Τ���Υ��饤����ȥ�����ץȤ�
+���󥿥ե�������ͭ���ˤ�����̵���ˤ����ꤹ������򤹤�٤��ǤϤ���ޤ���
+�äˡ��꡼���γ����乹���ξ��֡������ƥ꡼���δ����ڤ�ξ��֤�
+��갷������ˤϡ����Τ��Ȥ�ɬ�פǤ���
+�ܺ٤� \fBdhclient-script(8)\fR �򻲾Ȥ��Ʋ�������
.PP
\fBmedia "\fImedia setup\fB"\fI [ \fB, "\fImedia setup\fB", \fI... ]\fB;\fR
.PP
.B media
-ʸ¤Ï¡¢IP ¥¢¥É¥ì¥¹¼èÆÀÃæ¤Ë»ÈÍѤ¬»î¤ß¤é¤ì¤ë¡¢¥á¥Ç¥£¥¢ÀßÄê¥Ñ¥é¥á¡¼¥¿¤ò 1 ¤Ä
-°Ê¾åÄêµÁ¤·¤Þ¤¹¡£dhcp ¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢¥ê¥¹¥ÈÃæ¤Î³Æ media setup ʸ»úÎó¤ò
-½ç¼¡»ÈÍѤ·¡¢¤¢¤ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò¤½¤ì¤ÇÀßÄꤷ¡¢¥Ö¡¼¥È¤ò»î¤ß¤Þ¤¹¡£
-ÂÌÌܤʤé¤Ð¼¡¤Î media setup ʸ»úÎó¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤Îʸ¤Ï¡¢
-¥á¥Ç¥£¥¢¥¿¥¤¥×¤ò¸¡½Ð¤¹¤ëǽÎϤò»ý¤¿¤Ê¤¤¥Í¥Ã¥È¥ï¡¼¥¯¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë
-ÂФ·¤ÆÍøÍѤǤ­¤Þ¤¹¡£¥µ¡¼¥Ð¤Ø¤Î¥ê¥¯¥¨¥¹¥È¤¬¤Ç¤­±þÅú¤¬ÆÀ¤é¤ì¤ë¤â¤Î
-¤Ê¤é¤Ð¡¢¤É¤Î¤è¤¦¤Ê¥á¥Ç¥£¥¢¥¿¥¤¥×¤Ç¤â¤¿¤Ö¤óÀµÅö¤Ç¤¹ (ÊݾڤϤ·¤Þ¤»¤ó¤¬)¡£
-.PP
-media setup ¤Ï¥¢¥É¥ì¥¹¼èÆÀ¤Î½é´ü¥Õ¥§¡¼¥º (DHCPDISCOVER ¥Ñ¥±¥Ã¥È¤È
-DHCPOFFER ¥Ñ¥±¥Ã¥È)¤Ç¤Î¤ß»ÈÍѤµ¤ì¤Þ¤¹¡£¤Ò¤È¤¿¤Ó¥¢¥É¥ì¥¹¤¬¼èÆÀ¤µ¤ì¤ë¤È¡¢
-dhcp ¥¯¥é¥¤¥¢¥ó¥È¤Ï¤½¤Î¥¢¥É¥ì¥¹¤ò¥ê¡¼¥¹¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ëµ­Ï¿¤·¡¢
-¤½¤Î¥¢¥É¥ì¥¹¤òÆÀ¤ëºÝ¤ËÍѤ¤¤¿¥á¥Ç¥£¥¢¥¿¥¤¥×¤òµ­Ï¿¤·¤Þ¤¹¡£¥¯¥é¥¤¥¢¥ó¥È¤¬
-¥ê¡¼¥¹¤ò¹¹¿·¤·¤è¤¦¤È¤¹¤ëºÝ¤Ë¤Ï¾ï¤Ë¡¢¤½¤ì¤ÈƱ¤¸¥á¥Ç¥£¥¢¥¿¥¤¥×¤ò»ÈÍѤ·¤Þ¤¹¡£
-¥ê¡¼¥¹¤ò´ü¸ÂÀÚ¤ì¤Ë¤·¤Æ¤Ï¤¸¤á¤Æ¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï¥á¥Ç¥£¥¢¥¿¥¤¥×¤ò½ç¤Ë»î¤¹
-¾õÂÖ¤ËÌá¤ê¤Þ¤¹¡£
-.\"X .SH SAMPLE ... man-jp ɸ½à¤Ï¤Ê¤ó¤À¤Ã¤¿¤Ã¤±
-.SH »ÈÍÑÎã
-°Ê²¼¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤Ï¡¢NetBSD 1.3 ¤ò¼Â¹Ô¤¹¤ë¤¢¤ë¥é¥Ã¥×¥È¥Ã¥×¥Þ¥·¥ó¤Ç
-»ÈÍѤµ¤ì¤Æ¤¤¤ë¤â¤Î¤Ç¤¹¡£¤³¤Î¥Þ¥·¥ó¤Ï¡¢IP ¥¨¥¤¥ê¥¢¥¹¤È¤·¤Æ 192.5.5.213¡¢
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹ ep0 (3Com 3C589C) ¤ò¤Ò¤È¤Ä»ý¤Ã¤Æ¤¤¤Þ¤¹¡£¤³¤Î¥¯¥é¥¤¥¢¥ó¥È
-¤Ï¡¢DHCP ³èÆ°¤¬¤Û¤È¤ó¤É¤Ê¤¤¥Í¥Ã¥È¥ï¡¼¥¯¤Ç»þ´Ö¤ÎÂçÉôʬ¤ò¾ÃÈñ¤¹¤ë¤³¤È¤¬
-¤ï¤«¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢¥Ö¡¼¥È´Ö³Ö¤Ï¥Ç¥Õ¥©¥ë¥ÈÃͤ«¤é¤¤¤¯¤Ö¤ó¾®¤µ¤¯¤·¤Æ
-¤¢¤ê¤Þ¤¹¡£¤³¤Î¥Þ¥·¥ó¤ÏÊ£¿ô¥Í¥Ã¥È¥ï¡¼¥¯´Ö¤Ç¥í¡¼¥ß¥ó¥° (°ÜÆ°) ¤·¤Þ¤¹¡£
+ʸ�ϡ�IP ���ɥ쥹������˻��Ѥ���ߤ��롢��ǥ�������ѥ�᡼���� 1 ��
+�ʾ�������ޤ���dhcp ���饤����Ȥϡ��ꥹ����γ� media setup ʸ�����
+�缡���Ѥ������륤�󥿥ե������򤽤�����ꤷ���֡��Ȥ��ߤޤ���
+���ܤʤ�м��� media setup ʸ�������Ѥ��ޤ�������ʸ�ϡ�
+��ǥ��������פ򸡽Ф���ǽ�Ϥ�����ʤ��ͥåȥ�����󥿥ե�������
+�Ф������ѤǤ��ޤ��������ФؤΥꥯ�����Ȥ��Ǥ���������������
+�ʤ�С��ɤΤ褦�ʥ�ǥ��������פǤ⤿�֤������Ǥ� (�ݾڤϤ��ޤ���)��
+.PP
+media setup �ϥ��ɥ쥹�����ν���ե����� (DHCPDISCOVER �ѥ��åȤ�
+DHCPOFFER �ѥ��å�)�ǤΤ߻��Ѥ���ޤ����ҤȤ��ӥ��ɥ쥹�����������ȡ�
+dhcp ���饤����ȤϤ��Υ��ɥ쥹��꡼���ǡ����١����˵�Ͽ����
+���Υ��ɥ쥹������ݤ��Ѥ�����ǥ��������פ�Ͽ���ޤ������饤����Ȥ�
+�꡼���򹹿����褦�Ȥ���ݤˤϾ�ˡ������Ʊ����ǥ��������פ���Ѥ��ޤ���
+�꡼��������ڤ�ˤ��ƤϤ���ơ����饤����Ȥϥ�ǥ��������פ��˻
+���֤����ޤ���
+.\"X .SH SAMPLE ... man-jp ɸ��Ϥʤ���ä��ä�
+.SH ������
+�ʲ�������ե�����ϡ�NetBSD 1.3 ��¹Ԥ��뤢���åץȥåץޥ����
+���Ѥ���Ƥ����ΤǤ������Υޥ���ϡ�IP �����ꥢ���Ȥ��� 192.5.5.213��
+���󥿥ե����� ep0 (3Com 3C589C) ��ҤȤĻ��äƤ��ޤ������Υ��饤�����
+�ϡ�DHCP ��ư���ۤȤ�ɤʤ��ͥåȥ���ǻ��֤�����ʬ����񤹤뤳�Ȥ�
+�狼�äƤ���Τǡ��֡��ȴֳ֤ϥǥե�����ͤ��餤���֤󾮤�������
+����ޤ������Υޥ����ʣ���ͥåȥ���֤ǥ����ߥ� (��ư) ���ޤ���
.nf
@@ -602,17 +602,17 @@ alias {
option subnet-mask 255.255.255.255;
}
.fi
-¤³¤ì¤Ï dhclient.conf ¥Õ¥¡¥¤¥ë¤È¤·¤Æ¤ÏÈó¾ï¤ËÊ£»¨¤Ê¤â¤Î¤Ç¤¹¡£°ìÈ̤ˡ¢
-³§¤µ¤ó¤¬»ÈÍѤ¹¤ë¤â¤Î¤Ï¤Ï¤ë¤«¤Ë´Êñ¤Ê¤Ï¤º¤Ç¤¹¡£Â¿¤¯¤Î¾ì¹ç¡¢dhclient.conf
-¥Õ¥¡¥¤¥ë¤È¤·¤Æ¶õ¤Î¥Õ¥¡¥¤¥ë¤òÀ¸À®¤¹¤ë¤À¤±¤Ç½½Ê¬¤Ê¤Ï¤º¤Ç¤¹¡£
-¤Ä¤Þ¤ê¡¢¥Ç¥Õ¥©¥ë¥ÈÃͤǤ褤¤Î¤¬ÉáÄ̤Ǥ¹¡£
-.SH ´ØÏ¢¹àÌÜ
+����� dhclient.conf �ե�����Ȥ��Ƥ�����ʣ���ʤ�ΤǤ������̤ˡ�
+�����󤬻��Ѥ����ΤϤϤ뤫�˴�ñ�ʤϤ��Ǥ���¿���ξ�硢dhclient.conf
+�ե�����Ȥ��ƶ��Υե������������������ǽ�ʬ�ʤϤ��Ǥ���
+�Ĥޤꡢ�ǥե�����ͤǤ褤�Τ����̤Ǥ���
+.SH ��Ϣ����
dhcp-options(5), dhclient.leases(5), dhclient(8), RFC2132,
RFC2131
-.SH ºî¼Ô
+.SH ���
.B dhclient(8)
-¤Ï Vixie Labs ¤È¤Î·ÀÌó¤Î¤â¤È¤Ç Ted Lemon ¤¬½ñ¤­¤Þ¤·¤¿¡£
-ËÜ¥×¥í¥¸¥§¥¯¥È¤Î´ð¶â¤Ï Internet Systems Consortium ¤¬Ä󶡤·¤Þ¤·¤¿¡£
-Internet Systems Consortium ¤Ë´Ø¤¹¤ë¾ðÊó¤Ï¡¢
+�� Vixie Labs �Ȥη���Τ�Ȥ� Ted Lemon ���񤭤ޤ�����
+�ܥץ��������Ȥδ��� Internet Systems Consortium ���󶡤��ޤ�����
+Internet Systems Consortium �˴ؤ������ϡ�
.B https://www.isc.org
-¤Ë¤¢¤ê¤Þ¤¹¡£
+�ˤ���ޤ���
diff --git a/doc/ja_JP.eucJP/dhclient.leases.5 b/doc/ja_JP.eucJP/dhclient.leases.5
index d88a9d94..9d9a6a21 100644
--- a/doc/ja_JP.eucJP/dhclient.leases.5
+++ b/doc/ja_JP.eucJP/dhclient.leases.5
@@ -1,6 +1,6 @@
.\" $Id: dhclient.leases.5,v 1.4 2009/11/24 02:06:56 sar Exp $
.\"
-.\" Copyright (c) 2004,2009,2016 by Internet Systems Consortium, Inc. ("ISC")
+.\" Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (c) 1997-2003 by Internet Software Consortium
.\"
.\" Permission to use, copy, modify, and distribute this software for any
@@ -16,8 +16,8 @@
.\" OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.\" Internet Systems Consortium, Inc.
-.\" 950 Charter Street
-.\" Redwood City, CA 94063
+.\" PO Box 360
+.\" Newmarket, NH 03857 USA
.\" <info@isc.org>
.\" https://www.isc.org/
.\"
@@ -25,31 +25,31 @@
.\"
.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/dhclient.leases.5,v 1.6 2002/05/05 20:40:23 horikawa Exp $
.TH dhclient.leases 5
-.SH ̾¾Î
-dhclient.leases - DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Î¥ê¡¼¥¹¥Ç¡¼¥¿¥Ù¡¼¥¹
-.SH ²òÀâ
-Internet Systems Consortium ¤Î DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢
-³ÍÆÀ¤·¤¿¥ê¡¼¥¹¤Î¤¦¤Á¤Þ¤ÀÍ­¸ú¤Ç¤¢¤ë¤â¤Î¤ò´ÉÍý¤¹¤ë¤¿¤á¤Î¡¢
-±Ê³Ū¤Ê¥Ç¡¼¥¿¥Ù¡¼¥¹¤òÊÝ»ý¤·¤Þ¤¹¡£
-¤³¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ï¡¢¼«Í³·Á¼°¤Î ASCII ¥Õ¥¡¥¤¥ë¤Ç¤¢¤ê¡¢
-¥ê¡¼¥¹ 1 ¤Ä¤Ë¤Ä¤­Í­¸ú¤ÊÀë¸À¤ò 1 ¤Ä´Þ¤ß¤Þ¤¹¡£
-¤¢¤ë¥ê¡¼¥¹¤ËÂФ·¤ÆÊ£¿ô¤ÎÀë¸À¤¬Åо줹¤ë¾ì¹ç¡¢
-¥Õ¥¡¥¤¥ëÃæ¤ÎºÇ¸å¤Î¤â¤Î¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£
-¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¥í¥°¤È¤·¤Æ½ñ¤­¹þ¤Þ¤ì¤Þ¤¹¤Î¤Ç¡¢
-¤³¤Î¤è¤¦¤Ê¾õÂ֤ˤʤ뤳¤È¤Ï°Û¾ï¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
+.SH ̾��
+dhclient.leases - DHCP ���饤����ȤΥ꡼���ǡ����١���
+.SH ����
+Internet Systems Consortium �� DHCP ���饤����Ȥϡ�
+���������꡼���Τ����ޤ�ͭ���Ǥ����Τ�������뤿��Ρ�
+��³Ū�ʥǡ����١������ݻ����ޤ���
+���Υǡ����١����ϡ���ͳ������ ASCII �ե�����Ǥ��ꡢ
+�꡼�� 1 �ĤˤĤ�ͭ��������� 1 �Ĵޤߤޤ���
+����꡼�����Ф���ʣ����������о줹���硢
+�ե�������κǸ�Τ�Τ����Ѥ���ޤ���
+���Υե�����ϥ����Ȥ��ƽ񤭹��ޤ�ޤ��Τǡ�
+���Τ褦�ʾ��֤ˤʤ뤳�Ȥϰ۾�ǤϤ���ޤ���
.PP
-¥ê¡¼¥¹Àë¸À¤Î½ñ¼°¤Ï¡¢
+�꡼������ν񼰤ϡ�
.B dhclient.conf(5)
-¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-.SH ´ØÏ¢¥Õ¥¡¥¤¥ë
+�˵��Ҥ���Ƥ��ޤ���
+.SH ��Ϣ�ե�����
.B DBDIR/dhclient.leases
-.SH ´ØÏ¢¹àÌÜ
+.SH ��Ϣ����
dhclient(8), dhcp-options(5), dhclient.conf(5),
RFC2132, RFC2131
-.SH ºî¼Ô
+.SH ���
.B dhclient(8)
-¤Ï¡¢Vixie Labs ¤È¤Î·ÀÌó¤Î¤â¤È¤Ç¡¢Ted Lemon ¤¬µ­½Ò¤·¤Þ¤·¤¿¡£
-ËÜ¥×¥í¥¸¥§¥¯¥È¤Î»ñ¶â¤Ï¡¢Internet Systems Consortium ¤¬Ä󶡤·¤Þ¤·¤¿¡£
-Internet Systems Consortium ¤Ë´Ø¤¹¤ë¾ðÊó¤Ï¡¢
+�ϡ�Vixie Labs �Ȥη���Τ�Ȥǡ�Ted Lemon �����Ҥ��ޤ�����
+�ܥץ��������Ȥλ��ϡ�Internet Systems Consortium ���󶡤��ޤ�����
+Internet Systems Consortium �˴ؤ������ϡ�
.B https://www.isc.org
-¤Ë¤¢¤ê¤Þ¤¹¡£
+�ˤ���ޤ���
diff --git a/doc/ja_JP.eucJP/dhcp-eval.5 b/doc/ja_JP.eucJP/dhcp-eval.5
index 5ec22951..b787575c 100644
--- a/doc/ja_JP.eucJP/dhcp-eval.5
+++ b/doc/ja_JP.eucJP/dhcp-eval.5
@@ -1,6 +1,6 @@
.\" $Id: dhcp-eval.5,v 1.5 2009/11/24 02:06:56 sar Exp $
.\"
-.\" Copyright (c) 2004,2009,2016 by Internet Systems Consortium, Inc. ("ISC")
+.\" Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (c) 1996-2003 by Internet Software Consortium
.\"
.\" Permission to use, copy, modify, and distribute this software for any
@@ -16,280 +16,280 @@
.\" OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.\" Internet Systems Consortium, Inc.
-.\" 950 Charter Street
-.\" Redwood City, CA 94063
+.\" PO Box 360
+.\" Newmarket, NH 03857 USA
.\" <info@isc.org>
.\" https://www.isc.org/
.\"
.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/dhcp-eval.5,v 1.2 2002/05/23 04:17:13 horikawa Exp $
.TH dhcp-eval 5
-.SH ̾¾Î
-dhcp-eval - ISC DHCP ¤Ë¤ª¤±¤ë¾ò·ïÉÕ¤­É¾²Á
-.SH ²òÀâ
-Internet Systems Consortium ¤Î DHCP ¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¤Ï¡¢¤É¤Á¤é¤â
-¼õ¿®¤¹¤ë¥Ñ¥±¥Ã¥È¤Ë°Í¸¤·¤¿¾ò·ïÉÕ¤­Æ°ºî¤ò¹Ô¤¦Ç½ÎϤò»ý¤Á¤Þ¤¹¡£
-¾ò·ïÉÕ¤­Æ°ºî¤Îʸˡ¤ò¤³¤³¤Ë¼¨¤·¤Þ¤¹¡£
-.SH »²¾È: ¾ò·ïÉÕ¤­Æ°ºî
-¾ò·ïÉÕ¤­Æ°ºî¤Ï¡¢if, else, elsif ʸ¤ò»ÈÍѤ·¤Æ»ØÄꤷ¤Þ¤¹¡£
-¾ò·ïʸ¤Ï¡¢Ä̾ïʸ (option ʸ) ¤¬Åоì²Äǽ¤Ê¾ì½ê¤Ï¤É¤³¤Ë¤Ç¤âÅоì²Äǽ¤Ç¤¢¤ê¡¢
-¤Þ¤¿¤³¤Î¤è¤¦¤Êʸ¤ò³ç¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£
-¥µ¡¼¥Ð¤Ë¤ª¤±¤ë¾ò·ïʸ¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¤³¤È¤¬Â¿¤¤¤Ç¤·¤ç¤¦:
+.SH ̾��
+dhcp-eval - ISC DHCP �ˤ��������դ�ɾ��
+.SH ����
+Internet Systems Consortium �� DHCP ���饤����Ȥȥ����Фϡ��ɤ����
+��������ѥ��åȤ˰�¸��������դ�ư���Ԥ�ǽ�Ϥ�����ޤ���
+����դ�ư���ʸˡ�򤳤��˼����ޤ���
+.SH ����: ����դ�ư��
+����դ�ư��ϡ�if, else, elsif ʸ����Ѥ��ƻ��ꤷ�ޤ���
+���ʸ�ϡ��̾�ʸ (option ʸ) ���о��ǽ�ʾ��Ϥɤ��ˤǤ��о��ǽ�Ǥ��ꡢ
+�ޤ����Τ褦��ʸ���뤳�Ȥ��ǽ�Ǥ���
+�����Фˤ�������ʸ�ϼ��Τ褦�ˤʤ뤳�Ȥ�¿���Ǥ��礦:
.PP
.nf
if option dhcp-user-class = "accounting" {
max-lease-time 17600;
option domain-name "accounting.example.org";
- option domain-name-servers ns1.accounting.example.org,
+ option domain-name-servers ns1.accounting.example.org,
ns2.accounting.example.org;
} elsif option dhcp-user-class = "sales" {
max-lease-time 17600;
option domain-name "sales.example.org";
- option domain-name-servers ns1.sales.example.org,
+ option domain-name-servers ns1.sales.example.org,
ns2.sales.example.org;
} elsif option dhcp-user-class = "engineering" {
max-lease-time 17600;
option domain-name "engineering.example.org";
- option domain-name-servers ns1.engineering.example.org,
+ option domain-name-servers ns1.engineering.example.org,
ns2.engineering.example.org;
} else {
max-lease-time 600;
option domain-name "misc.example.org";
- option domain-name-servers ns1.misc.example.org,
+ option domain-name-servers ns1.misc.example.org,
ns2.misc.example.org;
}
.fi
.PP
-¥¯¥é¥¤¥¢¥ó¥È¦¤Ç¤Ï¡¢¾ò·ïÉÕ¤­É¾²Á¤ÎÎã¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦:
+���饤�����¦�Ǥϡ�����դ�ɾ������ϼ��Τ褦�ˤʤ�Ǥ��礦:
.PP
.nf
-# example.org ¤Ï¥Õ¥¡¥¤¥ä¥¦¥©¡¼¥ë¤Ç DNS ¤ò¥Õ¥£¥ë¥¿¤¹¤ë¤Î¤Ç¡¢
-# example.org ¥Í¥Ã¥È¥ï¡¼¥¯¤Ë·Ò¤¬¤ë¤È¤­¤Î¤ß¡¢¤½¤Î DNS ¥µ¡¼¥Ð¤ò»ÈÍѤ·¤Þ¤¹¡£
-# example.org ¤Ë·Ò¤¬¤ë¤Î¤Ç¤Ï¤Ê¤¤¾ì¹ç¡¢¼«¸Ê¤Î DNS ¥µ¡¼¥Ð¤òÍ¥Àè»ÈÍѤ·¤Þ¤¹¡£
+# example.org �ϥե����䥦������� DNS ��ե��륿����Τǡ�
+# example.org �ͥåȥ���˷Ҥ���Ȥ��Τߡ����� DNS �����Ф���Ѥ��ޤ���
+# example.org �˷Ҥ���ΤǤϤʤ���硢���ʤ� DNS �����Ф�ͥ����Ѥ��ޤ���
if not option domain-name = "example.org" {
prepend domain-name-servers 127.0.0.1;
}
-.fi
+.fi
.PP
.B if
-ʸ¤È
+ʸ��
.B elsif
-·Ñ³ʸ¤Ï¡¢°ú¿ô¤È¤·¤Æ¥Ö¡¼¥ë¼°¤ò¼è¤ê¤Þ¤¹¡£
-¤Ä¤Þ¤ê¡¢¤³¤ì¤é¤Îʸ¤Ï¡¢É¾²Á¤µ¤ì¤ë¤È¥Ö¡¼¥ëÃͤηë²Ì¤òÀ¸À®¤¹¤ë¼°¤ò¼è¤ê¤Þ¤¹¡£
-¼°¤Îɾ²Á·ë²Ì¤¬¿¿¤Ë¤Ê¤ë¤È¡¢
+��³ʸ�ϡ������Ȥ��ƥ֡��뼰����ޤ���
+�Ĥޤꡢ������ʸ�ϡ�ɾ�������ȥ֡����ͤη�̤��������뼰����ޤ���
+����ɾ����̤����ˤʤ�ȡ�
.B if
-ʸ¤Îľ¸å¤Î¥Ö¥ì¡¼¥¹¤Ç³ç¤é¤ì¤¿Ê¸¤¬¼Â¹Ô¤µ¤ì¡¢¸å³¤¹¤ë
+ʸ��ľ��Υ֥졼���dz��줿ʸ���¹Ԥ��졢��³����
.B elsif
-¤È
+��
.B else
-¤ÎÀá¤Ï¥¹¥­¥Ã¥×¤µ¤ì¤Þ¤¹¡£
-¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¡¢É¾²Á·ë²Ì¤¬¿¿¤Ë¤Ê¤ë elsif Àá¤Ë½Ð²ñ¤¦¤Þ¤Ç¡¢¸å³¤¹¤ë³Æ
+����ϥ����åפ���ޤ���
+�����Ǥʤ���硢ɾ����̤����ˤʤ� elsif ��˽в񤦤ޤǡ���³�����
.B elsif
-Àá¤Î¼°¤¬¥Á¥§¥Ã¥¯¤µ¤ì¤Þ¤¹¡£
-¤½¤Î¤è¤¦¤ÊÀ᤬¸«ÉÕ¤«¤ë¤È¡¢Ä¾¸å¤Î¥Ö¥ì¡¼¥¹Ãæ¤Îʸ¤¬¼Â¹Ô¤µ¤ì¡¢¸å³¤¹¤ë
+��μ��������å�����ޤ���
+���Τ褦���᤬���դ���ȡ�ľ��Υ֥졼�����ʸ���¹Ԥ��졢��³����
.B elsif
-¤È
+��
.B else
-¤ÎÀá¤Ï¥¹¥­¥Ã¥×¤µ¤ì¤Þ¤¹¡£
-¤¹¤Ù¤Æ¤Î
+����ϥ����åפ���ޤ���
+���٤Ƥ�
.B if
-¤ª¤è¤Ó
+�����
.B elsif
-¤ÎÀ᤬¥Á¥§¥Ã¥¯¤µ¤ì¤¿¤â¤Î¤Î¤É¤Î¼°¤â¿¿¤Ë¤Ê¤é¤Ê¤¤¾ì¹ç¤Ç¡¢
+���᤬�����å����줿��ΤΤɤμ��⿿�ˤʤ�ʤ����ǡ�
.B else
-À᤬¸ºß¤¹¤ë¾ì¹ç¡¢
+�᤬¸�ߤ����硢
.B else
-¤Îľ¸å¤Î¥Ö¥ì¡¼¥¹Ãæ¤Îʸ¤¬É¾²Á¤µ¤ì¤Þ¤¹¡£
-¾ò·ï¤Ë¤ª¤¤¤Æ¤Ï¡¢É¾²Á·ë²Ì¤¬¶õ¤Ë¤Ê¤ë¥Ö¡¼¥ë¼°¤Ïµ¶¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£
-.SH ¥Ö¡¼¥ë¼°
-°Ê²¼¤Ï¡¢DHCP ÇÛÉÛʪ¤Ç¸½ºß¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥Ö¡¼¥ë¼°¤Î°ìÍ÷¤Ç¤¹¡£
+��ľ��Υ֥졼�����ʸ��ɾ������ޤ���
+���ˤ����Ƥϡ�ɾ����̤����ˤʤ�֡��뼰�ϵ��Ȥ��ư����ޤ���
+.SH �֡��뼰
+�ʲ��ϡ�DHCP ����ʪ�Ǹ��ߥ��ݡ��Ȥ���Ƥ���֡��뼰�ΰ����Ǥ���
.PP
.I data-expression-1 \fB=\fI data-expression-2\fR
.RS 0.25i
.PP
-\fB=\fR ¥ª¥Ú¥ì¡¼¥¿¤Ï¡¢2 ¸Ä¤Î¥Ç¡¼¥¿¼°¤òÈæ³Ó¤·¡¢Î¾¼Ô¤¬Æ±¤¸¾ì¹ç¤Ï¿¿¤òÊÖ¤·¡¢
-Ʊ°ì¤Ç¤Ê¤¤¾ì¹ç¤Ïµ¶¤òÊÖ¤·¤Þ¤¹¡£
-º¸Êդ⤷¤¯¤Ï±¦ÊդΤ¤¤º¤ì¤«¤¬¶õ¤Î¾ì¹ç¡¢·ë²Ì¤Ï¶õ¤Ë¤Ê¤ê¤Þ¤¹¡£
+\fB=\fR ���ڥ졼���ϡ�2 �ĤΥǡ���������Ӥ���ξ�Ԥ�Ʊ�����Ͽ����֤���
+Ʊ��Ǥʤ����ϵ����֤��ޤ���
+���դ⤷���ϱ��դΤ����줫�����ξ�硢��̤϶��ˤʤ�ޤ���
.RE
.PP
.I boolean-expression-1 \fBand\fI boolean-expression-2\fR
.PP
.RS 0.25i
-\fBand\fR ¥ª¥Ú¥ì¡¼¥¿¤Ï¡¢º¸ÊդΥ֡¼¥ë¼°¤È±¦ÊդΥ֡¼¥ë¼°¤ÎξÊý¤Îɾ²Á·ë²Ì¤¬
-¿¿¤Î¾ì¹ç¡¢¿¿¤Èɾ²Á¤µ¤ì¤Þ¤¹¡£
-¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¡¢µ¶¤Èɾ²Á¤µ¤ì¤Þ¤¹¡£
-º¸Êդ⤷¤¯¤Ï±¦ÊդΤ¤¤º¤ì¤«¤¬¶õ¤Î¾ì¹ç¡¢·ë²Ì¤Ï¶õ¤Ë¤Ê¤ê¤Þ¤¹¡£
+\fBand\fR ���ڥ졼���ϡ����դΥ֡��뼰�ȱ��դΥ֡��뼰��ξ����ɾ����̤�
+���ξ�硢����ɾ������ޤ���
+�����Ǥʤ���硢����ɾ������ޤ���
+���դ⤷���ϱ��դΤ����줫�����ξ�硢��̤϶��ˤʤ�ޤ���
.RE
.PP
.I boolean-expression-1 \fBor\fI boolean-expression-2\fR
.PP
.RS 0.25i
-\fBor\fR ¥ª¥Ú¥ì¡¼¥¿¤Ï¡¢º¸ÊդΥ֡¼¥ë¼°¤È±¦ÊդΥ֡¼¥ë¼°¤Î¤¤¤º¤ì¤«¤Îɾ²Á·ë²Ì¤¬
-¿¿¤Î¾ì¹ç¡¢¿¿¤Èɾ²Á¤µ¤ì¤Þ¤¹¡£
-¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¡¢µ¶¤Èɾ²Á¤µ¤ì¤Þ¤¹¡£
-º¸Êդ⤷¤¯¤Ï±¦ÊդΤ¤¤º¤ì¤«¤¬¶õ¤Î¾ì¹ç¡¢·ë²Ì¤Ï¶õ¤Ë¤Ê¤ê¤Þ¤¹¡£
+\fBor\fR ���ڥ졼���ϡ����դΥ֡��뼰�ȱ��դΥ֡��뼰�Τ����줫��ɾ����̤�
+���ξ�硢����ɾ������ޤ���
+�����Ǥʤ���硢����ɾ������ޤ���
+���դ⤷���ϱ��դΤ����줫�����ξ�硢��̤϶��ˤʤ�ޤ���
.RE
.PP
.B not \fIboolean-expression
.PP
.RS 0.25i
-\fBnot\fR ¥ª¥Ú¥ì¡¼¥¿¤Ï¡¢\fIboolean-expression\fR ¤Îɾ²Á·ë²Ì¤¬µ¶¤Î¾ì¹ç¡¢
-¿¿¤Èɾ²Á¤µ¤ì¤Þ¤¹¡£
-¤Þ¤¿¡¢\fIboolean-expression\fR ¤Îɾ²Á·ë²Ì¤¬¿¿¤Î¾ì¹ç¡¢µ¶¤Èɾ²Á¤µ¤ì¤Þ¤¹¡£
-\fIboolean-expression\fR ¤Îɾ²Á·ë²Ì¤¬¶õ¤Î¾ì¹ç¡¢·ë²Ì¤â¤Þ¤¿¶õ¤Ë¤Ê¤ê¤Þ¤¹¡£
+\fBnot\fR ���ڥ졼���ϡ�\fIboolean-expression\fR ��ɾ����̤����ξ�硢
+����ɾ������ޤ���
+�ޤ���\fIboolean-expression\fR ��ɾ����̤����ξ�硢����ɾ������ޤ���
+\fIboolean-expression\fR ��ɾ����̤����ξ�硢��̤�ޤ����ˤʤ�ޤ���
.RE
.PP
.B exists \fIoption-name\fR
.PP
.RS 0.25i
-\fBexists\fR ¼°¤Ï¡¢½èÍýÂоݤÎÆþÎÏ DCHP ¥Ñ¥±¥Ã¥ÈÃæ¤Ë¡¢
-»ØÄꤵ¤ì¤¿¥ª¥×¥·¥ç¥ó¤¬Â¸ºß¤¹¤ë¾ì¹ç¡¢¿¿¤òÊÖ¤·¤Þ¤¹¡£
+\fBexists\fR ���ϡ������оݤ����� DCHP �ѥ��å���ˡ�
+���ꤵ�줿���ץ����¸�ߤ����硢�����֤��ޤ���
.RE
.B known
.PP
.RS 0.25i
-\fBknown\fR ¼°¤Ï¡¢Í×µáÂбþÃæ¤Î¥¯¥é¥¤¥¢¥ó¥È¤¬´ûÃΤξì¹ç¡¢
-¤¹¤Ê¤ï¤Á¥Û¥¹¥ÈÀë¸À¤¬¤¢¤ë¾ì¹ç¡¢¿¿¤òÊÖ¤·¤Þ¤¹¡£
+\fBknown\fR ���ϡ��׵��б���Υ��饤����Ȥ����Τξ�硢
+���ʤ���ۥ�������������硢�����֤��ޤ���
.RE
.B static
.PP
.RS 0.25i
-\fBstatic\fR ¼°¤Ï¡¢Í×µáÂбþÃæ¤Î¥¯¥é¥¤¥¢¥ó¥È¤Ø¤Î¥ê¡¼¥¹³ä¤êÅö¤Æ¤¬¡¢
-ÀÅŪ¥¢¥É¥ì¥¹³ä¤êÅö¤Æ¤Ë¤è¤ë¤â¤Î¤Ç¤¢¤Ã¤¿¾ì¹ç¡¢¿¿¤òÊÖ¤·¤Þ¤¹¡£
+\fBstatic\fR ���ϡ��׵��б���Υ��饤����ȤؤΥ꡼��������Ƥ���
+��Ū���ɥ쥹������Ƥˤ���ΤǤ��ä���硢�����֤��ޤ���
.RE
-.SH ¥Ç¡¼¥¿¼°
-Á°½Ò¤Î¥Ö¡¼¥ë¼°¤Ï¡¢¥Ç¡¼¥¿¼°¤Îɾ²Á·ë²Ì¤Ë°Í¸¤·¤Þ¤¹¡£
-¥Ç¡¼¥¿¼°¤ò¤³¤³¤Ë¼¨¤·¤Þ¤¹¡£
+.SH �ǡ�����
+���ҤΥ֡��뼰�ϡ��ǡ�������ɾ����̤˰�¸���ޤ���
+�ǡ������򤳤��˼����ޤ���
.PP
.B substring (\fIdata-expr\fB, \fIoffset\fB, \fIlength\fB)\fR
.PP
.RS 0.25i
-\fBsubstring\fR ¥ª¥Ú¥ì¡¼¥¿¤Ï¡¢¥Ç¡¼¥¿¼°¤òɾ²Á¤·¡¢
-ɾ²Á·ë²ÌÃæ¤Î \fIoffset\fR ¥Ð¥¤¥È¤«¤é³«»Ï¤·¤Æ \fIlength\fR ¥Ð¥¤¥È·Ñ³¤¹¤ë
-¥µ¥Ö¥¹¥È¥ê¥ó¥°¤òÊÖ¤·¤Þ¤¹¡£
-\fIoffset\fR ¤È \fIlength\fR ¤Ï¶¦¤Ë¿ôÃͼ°¤Ç¤¹¡£
-\fIdata-expr\fR, \fIoffset\fR, \fIlength\fR ¤Î¤¤¤º¤ì¤«¤¬¶õ¤Èɾ²Á¤µ¤ì¤ë¾ì¹ç¡¢
-·ë²Ì¤â¤Þ¤¿¶õ¤Ë¤Ê¤ê¤Þ¤¹¡£
-\fIoffset\fR ¤¬¡¢É¾²Á¤µ¤ì¤¿¥Ç¡¼¥¿¤ÎŤµ°Ê¾å¤Ç¤¢¤ë¾ì¹ç¡¢
-Ťµ 0 ¤Î¥Ç¡¼¥¿Ê¸»úÎó¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£
-\fIlength\fI ¤¬¡¢É¾²Á¤µ¤ì¤¿¥Ç¡¼¥¿¤Î \fIoffset\fR ¤è¤ê¸å¤ÎŤµ¤è¤êÂ礭¤¤¾ì¹ç¡¢
-ɾ²Á¤µ¤ì¤¿¥Ç¡¼¥¿¤Î \fIoffset\fR ¤«¤é½ªÃ¼¤Þ¤Ç¤ÎÁ´¥Ç¡¼¥¿¤ò´Þ¤à
-¥Ç¡¼¥¿Ê¸»úÎó¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£
+\fBsubstring\fR ���ڥ졼���ϡ��ǡ�������ɾ������
+ɾ�������� \fIoffset\fR �Х��Ȥ��鳫�Ϥ��� \fIlength\fR �Х��ȷ�³����
+���֥��ȥ�󥰤��֤��ޤ���
+\fIoffset\fR �� \fIlength\fR �϶��˿��ͼ��Ǥ���
+\fIdata-expr\fR, \fIoffset\fR, \fIlength\fR �Τ����줫������ɾ��������硢
+��̤�ޤ����ˤʤ�ޤ���
+\fIoffset\fR ����ɾ�����줿�ǡ�����Ĺ���ʾ�Ǥ����硢
+Ĺ�� 0 �Υǡ���ʸ�����֤���ޤ���
+\fIlength\fI ����ɾ�����줿�ǡ����� \fIoffset\fR �����Ĺ������礭����硢
+ɾ�����줿�ǡ����� \fIoffset\fR ���齪ü�ޤǤ����ǡ�����ޤ�
+�ǡ���ʸ�����֤���ޤ���
.RE
.PP
.B suffix (\fIdata-expr\fB, \fIlength\fB)\fR
.PP
.RS 0.25i
-\fBsuffix\fR ¥ª¥Ú¥ì¡¼¥¿¤Ï¡¢\fIdata-expr\fR ¤òɾ²Á¤·¡¢
-ɾ²Á·ë²Ì¤ÎºÇ¸å¤Î \fIlength\fR ¥Ð¥¤¥È¤òÊÖ¤·¤Þ¤¹¡£
-\fIlength\fR ¤Ï¿ôÃͼ°¤Ç¤¹¡£
-\fIdata-expr\fR ¤Þ¤¿¤Ï \fIlength\fR ¤Îɾ²Á·ë²Ì¤¬¶õ¤Î¾ì¹ç¡¢
-·ë²Ì¤â¤Þ¤¿¶õ¤Ë¤Ê¤ê¤Þ¤¹¡£
+\fBsuffix\fR ���ڥ졼���ϡ�\fIdata-expr\fR ��ɾ������
+ɾ����̤κǸ�� \fIlength\fR �Х��Ȥ��֤��ޤ���
+\fIlength\fR �Ͽ��ͼ��Ǥ���
+\fIdata-expr\fR �ޤ��� \fIlength\fR ��ɾ����̤����ξ�硢
+��̤�ޤ����ˤʤ�ޤ���
\fIsuffix\fR
-(ÌõÃí: \fIlength\fR ¤¬Àµ¤·¤¤¤È»×¤ï¤ì¤Þ¤¹)
-¤Îɾ²Á·ë²Ì¤¬É¾²Á¤µ¤ì¤¿¥Ç¡¼¥¿¤ÎŤµ¤è¤êÂ礭¤¤¾ì¹ç¡¢
-ɾ²Á¤µ¤ì¤¿¥Ç¡¼¥¿¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£
+(����: \fIlength\fR ���������Ȼפ��ޤ�)
+��ɾ����̤�ɾ�����줿�ǡ�����Ĺ������礭����硢
+ɾ�����줿�ǡ������֤���ޤ���
.\" horikawa@jp.FreeBSD.org 2002/04/29
.RE
.PP
.B option \fIoption-name\fR
.PP
.RS 0.25i
-\fBoption\fR ¥ª¥Ú¥ì¡¼¥¿¤Ï¡¢¥µ¡¼¥Ð¤¬±þÅú½èÍýÃæ¤Î¥Ñ¥±¥Ã¥È¤ÎÃæ¤Î¡¢
-»ØÄꤷ¤¿¥ª¥×¥·¥ç¥ó¤ÎÆâÍƤòÊÖ¤·¤Þ¤¹¡£
+\fBoption\fR ���ڥ졼���ϡ������Ф�����������Υѥ��åȤ���Ρ�
+���ꤷ�����ץ��������Ƥ��֤��ޤ���
.RE
.PP
.B config-option \fIoption-name\fR
.PP
.RS 0.25i
-\fBconfig-option\fR ¥ª¥Ú¥ì¡¼¥¿¤Ï¡¢»ØÄꤷ¤¿¥ª¥×¥·¥ç¥ó¤ËÂФ·¡¢
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Þ¤¿¤Ï¥µ¡¼¥Ð¤¬Á÷½Ð¤¹¤ë¤è¤¦ÀßÄꤵ¤ì¤¿ÃͤòÊÖ¤·¤Þ¤¹¡£
+\fBconfig-option\fR ���ڥ졼���ϡ����ꤷ�����ץ������Ф���
+DHCP ���饤����Ȥޤ��ϥ����Ф����Ф���褦���ꤵ�줿�ͤ��֤��ޤ���
.RE
.PP
.B hardware
.PP
.RS 0.25i
-\fBhardware\fR ¥ª¥Ú¥ì¡¼¥¿¤Ï¡¢¥Ç¡¼¥¿¥¹¥È¥ê¥ó¥°¤òÊÖ¤·¤Þ¤¹¡£
-¥Ç¡¼¥¿¥¹¥È¥ê¥ó¥°¤ÎºÇ½é¤ÎÍ×ÁǤϡ¢
-Âоݥѥ±¥Ã¥È¤¬¼¨¤¹¥Í¥Ã¥È¥ï¡¼¥¯¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥¿¥¤¥×¤Ç¤¢¤ê¡¢
-¸å³¤¹¤ëÍ×ÁǤϡ¢¥¯¥é¥¤¥¢¥ó¥È¤Î¥ê¥ó¥¯ÁØ¥¢¥É¥ì¥¹¤Ç¤¹¡£
-¥Ñ¥±¥Ã¥È¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤â¤·¤¯¤Ï RFC2131 \fIhlen\fR ¥Õ¥£¡¼¥ë¥É¤¬Ìµ¸ú¤Ê¾ì¹ç¡¢
-·ë²Ì¤Ï¶õ¤Ë¤Ê¤ê¤Þ¤¹¡£
-¥Ï¡¼¥É¥¦¥§¥¢¥¿¥¤¥×¤Ë¤Ï¡¢¥¤¡¼¥µ¥Í¥Ã¥È (1)¡¢¥È¡¼¥¯¥ó¥ê¥ó¥° (6)¡¢
-FDDI (8) ¤¬´Þ¤Þ¤ì¤Þ¤¹¡£
-¥Ï¡¼¥É¥¦¥§¥¢¥¿¥¤¥×¤Ï IETF ¤Ë¤è¤Ã¤Æµ¬Äꤵ¤ì¡¢
-¤É¤Î¤è¤¦¤Ë¥¿¥¤¥×¤Î¿ôÃͤ¬ÄêµÁ¤µ¤ì¤ë¤«¤Î¾ÜºÙ¤Ï RFC2131
-(ISC DHCP ÇÛÉÛʪ¤Ç¤Ï¡¢doc/ ¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ê¤Þ¤¹) ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+\fBhardware\fR ���ڥ졼���ϡ��ǡ������ȥ�󥰤��֤��ޤ���
+�ǡ������ȥ�󥰤κǽ�����Ǥϡ�
+�оݥѥ��åȤ������ͥåȥ�����󥿥ե������Υ����פǤ��ꡢ
+��³�������Ǥϡ����饤����ȤΥ���إ��ɥ쥹�Ǥ���
+�ѥ��åȤ�¸�ߤ��ʤ����⤷���� RFC2131 \fIhlen\fR �ե�����ɤ�̵���ʾ�硢
+��̤϶��ˤʤ�ޤ���
+�ϡ��ɥ����������פˤϡ��������ͥå� (1)���ȡ������� (6)��
+FDDI (8) ���ޤޤ�ޤ���
+�ϡ��ɥ����������פ� IETF �ˤ�äƵ��ꤵ�졢
+�ɤΤ褦�˥����פο��ͤ��������뤫�ξܺ٤� RFC2131
+(ISC DHCP ����ʪ�Ǥϡ�doc/ ���֥ǥ��쥯�ȥ�ˤ���ޤ�) �򻲾Ȥ��Ƥ���������
.RE
.PP
.B packet (\fIoffset\fB, \fIlength\fB)\fR
.PP
.RS 0.25i
-\fBpacket\fR ¥ª¥Ú¥ì¡¼¥¿¤Ï¡¢Âоݥѥ±¥Ã¥È¤Î»ØÄêÉôʬ¤òÊÖ¤¹¤«¡¢
-Âоݥѥ±¥Ã¥È¤¬Ìµ¤¤Ê¸Ì®¤Ç¤Ï¶õ¤òÊÖ¤·¤Þ¤¹¡£
-\fIoffset\fR ¤È \fIlength\fR ¤Ï¡¢
-\fBsubstring\fR ¥ª¥Ú¥ì¡¼¥¿¤ÈƱÍͤˡ¢¥Ñ¥±¥Ã¥È¤ÎÆâÍƤËŬÍѤµ¤ì¤Þ¤¹¡£
+\fBpacket\fR ���ڥ졼���ϡ��оݥѥ��åȤλ�����ʬ���֤�����
+�оݥѥ��åȤ�̵��ʸ̮�Ǥ϶����֤��ޤ���
+\fIoffset\fR �� \fIlength\fR �ϡ�
+\fBsubstring\fR ���ڥ졼����Ʊ�ͤˡ��ѥ��åȤ����Ƥ�Ŭ�Ѥ���ޤ���
.RE
.PP
.I string
.PP
.RS 0.25i
-¥¯¥©¡¼¥È¤Ç³ç¤é¤ì¤¿¥¹¥È¥ê¥ó¥°¤Ï¥Ç¡¼¥¿¼°¤È¤·¤Æ»ØÄê²Äǽ¤Ç¤¢¤ê¡¢
-¥¯¥©¡¼¥È¤Î´Ö¤ò ASCII ¥¨¥ó¥³¡¼¥É¤·¤¿¤Î¥Æ¥­¥¹¥È¤òÊÖ¤·¤Þ¤¹¡£
-¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å ('\\') ʸ»ú¤Ï C ¥×¥í¥°¥é¥à¤Î¤è¤¦¤ËÆÃÊÌ°·¤¤¤µ¤ì¤Þ¤¹:
-¤¹¤Ê¤ï¤Á '\\t' ¤Ï¥¿¥Ö¤ò¡¢'\\r' ¤ÏÉü²þ¤ò¡¢'\\n' ¤Ï²þ¹Ô¤ò¡¢'\\b' ¤Ï¥Ù¥ë¤ò
-°ÕÌ£¤·¤Þ¤¹¡£
-8 ¿Ê¿ôÃÍ¤Ï '\\nnn' ¤Ç»ØÄê²Äǽ¤Ç¤¢¤ê¡¢nnn ¤Ï 0 °Ê¾å 0377 °Ê²¼¤Î 8 ¿Ê¿ôÃͤǤ¹¡£
-16 ¿Ê¿ôÃÍ¤Ï '\\xnn' ¤Ç»ØÄê²Äǽ¤Ç¤¢¤ê¡¢nn ¤Ï 0 °Ê¾å 0xff °Ê²¼¤Î 16 ¿Ê¿ôÃͤǤ¹¡£
-.\" ÃͤÎÈϰϤθí¤ê¤Ë¤Ä¤¤¤Æ¤Ï¡¢Murray ·Ðͳ¤Ç¥ì¥Ý¡¼¥ÈºÑ
+�������Ȥdz��줿���ȥ�󥰤ϥǡ������Ȥ��ƻ����ǽ�Ǥ��ꡢ
+�������Ȥδ֤� ASCII ���󥳡��ɤ����Υƥ����Ȥ��֤��ޤ���
+�Хå�����å��� ('\\') ʸ���� C �ץ������Τ褦�����̰�������ޤ�:
+���ʤ�� '\\t' �ϥ��֤�'\\r' ��������'\\n' �ϲ��Ԥ�'\\b' �ϥ٥��
+��̣���ޤ���
+8 �ʿ��ͤ� '\\nnn' �ǻ����ǽ�Ǥ��ꡢnnn �� 0 �ʾ� 0377 �ʲ��� 8 �ʿ��ͤǤ���
+16 �ʿ��ͤ� '\\xnn' �ǻ����ǽ�Ǥ��ꡢnn �� 0 �ʾ� 0xff �ʲ��� 16 �ʿ��ͤǤ���
+.\" �ͤ��ϰϤθ���ˤĤ��Ƥϡ�Murray ��ͳ�ǥ�ݡ��Ⱥ�
.\" horikawa@jp.FreeBSD.org 2002/05/01
.RE
.PP
.I colon-separated hexadecimal list
.PP
.RS 0.25i
-¥³¥í¥ó¤Ç¶èÀÚ¤é¤ì¤¿ 16 ¿Ê¿ô¤Î¥ª¥¯¥Æ¥Ã¥ÈÃͤΥꥹ¥È¤ò¡¢
-¥Ç¡¼¥¿¼°¤È¤·¤Æ»ØÄê²Äǽ¤Ç¤¹¡£
+������Ƕ��ڤ�줿 16 �ʿ��Υ����ƥå��ͤΥꥹ�Ȥ�
+�ǡ������Ȥ��ƻ����ǽ�Ǥ���
.RE
.PP
.B concat (\fIdata-expr1\fB, ..., \fIdata-exprN\fB)\fR
.RS 0.25i
-¼°¤¬É¾²Á¤µ¤ì¡¢³Æɾ²Á·ë²Ì¤¬¥µ¥Ö¼°¤Î½çÈÖ¤ËÏ¢·ë¤µ¤ì¤Þ¤¹¡£
-¥µ¥Ö¼°¤Î¤¤¤º¤ì¤«¤Îɾ²Á·ë²Ì¤¬¶õ¤Ë¤Ê¤ë¾ì¹ç¡¢Ï¢·ë¤Î·ë²Ì¤Ï¶õ¤Ë¤Ê¤ê¤Þ¤¹¡£
+����ɾ�����졢��ɾ����̤����ּ��ν��֤�Ϣ�뤵��ޤ���
+���ּ��Τ����줫��ɾ����̤����ˤʤ��硢Ϣ��η�̤϶��ˤʤ�ޤ���
.RE
.PP
.B reverse (\fInumeric-expr1\fB, \fIdata-expr2\fB)\fR
.RS 0.25i
-2 ¸Ä¤Î¼°¤¬É¾²Á¤µ¤ì¡¢¥Ç¡¼¥¿¼°¤Îɾ²Á·ë²Ì¤¬¤½¤Î¾ì¤Çȿž¤µ¤ì¤Þ¤¹¡£
-ȿž¤Ï¡¢¿ôÃͼ°¤Ç»ØÄꤵ¤ì¤ëÂ礭¤µ¤Îñ°Ì¤Ç¹Ô¤ï¤ì¤Þ¤¹¡£
-Î㤨¤Ð¡¢¿ôÃͼ°¤Îɾ²Á·ë²Ì¤¬ 4 ¤Î¾ì¹ç¤Ç¡¢
-¥Ç¡¼¥¿¼°¤Îɾ²Á·ë²Ì¤¬ 12 ¥Ð¥¤¥È¤Ë¤Ê¤ë¾ì¹ç¡¢
-reverse ¼°¤Îɾ²Á·ë²Ì¤Ï¡¢¼¡¤Î¤è¤¦¤Ê 12 ¥Ð¥¤¥È¤Î¥Ç¡¼¥¿¤Ë¤Ê¤ê¤Þ¤¹¡£
-¤¹¤Ê¤ï¤Á¡¢ÆþÎϤκǸå¤Î 4 ¥Ð¥¤¥È¡¢¿¿Ãæ¤Î 4¥Ð¥¤¥È¡¢ºÇ½é¤Î 4 ¥Ð¥¤¥È¤Î
-½ç¤Ë¤Ê¤ê¤Þ¤¹¡£
+2 �Ĥμ���ɾ�����졢�ǡ�������ɾ����̤����ξ��ȿž����ޤ���
+ȿž�ϡ����ͼ��ǻ��ꤵ����礭����ñ�̤ǹԤ��ޤ���
+�㤨�С����ͼ���ɾ����̤� 4 �ξ��ǡ�
+�ǡ�������ɾ����̤� 12 �Х��Ȥˤʤ��硢
+reverse ����ɾ����̤ϡ����Τ褦�� 12 �Х��ȤΥǡ����ˤʤ�ޤ���
+���ʤ�������ϤκǸ�� 4 �Х��ȡ������ 4�Х��ȡ��ǽ�� 4 �Х��Ȥ�
+��ˤʤ�ޤ���
.RE
.PP
.B leased-address
.RS 0.25i
-¤¤¤«¤Ê¤ëʸ̮¤Ë¤ª¤¤¤Æ¤â¡¢
-Í×µá½èÍýÂоݤȤʤäƤ¤¤ë¥¯¥é¥¤¥¢¥ó¥È¤Ë IP ¥¢¥É¥ì¥¹¤¬³ä¤êÅö¤ÆºÑ¤Î¾ì¹ç¡¢
-¤½¤Î IP ¥¢¥É¥ì¥¹¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£
+�����ʤ�ʸ̮�ˤ����Ƥ⡢
+�׵�����оݤȤʤäƤ��륯�饤����Ȥ� IP ���ɥ쥹��������ƺѤξ�硢
+���� IP ���ɥ쥹���֤���ޤ���
.RE
.PP
.B binary-to-ascii (\fInumeric-expr1\fB, \fInumeric-expr2\fB,
.B \fIdata-expr1\fB,\fR \fIdata-expr2\fB)\fR
.RS 0.25i
-data-expr2 ¤Îɾ²Á·ë²Ì¤ò¥Æ¥­¥¹¥È¥¹¥È¥ê¥ó¥°¤ËÊÑ´¹¤·¤Þ¤¹¡£
-¤³¤Î¥Æ¥­¥¹¥È¥¹¥È¥ê¥ó¥°Ãæ¤Ç¤Ï¡¢
-data-expr2 ¤Îɾ²Á·ë²Ì¤Î³ÆÍ×ÁǤ¬¡¢1 ¸Ä¤Î¿ôÃͤˤʤê¤Þ¤¹¡£
-³Æ¿ôÃͤϡ¢¤½¤ì¤¾¤ì¡¢data-expr1 ¤Îɾ²Á·ë²Ì¤Ë¤è¤Ã¤Æ¶èÀÚ¤é¤ì¤Þ¤¹¡£
-numeric-expr1 ¤Îɾ²Á·ë²Ì¤Ï¡¢´ð¿ô (2 ¤«¤é 16) ¤Ç¤¢¤ê¡¢
-¤³¤Î´ð¿ô¤Ë¿ôÃͤ¬ÊÑ´¹¤µ¤ì¤Þ¤¹¡£
-numeric-expr2 ¤Îɾ²Á·ë²Ì¤Ï¡¢³Æ¿ôÃͤΥӥåÈÉý¤Ç¤¢¤ê¡¢
-8, 16, 32 ¤Î¤¤¤º¤ì¤«¤Ç¤¹¡£
-.PP
-ºÇ½é¤Î 3 ¸Ä¤Î¥¿¥¤¥×¤Î¼°¤ÎÎã¤È¤·¤Æ¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿ IP ¥¢¥É¥ì¥¹ÍѤÎ
-PTR ¥ì¥³¡¼¥É¤Î̾Á°¤òÀ¸À®¤¹¤ë¤¿¤á¤Ë»ÈÍѲÄǽ¤Ê¼°¤ò¼¨¤·¤Þ¤¹
+data-expr2 ��ɾ����̤�ƥ����ȥ��ȥ�󥰤��Ѵ����ޤ���
+���Υƥ����ȥ��ȥ����Ǥϡ�
+data-expr2 ��ɾ����̤γ����Ǥ���1 �Ĥο��ͤˤʤ�ޤ���
+�ƿ��ͤϡ����줾�졢data-expr1 ��ɾ����̤ˤ�äƶ��ڤ��ޤ���
+numeric-expr1 ��ɾ����̤ϡ���� (2 ���� 16) �Ǥ��ꡢ
+���δ���˿��ͤ��Ѵ�����ޤ���
+numeric-expr2 ��ɾ����̤ϡ��ƿ��ͤΥӥå����Ǥ��ꡢ
+8, 16, 32 �Τ����줫�Ǥ���
+.PP
+�ǽ�� 3 �ĤΥ����פμ�����Ȥ��ơ�
+���饤����Ȥ˳�����Ƥ�줿 IP ���ɥ쥹�Ѥ�
+PTR �쥳���ɤ�̾�����������뤿��˻��Ѳ�ǽ�ʼ��򼨤��ޤ�
.RE
.PP
.nf
@@ -301,182 +301,182 @@ PTR ¥ì¥³¡¼¥É¤Î̾Á°¤òÀ¸À®¤¹¤ë¤¿¤á¤Ë»ÈÍѲÄǽ¤Ê¼°¤ò¼¨¤·¤Þ¤¹
.PP
.B encode-int (\fInumeric-expr\fB, \fIwidth\fB)\fR
.RS 0.25i
-¿ôÃͼ°¤¬É¾²Á¤µ¤ì¡¢»ØÄꤵ¤ì¤¿Éý¤Î¥Ç¡¼¥¿¥¹¥È¥ê¥ó¥°¤Ë
-¥Í¥Ã¥È¥ï¡¼¥¯¥Ð¥¤¥È½ç (ºÇ¾å°Ì¥Ð¥¤¥È¤¬ºÇ½é) ¤Ç¥¨¥ó¥³¡¼¥É¤µ¤ì¤Þ¤¹¡£
-¿ôÃͼ°¤Îɾ²Á·ë²Ì¤¬¶õ¤ÎÃͤˤʤë¾ì¹ç¡¢·ë²Ì¤â¤Þ¤¿¶õ¤Ç¤¹¡£
+���ͼ���ɾ�����졢���ꤵ�줿���Υǡ������ȥ�󥰤�
+�ͥåȥ���Х��Ƚ� (�Ǿ�̥Х��Ȥ��ǽ�) �ǥ��󥳡��ɤ���ޤ���
+���ͼ���ɾ����̤������ͤˤʤ��硢��̤�ޤ����Ǥ���
.RE
-.\" ¤³¤Î ".RE" ¤¬Ìµ¤¤¤È¡¢¥¤¥ó¥Ç¥ó¥È¤¬Àµ¤·¤¯¤Ê¤¤¤Ç¤¹
+.\" ���� ".RE" ��̵���ȡ�����ǥ�Ȥ��������ʤ��Ǥ�
.\" horikawa@jp.FreeBSD.org 2002/04/29
.PP
.B pick-first-value (\fIdata-expr1\fR [ ... \fIexpr\fRn ] \fB)\fR
.RS 0.25i
-pick-first-value ´Ø¿ô¤Ï¡¢Ç¤°Õ¸Ä¤Î¥Ç¡¼¥¿¼°¤ò¼è¤êÆÀ¤Þ¤¹¡£
-¥ê¥¹¥È¤ÎÀèƬ¤«¤é³Æ¼°¤¬É¾²Á¤µ¤ì¡¢
-ɾ²Á·ë²Ì¤¬¶õ¤Ç¤Ï¤Ê¤¤¼°¤¬¸«ÉÕ¤«¤ë¤Þ¤Ç¤³¤ì¤¬Â³¤­¤Þ¤¹¡£
-¤³¤Î¼°¤¬ÊÖ¤µ¤ì¡¢¤³¤Î¼°¤Ë¸å³¤¹¤ë¼°¤Ïɾ²Á¤µ¤ì¤Þ¤»¤ó¡£
-¤¹¤Ù¤Æ¤Î¼°¤Îɾ²Á·ë²Ì¤¬¶õ¤Î¾ì¹ç¡¢¶õ¤ÎÃͤ¬ÊÖ¤µ¤ì¤Þ¤¹¡£
+pick-first-value �ؿ��ϡ�Ǥ�ոĤΥǡ������������ޤ���
+�ꥹ�Ȥ���Ƭ����Ƽ���ɾ�����졢
+ɾ����̤����ǤϤʤ��������դ���ޤǤ��줬³���ޤ���
+���μ����֤��졢���μ��˸�³���뼰��ɾ������ޤ���
+���٤Ƥμ���ɾ����̤����ξ�硢�����ͤ��֤���ޤ���
.RE
.PP
.B host-decl-name
.RS 0.25i
-host-decl-name ´Ø¿ô¤Ï¡¢¸½ºßÍ×µá½èÍýÂоݤȤʤäƤ¤¤ë¥¯¥é¥¤¥¢¥ó¥È¤Ë¥Þ¥Ã¥Á¤¹¤ë¡¢
-¥Û¥¹¥ÈÀë¸À¤Î̾Á°¤òÊÖ¤·¤Þ¤¹¡£
-¤É¤Î¥Û¥¹¥ÈÀë¸À¤â¥Þ¥Ã¥Á¤·¤Ê¤¤¾ì¹ç¡¢·ë²Ì¤Ï¶õ¤Ë¤Ê¤ê¤Þ¤¹¡£
+host-decl-name �ؿ��ϡ������׵�����оݤȤʤäƤ��륯�饤����Ȥ˥ޥå����롢
+�ۥ��������̾�����֤��ޤ���
+�ɤΥۥ��������ޥå����ʤ���硢��̤϶��ˤʤ�ޤ���
.RE
-.SH ¿ôÃͼ°
-¿ôÃͼ°¤Ï¡¢É¾²Á·ë²Ì¤¬À°¿ô¤Ë¤Ê¤ë¼°¤Ç¤¹¡£
-°ìÈ̤ˡ¢À°¿ô¤ÎºÇÂ祵¥¤¥º¤¬ 32 ¥Ó¥Ã¥È̤Ëþ¤Ç¤¢¤ë¤È²¾Äꤹ¤Ù¤­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢
-À°¿ô¤ÎÀºÅÙ¤¬ 32 ¥Ó¥Ã¥È¤ò±Û¤¨¤ë¤³¤È¤Ï¤¢¤êÆÀ¤Þ¤¹¡£
+.SH ���ͼ�
+���ͼ��ϡ�ɾ����̤������ˤʤ뼰�Ǥ���
+���̤ˡ������κ��祵������ 32 �ӥå�̤���Ǥ���Ȳ��ꤹ�٤��ǤϤ���ޤ��󤬡�
+���������٤� 32 �ӥåȤ�ۤ��뤳�ȤϤ������ޤ���
.PP
.B extract-int (\fIdata-expr\fB, \fIwidth\fB)\fR
.PP
.RS 0.25i
-\fBextract-int\fR ¥ª¥Ú¥ì¡¼¥¿¤Ï¡¢¥Í¥Ã¥È¥ï¡¼¥¯¥Ð¥¤¥È½ç¤ÎÀ°¿ô¤ò¡¢
-»ØÄꤷ¤¿¥Ç¡¼¥¿¼°¤Îɾ²Á·ë²Ì¤«¤é¼è¤ê½Ð¤·¤Þ¤¹¡£
-Éý¤Ï¡¢¼è¤ê½Ð¤¹À°¿ô¤Î¥Ó¥Ã¥ÈÉý¤Ç¤¹¡£
-¸½ºß¡¢¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ëÉý¤Ï 8, 16, 32 ¤Î¤¤¤º¤ì¤«¤Ç¤¹¡£
-¥Ç¡¼¥¿¼°¤Îɾ²Á·ë²Ì¤¬¡¢»ØÄꤷ¤¿Â礭¤µ¤ÎÀ°¿ô¤È¼è¤ê½Ð¤¹¤Î¤Ë
-½½Ê¬¤Ê¥Ó¥Ã¥È¤òÄ󶡤·¤Ê¤¤¾ì¹ç¡¢¶õ¤ÎÃͤ¬ÊÖ¤µ¤ì¤Þ¤¹¡£
+\fBextract-int\fR ���ڥ졼���ϡ��ͥåȥ���Х��Ƚ��������
+���ꤷ���ǡ�������ɾ����̤�����Ф��ޤ���
+���ϡ����Ф������Υӥå����Ǥ���
+���ߡ����ݡ��Ȥ���Ƥ������� 8, 16, 32 �Τ����줫�Ǥ���
+�ǡ�������ɾ����̤������ꤷ���礭���������ȼ��Ф��Τ�
+��ʬ�ʥӥåȤ��󶡤��ʤ���硢�����ͤ��֤���ޤ���
.RE
.PP
.B lease-time
.PP
.RS 0.25i
-¸½ºß¤Î¥ê¡¼¥¹¤Î´ü´Ö¤Ç¤¹¡£
-¤¹¤Ê¤ï¤Á¡¢¸½ºß¤Î»þ¹ï¤È¥ê¡¼¥¹¤Î´ü¸Â¤¬ÀÚ¤ì¤ë»þ¹ï¤È¤Îº¹¤Ç¤¹¡£
+���ߤΥ꡼���δ��֤Ǥ���
+���ʤ�������ߤλ���ȥ꡼���δ��¤��ڤ�����Ȥκ��Ǥ���
.RE
.PP
.I number
.PP
.RS 0.25i
-0 ¤«¤éɽ¸½²Äǽ¤ÊºÇÂ祵¥¤¥º¤ÎÈϰϤÎǤ°Õ¤Î¿ôÃͤò¡¢¿ôÃͼ°¤È¤·¤Æ»ØÄê²Äǽ¤Ç¤¹¡£
+0 ����ɽ����ǽ�ʺ��祵�������ϰϤ�Ǥ�դο��ͤ򡢿��ͼ��Ȥ��ƻ����ǽ�Ǥ���
.RE
.PP
.B client-state
.PP
.RS 0.25i
-½èÍýÂоݤΥ¯¥é¥¤¥¢¥ó¥È¤Î¸½ºß¤Î¾õÂ֤Ǥ¹¡£
-DHCP ¥¯¥é¥¤¥¢¥ó¥ÈÀßÄê¥Õ¥¡¥¤¥ë¤Ë¤ª¤¤¤Æ¤Î¤ßÍ­ÍѤǤ¹¡£
-¼è¤êÆÀ¤ëÃͤϼ¡¤ÎÄ̤ê¤Ç¤¹:
+�����оݤΥ��饤����Ȥθ��ߤξ��֤Ǥ���
+DHCP ���饤���������ե�����ˤ����ƤΤ�ͭ�ѤǤ���
+��������ͤϼ����̤�Ǥ�:
.TP 2
.I \(bu
-Booting - DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï INIT ¾õÂ֤Ǥ¢¤ê¡¢
-IP ¥¢¥É¥ì¥¹¤ò¤Þ¤À»ý¤Á¤Þ¤»¤ó¡£
-¼¡¤ËÁ÷¿®¤µ¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Ï DHCPDISCOVER ¤Ç¤¢¤ê¡¢
-¤³¤ì¤Ï¥Ö¥í¡¼¥É¥­¥ã¥¹¥È¤µ¤ì¤Þ¤¹¡£
+Booting - DHCP ���饤����Ȥ� INIT ���֤Ǥ��ꡢ
+IP ���ɥ쥹��ޤ������ޤ���
+��������������å������� DHCPDISCOVER �Ǥ��ꡢ
+����ϥ֥����ɥ��㥹�Ȥ���ޤ���
.TP
.I \(bu
-Reboot - DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï INIT-REBOOT ¾õÂ֤Ǥ¹¡£
-IP ¥¢¥É¥ì¥¹¤ò»ý¤Á¤Þ¤¹¤¬¤Þ¤À»ÈÍѤ·¤Æ¤¤¤Þ¤»¤ó¡£
-¼¡¤ËÁ÷¿®¤µ¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Ï DHCPREQUEST ¤Ç¤¢¤ê¡¢
-¤³¤ì¤Ï¥Ö¥í¡¼¥É¥­¥ã¥¹¥È¤µ¤ì¤Þ¤¹¡£
-±þÅú¤¬²¿¤âʹ¤³¤¨¤Ê¤¤¤È¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï¤³¤Î¥¢¥É¥ì¥¹¤Ë¥Ð¥¤¥ó¥É¤·¡¢
-BOUND ¾õÂÖ¤ËÁ«°Ü¤·¤Þ¤¹¡£
+Reboot - DHCP ���饤����Ȥ� INIT-REBOOT ���֤Ǥ���
+IP ���ɥ쥹������ޤ����ޤ����Ѥ��Ƥ��ޤ���
+��������������å������� DHCPREQUEST �Ǥ��ꡢ
+����ϥ֥����ɥ��㥹�Ȥ���ޤ���
+����������ʹ�����ʤ��ȡ����饤����ȤϤ��Υ��ɥ쥹�˥Х���ɤ���
+BOUND ���֤����ܤ��ޤ���
.TP
.I \(bu
-Select - DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï SELECTING ¾õÂ֤Ǥ¹¡£
-¾¯¤Ê¤¯¤È¤â 1 ¸Ä¤Î DHCPOFFER ¥á¥Ã¥»¡¼¥¸¤Ï¼õ¿®¤·¤Þ¤·¤¿¤¬¡¢
-¾¤Î DHCPOFFER ¥á¥Ã¥»¡¼¥¸¤ò¾¤Î¥µ¡¼¥Ð¤«¤é¼õ¤±¼è¤ë¤«¤É¤¦¤«ÂԤäƤ¤¤Þ¤¹¡£
-SELECTING ¾õÂ֤Ǥϥá¥Ã¥»¡¼¥¸¤ÏÁ÷¿®¤µ¤ì¤Þ¤»¤ó¡£
+Select - DHCP ���饤����Ȥ� SELECTING ���֤Ǥ���
+���ʤ��Ȥ� 1 �Ĥ� DHCPOFFER ��å������ϼ������ޤ�������
+¾�� DHCPOFFER ��å�������¾�Υ����Ф��������뤫�ɤ����ԤäƤ��ޤ���
+SELECTING ���֤Ǥϥ�å���������������ޤ���
.TP
.I \(bu
-Request - DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï REQUESTING ¾õÂ֤Ǥ¹¡£
-¾¯¤Ê¤¯¤È¤â 1 ¸Ä¤Î DHCPOFFER ¥á¥Ã¥»¡¼¥¸¤ò¼õ¿®¤·¡¢
-¤½¤Î¤¦¤Á¤Î¤É¤ì¤òÍ׵᤹¤ë¤«ÁªÂò¤·¤Þ¤·¤¿¡£
-¼¡¤ËÁ÷¿®¤µ¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Ï DHCPREQUEST ¥á¥Ã¥»¡¼¥¸¤Ç¤¢¤ê¡¢
-¤³¤ì¤Ï¥Ö¥í¡¼¥É¥­¥ã¥¹¥È¤µ¤ì¤Þ¤¹¡£
+Request - DHCP ���饤����Ȥ� REQUESTING ���֤Ǥ���
+���ʤ��Ȥ� 1 �Ĥ� DHCPOFFER ��å��������������
+���Τ����Τɤ���׵᤹�뤫���򤷤ޤ�����
+��������������å������� DHCPREQUEST ��å������Ǥ��ꡢ
+����ϥ֥����ɥ��㥹�Ȥ���ޤ���
.TP
.I \(bu
-Bound - DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï BOUND ¾õÂ֤Ǥ¹¡£
-IP ¥¢¥É¥ì¥¹¤ò½êÍ­¤·¤Æ¤¤¤Þ¤¹¡£
-¤³¤Î¾õÂ֤Ǥϥá¥Ã¥»¡¼¥¸¤ÏÁ÷¿®¤µ¤ì¤Þ¤»¤ó¡£
+Bound - DHCP ���饤����Ȥ� BOUND ���֤Ǥ���
+IP ���ɥ쥹���ͭ���Ƥ��ޤ���
+���ξ��֤Ǥϥ�å���������������ޤ���
.TP
.I \(bu
-Renew - DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï RENEWING ¾õÂ֤Ǥ¹¡£
-IP ¥¢¥É¥ì¥¹¤ò½êÍ­¤·¤Æ¤ª¤ê¡¢¤³¤ì¤ò¹¹¿·¤¹¤ë¤¿¤á¤Ë¥µ¡¼¥Ð¤ËÀܳ¤ò»î¤ß¤Æ¤¤¤Þ¤¹¡£
-¼¡¤ËÁ÷¿®¤µ¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Ï DHCPREQUEST ¥á¥Ã¥»¡¼¥¸¤Ç¤¢¤ê¡¢
-¤³¤ì¤Ï¥µ¡¼¥Ð¤ËľÀÜ¥æ¥Ë¥­¥ã¥¹¥È¤µ¤ì¤Þ¤¹¡£
+Renew - DHCP ���饤����Ȥ� RENEWING ���֤Ǥ���
+IP ���ɥ쥹���ͭ���Ƥ��ꡢ����򹹿����뤿��˥����Ф���³���ߤƤ��ޤ���
+��������������å������� DHCPREQUEST ��å������Ǥ��ꡢ
+����ϥ����Ф�ľ�ܥ�˥��㥹�Ȥ���ޤ���
.TP
.I \(bu
-Rebind - DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï REBINDING ¾õÂ֤Ǥ¹¡£
-IP ¥¢¥É¥ì¥¹¤ò½êÍ­¤·¤Æ¤ª¤ê¡¢
-¤³¤ì¤ò¹¹¿·¤¹¤ë¤¿¤á¤ËǤ°Õ¤Î¥µ¡¼¥Ð¤ËÀܳ¤ò»î¤ß¤Æ¤¤¤Þ¤¹¡£
-¼¡¤ËÁ÷¿®¤µ¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Ï DHCPREQUEST ¥á¥Ã¥»¡¼¥¸¤Ç¤¢¤ê¡¢
-¤³¤ì¤Ï¥Ö¥í¡¼¥É¥­¥ã¥¹¥È¤µ¤ì¤Þ¤¹¡£
+Rebind - DHCP ���饤����Ȥ� REBINDING ���֤Ǥ���
+IP ���ɥ쥹���ͭ���Ƥ��ꡢ
+����򹹿����뤿���Ǥ�դΥ����Ф���³���ߤƤ��ޤ���
+��������������å������� DHCPREQUEST ��å������Ǥ��ꡢ
+����ϥ֥����ɥ��㥹�Ȥ���ޤ���
.RE
-.SH »²¾È: ¥í¥°
-¥í¥°Ê¸¤ò»ÈÍѤ·¤Æ¡¢É¸½à¥í¥°¥Á¥ã¥Í¥ë¤Ë¾ðÊó¤òÁ÷¿®²Äǽ¤Ç¤¹¡£
-¥í¥°Ê¸¤Ï¡¢¾Êά²Äǽ¤Ê priority
-(\fBfatal\fR, \fBerror\fR, \fBinfo\fR, \fBdebug\fR ¤Î¤¤¤º¤ì¤«) ¤È¡¢
-¥Ç¡¼¥¿¼°¤ò¼è¤ê¤Þ¤¹¡£
+.SH ����: ����
+����ʸ����Ѥ��ơ�ɸ���������ͥ�˾����������ǽ�Ǥ���
+����ʸ�ϡ���ά��ǽ�� priority
+(\fBfatal\fR, \fBerror\fR, \fBinfo\fR, \fBdebug\fR �Τ����줫) �ȡ�
+�ǡ���������ޤ���
.PP
.B log (\fIpriority\fB, \fIdata-expr\fB)\fR
-.\" "\FB" ¤Ï "\fB" ¤¬Àµ¤·¤¤
+.\" "\FB" �� "\fB" ��������
.\" horikawa@jp.FreeBSD.org 2002/04/29
.PP
-¥í¥°Ê¸¤Ï¡¢Ã±°ì¤Î¥Ç¡¼¥¿¼°°ú¿ô¤Î¤ß¼è¤ê¤Þ¤¹¡£
-Ê£¿ô¤Î¥Ç¡¼¥¿Ãͤò½ÐÎϤ·¤¿¤¤¾ì¹ç¡¢
-\fBconcat\fR ¥ª¥Ú¥ì¡¼¥¿¤ò»ÈÍѤ·¤Æ¤½¤ì¤é¤òÏ¢·ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+����ʸ�ϡ�ñ��Υǡ����������Τ߼��ޤ���
+ʣ���Υǡ����ͤ���Ϥ�������硢
+\fBconcat\fR ���ڥ졼������Ѥ��Ƥ�����Ϣ�뤹��ɬ�פ�����ޤ���
.RE
-.SH »²¾È: ưŪ¤Ê DNS ¹¹¿·
-.PP
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¤Ï¡¢
-ưŪ¤Ë¥É¥á¥¤¥ó¥Í¡¼¥à¥·¥¹¥Æ¥à¤ò¹¹¿·¤¹¤ëǽÎϤ¬¤¢¤ê¤Þ¤¹¡£
-ÀßÄê¥Õ¥¡¥¤¥ëÃæ¤Ë¡¢¤É¤Î¤è¤¦¤Ë¥É¥á¥¤¥ó¥Í¡¼¥à¥·¥¹¥Æ¥à¤ò¹¹¿·¤·¤ÆÍߤ·¤¤¤«¡¢
-ÄêµÁ²Äǽ¤Ç¤¹¡£
-¹¹¿·¤Ï RFC 2136 ¤Ë½¾¤Ã¤Æ¤¤¤ë¤¿¤á¡¢
-RFC 2136 ¤ò¥µ¥Ý¡¼¥È¤¹¤ë DNS ¥µ¡¼¥Ð¤Ï¡¢
-DHCP ¥µ¡¼¥Ð¤«¤é¤Î¹¹¿·¤ò¼õ¤±ÉÕ¤±²Äǽ¤È»×¤ï¤ì¤Þ¤¹¡£
-.SH ¥»¥­¥å¥ê¥Æ¥£
-TSIG ¤ª¤è¤Ó DNSSEC ¤Ï¤Þ¤À¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
-DHCP ¥µ¡¼¥Ð¤Þ¤¿¤Ï¥¯¥é¥¤¥¢¥ó¥È¤«¤é¤Î¹¹¿·¤ò¼õ¤±ÉÕ¤±¤ë¤è¤¦¤Ë
-DNS ¥µ¡¼¥Ð¤òÀßÄꤹ¤ë¾ì¹ç¡¢¸¢¸Â¤Î̵¤¤¹¹¿·¤ËÂФ·¤Æ
-DNS ¥µ¡¼¥Ð¤ò»¯¤¹¤³¤È¤Ë¤Ê¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£
-¤³¤ì¤òÈò¤±¤ë¤¿¤á¤Ëº£¤¹¤°¤Ç¤­¤ëºÇÎɤÎÊýË¡¤Ï¡¢
-IP ¥¢¥É¥ì¥¹¥Ù¡¼¥¹¤Î¥Ñ¥±¥Ã¥È¥Õ¥£¥ë¥¿¤ò»ÈÍѤ·¤Æ¡¢
-¸¢¸Â¤Î̵¤¤¥Û¥¹¥È¤«¤é¤Î¹¹¿·Í×µáȯ¹Ô¤òÍ޻ߤ¹¤ë¤³¤È¤Ç¤¹¡£
-ÌÀ¤é¤«¤Ë¡¢¸½¾õ¤Ç¤Ï¥¯¥é¥¤¥¢¥ó¥È¤Î¹¹¿·¤ËÂФ¹¤ë¥»¥­¥å¥ê¥Æ¥£¤òÄ󶡤¹¤ëÊýË¡¤Ï
-¤¢¤ê¤Þ¤»¤ó¡£
-¤³¤Î¤¿¤á¤Ë¤Ï TSIG ¤« DNSSEC ¤¬É¬ÍפǤ¹¤¬¡¢
-¤³¤Î DHCP ÇÛÉÛʪ¤Ë¤Ï¤Þ¤À´Þ¤Þ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
-.PP
-ưŪ DNS (DDNS) ¹¹¿·¤Ï¡¢\fBdns-update\fR ¼°¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
-\fBdns-update\fR ¼°¤Ï¡¢¥Ö¡¼¥ë¼°¤Ç¤¢¤ê¡¢4 ¸Ä¤Î¥Ñ¥é¥á¡¼¥¿¤ò¼è¤ê¤Þ¤¹¡£
-¹¹¿·¤ËÀ®¸ù¤¹¤ë¤È¡¢·ë²Ì¤Ï¿¿¤Ë¤Ê¤ê¤Þ¤¹¡£
-¼ºÇÔ¤¹¤ë¤È¡¢·ë²Ì¤Ïµ¶¤Ë¤Ê¤ê¤Þ¤¹¡£
-4 ¸Ä¤Î¥Ñ¥é¥á¡¼¥¿¤Ï¡¢¥ê¥½¡¼¥¹¥ì¥³¡¼¥É¥¿¥¤¥× (RR)¡¢
-RR ¤Îº¸ÊÕ¡¢RR ¤Î±¦ÊÕ¡¢¥ì¥³¡¼¥É¤ËŬÍѤµ¤ì¤ë¤Ù¤­ ttl ¤Ç¤¹¡£
-¤³¤Î´Ø¿ô¤ÎºÇ¤â´Êñ¤Ê»ÈÍÑÎã¤Ï¡¢dhcpd.conf ¥Õ¥¡¥¤¥ë¤Î»²¾ÈÀá¤Ë¤¢¤ê¡¢
-¤Ê¤Ë¤¬µ¯¤­¤ë¤«µ­½Ò¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-¤³¤ÎÎã¤Ç¤Ï¡¢Ê£¿ô¤Î¼°¤¬»ÈÍѤµ¤ì¤Æ¡¢
-\fBdns-update\fR ÍѤΰú¿ô¤¬ºîÀ®¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-.PP
-Îã¤ÎÃæ¤Ç¤Ï¡¢ºÇ½é¤Î \fBdns-update\fR ¼°¤Ø¤Î 1 ÈÖÌܤΰú¿ô¤Ï¡¢
-A RR ¥¿¥¤¥×¤Ëɾ²Á¤µ¤ì¤ë¥Ç¡¼¥¿¼°¤Ç¤¹¡£
-2 ÈÖÌܤΰú¿ô¤Ï¡¢DHCP host-name ¥ª¥×¥·¥ç¥ó¤È
-¥í¡¼¥«¥ë¥É¥á¥¤¥ó¡¢¤³¤Î¾ì¹ç "ssd.example.net"¡¢
-¤ò´Þ¤à¥Æ¥­¥¹¥È¥¹¥È¥ê¥ó¥°¤òÏ¢·ë¤¹¤ë¤³¤È¤Ç¡¢¹½ÃÛ¤µ¤ì¤Þ¤¹¡£
-3 ÈÖÌܤΰú¿ô¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿¥¢¥É¥ì¥¹¤ò¡¢
-32 ¥Ó¥Ã¥È¤Î¿ôÃͤ«¤é³Æ¥Ð¥¤¥È¤ò "." ¤Ç¶èÀڤä¿ ASCII ʸ»úÎó¤ËÊÑ´¹¤¹¤ë¤³¤È¤Ç¡¢
-¹½ÃÛ¤µ¤ì¤Þ¤¹¡£
-4 ÈÖÌܤΰú¿ô TTL ¤Ï¡¢¥ê¡¼¥¹¤Î»Ä¤ê»þ´Ö¤Ç¤¹
-(¤³¤ì¤ÏËÜÅö¤ÏÀµ¤·¤¯¤¢¤ê¤Þ¤»¤ó¡£
-¤Ê¤¼¤Ê¤é DNS ¥µ¡¼¥Ð¤Ï¡¢Í×µá¤ËÂФ·¤Æ¤¤¤Ä¤â¤³¤Î TTL Ãͤò½ÐÎϤ·¤Æ¤·¤Þ¤¦¤«¤é¤Ç¤¹¡£
-¤³¤ì¤Ï¡¢¥ê¡¼¥¹´ü¸ÂÀÚ¤ì¤Î¿ôÉÃÁ°¤Ç¤¢¤Ã¤Æ¤â¤Ç¤¹)¡£
-.PP
-ºÇ½é¤Î \fBdns-update\fR ʸ¤¬À®¸ù¤¹¤ë¤È¡¢
-°ú¤­Â³¤¤¤Æ 2 ÈÖÌܤι¹¿·¤Ë¤è¤ê PTR RR ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹¡£
-PTR ¥ì¥³¡¼¥É¤Î¥¤¥ó¥¹¥È¡¼¥ë¤Ï¡¢A RR ¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ÈƱÍͤǤ¹¤¬¡¢
-¥ì¥³¡¼¥É¤Îº¸Êդϥ꡼¥¹¤µ¤ì¤¿¥¢¥É¥ì¥¹¤òµÕ¤Ë¤·¤Æ ".in-addr.arpa" ¤È
-·ë¹ç¤µ¤ì¤¿¤â¤Î¤Ç¤¹¡£
-±¦Êդϡ¢¥¢¥É¥ì¥¹¤Î¥ê¡¼¥¹Äó¶¡À襯¥é¥¤¥¢¥ó¥È¤Î¡¢´°Á´¤Ê·Á¤Ç¤Î¥É¥á¥¤¥ó̾¤Ç¤¹¡£
-.SH ´ØÏ¢¹àÌÜ
+.SH ����: ưŪ�� DNS ����
+.PP
+DHCP ���饤����Ȥȥ����Фϡ�
+ưŪ�˥ɥᥤ��͡��ॷ���ƥ�򹹿�����ǽ�Ϥ�����ޤ���
+����ե�������ˡ��ɤΤ褦�˥ɥᥤ��͡��ॷ���ƥ�򹹿������ߤ�������
+�����ǽ�Ǥ���
+������ RFC 2136 �˽��äƤ��뤿�ᡢ
+RFC 2136 �򥵥ݡ��Ȥ��� DNS �����Фϡ�
+DHCP �����Ф���ι���������դ���ǽ�Ȼפ��ޤ���
+.SH �������ƥ�
+TSIG ����� DNSSEC �Ϥޤ����ݡ��Ȥ���Ƥ��ޤ���
+DHCP �����Фޤ��ϥ��饤����Ȥ���ι���������դ���褦��
+DNS �����Ф����ꤹ���硢���¤�̵���������Ф���
+DNS �����Ф򻯤����Ȥˤʤ뤫�⤷��ޤ���
+������򤱤뤿��˺������Ǥ�����ɤ���ˡ�ϡ�
+IP ���ɥ쥹�١����Υѥ��åȥե��륿����Ѥ��ơ�
+���¤�̵���ۥ��Ȥ���ι����׵�ȯ�Ԥ��޻ߤ��뤳�ȤǤ���
+���餫�ˡ������Ǥϥ��饤����Ȥι������Ф��륻�����ƥ����󶡤�����ˡ��
+����ޤ���
+���Τ���ˤ� TSIG �� DNSSEC ��ɬ�פǤ�����
+���� DHCP ����ʪ�ˤϤޤ��ޤޤ�Ƥ��ޤ���
+.PP
+ưŪ DNS (DDNS) �����ϡ�\fBdns-update\fR ������Ѥ��뤳�ȤǼ¹Ԥ���ޤ���
+\fBdns-update\fR ���ϡ��֡��뼰�Ǥ��ꡢ4 �ĤΥѥ�᡼������ޤ���
+��������������ȡ���̤Ͽ��ˤʤ�ޤ���
+���Ԥ���ȡ���̤ϵ��ˤʤ�ޤ���
+4 �ĤΥѥ�᡼���ϡ��꥽�����쥳���ɥ����� (RR)��
+RR �κ��ա�RR �α��ա��쥳���ɤ�Ŭ�Ѥ����٤� ttl �Ǥ���
+���δؿ��κǤ��ñ�ʻ�����ϡ�dhcpd.conf �ե�����λ�����ˤ��ꡢ
+�ʤˤ������뤫���Ҥ���Ƥ��ޤ���
+������Ǥϡ�ʣ���μ������Ѥ���ơ�
+\fBdns-update\fR �Ѥΰ�������������Ƥ��ޤ���
+.PP
+�����Ǥϡ��ǽ�� \fBdns-update\fR ���ؤ� 1 ���ܤΰ����ϡ�
+A RR �����פ�ɾ�������ǡ������Ǥ���
+2 ���ܤΰ����ϡ�DHCP host-name ���ץ�����
+��������ɥᥤ�󡢤��ξ�� "ssd.example.net"��
+��ޤ�ƥ����ȥ��ȥ�󥰤�Ϣ�뤹�뤳�Ȥǡ����ۤ���ޤ���
+3 ���ܤΰ����ϡ����饤����Ȥ˳�����Ƥ�줿���ɥ쥹��
+32 �ӥåȤο��ͤ���ƥХ��Ȥ� "." �Ƕ��ڤä� ASCII ʸ������Ѵ����뤳�Ȥǡ�
+���ۤ���ޤ���
+4 ���ܤΰ��� TTL �ϡ��꡼���λĤ���֤Ǥ�
+(���������������������ޤ���
+�ʤ��ʤ� DNS �����Фϡ��׵���Ф��Ƥ��Ĥ⤳�� TTL �ͤ���Ϥ��Ƥ��ޤ�����Ǥ���
+����ϡ��꡼�������ڤ�ο������Ǥ��äƤ�Ǥ�)��
+.PP
+�ǽ�� \fBdns-update\fR ʸ����������ȡ�
+����³���� 2 ���ܤι����ˤ�� PTR RR �����󥹥ȡ��뤵��ޤ���
+PTR �쥳���ɤΥ��󥹥ȡ���ϡ�A RR �Υ��󥹥ȡ����Ʊ�ͤǤ�����
+�쥳���ɤκ��դϥ꡼�����줿���ɥ쥹��դˤ��� ".in-addr.arpa" ��
+��礵�줿��ΤǤ���
+���դϡ����ɥ쥹�Υ꡼�����襯�饤����ȤΡ������ʷ��ǤΥɥᥤ��̾�Ǥ���
+.SH ��Ϣ����
dhcpd.conf(5), dhcpd.leases(5), dhclient.conf(5), dhcp-eval(5), dhcpd(8),
dhclient(8), RFC2132, RFC2131
-.SH ºî¼Ô
+.SH ���
Internet Systems Consortium DHCP Distribution
-¤Ï¡¢Vixie Labs ¤È¤Î·ÀÌó¤Î¤â¤È¤Ç¡¢Ted Lemon ¤¬µ­½Ò¤·¤Þ¤·¤¿¡£
-ËÜ¥×¥í¥¸¥§¥¯¥È¤Î»ñ¶â¤Ï¡¢Internet Systems Consortium ¤¬Ä󶡤·¤Þ¤·¤¿¡£
-Internet Systems Consortium ¤Ë´Ø¤¹¤ë¾ðÊó¤Ï¡¢
+�ϡ�Vixie Labs �Ȥη���Τ�Ȥǡ�Ted Lemon �����Ҥ��ޤ�����
+�ܥץ��������Ȥλ��ϡ�Internet Systems Consortium ���󶡤��ޤ�����
+Internet Systems Consortium �˴ؤ������ϡ�
.B https://www.isc.org
-¤Ë¤¢¤ê¤Þ¤¹¡£
+�ˤ���ޤ���
diff --git a/doc/ja_JP.eucJP/dhcp-options.5 b/doc/ja_JP.eucJP/dhcp-options.5
index 5dcaa2d9..9a41445c 100644
--- a/doc/ja_JP.eucJP/dhcp-options.5
+++ b/doc/ja_JP.eucJP/dhcp-options.5
@@ -1,6 +1,6 @@
.\" $Id: dhcp-options.5,v 1.5 2010/07/20 21:09:14 dhankins Exp $
.\"
-.\" Copyright (c) 2004,2009,2016 by Internet Systems Consortium, Inc. ("ISC")
+.\" Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (c) 1996-2003 by Internet Software Consortium
.\"
.\" Permission to use, copy, modify, and distribute this software for any
@@ -16,221 +16,221 @@
.\" OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.\" Internet Systems Consortium, Inc.
-.\" 950 Charter Street
-.\" Redwood City, CA 94063
+.\" PO Box 360
+.\" Newmarket, NH 03857 USA
.\" <info@isc.org>
.\" https://www.isc.org/
.\"
.\" %FreeBSD: src/contrib/isc-dhcp/common/dhcp-options.5,v 1.2.2.1 2002/04/11 10:16:46 murray Exp %
.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/dhcp-options.5,v 1.11 2002/05/21 03:51:52 horikawa Exp $
-.\" WORD: Dynamic Host Configuration Protocol ưŪ¥Û¥¹¥È¹½À®¥×¥í¥È¥³¥ë
-.\" WORD: Path MTU Discovery ¥Ñ¥¹ MTU õº÷
-.\" WORD: Router Discovery ¥ë¡¼¥¿Ãµº÷
-.\" WORD: Router Solicitation ¥ë¡¼¥¿Í×ÀÁ
-.\" WORD: Mask Discovery ¥Þ¥¹¥¯Ãµº÷
+.\" WORD: Dynamic Host Configuration Protocol ưŪ�ۥ��ȹ����ץ��ȥ���
+.\" WORD: Path MTU Discovery �ѥ� MTU õ��
+.\" WORD: Router Discovery �롼��õ��
+.\" WORD: Router Solicitation �롼������
+.\" WORD: Mask Discovery �ޥ���õ��
.\"
.TH dhcp-options 5
-.SH ̾¾Î
-dhcp-options - ưŪ¥Û¥¹¥È¹½À®¥×¥í¥È¥³¥ë¤Î¥ª¥×¥·¥ç¥ó
-.SH ²òÀâ
-ưŪ¥Û¥¹¥È¹½À®¥×¥í¥È¥³¥ë (DHCP: Dynamic Host Configuration Protocol) ¤ò
-»ÈÍѤ¹¤ë¤³¤È¤Ë¤è¤ê¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï DHCP ¥µ¡¼¥Ð¤«¤é¡¢¥Í¥Ã¥È¥ï¡¼¥¯ÀßÄê¤ä
-¥Í¥Ã¥È¥ï¡¼¥¯¾å¤ÇÍøÍѲÄǽ¤ÊÍÍ¡¹¤Ê¥µ¡¼¥Ó¥¹¤Ë¤Ä¤¤¤Æµ­½Ò¤·¤Æ¤¤¤ë
-.B ¥ª¥×¥·¥ç¥ó
-¤ò¼õ¤±¼è¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
+.SH ̾��
+dhcp-options - ưŪ�ۥ��ȹ����ץ��ȥ���Υ��ץ����
+.SH ����
+ưŪ�ۥ��ȹ����ץ��ȥ��� (DHCP: Dynamic Host Configuration Protocol) ��
+���Ѥ��뤳�Ȥˤ�ꡢ���饤����Ȥ� DHCP �����Ф��顢�ͥåȥ�������
+�ͥåȥ��������Ѳ�ǽ���͡��ʥ����ӥ��ˤĤ��Ƶ��Ҥ��Ƥ���
+.B ���ץ����
+�������뤳�Ȥ��Ǥ��ޤ���
.B dhcpd(8)
-¤ä
+��
.B dhclient(8)
-¤òÀßÄꤹ¤ë¤È¤­¤Ë¡¢¤·¤Ð¤·¤Ð¥ª¥×¥·¥ç¥ó¤òÀë¸À¤¹¤ëɬÍפ¬¤¢¤ë¤Ç¤·¤ç¤¦¡£
-¤³¤³¤Ç¤Ï¡¢¥ª¥×¥·¥ç¥ó¤òÀë¸À¤¹¤ëʸˡ¡¢
-¤½¤·¤ÆÀë¸À²Äǽ¤Ê¥ª¥×¥·¥ç¥ó¤Î̾Á°¤È½ñ¼°¤òʸ½ñ²½¤·¤Æ¤¤¤Þ¤¹¡£
-.SH ¥ê¥Õ¥¡¥ì¥ó¥¹: ¥ª¥×¥·¥ç¥óʸ
+�����ꤹ��Ȥ��ˡ����Ф��Х��ץ������������ɬ�פ�����Ǥ��礦��
+�����Ǥϡ����ץ������������ʸˡ��
+�����������ǽ�ʥ��ץ�����̾���Ƚ񼰤�ʸ�񲽤��Ƥ��ޤ���
+.SH ��ե����: ���ץ����ʸ
.PP
-DHCP \fIoption\fR ʸ¤Ï¡¢¾ï¤Ë¥­¡¼¥ï¡¼¥É \fIoption\fR ¤Ç³«»Ï¤·¡¢
-ñ°ì¤Î¥ª¥×¥·¥ç¥ó̾¤¬Â³¤­¡¢¥ª¥×¥·¥ç¥ó¥Ç¡¼¥¿¤¬Â³¤­¤Þ¤¹¡£
-¥ª¥×¥·¥ç¥ó¤Î̾Á°¤È¥Ç¡¼¥¿¤Î½ñ¼°¤Ï¸å½Ò¤·¤Þ¤¹¡£
-¤¹¤Ù¤Æ¤Î DHCP ¥ª¥×¥·¥ç¥ó¤òÌÖÍåŪ¤Ë»ØÄꤹ¤ëɬÍפϤʤ¯¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤ËɬÍפʥª¥×¥·¥ç¥ó¤Î¤ß¤ò»ØÄꤷ¤Þ¤¹¡£
+DHCP \fIoption\fR ʸ�ϡ���˥������ \fIoption\fR �dz��Ϥ���
+ñ��Υ��ץ����̾��³�������ץ����ǡ�����³���ޤ���
+���ץ�����̾���ȥǡ����ν񼰤ϸ�Ҥ��ޤ���
+���٤Ƥ� DHCP ���ץ���������Ū�˻��ꤹ��ɬ�פϤʤ���
+���饤����Ȥ�ɬ�פʥ��ץ����Τߤ���ꤷ�ޤ���
.PP
-¥ª¥×¥·¥ç¥ó¥Ç¡¼¥¿¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤ËÍÍ¡¹¤Ê½ñ¼°¤¬¤¢¤ê¤Þ¤¹:
+���ץ����ǡ����ˤϡ����Τ褦���͡��ʽ񼰤�����ޤ�:
.PP
.B ip-address
-¥Ç¡¼¥¿¥¿¥¤¥×¤Ï¡¢ÌÀ¼¨Åª¤Ê IP ¥¢¥É¥ì¥¹ (Î㤨¤Ð 239.254.197.10) ¤Þ¤¿¤Ï
-¥É¥á¥¤¥ó̾ (Î㤨¤Ð haagen.isc.org) ¤Î¤É¤Á¤é¤Ç¤â»ØÄê²Äǽ¤Ç¤¹¡£
-¥É¥á¥¤¥ó̾¤Ç»ØÄꤹ¤ë¾ì¹ç¡¢
-¤½¤Î¥É¥á¥¤¥ó̾¤ò²ò·è¤¹¤ë¤Èñ°ì¤Î IP ¥¢¥É¥ì¥¹¤Ë¤Ê¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
+�ǡ��������פϡ�����Ū�� IP ���ɥ쥹 (�㤨�� 239.254.197.10) �ޤ���
+�ɥᥤ��̾ (�㤨�� haagen.isc.org) �Τɤ���Ǥ�����ǽ�Ǥ���
+�ɥᥤ��̾�ǻ��ꤹ���硢
+���Υɥᥤ��̾���褹���ñ��� IP ���ɥ쥹�ˤʤ�褦�ˤ��Ƥ���������
.PP
.B int32
-¥Ç¡¼¥¿¥¿¥¤¥×¤ÏÉä¹æÉÕ¤­ 32 ¥Ó¥Ã¥ÈÀ°¿ô¤ò»ØÄꤷ¤Þ¤¹¡£
+�ǡ��������פ�����դ� 32 �ӥå���������ꤷ�ޤ���
.B uint32
-¥Ç¡¼¥¿¥¿¥¤¥×¤ÏÉä¹æ̵¤· 32 ¥Ó¥Ã¥ÈÀ°¿ô¤ò»ØÄꤷ¤Þ¤¹¡£
+�ǡ��������פ����̵�� 32 �ӥå���������ꤷ�ޤ���
.B int16
-¤ª¤è¤Ó
+�����
.B uint16
-¤Î¥Ç¡¼¥¿¥¿¥¤¥×¤Ï¡¢Éä¹æÉÕ¤­¤ª¤è¤ÓÉä¹æ̵¤·¤Î 16 ¥Ó¥Ã¥ÈÀ°¿ô¤ò»ØÄꤷ¤Þ¤¹¡£
+�Υǡ��������פϡ�����դ���������̵���� 16 �ӥå���������ꤷ�ޤ���
.B int8
-¤ª¤è¤Ó
+�����
.B uint8
-¤Î¥Ç¡¼¥¿¥¿¥¤¥×¤Ï¡¢Éä¹æÉÕ¤­¤ª¤è¤ÓÉä¹æ̵¤·¤Î 8 ¥Ó¥Ã¥ÈÀ°¿ô¤ò»ØÄꤷ¤Þ¤¹¡£
-Éä¹æ̵¤· 8 ¥Ó¥Ã¥ÈÀ°¿ô¤Ï¡¢¥ª¥¯¥Æ¥Ã¥È¤È¸Æ¤Ð¤ì¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹¡£
+�Υǡ��������פϡ�����դ���������̵���� 8 �ӥå���������ꤷ�ޤ���
+���̵�� 8 �ӥå������ϡ������ƥåȤȸƤФ�뤳�Ȥ⤢��ޤ���
.PP
.B text
-¥Ç¡¼¥¿¥¿¥¤¥×¤Ï NVT ASCII ʸ»úÎó¤ò»ØÄꤷ¤Þ¤¹¡£
-ʸ»úÎó¤Ï¥À¥Ö¥ë¥¯¥©¡¼¥È¤Ç³ç¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-Î㤨¤Ð root-path ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ëʸˡ¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
+�ǡ��������פ� NVT ASCII ʸ�������ꤷ�ޤ���
+ʸ����ϥ��֥륯�����Ȥdz��ɬ�פ�����ޤ���
+�㤨�� root-path ���ץ�������ꤹ��ʸˡ�ϡ����Τ褦�ˤʤ�ޤ���
.nf
.sp 1
option root-path "10.0.1.4:/var/tmp/rootfs";
.fi
.PP
.B domain-name
-¥Ç¡¼¥¿¥¿¥¤¥×¤Ï¥É¥á¥¤¥ó̾¤ò»ØÄꤷ¤Þ¤¹¡£
-ʸ»úÎó¤ò¥À¥Ö¥ë¥¯¥©¡¼¥È¤Ç³ç¤Ã¤Æ¤¤¤±¤Þ¤»¤ó¡£
-¤³¤Î¥Ç¡¼¥¿¥¿¥¤¥×¤Ï¡¢Â¾¤Î´û¸¤Î DHCP ¥ª¥×¥·¥ç¥ó¤Ë¤Ï»È¤ï¤ì¤Þ¤»¤ó¡£
-¥É¥á¥¤¥ó̾¤Ï¡¢text ¥ª¥×¥·¥ç¥ó¤Ç¤¢¤ë¤«¤Î¤è¤¦¤ËÊÝ»ý¤µ¤ì¤Þ¤¹¡£
-.\" text ¥Ç¡¼¥¿¥¿¥¤¥×¤Ç¤¢¤ë¤«¤Î¤è¤¦¤Ë?
+�ǡ��������פϥɥᥤ��̾����ꤷ�ޤ���
+ʸ�������֥륯�����Ȥdz�äƤ����ޤ���
+���Υǡ��������פϡ�¾�δ�¸�� DHCP ���ץ����ˤϻȤ��ޤ���
+�ɥᥤ��̾�ϡ�text ���ץ����Ǥ��뤫�Τ褦���ݻ�����ޤ���
+.\" text �ǡ��������פǤ��뤫�Τ褦��?
.\" metal
.PP
.B flag
-¥Ç¡¼¥¿¥¿¥¤¥×¤Ï¥Ö¡¼¥ëÃͤò»ØÄꤷ¤Þ¤¹¡£
-¥Ö¡¼¥ëÃÍ¤Ï true ¤Þ¤¿¤Ï false ¤Î¤¤¤º¤ì¤«¤Ç¤¹
-(¤â¤·¤¯¤Ï¡¢on ¤Þ¤¿¤Ï off ¤ÎÊý¤¬Ê¬¤«¤ê¤ä¤¹¤±¤ì¤Ð¡¢¤³¤Á¤é¤Ç¤â¤«¤Þ¤¤¤Þ¤»¤ó)¡£
+�ǡ��������פϥ֡����ͤ���ꤷ�ޤ���
+�֡����ͤ� true �ޤ��� false �Τ����줫�Ǥ�
+(�⤷���ϡ�on �ޤ��� off ������ʬ����䤹����С�������Ǥ⤫�ޤ��ޤ���)��
.PP
.B string
-¥Ç¡¼¥¿¥¿¥¤¥×¤Ï¡¢¥À¥Ö¥ë¥¯¥©¡¼¥È¤Ç³ç¤é¤ì¤ë NVT ASCII ʸ»úÎ󤫡¢
-¥³¥í¥ó¶èÀÚ¤ê¤Î 16 ¿Ê¿ô¤Ç»ØÄꤵ¤ì¤ë¥ª¥¯¥Æ¥Ã¥È¤ÎϢ³¤Î¤¤¤º¤ì¤«¤ò»ØÄꤷ¤Þ¤¹¡£
-Î㤨¤Ð¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹:
+�ǡ��������פϡ����֥륯�����Ȥdz���� NVT ASCII ʸ���󤫡�
+��������ڤ�� 16 �ʿ��ǻ��ꤵ��륪���ƥåȤ�Ϣ³�Τ����줫����ꤷ�ޤ���
+�㤨�м��Τ褦�ˤʤ�ޤ�:
.nf
.sp 1
option dhcp-client-identifier "CLIENT-FOO";
-¤â¤·¤¯¤Ï
+�⤷����
option dhcp-client-identifier 43:4c:49:45:54:2d:46:4f:4f;
.fi
-.SH ¼°¤òÍѤ¤¤¿¥ª¥×¥·¥ç¥óÃͤÎÀßÄê
+.SH �����Ѥ������ץ�����ͤ�����
.\" metal
-¥¯¥é¥¤¥¢¥ó¥È¤¬Á÷½Ð¤¹¤ë¤¤¤¯¤Ä¤«¤ÎÃͤò¡¢DHCP ¥ª¥×¥·¥ç¥ó¤ÎÃͤòÀßÄꤹ¤ë¤Î¤Ë
-»È¤¨¤ë¤ÈÊØÍø¤Ê¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
-¤³¤ì¤ò¤¹¤ë¤Ë¤Ï¼°¤Îɾ²Á¤¬ÍøÍѤǤ­¤Þ¤¹¡£
+���饤����Ȥ����Ф��뤤���Ĥ����ͤ�DHCP ���ץ������ͤ����ꤹ��Τ�
+�Ȥ���������ʤ��Ȥ�����ޤ���
+����򤹤�ˤϼ���ɾ�������ѤǤ��ޤ���
.B dhcp-eval(5)
-¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ë¼°¤Î½ñ¤­Êý¤¬½Ò¤Ù¤é¤ì¤Æ¤¤¤Þ¤¹¡£
-ɾ²Á¤Î·ë²Ì¤ò¥ª¥×¥·¥ç¥ó¤ËÂåÆþ¤¹¤ë¤Ë¤Ï¡¢¥ª¥×¥·¥ç¥ó¤ò¼¡¤Î¤è¤¦¤ËÄêµÁ¤·¤Þ¤¹:
+�ޥ˥奢��ڡ����˼��ν������Ҥ٤��Ƥ��ޤ���
+ɾ���η�̤򥪥ץ�������������ˤϡ����ץ����򼡤Τ褦��������ޤ�:
.nf
.sp 1
\fBoption \fImy-option \fB= \fIexpression \fB;\fR
.fi
.PP
-Î㤨¤Ð¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹:
+�㤨�м��Τ褦�ˤ��ޤ�:
.nf
.sp 1
option hostname = binary-to-ascii (16, 8, "-",
substring (hardware, 1, 6));
.fi
-.SH ɸ½à DHCP ¥ª¥×¥·¥ç¥ó
-¼¡¤Ë¼¨¤¹ÍÍ¡¹¤Ê¥ª¥×¥·¥ç¥ó¤Ë´Ø¤¹¤ëµ­½Ò¤Ï¡¢
-DHCP ¥ª¥×¥·¥ç¥ó¤Ë´Ø¤¹¤ëºÇ¿·¤Î IETF ¥É¥é¥Õ¥Èʸ½ñ¤«¤é¤Î¤â¤Î¤Ç¤¹¡£
-̾Á°¤¬·ÇºÜ¤µ¤ì¤Æ¤¤¤Ê¤¤¥ª¥×¥·¥ç¥ó¤Ï¡¢¤Þ¤À¼ÂÁõ¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¡¢
-ÀßÄê¥Õ¥¡¥¤¥ë¤ËÄêµÁ¤¹¤ë¤³¤È¤Ç¡¢¤½¤Î¤è¤¦¤Ê¥ª¥×¥·¥ç¥ó¤ò»È¤¨¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£
-¾Ü¤·¤¯¤Ï¡¢¤³¤ÎÀè¤Î¡Ö¿·µ¬¥ª¥×¥·¥ç¥ó¤ÎÄêµÁ¡×¤«¤é³¤¯µ­½Ò¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.PP
-¤³¤³¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤Î¤¦¤Á¤Î¤¤¤¯¤Ä¤«¤Ï¡¢DHCP ¥µ¡¼¥Ð¤â¤·¤¯¤Ï
-¥¯¥é¥¤¥¢¥ó¥È¤Ë¤è¤Ã¤Æ¼«Æ°Åª¤ËÀ¸À®¤µ¤ì¤ë¤â¤Î¤Ç¡¢¥æ¡¼¥¶¤Ë¤ÏÀßÄê¤Ç¤­¤Þ¤»¤ó¡£
-¤½¤Î¤è¤¦¤Ê¥ª¥×¥·¥ç¥ó¤ÎÃͤϡ¢¼õ¿®Â¦¤Î DHCP ¥×¥í¥È¥³¥ë¥¨¡¼¥¸¥§¥ó¥È
-(¥µ¡¼¥Ð¤â¤·¤¯¤Ï¥¯¥é¥¤¥¢¥ó¥È) ¤ÎÀßÄê¥Õ¥¡¥¤¥ëÃæ¤Î¡¢Î㤨¤Ð¾ò·ï¼°¤Ê¤É¤Ç
-»È¤ï¤ì¤Þ¤¹¡£
-¤·¤«¤·¤³¤Î¥ª¥×¥·¥ç¥ó¤ÎÃͤϡ¢Á÷¿®Â¦¤Î¥¨¡¼¥¸¥§¥ó¥È¤ÎÀßÄê¥Õ¥¡¥¤¥ëÃæ¤Ç¤Ï
-»È¤ï¤ì¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-¤È¤¤¤¦¤Î¤â¡¢¤½¤ÎÃͤϡ¢ÀßÄê¥Õ¥¡¥¤¥ë¤¬½èÍý¤µ¤ì¤¿¸å¤Ë·èÄꤵ¤ì¤ë¤«¤é¤Ç¤¹¡£
-°Ê¹ß¤Îµ­½Ò¤Ë¤ª¤¤¤Æ¡¢¤½¤Î¤è¤¦¤Ê¥ª¥×¥·¥ç¥ó¤Ë¤Ï
-¡Ö¥æ¡¼¥¶¤¬ÀßÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡×¤Èµ­¤µ¤ì¤Þ¤¹¡£
-.PP
-ɸ½à¥ª¥×¥·¥ç¥ó¤ò¼¨¤·¤Þ¤¹:
+.SH ɸ�� DHCP ���ץ����
+���˼����͡��ʥ��ץ����˴ؤ��뵭�Ҥϡ�
+DHCP ���ץ����˴ؤ���ǿ��� IETF �ɥ�ե�ʸ�񤫤�Τ�ΤǤ���
+̾�����Ǻܤ���Ƥ��ʤ����ץ����ϡ��ޤ���������Ƥ��ʤ����⤷��ޤ��󤬡�
+����ե������������뤳�Ȥǡ����Τ褦�ʥ��ץ�����Ȥ��뤫�⤷��ޤ���
+�ܤ����ϡ�������Ρֿ������ץ���������פ���³�����Ҥ򻲾Ȥ��Ƥ���������
+.PP
+�����˵��Ҥ���Ƥ��륪�ץ����Τ����Τ����Ĥ��ϡ�DHCP �����Ф⤷����
+���饤����Ȥˤ�äƼ�ưŪ������������Τǡ��桼���ˤ�����Ǥ��ޤ���
+���Τ褦�ʥ��ץ������ͤϡ�����¦�� DHCP �ץ��ȥ��륨���������
+(�����Ф⤷���ϥ��饤�����) ������ե�������Ρ��㤨�о�P�ʤɤ�
+�Ȥ��ޤ���
+���������Υ��ץ������ͤϡ�����¦�Υ���������Ȥ�����ե�������Ǥ�
+�Ȥ��뤳�ȤϤ���ޤ���
+�Ȥ����Τ⡢�����ͤϡ�����ե����뤬�������줿��˷��ꤵ��뤫��Ǥ���
+�ʹߤε��Ҥˤ����ơ����Τ褦�ʥ��ץ����ˤ�
+�֥桼�������ꤹ�뤳�ȤϤǤ��ޤ���פȵ�����ޤ���
+.PP
+ɸ�४�ץ����򼨤��ޤ�:
.PP
.B option \fBall-subnets-local\fR \fIflag\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬Àܳ¤µ¤ì¤Æ¤¤¤ë IP ¥Í¥Ã¥È¥ï¡¼¥¯¤ÎÁ´¥µ¥Ö¥Í¥Ã¥È¤¬
-»ÈÍѤ¹¤ë MTU ¤¬¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬Ä¾ÀÜÀܳ¤µ¤ì¤Æ¤¤¤ë¥µ¥Ö¥Í¥Ã¥È¤Î MTU ¤È
-Ʊ¤¸¤Ç¤¢¤ë¤È¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬²¾Äꤷ¤Æ¤è¤¤¤«¤ò»ØÄꤷ¤Þ¤¹¡£
-ÃÍ true ¤Ï¡¢Á´¥µ¥Ö¥Í¥Ã¥È¤ÏƱ°ì¤Î MTU ¤Ç¤¢¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
-ÃÍ false ¤Ï¡¢Ä¾ÀÜÀܳ¤µ¤ì¤Æ¤¤¤ë¥Í¥Ã¥È¥ï¡¼¥¯¤Î¥µ¥Ö¥Í¥Ã¥È¤Ë¤Ï¡¢¤è¤ê¾®¤µ¤Ê MTU ¤ò
-»ý¤Ä¤â¤Î¤¬¤¢¤ë¤È¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬²¾Äꤹ¤Ù¤­¤Ç¤¢¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
+�ܥ��ץ����ϡ����饤����Ȥ���³����Ƥ��� IP �ͥåȥ���������֥ͥåȤ�
+���Ѥ��� MTU �������饤����Ȥ�ľ����³����Ƥ��륵�֥ͥåȤ� MTU ��
+Ʊ���Ǥ���ȡ����饤����Ȥ����ꤷ�Ƥ褤������ꤷ�ޤ���
+�� true �ϡ������֥ͥåȤ�Ʊ��� MTU �Ǥ��뤳�Ȥ��̣���ޤ���
+�� false �ϡ�ľ����³����Ƥ���ͥåȥ���Υ��֥ͥåȤˤϡ���꾮���� MTU ��
+���Ĥ�Τ�����ȡ����饤����Ȥ����ꤹ�٤��Ǥ��뤳�Ȥ��̣���ޤ���
.RE
.PP
.B option \fBarp-cache-timeout\fR \fIuint32\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢ARP ¥­¥ã¥Ã¥·¥å¥¨¥ó¥È¥ê¤Î¥¿¥¤¥à¥¢¥¦¥È¤òÉÿô¤Ç»ØÄꤷ¤Þ¤¹¡£
+�ܥ��ץ����ϡ�ARP ����å��奨��ȥ�Υ����ॢ���Ȥ��ÿ��ǻ��ꤷ�ޤ���
.RE
.PP
.B option \fBbootfile-name\fR \fItext\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢µ¯Æ°¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤ·¤Þ¤¹¡£
-¥¯¥é¥¤¥¢¥ó¥È¤Ë¤è¤Ã¤Æ¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢
-¤³¤ì¤Ï \fBfilename\fR Àë¸À¤ÈƱ¤¸¸ú²Ì¤ò»ý¤Á¤Þ¤¹¡£
-BOOTP ¥¯¥é¥¤¥¢¥ó¥È¤Ç¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¤â¤Î¤Ï¾¯¤Ê¤¤¤Ç¤·¤ç¤¦¡£
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ë¤è¤Ã¤Æ¤Ï¥µ¥Ý¡¼¥È¤¹¤ë¤â¤Î¤¬¤¢¤ê¡¢
-¼ÂºÝɬ¿Ü¤È¤·¤Æ¤¤¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£
+�ܥ��ץ����ϡ���ư�ե��������ꤹ�뤿��˻��Ѥ��ޤ���
+���饤����Ȥˤ�äƥ��ݡ��Ȥ���Ƥ����硢
+����� \fBfilename\fR �����Ʊ�����̤�����ޤ���
+BOOTP ���饤����Ȥǡ����Υ��ץ����򥵥ݡ��Ȥ��Ƥ����ΤϾ��ʤ��Ǥ��礦��
+DHCP ���饤����Ȥˤ�äƤϥ��ݡ��Ȥ����Τ����ꡢ
+�º�ɬ�ܤȤ��Ƥ����Τ�����ޤ���
.RE
.PP
.B option \fBboot-size\fR \fIuint16\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥ÈÍѤΥǥե©¥ë¥È¤Î¥Ö¡¼¥È¥¤¥á¡¼¥¸¤ÎŤµ¤ò¡¢
-512 ¥ª¥¯¥Æ¥Ã¥È¥Ö¥í¥Ã¥¯¿ô¤Ç»ØÄꤷ¤Þ¤¹¡£
+�ܥ��ץ����ϡ����饤������ѤΥǥե���ȤΥ֡��ȥ��᡼����Ĺ����
+512 �����ƥåȥ֥��å����ǻ��ꤷ�ޤ���
.RE
.PP
.B option \fBbroadcast-address\fR \fIip-address\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤Î¥µ¥Ö¥Í¥Ã¥È¤Ç»ÈÍѤµ¤ì¤Æ¤¤¤ë
-¥Ö¥í¡¼¥É¥­¥ã¥¹¥È¥¢¥É¥ì¥¹¤ò»ØÄꤷ¤Þ¤¹¡£
-ÀµÅö¤Ê¥Ö¥í¡¼¥É¥­¥ã¥¹¥È¥¢¥É¥ì¥¹¤ÎÃͤϡ¢STD 3 (RFC1122) ¤Î 3.2.1.3 Àá¤Ë
-µ¬Äꤵ¤ì¤Æ¤¤¤Þ¤¹¡£
+�ܥ��ץ����ϡ����饤����ȤΥ��֥ͥåȤǻ��Ѥ���Ƥ���
+�֥����ɥ��㥹�ȥ��ɥ쥹����ꤷ�ޤ���
+�����ʥ֥����ɥ��㥹�ȥ��ɥ쥹���ͤϡ�STD 3 (RFC1122) �� 3.2.1.3 ���
+���ꤵ��Ƥ��ޤ���
.RE
.PP
.B option \fBcookie-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
]\fB;\fR
.RS 0.25i
.PP
-¥¯¥Ã¥­¡¼¥µ¡¼¥Ð¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѲÄǽ¤Ê
-RFC 865 ¥¯¥Ã¥­¡¼¥µ¡¼¥Ð¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-¥µ¡¼¥Ð¤Ï¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë¥ê¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
+���å��������Х��ץ����ϡ����饤����Ȥ����Ѳ�ǽ��
+RFC 865 ���å��������ФΥꥹ�Ȥ���ꤷ�ޤ���
+�����Фϡ�ͥ�褵����Τ����˥ꥹ�Ȥ��Ƥ���������
.RE
.PP
.B option \fBdefault-ip-ttl\fR \fIuint8;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥Ç¡¼¥¿¥°¥é¥à¤òÁ÷½Ð¤¹¤ë¤È¤­¤Ë»ÈÍѤ¹¤Ù¤­¡¢
-¥Ç¥Õ¥©¥ë¥È¤ÎÀ¸Â¸»þ´Ö (TTL) ¤ò»ØÄꤷ¤Þ¤¹¡£
+�ܥ��ץ����ϡ����饤����Ȥ��ǡ������������Ф���Ȥ��˻��Ѥ��٤���
+�ǥե���Ȥ���¸���� (TTL) ����ꤷ�ޤ���
.RE
.PP
.B option \fBdefault-tcp-ttl\fR \fIuint8\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ TCP ¥»¥°¥á¥ó¥È¤òÁ÷½Ð¤¹¤ë¤È¤­¤Ë»ÈÍѤ¹¤Ù¤­¡¢
-¥Ç¥Õ¥©¥ë¥È¤Î TTL ¤ò»ØÄꤷ¤Þ¤¹¡£
-ºÇ¾®ÃÍ¤Ï 1 ¤Ç¤¹¡£
+�ܥ��ץ����ϡ����饤����Ȥ� TCP �������Ȥ����Ф���Ȥ��˻��Ѥ��٤���
+�ǥե���Ȥ� TTL ����ꤷ�ޤ���
+�Ǿ��ͤ� 1 �Ǥ���
.RE
.PP
.B option \fBdhcp-client-identifier\fR \fIstring\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¡¢¥Û¥¹¥ÈÀë¸ÀÃæ¤Ç DHCP ¥¯¥é¥¤¥¢¥ó¥È¼±Ê̻Ҥò
-»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-¤³¤Î¥¯¥é¥¤¥¢¥ó¥È¼±Ê̻ҤǾȹç¤ò¹Ô¤¦¤³¤È¤Ç¡¢
-dhcpd ¤Ï¤½¤Î¥Û¥¹¥È¤Î¥ì¥³¡¼¥É¤òȯ¸«¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
+�ܥ��ץ�����Ȥäơ��ۥ��������� DHCP ���饤����ȼ��̻Ҥ�
+���ꤹ�뤳�Ȥ��Ǥ��ޤ���
+���Υ��饤����ȼ��̻ҤǾȹ��Ԥ����Ȥǡ�
+dhcpd �Ϥ��Υۥ��ȤΥ쥳���ɤ�ȯ�����뤳�Ȥ��Ǥ��ޤ���
.PP
.\" metal
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤ÎÃæ¤Ë¤Ï¡¢ASCII ¥Æ¥­¥¹¥È¤Ë¤è¤Ã¤Æ¥¯¥é¥¤¥¢¥ó¥È¼±Ê̻Ҥ¬
-ÀßÄꤵ¤ì¤¿¾ì¹ç¡¢¤½¤Î ASCII ¥Æ¥­¥¹¥È¤ÎÀèƬ¤Ë 0 ¤ò¤Ä¤±¤ë¤â¤Î¤¬¤¢¤ë¤³¤È¤Ë
-Ãí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-¤½¤Î¾ì¹ç¡¢
+DHCP ���饤����Ȥ���ˤϡ�ASCII �ƥ����Ȥˤ�äƥ��饤����ȼ��̻Ҥ�
+���ꤵ�줿��硢���� ASCII �ƥ����Ȥ���Ƭ�� 0 ��Ĥ����Τ����뤳�Ȥ�
+���դ��Ƥ���������
+���ξ�硢
.nf
option dhcp-client-identifier "foo";
-¤Ç¤Ï¤Ê¤¯¡¢°Ê²¼¤Î¤è¤¦¤Ëµ­½Ò¤¹¤ëɬÍפ¬¤¢¤ë¤Ç¤·¤ç¤¦¡£
+�ǤϤʤ����ʲ��Τ褦�˵��Ҥ���ɬ�פ�����Ǥ��礦��
option dhcp-client-identifier "\\0foo";
.fi
@@ -240,47 +240,47 @@ DHCP ¥¯¥é¥¤¥¢¥ó¥È¤ÎÃæ¤Ë¤Ï¡¢ASCII ¥Æ¥­¥¹¥È¤Ë¤è¤Ã¤Æ¥¯¥é¥¤¥¢¥ó¥È¼±Ê̻Ҥ¬
.RS 0.25i
.PP
.\" metal
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥ÈÍ×µá (DHCPDISCOVER ¤Þ¤¿¤Ï DHCPREQUEST) ¤ÎÃæ¤Ç¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤¬ IP ¥¢¥É¥ì¥¹¤Î¥ê¡¼¥¹»þ´Ö¤òÍ׵᤹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
-¤Þ¤¿¥µ¡¼¥Ð±þÅú (DHCPOFFER) ¤ÎÃæ¤Ç¡¢DHCP ¥µ¡¼¥Ð¤¬Ä󼨤·¤¿¤¤¥ê¡¼¥¹»þ´Ö¤ò
-»ØÄꤹ¤ë¤Î¤Ë¤â¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï»È¤ï¤ì¤Þ¤¹¡£
+�ܥ��ץ����ϡ����饤������׵� (DHCPDISCOVER �ޤ��� DHCPREQUEST) ����ǡ�
+���饤����Ȥ� IP ���ɥ쥹�Υ꡼�����֤��׵᤹�뤿��˻��Ѥ���ޤ���
+�ޤ������б��� (DHCPOFFER) ����ǡ�DHCP �����Ф��󼨤������꡼�����֤�
+���ꤹ��Τˤ⡢���Υ��ץ����ϻȤ��ޤ���
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥µ¡¼¥Ð¤Ç¤Ï¥æ¡¼¥¶¤¬Ä¾ÀÜÀßÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£
+�ܥ��ץ����ϡ������ФǤϥ桼����ľ�����ꤹ�뤳�ȤϤǤ��ޤ���
.B dhcpd.conf(5)
-¤Î \fImax-lease-time\fR ¤È \fidefault-lease-time\fR ¥µ¡¼¥Ð¥ª¥×¥·¥ç¥ó¤ò
-»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+�� \fImax-lease-time\fR �� \fidefault-lease-time\fR �����Х��ץ�����
+���Ȥ��Ƥ���������
.RE
.PP
.B option \fBdhcp-max-message-size\fR \fIuint16\fR\fB;\fR
.RS 0.25i
.PP
.\" metal
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤«¤éÁ÷½Ð¤µ¤ì¤¿¾ì¹ç¡¢¥µ¡¼¥Ð¤¬¥¯¥é¥¤¥¢¥ó¥È¤Ë
-Á÷½Ð¤¹¤ë¤¹¤Ù¤Æ¤Î±þÅú¤ÎºÇÂ祵¥¤¥º¤ò»ØÄꤷ¤Þ¤¹¡£
-¥µ¡¼¥Ð¤ÇÀßÄꤵ¤ì¤¿¾ì¹ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ dhcp-max-message-size ¥ª¥×¥·¥ç¥ó¤ò
-Á÷¿®¤·¤Æ¤³¤Ê¤«¤Ã¤¿ºÝ¤Ë¡¢¤³¤Î¥µ¡¼¥Ð¤ÇÀßÄꤵ¤ì¤¿Ãͤ¬»ÈÍѤµ¤ì¤Þ¤¹¡£
-¤³¤ì¤Ï¡¢BOOTP ±þÅú¤Ç¤â DHCP ±þÅú¤ÈƱÍͤËÆ°ºî¤·¤Þ¤¹¡£
+�ܥ��ץ����ϡ����饤����Ȥ������Ф��줿��硢�����Ф����饤����Ȥ�
+���Ф��뤹�٤Ƥα����κ��祵��������ꤷ�ޤ���
+�����Ф����ꤵ�줿��硢���饤����Ȥ� dhcp-max-message-size ���ץ�����
+�������Ƥ��ʤ��ä��ݤˡ����Υ����Ф����ꤵ�줿�ͤ����Ѥ���ޤ���
+����ϡ�BOOTP �����Ǥ� DHCP ������Ʊ�ͤ�ư��ޤ���
.RE
.PP
.B option \fBdhcp-message\fR \fItext\fR\fB;\fR
.RS 0.25i
.PP
.\" metal
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¾ã³²¤¬µ¯¤­¤¿»þ¤Ë¡¢DHCP ¥µ¡¼¥Ð¤¬ DHCPNAK ¥á¥Ã¥»¡¼¥¸Ãæ¤Ç
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ø¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òÄ󶡤¹¤ë¤Î¤Ë»ÈÍѤ·¤Þ¤¹¡£
-¤Þ¤¿¥¯¥é¥¤¥¢¥ó¥È¤¬¡¢Ä󼨤µ¤ì¤¿¥Ñ¥é¥á¡¼¥¿¤òµñÈݤ·¤¿Íýͳ¤ò¼¨¤¹¤¿¤á¤Ë¡¢
-DHCPDECLINE ¥á¥Ã¥»¡¼¥¸Ãæ¤ÇËÜ¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤³¤È¤â¤¢¤ê¤Þ¤¹¡£
+�ܥ��ץ����ϡ��㳲�����������ˡ�DHCP �����Ф� DHCPNAK ��å��������
+DHCP ���饤����Ȥإ��顼��å��������󶡤���Τ˻��Ѥ��ޤ���
+�ޤ����饤����Ȥ����󼨤��줿�ѥ�᡼������ݤ�����ͳ�򼨤�����ˡ�
+DHCPDECLINE ��å���������ܥ��ץ�����Ȥ����Ȥ⤢��ޤ���
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥æ¡¼¥¶¤¬ÀßÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£
+�ܥ��ץ����ϡ��桼�������ꤹ�뤳�ȤϤǤ��ޤ���
.RE
.PP
.B option \fBdhcp-message-type\fR \fIuint8\fR\fB;\fR
.RS 0.25i
.PP
.\" metal
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¤Îξ¼Ô¤«¤éÁ÷½Ð¤µ¤ì¡¢
-DHCP ¥Ñ¥±¥Ã¥È¤¬´Þ¤ó¤Ç¤¤¤ë DHCP ¥á¥Ã¥»¡¼¥¸¤Î¥¿¥¤¥×¤ò»ØÄꤷ¤Þ¤¹¡£
-ËÜ¥ª¥×¥·¥ç¥ó¤¬¼è¤êÆÀ¤ëÃͤϡ¢°Ê²¼¤Î¤È¤ª¤ê¤Ç¤¹ (RFC2132 ¤è¤ê¤½¤Î¤Þ¤ÞÈ´¿è)¡£
+�ܥ��ץ����ϡ����饤����Ȥȥ����Ф�ξ�Ԥ������Ф��졢
+DHCP �ѥ��åȤ��ޤ�Ǥ��� DHCP ��å������Υ����פ���ꤷ�ޤ���
+�ܥ��ץ���󤬼�������ͤϡ��ʲ��ΤȤ���Ǥ� (RFC2132 ��ꤽ�Τޤ�ȴ��)��
.PP
.nf
1 DHCPDISCOVER
@@ -290,34 +290,34 @@ DHCP ¥Ñ¥±¥Ã¥È¤¬´Þ¤ó¤Ç¤¤¤ë DHCP ¥á¥Ã¥»¡¼¥¸¤Î¥¿¥¤¥×¤ò»ØÄꤷ¤Þ¤¹¡£
5 DHCPACK
6 DHCPNAK
7 DHCPRELEASE
- 8 DHCPINFORM
+ 8 DHCPINFORM
.fi
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥æ¡¼¥¶¤¬ÀßÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£
+�ܥ��ץ����ϡ��桼�������ꤹ�뤳�ȤϤǤ��ޤ���
.PP
.RE
.B option \fBdhcp-option-overload\fR \fIuint8\fR\fB;\fR
.RS 0.25i
.PP
.\" metal
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢DHCP 'sname' ¤â¤·¤¯¤Ï 'file' ¥Õ¥£¡¼¥ë¥É¤¬¡¢
-DHCP ¥ª¥×¥·¥ç¥ó¤òÊÝ»ý¤¹¤ë¤¿¤á¤ËµÍ¤á¹þ¤ß²á¤®¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤³¤È¤ò
-¼¨¤¹¤Î¤Ë»È¤ï¤ì¤Þ¤¹¡£
-DHCP ¥µ¡¼¥Ð¤Ï¡¢ÊֵѤµ¤ì¤¿¥Ñ¥é¥á¡¼¥¿¤¬¡¢¥ª¥×¥·¥ç¥ó¤ËÄ̾ï³ä¤êÅö¤Æ¤é¤ì¤¿
-¶õ´Ö¤òĶ²á¤·¤¿¾ì¹ç¡¢ËÜ¥ª¥×¥·¥ç¥ó¤òÁÞÆþ¤·¤Þ¤¹¡£
+�ܥ��ץ����ϡ�DHCP 'sname' �⤷���� 'file' �ե�����ɤ���
+DHCP ���ץ������ݻ����뤿��˵ͤ���߲᤮�ˤʤäƤ��뤳�Ȥ�
+�����Τ˻Ȥ��ޤ���
+DHCP �����Фϡ��ֵѤ��줿�ѥ�᡼���������ץ������̾������Ƥ�줿
+���֤�Ķ�ᤷ����硢�ܥ��ץ������������ޤ���
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤¬Â¸ºß¤·¤¿¾ì¹ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢É¸½à¤Î¥ª¥×¥·¥ç¥ó¥Õ¥£¡¼¥ë¥É¤Î
-²ò¼á¤¬½ªÎ»¤·¤¿¸å¡¢»ØÄꤵ¤ì¤¿Éղåե£¡¼¥ë¥É¤Î²ò¼á¤ò¹Ô¤¤¤Þ¤¹¡£
+�ܥ��ץ����¸�ߤ�����硢���饤����Ȥϡ�ɸ��Υ��ץ����ե�����ɤ�
+��᤬��λ�����塢���ꤵ�줿�ղåե�����ɤβ���Ԥ��ޤ���
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤ÎÀµÅö¤ÊÃͤϡ¢°Ê²¼¤ÎÄ̤ê¤Ç¤¹:
+�ܥ��ץ������������ͤϡ��ʲ����̤�Ǥ�:
.PP
.nf
- 1 'file' ¥Õ¥£¡¼¥ë¥É¤¬¡¢¥ª¥×¥·¥ç¥óÊÝ»ý¤Ë»ÈÍѤµ¤ì¤Æ¤Þ¤¹
- 2 'sname' ¥Õ¥£¡¼¥ë¥É¤¬¡¢¥ª¥×¥·¥ç¥óÊÝ»ý¤Ë»ÈÍѤµ¤ì¤Æ¤Þ¤¹
- 3 ξÊý¤Î¥Õ¥£¡¼¥ë¥É¤¬¡¢¥ª¥×¥·¥ç¥óÊÝ»ý¤Ë»ÈÍѤµ¤ì¤Æ¤Þ¤¹
+ 1 'file' �ե�����ɤ������ץ�����ݻ��˻��Ѥ���Ƥޤ�
+ 2 'sname' �ե�����ɤ������ץ�����ݻ��˻��Ѥ���Ƥޤ�
+ 3 ξ���Υե�����ɤ������ץ�����ݻ��˻��Ѥ���Ƥޤ�
.fi
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥æ¡¼¥¶¤¬ÀßÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£
+�ܥ��ץ����ϡ��桼�������ꤹ�뤳�ȤϤǤ��ޤ���
.PP
.RE
.PP
@@ -325,27 +325,27 @@ DHCP ¥µ¡¼¥Ð¤Ï¡¢ÊֵѤµ¤ì¤¿¥Ñ¥é¥á¡¼¥¿¤¬¡¢¥ª¥×¥·¥ç¥ó¤ËÄ̾ï³ä¤êÅö¤Æ¤é¤ì¤¿
.RS 0.25i
.PP
.\" metal
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤«¤éÁ÷½Ð¤µ¤ì¤¿¾ì¹ç¡¢
-¥µ¡¼¥Ð¤ËÊÖÅú¤ò´õ˾¤¹¤ë¥ª¥×¥·¥ç¥ó¤ò¥¯¥é¥¤¥¢¥ó¥È¤¬»ØÄꤷ¤Þ¤¹¡£
-Ä̾ï ISC DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ç¤Ï¡¢\fIrequest\fR ʸ¤òÍѤ¤¤Æ¹Ô¤ï¤ì¤Þ¤¹¡£
-ËÜ¥ª¥×¥·¥ç¥ó¤¬¥¯¥é¥¤¥¢¥ó¥È¤«¤é»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢Ä̾ï DHCP ¥µ¡¼¥Ð¤Ï¡¢
-¥¹¥³¡¼¥×Æâ¤ÇÍ­¸ú¤«¤Ä±þÅú¤Ë¼ý¤Þ¤ë¤¹¤Ù¤Æ¤Î¥ª¥×¥·¥ç¥ó¤òÊÖ¤·¤Þ¤¹¡£
-ËÜ¥ª¥×¥·¥ç¥ó¤¬¥µ¡¼¥Ð¾å¤Ç»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¥µ¡¼¥Ð¤Ï¤½¤Î»ØÄꤵ¤ì¤¿¥ª¥×¥·¥ç¥ó¤ò
-ÊÖ¤·¤Þ¤¹¡£
-¤³¤ì¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬Í׵ᤷ¤Ê¤«¤Ã¤¿¥ª¥×¥·¥ç¥ó¤ò¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ë
-¶¯À©¤¹¤ë¤Î¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
-¤Þ¤¿¡¢Ä̾掠¡¼¥Ð¤¬ÊÖ¤¹¥ª¥×¥·¥ç¥ó¤Î¥»¥Ã¥È¤ò¤µ¤é¤ËÀ©¸Â¤¹¤ëɬÍפΤ¢¤ë
-¥¯¥é¥¤¥¢¥ó¥È¤ËÂФ·¤Æ¡¢DHCP ¥µ¡¼¥Ð¤Î±þÅú¤òÄ´À°¤¹¤ë¤Î¤Ë¤â»ÈÍѤµ¤ì¤Þ¤¹¡£
+�ܥ��ץ����ϡ����饤����Ȥ������Ф��줿��硢
+�����Ф��������˾���륪�ץ����򥯥饤����Ȥ����ꤷ�ޤ���
+�̾� ISC DHCP ���饤����ȤǤϡ�\fIrequest\fR ʸ���Ѥ��ƹԤ��ޤ���
+�ܥ��ץ���󤬥��饤����Ȥ�����ꤵ��ʤ��ä���硢�̾� DHCP �����Фϡ�
+�����������ͭ�����ı����˼��ޤ뤹�٤ƤΥ��ץ������֤��ޤ���
+�ܥ��ץ���󤬥����о�ǻ��ꤵ�줿��硢�����ФϤ��λ��ꤵ�줿���ץ�����
+�֤��ޤ���
+����ϡ����饤����Ȥ��׵ᤷ�ʤ��ä����ץ����򡢥��饤����Ȥ�
+��������Τ˻��Ѥ���ޤ���
+�ޤ����̾掠���Ф��֤����ץ����Υ��åȤ򤵤�����¤���ɬ�פΤ���
+���饤����Ȥ��Ф��ơ�DHCP �����Фα�����Ĵ������Τˤ���Ѥ���ޤ���
.RE
.PP
.B option \fBdhcp-rebinding-time\fR \fIuint32\fR\fB;\fR
.RS 0.25i
.PP
.\" metal
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥¢¥É¥ì¥¹¤ò¼èÆÀ¤·¤Æ¤«¤é REBINDING ¾õÂÖ¤Ë
-°Ü¹Ô¤¹¤ë¤Þ¤Ç¤Î»þ´Ö¤òÉÿô¤Ç»ØÄꤷ¤Þ¤¹¡£
+�ܥ��ץ����ϡ����饤����Ȥ����ɥ쥹��������Ƥ��� REBINDING ���֤�
+�ܹԤ���ޤǤλ��֤��ÿ��ǻ��ꤷ�ޤ���
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥æ¡¼¥¶¤¬ÀßÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£
+�ܥ��ץ����ϡ��桼�������ꤹ�뤳�ȤϤǤ��ޤ���
.PP
.RE
.PP
@@ -353,10 +353,10 @@ DHCP ¥µ¡¼¥Ð¤Ï¡¢ÊֵѤµ¤ì¤¿¥Ñ¥é¥á¡¼¥¿¤¬¡¢¥ª¥×¥·¥ç¥ó¤ËÄ̾ï³ä¤êÅö¤Æ¤é¤ì¤¿
.RS 0.25i
.PP
.\" metal
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥¢¥É¥ì¥¹¤ò¼èÆÀ¤·¤Æ¤«¤é RENEWING ¾õÂÖ¤Ë
-°Ü¹Ô¤¹¤ë¤Þ¤Ç¤Î»þ´Ö¤òÉÿô¤Ç»ØÄꤷ¤Þ¤¹¡£
+�ܥ��ץ����ϡ����饤����Ȥ����ɥ쥹��������Ƥ��� RENEWING ���֤�
+�ܹԤ���ޤǤλ��֤��ÿ��ǻ��ꤷ�ޤ���
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥æ¡¼¥¶¤¬ÀßÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£
+�ܥ��ץ����ϡ��桼�������ꤹ�뤳�ȤϤǤ��ޤ���
.PP
.RE
.PP
@@ -364,10 +364,10 @@ DHCP ¥µ¡¼¥Ð¤Ï¡¢ÊֵѤµ¤ì¤¿¥Ñ¥é¥á¡¼¥¿¤¬¡¢¥ª¥×¥·¥ç¥ó¤ËÄ̾ï³ä¤êÅö¤Æ¤é¤ì¤¿
.RS 0.25i
.PP
.\" metal
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¡¢DHCPDISCOVER Æâ¤ÇÆÃÄê¤Î IP ¥¢¥É¥ì¥¹¤¬
-³ä¤êÅö¤Æ¤é¤ì¤ë¤³¤È¤òÍ׵᤹¤ë¤Î¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
+�ܥ��ץ����ϡ����饤����Ȥ���DHCPDISCOVER �������� IP ���ɥ쥹��
+������Ƥ��뤳�Ȥ��׵᤹��Τ˻��Ѥ���ޤ���
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥æ¡¼¥¶¤¬ÀßÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£
+�ܥ��ץ����ϡ��桼�������ꤹ�뤳�ȤϤǤ��ޤ���
.PP
.RE
.PP
@@ -375,362 +375,362 @@ DHCP ¥µ¡¼¥Ð¤Ï¡¢ÊֵѤµ¤ì¤¿¥Ñ¥é¥á¡¼¥¿¤¬¡¢¥ª¥×¥·¥ç¥ó¤ËÄ̾ï³ä¤êÅö¤Æ¤é¤ì¤¿
.RS 0.25i
.PP
.\" metal
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢DHCPOFFER ¤È DHCPREQUEST ¥á¥Ã¥»¡¼¥¸Ãæ¤Ç»ÈÍѤµ¤ì¡¢
-¤Þ¤¿ DHCPACK ¤È DHCPNAK ¥á¥Ã¥»¡¼¥¸Ãæ¤Ë¤â´Þ¤Þ¤ì¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
-DHCP ¥µ¡¼¥Ð¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ (ÌõÃí: Ê£¿ô¥µ¡¼¥Ð¤«¤é¤Î) ¥ê¡¼¥¹¤ÎÄ󼨤ò
-¶èÊ̤Ǥ­¤ë¤è¤¦¡¢DHCPOFFER ¤ËËÜ¥ª¥×¥·¥ç¥ó¤ò´Þ¤á¤Þ¤¹¡£
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢DHCP ¥µ¡¼¥Ð¤Ø¥æ¥Ë¥­¥ã¥¹¥È¤¹¤ë¤¹¤Ù¤Æ¤Î DHCP ¥á¥Ã¥»¡¼¥¸¤Î
-°¸À襢¥É¥ì¥¹¤È¤·¤Æ 'server identifier' ¥Õ¥£¡¼¥ë¥É¤ÎÆâÍƤò»ÈÍѤ·¤Þ¤¹¡£
-¤Þ¤¿ DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢DHCPREQUEST ¥á¥Ã¥»¡¼¥¸Ãæ¤ËËÜ¥ª¥×¥·¥ç¥ó¤ò´Þ¤á¡¢
-Ê£¿ô¤Î¥ê¡¼¥¹¤ÎÄ󼨤Τɤì¤ò¼õ¤±Æþ¤ì¤¿¤«¤ò¼¨¤·¤Þ¤¹¡£
-.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤ÎÃͤϡ¢¥µ¡¼¥Ð¤Î IP ¥¢¥É¥ì¥¹¤Ç¤¹¡£
-.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥æ¡¼¥¶¤¬Ä¾ÀÜÀßÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£
+�ܥ��ץ����ϡ�DHCPOFFER �� DHCPREQUEST ��å�������ǻ��Ѥ��졢
+�ޤ� DHCPACK �� DHCPNAK ��å�������ˤ�ޤޤ�뤳�Ȥ�����ޤ���
+DHCP �����Фϡ����饤����Ȥ� (����: ʣ�������Ф����) �꡼�����󼨤�
+���̤Ǥ���褦��DHCPOFFER ���ܥ��ץ�����ޤ�ޤ���
+DHCP ���饤����Ȥϡ�DHCP �����Фإ�˥��㥹�Ȥ��뤹�٤Ƥ� DHCP ��å�������
+���襢�ɥ쥹�Ȥ��� 'server identifier' �ե�����ɤ����Ƥ���Ѥ��ޤ���
+�ޤ� DHCP ���饤����Ȥϡ�DHCPREQUEST ��å���������ܥ��ץ�����ޤᡢ
+ʣ���Υ꡼�����󼨤Τɤ��������줿���򼨤��ޤ���
+.PP
+�ܥ��ץ������ͤϡ������Ф� IP ���ɥ쥹�Ǥ���
+.PP
+�ܥ��ץ����ϡ��桼����ľ�����ꤹ�뤳�ȤϤǤ��ޤ���
.B \fIdhcpd.conf(5)
-¤Î \fIserver-identifier\fR ¥µ¡¼¥Ð¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+�� \fIserver-identifier\fR �����Х��ץ����򻲾Ȥ��Ƥ���������
.PP
.RE
.PP
.B option \fBdomain-name\fR \fItext\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥É¥á¥¤¥ó¥Í¡¼¥à¥·¥¹¥Æ¥à¤ò»ÈÍѤ·¤Æ¥Û¥¹¥È̾¤ò²ò·è¤¹¤ë¤È¤­¤Ë
-¥¯¥é¥¤¥¢¥ó¥È¤¬»ÈÍѤ¹¤Ù¤­¥É¥á¥¤¥ó̾¤ò»ØÄꤷ¤Þ¤¹¡£
+�ܥ��ץ����ϡ��ɥᥤ��͡��ॷ���ƥ����Ѥ��ƥۥ���̾���褹��Ȥ���
+���饤����Ȥ����Ѥ��٤��ɥᥤ��̾����ꤷ�ޤ���
.RE
.PP
.B option \fBdomain-name-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
]\fB;\fR
.RS 0.25i
.PP
-domain-name-servers ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѲÄǽ¤Ê
-¥É¥á¥¤¥ó¥Í¡¼¥à¥·¥¹¥Æ¥à (STD 13, RFC 1035) ¤Î¥Í¡¼¥à¥µ¡¼¥Ð¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-¥µ¡¼¥Ð¤Ï¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë¥ê¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
+domain-name-servers ���ץ����ϡ����饤����Ȥ����Ѳ�ǽ��
+�ɥᥤ��͡��ॷ���ƥ� (STD 13, RFC 1035) �Υ͡��ॵ���ФΥꥹ�Ȥ���ꤷ�ޤ���
+�����Фϡ�ͥ�褵����Τ����˥ꥹ�Ȥ��Ƥ���������
.RE
.PP
.B option \fBextensions-path\fR \fItext\fR\fB;\fR
.RS 0.25i
.PP
.\" metal
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢Äɲ媥ץ·¥ç¥ó¤ò´Þ¤à¥Õ¥¡¥¤¥ë¤Î¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤷ¤Þ¤¹¡£
-¤³¤ÎÄɲ媥ץ·¥ç¥ó¤Ï¡¢RFC2132 ¤Çµ¬Äꤵ¤ì¤Æ¤¤¤ë DHCP ¥ª¥×¥·¥ç¥ó¤Î½ñ¼°¤Ë±è¤Ã¤Æ
-²ò¼á¤µ¤ì¤Þ¤¹¡£
+�ܥ��ץ����ϡ��ɲå��ץ�����ޤ�ե�����Υե�����̾����ꤷ�ޤ���
+�����ɲå��ץ����ϡ�RFC2132 �ǵ��ꤵ��Ƥ��� DHCP ���ץ����ν񼰤˱�ä�
+��ᤵ��ޤ���
.RE
.PP
.B option \fBfinger-server\fR \fIip-address\fR [\fB,\fR
\fIip-address\fR... ]\fB;\fR
.RS 0.25i
.PP
-Finger ¥µ¡¼¥Ð¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѲÄǽ¤Ê Finger ¤Î¥ê¥¹¥È¤ò
-»ØÄꤷ¤Þ¤¹¡£
-¥µ¡¼¥Ð¤Ï¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë¥ê¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
+Finger �����Х��ץ����ϡ����饤����Ȥ����Ѳ�ǽ�� Finger �Υꥹ�Ȥ�
+���ꤷ�ޤ���
+�����Фϡ�ͥ�褵����Τ����˥ꥹ�Ȥ��Ƥ���������
.RE
.PP
.B option \fBfont-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
]\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѲÄǽ¤Ê X Window System ¥Õ¥©¥ó¥È¥µ¡¼¥Ð¤ò
-»ØÄꤷ¤Þ¤¹¡£
-¥µ¡¼¥Ð¤Ï¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë¥ê¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
+�ܥ��ץ����ϡ����饤����Ȥ����Ѳ�ǽ�� X Window System �ե���ȥ����Ф�
+���ꤷ�ޤ���
+�����Фϡ�ͥ�褵����Τ����˥ꥹ�Ȥ��Ƥ���������
.RE
.PP
.B option \fBhost-name\fR \fIstring\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£
-¤³¤Î̾Á°¤Ï¡¢¥í¡¼¥«¥ë¥É¥á¥¤¥ó̾¤Ë½¤¾þ¤µ¤ì¤Æ¤¤¤Æ¤â¡¢¤¤¤Ê¤¯¤Æ¤â¤«¤Þ¤¤¤»¤ó
-(¥É¥á¥¤¥ó̾¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢domain-name ¥ª¥×¥·¥ç¥ó¤Î»ÈÍѤò¤ª´«¤á¤·¤Þ¤¹)¡£
-ʸ»ú½¸¹ç¤ÎÀ©Ìó¤Ë¤Ä¤¤¤Æ¤Ï RFC 1035 ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-¥¯¥é¥¤¥¢¥ó¥È¥Þ¥·¥ó¤Î¥Û¥¹¥È̾¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç (¤¹¤Ê¤ï¤Á
+�ܥ��ץ����ϡ����饤����Ȥ�̾������ꤷ�ޤ���
+����̾���ϡ���������ɥᥤ��̾�˽�������Ƥ��Ƥ⡢���ʤ��Ƥ⤫�ޤ�����
+(�ɥᥤ��̾����ꤹ��ˤϡ�domain-name ���ץ����λ��Ѥ򤪴��ᤷ�ޤ�)��
+ʸ�����������ˤĤ��Ƥ� RFC 1035 �򻲾Ȥ��Ƥ���������
+���饤����ȥޥ���Υۥ���̾�����ꤵ��Ƥ��ʤ���� (���ʤ��
.B rc.conf(5)
-¤Ç¶õʸ»úÎó¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç) ¤Î¤ß¡¢
+�Ƕ�ʸ��������ꤵ��Ƥ�����) �Τߡ�
.B dhclient-script(8)
-¤¬ËÜ¥ª¥×¥·¥ç¥ó¤òº½Å¤·¤Þ¤¹¡£
+���ܥ��ץ�����º�Ť��ޤ���
.RE
.PP
.B option \fBieee802-3-encapsulation\fR \fIflag\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬¥¤¡¼¥µ¥Í¥Ã¥È¤Ç¤¢¤ë¾ì¹ç¤Ë¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤¬¥¤¡¼¥µ¥Í¥Ã¥È¥Ð¡¼¥¸¥ç¥ó 2 (RFC 894) ¤È
-IEEE 802.3 (RFC 1042) ¤Î¤É¤Á¤é¤Î¥«¥×¥»¥ë²½¤ò»ÈÍѤ¹¤Ù¤­¤«¤ò»ØÄꤷ¤Þ¤¹¡£
-ÃÍ false ¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ RFC 894 ¤Î¥«¥×¥»¥ë²½¤ò»ÈÍѤ¹¤Ù¤­¤Ç¤¢¤ë¤³¤È¤ò
-°ÕÌ£¤·¤Þ¤¹¡£
-ÃÍ true ¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ RFC 1042 ¤Î¥«¥×¥»¥ë²½¤ò»ÈÍѤ¹¤Ù¤­¤Ç¤¢¤ë¤³¤È¤ò
-°ÕÌ£¤·¤Þ¤¹¡£
+�ܥ��ץ����ϡ����󥿥ե��������������ͥåȤǤ�����ˡ�
+���饤����Ȥ��������ͥåȥС������ 2 (RFC 894) ��
+IEEE 802.3 (RFC 1042) �Τɤ���Υ��ץ��벽����Ѥ��٤�������ꤷ�ޤ���
+�� false �ϡ����饤����Ȥ� RFC 894 �Υ��ץ��벽����Ѥ��٤��Ǥ��뤳�Ȥ�
+��̣���ޤ���
+�� true �ϡ����饤����Ȥ� RFC 1042 �Υ��ץ��벽����Ѥ��٤��Ǥ��뤳�Ȥ�
+��̣���ޤ���
.RE
.PP
.B option \fBien116-name-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
];
.RS 0.25i
.PP
-ien116-name-servers ¥ª¥×¥·¥ç¥ó¤Ï¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѲÄǽ¤Ê IEN 116 ¥Í¡¼¥à¥µ¡¼¥Ð¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-¥µ¡¼¥Ð¤Ï¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë¥ê¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
+ien116-name-servers ���ץ����ϡ�
+���饤����Ȥ����Ѳ�ǽ�� IEN 116 �͡��ॵ���ФΥꥹ�Ȥ���ꤷ�ޤ���
+�����Фϡ�ͥ�褵����Τ����˥ꥹ�Ȥ��Ƥ���������
.RE
.PP
.B option \fBimpress-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
]\fB;\fR
.RS 0.25i
.PP
-impress-server ¥ª¥×¥·¥ç¥ó¤Ï¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѲÄǽ¤Ê Imagen Impress ¥µ¡¼¥Ð¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-¥µ¡¼¥Ð¤Ï¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë¥ê¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
+impress-server ���ץ����ϡ�
+���饤����Ȥ����Ѳ�ǽ�� Imagen Impress �����ФΥꥹ�Ȥ���ꤷ�ޤ���
+�����Фϡ�ͥ�褵����Τ����˥ꥹ�Ȥ��Ƥ���������
.RE
.PP
.B option \fBinterface-mtu\fR \fIuint16\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¤³¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ËÂФ·¤Æ»ÈÍѤ¹¤ë MTU ¤ò»ØÄꤷ¤Þ¤¹¡£
-MTU ¤ËÂФ¹¤ëºÇ¾®¤ÎÀµÅöÃÍ¤Ï 68 ¤Ç¤¹¡£
+�ܥ��ץ����ϡ����Υ��󥿥ե��������Ф��ƻ��Ѥ��� MTU ����ꤷ�ޤ���
+MTU ���Ф���Ǿ��������ͤ� 68 �Ǥ���
.RE
.PP
.B option \fBip-forwarding\fR \fIflag\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¡¢¥Ñ¥±¥Ã¥È¤òžÁ÷¤¹¤ë¤è¤¦¤Ë
-¼«Ê¬¤Î IP ÁؤòÀßÄꤹ¤Ù¤­¤«¤ò»ØÄꤷ¤Þ¤¹¡£
-ÃÍ false ¤Ï IP žÁ÷¤ò̵¸ú¤Ë¤¹¤ë¤³¤È¤ò°ÕÌ£¤·¡¢
-ÃÍ true ¤Ï IP žÁ÷¤òÍ­¸ú¤Ë¤¹¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
+�ܥ��ץ����ϡ����饤����Ȥ����ѥ��åȤ�ž������褦��
+��ʬ�� IP �ؤ����ꤹ�٤�������ꤷ�ޤ���
+�� false �� IP ž����̵���ˤ��뤳�Ȥ��̣����
+�� true �� IP ž����ͭ���ˤ��뤳�Ȥ��̣���ޤ���
.RE
.PP
.B option \fBirc-server\fR \fIip-address\fR [\fB,\fR
\fIip-address\fR... ]\fB;\fR
.RS 0.25i
.PP
-IRC ¥µ¡¼¥Ð¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѲÄǽ¤Ê IRC ¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-¥µ¡¼¥Ð¤Ï¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë¥ê¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
+IRC �����Х��ץ����ϡ����饤����Ȥ����Ѳ�ǽ�� IRC �Υꥹ�Ȥ���ꤷ�ޤ���
+�����Фϡ�ͥ�褵����Τ����˥ꥹ�Ȥ��Ƥ���������
.RE
.PP
.B option \fBlog-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
]\fB;\fR
.RS 0.25i
.PP
-log-server ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѲÄǽ¤Ê MIT-LCS UDP ¥í¥°¥µ¡¼¥Ð¤Î
-¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-¥µ¡¼¥Ð¤Ï¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë¥ê¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
+log-server ���ץ����ϡ����饤����Ȥ����Ѳ�ǽ�� MIT-LCS UDP ���������Ф�
+�ꥹ�Ȥ���ꤷ�ޤ���
+�����Фϡ�ͥ�褵����Τ����˥ꥹ�Ȥ��Ƥ���������
.RE
.PP
.B option \fBlpr-servers\fR \fIip-address \fR [\fB,\fR \fIip-address\fR...
]\fB;\fR
.RS 0.25i
.PP
-LPR ¥µ¡¼¥Ð¥ª¥×¥·¥ç¥ó¤Ï¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѲÄǽ¤Ê RFC 1179 ¥é¥¤¥ó¥×¥ê¥ó¥¿¥µ¡¼¥Ð¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-¥µ¡¼¥Ð¤Ï¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë¥ê¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
+LPR �����Х��ץ����ϡ�
+���饤����Ȥ����Ѳ�ǽ�� RFC 1179 �饤��ץ�󥿥����ФΥꥹ�Ȥ���ꤷ�ޤ���
+�����Фϡ�ͥ�褵����Τ����˥ꥹ�Ȥ��Ƥ���������
.RE
.PP
.B option \fBmask-supplier\fR \fIflag\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢ICMP ¤ò»ÈÍѤ·¤¿¥µ¥Ö¥Í¥Ã¥È¥Þ¥¹¥¯Í×µá¤ËÂФ·¤Æ¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤¬±þÅú¤¹¤Ù¤­¤«¤ò»ØÄꤷ¤Þ¤¹¡£
-ÃÍ false ¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬±þÅú¤¹¤Ù¤­¤Ç¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
-ÃÍ true ¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬±þÅú¤¹¤Ù¤­¤Ç¤¢¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
+�ܥ��ץ����ϡ�ICMP ����Ѥ������֥ͥåȥޥ����׵���Ф��ơ�
+���饤����Ȥ��������٤�������ꤷ�ޤ���
+�� false �ϡ����饤����Ȥ��������٤��Ǥʤ����Ȥ��̣���ޤ���
+�� true �ϡ����饤����Ȥ��������٤��Ǥ��뤳�Ȥ��̣���ޤ���
.RE
.PP
.B option \fBmax-dgram-reassembly\fR \fIuint16\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ºÆÁȤßΩ¤Æ¤Î½àÈ÷¤ò¤¹¤Ù¤­
-ºÇÂç¥Ç¡¼¥¿¥°¥é¥à¥µ¥¤¥º¤ò»ØÄꤷ¤Þ¤¹¡£
-ºÇ¾®¤ÎÀµÅöÃÍ¤Ï 576 ¤Ç¤¹¡£
+�ܥ��ץ����ϡ����饤����Ȥ����Ȥ�Ω�Ƥν����򤹤٤�
+����ǡ�������ॵ��������ꤷ�ޤ���
+�Ǿ��������ͤ� 576 �Ǥ���
.\" The minimum value legal value is 576.
-.\" The minimum legal value is 576. ¤«¤Ê (horikawa@jp.freebsd.org 19990404)
+.\" The minimum legal value is 576. ���� (horikawa@jp.freebsd.org 19990404)
.RE
.PP
.B option \fBmerit-dump\fR \fItext\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥¯¥é¥Ã¥·¥å¤¹¤ë¤È¤­¤Î
-¥¯¥é¥¤¥¢¥ó¥È¤Î¥³¥¢¥¤¥á¡¼¥¸¤¬¥À¥ó¥×¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹Ì¾¤ò»ØÄꤷ¤Þ¤¹¡£
-¥Ñ¥¹¤Î½ñ¼°¤Ï¡¢NVT ASCII ʸ»ú½¸¹ç¤Îʸ»ú¤«¤é¤Ê¤ëʸ»úÎó¤Ç¤¹¡£
+�ܥ��ץ����ϡ����饤����Ȥ�����å��夹��Ȥ���
+���饤����ȤΥ������᡼��������פ����ե�����Υѥ�̾����ꤷ�ޤ���
+�ѥ��ν񼰤ϡ�NVT ASCII ʸ�������ʸ������ʤ�ʸ����Ǥ���
.RE
.PP
.B option \fBmobile-ip-home-agent\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѲÄǽ¤Ê¥â¥Ð¥¤¥ë IP ¥Û¡¼¥à¥¨¡¼¥¸¥§¥ó¥È¤Î
-IP ¥¢¥É¥ì¥¹¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-¥¨¡¼¥¸¥§¥ó¥È¤Ï¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë¥ê¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
-¤¿¤À¤·¡¢Ä̾泌¡¼¥¸¥§¥ó¥È¤Ï 1 ¤Ä¤Ç¤·¤ç¤¦¡£
+�ܥ��ץ����ϡ����饤����Ȥ����Ѳ�ǽ�ʥ�Х��� IP �ۡ��२��������Ȥ�
+IP ���ɥ쥹�Υꥹ�Ȥ���ꤷ�ޤ���
+����������Ȥϡ�ͥ�褵����Τ����˥ꥹ�Ȥ��Ƥ���������
+���������̾泌��������Ȥ� 1 �ĤǤ��礦��
.RE
.PP
.B option \fBnds-context\fR \fIstring\fR\fB;\fR
.RS 0.25i
.PP
.\" metal
-nds-context ¥ª¥×¥·¥ç¥ó¤Ï¡¢NDS ¥¯¥é¥¤¥¢¥ó¥È¤Î¤¿¤á¤ÎºÇ½é¤Î
-NetWare ¥Ç¥£¥ì¥¯¥È¥ê¥µ¡¼¥Ó¥¹¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£
+nds-context ���ץ����ϡ�NDS ���饤����ȤΤ���κǽ��
+NetWare �ǥ��쥯�ȥꥵ���ӥ���̾������ꤷ�ޤ���
.RE
.PP
.B option \fBnds-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fB;\fR
.RS 0.25i
.PP
.\" metal
-nds-servers ¥ª¥×¥·¥ç¥ó¤Ï¡¢NDS ¥µ¡¼¥Ð¤Î IP ¥¢¥É¥ì¥¹¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
+nds-servers ���ץ����ϡ�NDS �����Ф� IP ���ɥ쥹�Υꥹ�Ȥ���ꤷ�ޤ���
.RE
.PP
.B option \fBnds-tree-name\fR \fIstring\fR\fB;\fR
.RS 0.25i
.PP
.\" metal
-nds-tree-name ¥ª¥×¥·¥ç¥ó¤Ï¡¢NDS ¥¯¥é¥¤¥¢¥ó¥È¤¬»ÈÍѤ¹¤Ù¤­ NDS ¥Ä¥ê¡¼¤Î
-̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£
+nds-tree-name ���ץ����ϡ�NDS ���饤����Ȥ����Ѥ��٤� NDS �ĥ꡼��
+̾������ꤷ�ޤ���
.RE
.PP
.B option \fBnetbios-dd-server\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
]\fB;\fR
.RS 0.25i
.PP
-NetBIOS ¥Ç¡¼¥¿¥°¥é¥àÇÛÉÛ¥µ¡¼¥Ð (NBDD) ¥ª¥×¥·¥ç¥ó¤Ï¡¢
-RFC 1001/1002 ¤Î NBDD ¥µ¡¼¥Ð¤Î¥ê¥¹¥È¤ò¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë»ØÄꤷ¤Þ¤¹¡£
+NetBIOS �ǡ�����������ۥ����� (NBDD) ���ץ����ϡ�
+RFC 1001/1002 �� NBDD �����ФΥꥹ�Ȥ�ͥ�褵����Τ����˻��ꤷ�ޤ���
.RE
.PP
.B option \fBnetbios-name-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...]\fB;\fR
.RS 0.25i
.PP
-NetBIOS ¥Í¡¼¥à¥µ¡¼¥Ð (NBNS) ¥ª¥×¥·¥ç¥ó¤Ï¡¢ RFC 1001/1002 ¤Î
-NBNS ¥Í¡¼¥à¥µ¡¼¥Ð¤Î¥ê¥¹¥È¤ò¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë»ØÄꤷ¤Þ¤¹¡£
-¸½ºß¤Ç¤Ï¡¢NetBIOS ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ï WINS ¤È¸Æ¤Ð¤ì¤ë¤³¤È¤ÎÊý¤¬Â¿¤¤¤Ç¤¹¡£
-netbios-name-servers ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢WINS ¥µ¡¼¥Ð¤ò»ØÄê²Äǽ¤Ç¤¹¡£
+NetBIOS �͡��ॵ���� (NBNS) ���ץ����ϡ� RFC 1001/1002 ��
+NBNS �͡��ॵ���ФΥꥹ�Ȥ�ͥ�褵����Τ����˻��ꤷ�ޤ���
+���ߤǤϡ�NetBIOS �͡��ॵ���ӥ��� WINS �ȸƤФ�뤳�Ȥ�����¿���Ǥ���
+netbios-name-servers ���ץ�������Ѥ��ơ�WINS �����Ф�����ǽ�Ǥ���
.RE
.PP
.B option \fBnetbios-node-type\fR \fIuint8\fR\fB;\fR
.RS 0.25i
.PP
-NetBIOS ¥Î¡¼¥É¥¿¥¤¥×¥ª¥×¥·¥ç¥ó¤Ï¡¢
-ÀßÄê²Äǽ¤Ê NetBIOS over TCP/IP ¥¯¥é¥¤¥¢¥ó¥È¤ò¡¢
-RFC 1001/1002 ¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤ËÀßÄꤷ¤Þ¤¹¡£
-ÃͤÏñ°ì¤Î¥ª¥¯¥Æ¥Ã¥È¤È¤·¤Æ»ØÄꤵ¤ì¡¢¥¯¥é¥¤¥¢¥ó¥È¥¿¥¤¥×¤ò°ÕÌ£¤·¤Þ¤¹¡£
+NetBIOS �Ρ��ɥ����ץ��ץ����ϡ�
+�����ǽ�� NetBIOS over TCP/IP ���饤����Ȥ�
+RFC 1001/1002 �˵��Ҥ���Ƥ���褦�����ꤷ�ޤ���
+�ͤ�ñ��Υ����ƥåȤȤ��ƻ��ꤵ�졢���饤����ȥ����פ��̣���ޤ���
.PP
-»ÈÍѲÄǽ¤Ê¥Î¡¼¥É¥¿¥¤¥×¤Ï¼¡¤ÎÄ̤ê¤Ç¤¹:
+���Ѳ�ǽ�ʥΡ��ɥ����פϼ����̤�Ǥ�:
.PP
.TP 5
.I 1
-B ¥Î¡¼¥É: ¥Ö¥í¡¼¥É¥­¥ã¥¹¥È - WINS ̵¤·
+B �Ρ���: �֥����ɥ��㥹�� - WINS ̵��
.TP
.I 2
-P ¥Î¡¼¥É: ¥Ô¥¢ - WINS ¤Î¤ß
+P �Ρ���: �ԥ� - WINS �Τ�
.TP
.I 4
-M ¥Î¡¼¥É: ¥ß¥Ã¥¯¥¹ - ¥Ö¥í¡¼¥É¥­¥ã¥¹¥È¸å¤Ë WINS
+M �Ρ���: �ߥå��� - �֥����ɥ��㥹�ȸ�� WINS
.TP
.I 8
-H ¥Î¡¼¥É: ¥Ï¥¤¥Ö¥ê¥Ã¥É - WINS ¸å¤Ë¥Ö¥í¡¼¥É¥­¥ã¥¹¥È
+H �Ρ���: �ϥ��֥�å� - WINS ��˥֥����ɥ��㥹��
.RE
.PP
.B option \fBnetbios-scope\fR \fIstring\fR\fB;\fR
.RS 0.25i
.PP
-NetBIOS ¥¹¥³¡¼¥×¥ª¥×¥·¥ç¥ó¤Ï¡¢RFC 1001/1002 ¤Ëµ¬Äꤵ¤ì¤Æ¤¤¤ë¤è¤¦¤Ë¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤Î NetBIOS over TCP/IP ¥¹¥³¡¼¥×¥Ñ¥é¥á¡¼¥¿¤ò»ØÄꤷ¤Þ¤¹¡£
-ʸ»ú½¸¹ç¤ÎÀ©Ìó¤Ë¤Ä¤¤¤Æ¤Ï RFC1001, RFC1002, RFC1035 ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+NetBIOS �������ץ��ץ����ϡ�RFC 1001/1002 �˵��ꤵ��Ƥ���褦�ˡ�
+���饤����Ȥ� NetBIOS over TCP/IP �������ץѥ�᡼������ꤷ�ޤ���
+ʸ�����������ˤĤ��Ƥ� RFC1001, RFC1002, RFC1035 �򻲾Ȥ��Ƥ���������
.RE
.PP
.B option \fBnis-domain\fR \fItext\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤Î NIS (Sun Network Information Services)
-¥É¥á¥¤¥ó¤ò»ØÄꤷ¤Þ¤¹¡£
-¥É¥á¥¤¥ó¤Î½ñ¼°¤Ï¡¢NVT ASCII ʸ»ú½¸¹ç¤Îʸ»ú¤«¤é¤Ê¤ëʸ»úÎó¤Ç¤¹¡£
+�ܥ��ץ����ϡ����饤����Ȥ� NIS (Sun Network Information Services)
+�ɥᥤ�����ꤷ�ޤ���
+�ɥᥤ��ν񼰤ϡ�NVT ASCII ʸ�������ʸ������ʤ�ʸ����Ǥ���
.RE
.PP
.B option \fBnis-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
]\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѲÄǽ¤Ê NIS ¥µ¡¼¥Ð¤ò¼¨¤¹ IP ¥¢¥É¥ì¥¹¤Î
-¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-¥µ¡¼¥Ð¤Ï¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë¥ê¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
+�ܥ��ץ����ϡ����饤����Ȥ����Ѳ�ǽ�� NIS �����Ф򼨤� IP ���ɥ쥹��
+�ꥹ�Ȥ���ꤷ�ޤ���
+�����Фϡ�ͥ�褵����Τ����˥ꥹ�Ȥ��Ƥ���������
.RE
.PP
.B option \fBnisplus-domain\fR \fItext\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤Î NIS+ ¥É¥á¥¤¥ó¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£
-¥É¥á¥¤¥ó¤Î½ñ¼°¤Ï¡¢NVT ASCII ʸ»ú½¸¹ç¤Îʸ»ú¤«¤é¤Ê¤ëʸ»úÎó¤Ç¤¹¡£
+�ܥ��ץ����ϡ����饤����Ȥ� NIS+ �ɥᥤ���̾������ꤷ�ޤ���
+�ɥᥤ��ν񼰤ϡ�NVT ASCII ʸ�������ʸ������ʤ�ʸ����Ǥ���
.RE
.PP
.B option \fBnisplus-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
]\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѲÄǽ¤Ê NIS+ ¥µ¡¼¥Ð¤ò¼¨¤¹ IP ¥¢¥É¥ì¥¹¤Î
-¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-¥µ¡¼¥Ð¤Ï¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë¥ê¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
+�ܥ��ץ����ϡ����饤����Ȥ����Ѳ�ǽ�� NIS+ �����Ф򼨤� IP ���ɥ쥹��
+�ꥹ�Ȥ���ꤷ�ޤ���
+�����Фϡ�ͥ�褵����Τ����˥ꥹ�Ȥ��Ƥ���������
.RE
.PP
.B option \fBnntp-server\fR \fIip-address\fR [\fB,\fR
\fIip-address\fR... ]\fB;\fR
.RS 0.25i
.PP
-NNTP ¥µ¡¼¥Ð¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѲÄǽ¤Ê NNTP ¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-¥µ¡¼¥Ð¤Ï¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë¥ê¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
+NNTP �����Х��ץ����ϡ����饤����Ȥ����Ѳ�ǽ�� NNTP �Υꥹ�Ȥ���ꤷ�ޤ���
+�����Фϡ�ͥ�褵����Τ����˥ꥹ�Ȥ��Ƥ���������
.RE
.PP
.B option \fBnon-local-source-routing\fR \fIflag\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢Èó¥í¡¼¥«¥ë¤Ê»ØÄê·ÐÏ© (non-local source route) ¤ò»ý¤Ä
-¥Ç¡¼¥¿¥°¥é¥à¤òžÁ÷¤¹¤ë¤è¤¦¤Ë¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¼«Ê¬¤Î IP ÁؤòÀßÄꤹ¤Ù¤­¤«¤ò
-»ØÄꤷ¤Þ¤¹ (ËܹàÌܤˤĤ¤¤Æ¤Ï [4] ¤Î 3.3.5 Àá¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤)¡£
-ÃÍ false ¤Ï¤½¤Î¤è¤¦¤Ê¥Ç¡¼¥¿¥°¥é¥à¤ÎžÁ÷¤òµö²Ä¤·¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¡¢
-ÃÍ true ¤ÏžÁ÷µö²Ä¤ò°ÕÌ£¤·¤Þ¤¹¡£
+�ܥ��ץ����ϡ����������ʻ����ϩ (non-local source route) �����
+�ǡ���������ž������褦�ˡ����饤����Ȥ���ʬ�� IP �ؤ����ꤹ�٤�����
+���ꤷ�ޤ� (�ܹ��ܤˤĤ��Ƥ� [4] �� 3.3.5 ��򻲾Ȥ��Ƥ�������)��
+�� false �Ϥ��Τ褦�ʥǡ���������ž������Ĥ��ʤ����Ȥ��̣����
+�� true ��ž�����Ĥ��̣���ޤ���
.RE
.PP
.B option \fBntp-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
]\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѲÄǽ¤Ê NTP (RFC 1035) ¥µ¡¼¥Ð¤ò¼¨¤¹
-IP ¥¢¥É¥ì¥¹¤ò»ØÄꤷ¤Þ¤¹¡£
-¥µ¡¼¥Ð¤Ï¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë¥ê¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
+�ܥ��ץ����ϡ����饤����Ȥ����Ѳ�ǽ�� NTP (RFC 1035) �����Ф򼨤�
+IP ���ɥ쥹����ꤷ�ޤ���
+�����Фϡ�ͥ�褵����Τ����˥ꥹ�Ȥ��Ƥ���������
.RE
.PP
.B option \fBnwip-domain\fR \fIstring\fR\fB;\fR
.RS 0.25i
.PP
.\" metal
-NetWare/IP ¥¯¥é¥¤¥¢¥ó¥È¤¬»ÈÍѤ¹¤Ù¤­ NetWare/IP ¥É¥á¥¤¥ó¤Î̾Á°¤Ç¤¹¡£
+NetWare/IP ���饤����Ȥ����Ѥ��٤� NetWare/IP �ɥᥤ���̾���Ǥ���
.RE
.PP
.B option \fBnwip-suboptions\fR \fIstring\fR\fB;\fR
.RS 0.25i
.PP
.\" metal
-NetWare/IP ¥¯¥é¥¤¥¢¥ó¥ÈÍѤΥµ¥Ö¥ª¥×¥·¥ç¥ó¤Î¥·¡¼¥±¥ó¥¹¤Ç¤¹¡£
-¾Ü¤·¤¯¤Ï RFC2242 ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-Ä̾ËÜ¥ª¥×¥·¥ç¥ó¤ÏÆÃÄê¤Î NetWare/IP ¥µ¥Ö¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤³¤È¤Ç
-ÀßÄꤵ¤ì¤Þ¤¹¡£
-¤µ¤é¤Ê¤ë¾ðÊó¤Ï¡ÖNetWare/IP ¥µ¥Ö¥ª¥×¥·¥ç¥ó¡×¤Î¾Ï¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+NetWare/IP ���饤������ѤΥ��֥��ץ����Υ������󥹤Ǥ���
+�ܤ����� RFC2242 �򻲾Ȥ��Ƥ���������
+�̾�ܥ��ץ���������� NetWare/IP ���֥��ץ�������ꤹ�뤳�Ȥ�
+���ꤵ��ޤ���
+����ʤ����ϡ�NetWare/IP ���֥��ץ����פξϤ򻲾Ȥ��Ƥ���������
.RE
.PP
.B option \fBpath-mtu-aging-timeout\fR \fIuint32\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢RFC 1191 ¤ÇÄêµÁ¤µ¤ì¤ëµ¡¹½¤Çȯ¸«¤µ¤ì¤¿¥Ñ¥¹ MTU ÃͤÎ
-¥¨¡¼¥¸¥ó¥°¤Ë»ÈÍѤ¹¤ë¥¿¥¤¥à¥¢¥¦¥È (ÉÃñ°Ì) ¤ò»ØÄꤷ¤Þ¤¹¡£
+�ܥ��ץ����ϡ�RFC 1191 ���������뵡����ȯ�����줿�ѥ� MTU �ͤ�
+�������󥰤˻��Ѥ��륿���ॢ���� (��ñ��) ����ꤷ�ޤ���
.RE
.PP
.B option \fBpath-mtu-plateau-table\fR \fIuint16\fR [\fB,\fR \fIuint16\fR...
]\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢RFC 1191 ¤ÇÄêµÁ¤µ¤ì¤ë¥Ñ¥¹ MTU õº÷ (Path MTU Discovery)
-¼Â»Ü»þ¤Ë»ÈÍѤµ¤ì¤ë MTU ¤Î¥µ¥¤¥º¤Îɽ¤ò»ØÄꤷ¤Þ¤¹¡£
-ɽ¤Î½ñ¼°¤Ï¡¢ºÇ¾®¤«¤é½ç¤ËºÇÂç¤Þ¤Ç¤Î¡¢16 ¥Ó¥Ã¥ÈÉä¹æ̵¤·À°¿ô¤Î¥ê¥¹¥È¤Ç¤¹¡£
-ºÇ¾® MTU ¤Ï 68 ¤è¤ê¾®¤µ¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
+�ܥ��ץ����ϡ�RFC 1191 ����������ѥ� MTU õ�� (Path MTU Discovery)
+�»ܻ��˻��Ѥ���� MTU �Υ�������ɽ����ꤷ�ޤ���
+ɽ�ν񼰤ϡ��Ǿ������˺���ޤǤΡ�16 �ӥå����̵�������Υꥹ�ȤǤ���
+�Ǿ� MTU �� 68 ��꾮�����ƤϤʤ�ޤ���
.RE
.PP
.B option \fBperform-mask-discovery\fR \fIflag\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ ICMP ¤ò»ÈÍѤ·¤Æ¥µ¥Ö¥Í¥Ã¥È¥Þ¥¹¥¯Ãµº÷¤ò
-¼Â»Ü¤¹¤Ù¤­¤«¤ò»ØÄꤷ¤Þ¤¹¡£
-ÃÍ false ¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥Þ¥¹¥¯Ãµº÷¤ò¼Â»Ü¤¹¤Ù¤­¤Ç¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
-ÃÍ true ¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥Þ¥¹¥¯Ãµº÷¤ò¼Â»Ü¤¹¤Ù¤­¤Ç¤¢¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
+�ܥ��ץ����ϡ����饤����Ȥ� ICMP ����Ѥ��ƥ��֥ͥåȥޥ���õ����
+�»ܤ��٤�������ꤷ�ޤ���
+�� false �ϡ����饤����Ȥ��ޥ���õ����»ܤ��٤��Ǥʤ����Ȥ��̣���ޤ���
+�� true �ϡ����饤����Ȥ��ޥ���õ����»ܤ��٤��Ǥ��뤳�Ȥ��̣���ޤ���
.RE
.PP
.nf
@@ -740,22 +740,22 @@ NetWare/IP ¥¯¥é¥¤¥¢¥ó¥ÈÍѤΥµ¥Ö¥ª¥×¥·¥ç¥ó¤Î¥·¡¼¥±¥ó¥¹¤Ç¤¹¡£
.fi
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢Èó¥í¡¼¥«¥ë¤Ê»ØÄê·ÐÏ©À©¸æ¤ËÂФ¹¤ë¥Ý¥ê¥·¥Õ¥£¥ë¥¿¤ò»ØÄꤷ¤Þ¤¹¡£
-¥Õ¥£¥ë¥¿¤Ï¡¢IP ¥¢¥É¥ì¥¹¤È¥Þ¥¹¥¯¤ÎÁȤΥꥹ¥È¤«¤é¤Ê¤ê¡¢
-ÅþÃ夹¤ë»ØÄê·ÐÏ©À©¸æ¤µ¤ì¤¿¥Ç¡¼¥¿¥°¥é¥àÍѤΥե£¥ë¥¿¤È¤Ê¤ë
-°¸Àè/¥Þ¥¹¥¯¤ÎÁȤò»ØÄꤷ¤Þ¤¹¡£
+�ܥ��ץ����ϡ����������ʻ����ϩ������Ф���ݥꥷ�ե��륿����ꤷ�ޤ���
+�ե��륿�ϡ�IP ���ɥ쥹�ȥޥ������ȤΥꥹ�Ȥ���ʤꡢ
+���夹������ϩ���椵�줿�ǡ���������ѤΥե��륿�Ȥʤ�
+����/�ޥ������Ȥ���ꤷ�ޤ���
.PP
-¼¡¥Û¥Ã¥×¥¢¥É¥ì¥¹¤¬¥Õ¥£¥ë¥¿¤Î¤¤¤º¤ì¤Ë¤âŬ¹ç¤·¤Ê¤¤»ØÄê·ÐÏ©À©¸æ¤µ¤ì¤¿
-¥Ç¡¼¥¿¥°¥é¥à¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ÇË´þ¤¹¤Ù¤­¤Ç¤¹¡£
+���ۥåץ��ɥ쥹���ե��륿�Τ�����ˤ�Ŭ�礷�ʤ������ϩ���椵�줿
+�ǡ��������ϡ����饤����Ȥ��˴����٤��Ǥ���
.PP
-¤µ¤é¤Ê¤ë¾ðÊó¤Ï STD 3 (RFC1122) ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+����ʤ����� STD 3 (RFC1122) �򻲾Ȥ��Ƥ���������
.RE
.PP
.B option \fBpop-server\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fB;\fR
.RS 0.25i
.PP
-POP3 ¥µ¡¼¥Ð¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѲÄǽ¤Ê POP3 ¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-¥µ¡¼¥Ð¤Ï¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë¥ê¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
+POP3 �����Х��ץ����ϡ����饤����Ȥ����Ѳ�ǽ�� POP3 �Υꥹ�Ȥ���ꤷ�ޤ���
+�����Фϡ�ͥ�褵����Τ����˥ꥹ�Ȥ��Ƥ���������
.RE
.PP
.B option \fBresource-location-servers\fR \fIip-address\fR
@@ -763,40 +763,40 @@ POP3 ¥µ¡¼¥Ð¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѲÄǽ¤Ê POP3 ¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
.fi
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѲÄǽ¤Ê
-RFC 887 ¥ê¥½¡¼¥¹¥í¥±¡¼¥·¥ç¥ó¥µ¡¼¥Ð¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-¥µ¡¼¥Ð¤Ï¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë¥ê¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
+�ܥ��ץ����ϡ����饤����Ȥ����Ѳ�ǽ��
+RFC 887 �꥽��������������󥵡��ФΥꥹ�Ȥ���ꤷ�ޤ���
+�����Фϡ�ͥ�褵����Τ����˥ꥹ�Ȥ��Ƥ���������
.RE
.PP
.B option \fBroot-path\fR \fItext\fB;\fR\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤Î¥ë¡¼¥È¥Ç¥£¥¹¥¯¤¬´Þ¤Þ¤ì¤ë¥Ñ¥¹Ì¾¤ò»ØÄꤷ¤Þ¤¹¡£
-¥Ñ¥¹¤Î½ñ¼°¤Ï¡¢NVT ASCII ʸ»ú½¸¹ç¤Îʸ»ú¤«¤é¤Ê¤ëʸ»úÎó¤Ç¤¹¡£
+�ܥ��ץ����ϡ����饤����ȤΥ롼�ȥǥ��������ޤޤ��ѥ�̾����ꤷ�ޤ���
+�ѥ��ν񼰤ϡ�NVT ASCII ʸ�������ʸ������ʤ�ʸ����Ǥ���
.RE
.PP
.B option \fBrouter-discovery\fR \fIflag\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢RFC 1256 ¤ÇÄêµÁ¤µ¤ì¤ë¥ë¡¼¥¿Ãµº÷ (Router Discovery) µ¡¹½¤ò
-»ÈÍѤ·¤Æ¡¢¥ë¡¼¥¿¤òÍ×ÀÁ¤¹¤Ù¤­¤«¤ò»ØÄꤷ¤Þ¤¹¡£
-ÃÍ false ¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥ë¡¼¥¿Ãµº÷¤ò¼Â»Ü¤¹¤Ù¤­¤Ç¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
-ÃÍ true ¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï¥ë¡¼¥¿Ãµº÷¤ò¼Â»Ü¤¹¤Ù¤­¤Ç¤¢¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
+�ܥ��ץ����ϡ�RFC 1256 ����������롼��õ�� (Router Discovery) ������
+���Ѥ��ơ��롼�����������٤�������ꤷ�ޤ���
+�� false �ϡ����饤����Ȥ��롼��õ����»ܤ��٤��Ǥʤ����Ȥ��̣���ޤ���
+�� true �ϡ����饤����Ȥϥ롼��õ����»ܤ��٤��Ǥ��뤳�Ȥ��̣���ޤ���
.RE
.PP
.B option \fBrouter-solicitation-address\fR \fIip-address\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤Î¥ë¡¼¥¿Í×ÀÁ¤ÎÁ÷½ÐÀ襢¥É¥ì¥¹¤ò»ØÄꤷ¤Þ¤¹¡£
+�ܥ��ץ����ϡ����饤����ȤΥ롼�������������襢�ɥ쥹����ꤷ�ޤ���
.RE
.PP
.B option routers \fIip-address\fR [\fB,\fR \fIip-address\fR...
]\fB;\fR
.RS 0.25i
.PP
-routers ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤Î¥µ¥Ö¥Í¥Ã¥È¾å¤Ë¤¢¤ë¥ë¡¼¥¿¤Î
-IP ¥¢¥É¥ì¥¹¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-¥ë¡¼¥¿¤Ï¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë¥ê¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
+routers ���ץ����ϡ����饤����ȤΥ��֥ͥåȾ�ˤ���롼����
+IP ���ɥ쥹�Υꥹ�Ȥ���ꤷ�ޤ���
+�롼���ϡ�ͥ�褵����Τ����˥ꥹ�Ȥ��Ƥ���������
.RE
.PP
.B option slp-directory-agent \fIboolean ip-address
@@ -804,51 +804,51 @@ IP ¥¢¥É¥ì¥¹¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
.RS 0.25i
.PP
.\" metal
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢2 ¤Ä¤Î¹àÌܤò»ØÄꤷ¤Þ¤¹:
-1 ¤Ä°Ê¾å¤Î¥µ¡¼¥Ó¥¹¥í¥±¡¼¥·¥ç¥ó¥×¥í¥È¥³¥ë¥Ç¥£¥ì¥¯¥È¥ê¥¨¡¼¥¸¥§¥ó¥È
-(Service Location Protocol Directory Agent) ¤Î IP ¥¢¥É¥ì¥¹¤È¡¢
-¤³¤ì¤é¤Î¥¢¥É¥ì¥¹¤Î»ÈÍѤ¬¶¯À©Åª¤«¤É¤¦¤«¤Ç¤¹¡£
-ºÇ½é¤Î¥Ö¡¼¥ëÃͤ¬ true ¤Ç¤¢¤ì¤Ð¡¢SLP ¥¨¡¼¥¸¥§¥ó¥È¤Ï¡¢¤¿¤ÀÍ¿¤¨¤é¤ì¤¿
-IP ¥¢¥É¥ì¥¹¤Î¤ß¤ò»ÈÍѤ¹¤Ù¤­¤Ç¤¹¡£
-Ãͤ¬ false ¤Ç¤¢¤ì¤Ð¡¢SLP ¥¨¡¼¥¸¥§¥ó¥È¤Ï¡¢SLP ¥¨¡¼¥¸¥§¥ó¥È¤Î
-ǽưŪ¤â¤·¤¯¤Ï¼õưŪ¤Ê¥Þ¥ë¥Á¥­¥ã¥¹¥Èõº÷¤òÄɲäǹԤäƤ⹽¤¤¤Þ¤»¤ó
-(¾Ü¤·¤¯¤Ï RFC2165 ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤)¡£
-.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤È slp-service-scope ¥ª¥×¥·¥ç¥ó¤Ë¤ª¤¤¤Æ¡¢
-¡ÖSLP ¥¨¡¼¥¸¥§¥ó¥È¡×¤È¤Ï¡¢DHCP ¥×¥í¥È¥³¥ë¤òÍѤ¤¤ÆÀßÄꤵ¤ì¤¿¥Þ¥·¥ó¾å¤Ç
-Æ°ºî¤·¤Æ¤¤¤ë¥µ¡¼¥Ó¥¹¥í¥±¡¼¥·¥ç¥ó¥×¥í¥È¥³¥ë¥¨¡¼¥¸¥§¥ó¥È¤ò»Ø¤·¤Æ¤¤¤ë¤³¤È¤Ë
-Ãí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-.PP
-¤Þ¤¿¡¢¤¤¤¯¤Ä¤«¤Î´ë¶È¤Ï SLP ¤ò NDS ¤È¸Æ¤ó¤Ç¤¤¤ë¤³¤È¤âµ¤¤òÉÕ¤±¤Æ¤¯¤À¤µ¤¤¡£
-¤â¤· NDS ¥Ç¥£¥ì¥¯¥È¥ê¥¨¡¼¥¸¥§¥ó¥È¤¬¤¢¤ê¡¢¤½¤Î¥¢¥É¥ì¥¹¤òÀßÄꤹ¤ëɬÍפ¬
-¤¢¤ë¾ì¹ç¤Ï¡¢ slp-directory-agent ¥ª¥×¥·¥ç¥ó¤¬ÍøÍѤǤ­¤ë¤Ï¤º¤Ç¤¹¡£
+�ܥ��ץ����ϡ�2 �Ĥι��ܤ���ꤷ�ޤ�:
+1 �İʾ�Υ����ӥ������������ץ��ȥ���ǥ��쥯�ȥꥨ���������
+(Service Location Protocol Directory Agent) �� IP ���ɥ쥹�ȡ�
+�����Υ��ɥ쥹�λ��Ѥ�����Ū���ɤ����Ǥ���
+�ǽ�Υ֡����ͤ� true �Ǥ���С�SLP ����������Ȥϡ�����Ϳ����줿
+IP ���ɥ쥹�Τߤ���Ѥ��٤��Ǥ���
+�ͤ� false �Ǥ���С�SLP ����������Ȥϡ�SLP ����������Ȥ�
+ǽưŪ�⤷���ϼ�ưŪ�ʥޥ�����㥹��õ�����ɲäǹԤäƤ⹽���ޤ���
+(�ܤ����� RFC2165 �򻲾Ȥ��Ƥ�������)��
+.PP
+�ܥ��ץ����� slp-service-scope ���ץ����ˤ����ơ�
+��SLP ����������ȡפȤϡ�DHCP �ץ��ȥ�����Ѥ������ꤵ�줿�ޥ�����
+ư��Ƥ��륵���ӥ������������ץ��ȥ��륨��������Ȥ�ؤ��Ƥ��뤳�Ȥ�
+���դ��Ƥ���������
+.PP
+�ޤ��������Ĥ��δ�Ȥ� SLP �� NDS �ȸƤ�Ǥ��뤳�Ȥⵤ���դ��Ƥ���������
+�⤷ NDS �ǥ��쥯�ȥꥨ��������Ȥ����ꡢ���Υ��ɥ쥹�����ꤹ��ɬ�פ�
+������ϡ� slp-directory-agent ���ץ�������ѤǤ���Ϥ��Ǥ���
.RE
.PP
.B option slp-service-scope \fIboolean text\fR\fB;\fR
.RS 0.25i
.PP
.\" metal
-¥µ¡¼¥Ó¥¹¥í¥±¡¼¥·¥ç¥ó¥×¥í¥È¥³¥ë¤Î¥µ¡¼¥Ó¥¹¥¹¥³¡¼¥×¥ª¥×¥·¥ç¥ó¤Ï¡¢
-2 ¤Ä¤Î¹àÌܤò»ØÄꤷ¤Þ¤¹:
-SLP ÍѤΥµ¡¼¥Ó¥¹¥¹¥³¡¼¥×¤Î¥ê¥¹¥È¤È¡¢¤³¤Î¥ê¥¹¥È¤Î»ÈÍѤ¬¶¯À©Åª¤«¤É¤¦¤«¤Ç¤¹¡£
-ºÇ½é¤Î¥Ö¡¼¥ëÃͤ¬ true ¤Ç¤¢¤ì¤Ð¡¢SLP ¥¨¡¼¥¸¥§¥ó¥È¤Ï¡¢ËÜ¥ª¥×¥·¥ç¥ó¤Ë¤è¤ê
-Ä󶡤µ¤ì¤ë¥¹¥³¡¼¥×¤Î¥ê¥¹¥È¤Î¤ß¤ò»ÈÍѤ¹¤Ù¤­¤Ç¤¹¡£
-¤½¤¦¤Ç¤Ê¤±¤ì¤Ð¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ÇÄ󶡤µ¤ì¤ë¥ê¥¹¥È¤ËÍ¥À褷¤Æ¡¢
-¤½¤ì¤¾¤ì¤Î¸ÇͭŪ¤ÎÀßÄê¤ò»È¤Ã¤Æ¤â¹½¤¤¤Þ¤»¤ó¡£
+�����ӥ������������ץ��ȥ���Υ����ӥ��������ץ��ץ����ϡ�
+2 �Ĥι��ܤ���ꤷ�ޤ�:
+SLP �ѤΥ����ӥ��������פΥꥹ�Ȥȡ����Υꥹ�Ȥλ��Ѥ�����Ū���ɤ����Ǥ���
+�ǽ�Υ֡����ͤ� true �Ǥ���С�SLP ����������Ȥϡ��ܥ��ץ����ˤ��
+�󶡤���륹�����פΥꥹ�ȤΤߤ���Ѥ��٤��Ǥ���
+�����Ǥʤ���С����Υ��ץ������󶡤����ꥹ�Ȥ�ͥ�褷�ơ�
+���줾��θ�ͭŪ�������ȤäƤ⹽���ޤ���
.PP
-text ʸ»úÎó¤Ï¡¢SLP ¥¨¡¼¥¸¥§¥ó¥È¤¬»ÈÍѤ¹¤Ù¤­¥¹¥³¡¼¥×¤Î¡¢¥³¥ó¥Þ¶èÀÚ¤ê¤Î
-¥ê¥¹¥È¤È¤·¤Æ¤¯¤À¤µ¤¤¡£
-¤³¤ì¤Ï¾Êά²Äǽ¤Ç¡¢¤½¤Î¾ì¹ç SLP ¥¨¡¼¥¸¥§¥ó¥È¤Ï¡¢¼«Ê¬¤¬ÃΤäƤ¤¤ë
-¤¹¤Ù¤Æ¤Î¥Ç¥£¥ì¥¯¥È¥ê¥¨¡¼¥¸¥§¥ó¥È¤Î¥¹¥³¡¼¥×¤Î°ì³ç¥ê¥¹¥È¤ò»È¤¤¤Þ¤¹¡£
+text ʸ����ϡ�SLP ����������Ȥ����Ѥ��٤��������פΡ�����޶��ڤ��
+�ꥹ�ȤȤ��Ƥ���������
+����Ͼ�ά��ǽ�ǡ����ξ�� SLP ����������Ȥϡ���ʬ���ΤäƤ���
+���٤ƤΥǥ��쥯�ȥꥨ��������ȤΥ������פΰ��ꥹ�Ȥ�Ȥ��ޤ���
.RE
.PP
.B option \fBsmtp-server\fR \fIip-address\fR [\fB,\fR
\fIip-address\fR... ]\fB;\fR
.RS 0.25i
.PP
-SMTP ¥µ¡¼¥Ð¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѲÄǽ¤Ê SMTP ¥µ¡¼¥Ð¤Î¥ê¥¹¥È¤ò
-»ØÄꤷ¤Þ¤¹¡£
-¥µ¡¼¥Ð¤Ï¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë¥ê¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
+SMTP �����Х��ץ����ϡ����饤����Ȥ����Ѳ�ǽ�� SMTP �����ФΥꥹ�Ȥ�
+���ꤷ�ޤ���
+�����Фϡ�ͥ�褵����Τ����˥ꥹ�Ȥ��Ƥ���������
.RE
.PP
.nf
@@ -857,26 +857,26 @@ SMTP ¥µ¡¼¥Ð¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѲÄǽ¤Ê SMTP ¥µ¡¼¥Ð¤Î¥ê¥¹¥È¤ò
.fi
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬·ÐÏ©¥­¥ã¥Ã¥·¥å¤ËÁȤ߹þ¤à¤Ù¤­
-ÀÅŪ·ÐÏ©¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-Ʊ¤¸°¸Àè¤ËÂФ·¤ÆÊ£¿ô¤Î·ÐÏ©¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢
-Í¥ÀèÅÙ¤¬Ä㤯¤Ê¤ë½ç½ø¤Ç¥ê¥¹¥È¤µ¤ì¤Þ¤¹¡£
+�ܥ��ץ����ϡ����饤����Ȥ���ϩ����å�����Ȥ߹���٤�
+��Ū��ϩ�Υꥹ�Ȥ���ꤷ�ޤ���
+Ʊ��������Ф���ʣ���η�ϩ�����ꤵ��Ƥ�����ϡ�
+ͥ���٤��㤯�ʤ����ǥꥹ�Ȥ���ޤ���
.PP
-·ÐÏ©¤Ï IP ¥¢¥É¥ì¥¹¤ÎÁȤΥꥹ¥È¤«¤é¤Ê¤ê¤Þ¤¹¡£
-ºÇ½é¤Î¥¢¥É¥ì¥¹¤Ï°¸À襢¥É¥ì¥¹¤Ç¤¢¤ê¡¢
-2 ÈÖÌܤΥ¢¥É¥ì¥¹¤Ï¤½¤Î°¸Àè¤ËÂФ¹¤ë¥ë¡¼¥¿¤Î¥¢¥É¥ì¥¹¤Ç¤¹¡£
+��ϩ�� IP ���ɥ쥹���ȤΥꥹ�Ȥ���ʤ�ޤ���
+�ǽ�Υ��ɥ쥹�ϰ��襢�ɥ쥹�Ǥ��ꡢ
+2 ���ܤΥ��ɥ쥹�Ϥ��ΰ�����Ф���롼���Υ��ɥ쥹�Ǥ���
.PP
-¥Ç¥Õ¥©¥ë¥È·ÐÏ© (0.0.0.0) ¤Ï¡¢ÀÅŪ·ÐÏ©¤ËÂФ·¤Æ¤ÏÉÔÀµ¤Ê°¸Àè¤Ç¤¹¡£
-¥Ç¥Õ¥©¥ë¥È·ÐÏ©¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢
+�ǥե���ȷ�ϩ (0.0.0.0) �ϡ���Ū��ϩ���Ф��Ƥ������ʰ���Ǥ���
+�ǥե���ȷ�ϩ����ꤹ��ˤϡ�
.B routers
-¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
-¤Þ¤¿¡¢ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¹¥ì¥¹¤Ê IP ·ÐÏ©À©¸æ¤ò°Õ¿Þ¤·¤¿¤â¤Î¤Ç¤Ï
-¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ²¼¤µ¤¤¡£
-¤³¤ì¤Ï¥µ¥Ö¥Í¥Ã¥È¥Þ¥¹¥¯¤ò´Þ¤ó¤Ç¤¤¤Þ¤»¤ó¡£
-¸½ºß¡¢¥¯¥é¥¹¥ì¥¹¤Ê IP ·ÐÏ©À©¸æ¤Ï¡¢¤â¤Ã¤È¤â¹­¤¯Å¸³«¤µ¤ì¤Æ¤¤¤ë
-·ÐÏ©À©¸æɸ½à¤Ê¤Î¤Ç¡¢ËÜ¥ª¥×¥·¥ç¥ó¤Ï¼Â¼ÁŪ¤Ë̵°ÕÌ£¤Ç¤¹¡£
-¤½¤·¤Æ¡¢¥Þ¥¤¥¯¥í¥½¥Õ¥È DHCP ¥¯¥é¥¤¥¢¥ó¥È¤ò¤Ï¤¸¤á¤È¤¹¤ë¤è¤¯ÃΤé¤ì¤¿
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ë¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
+���ץ�������Ѥ��Ƥ���������
+�ޤ����ܥ��ץ����ϡ����饹�쥹�� IP ��ϩ�����տޤ�����ΤǤ�
+�ʤ����Ȥ����դ��Ʋ�������
+����ϥ��֥ͥåȥޥ�����ޤ�Ǥ��ޤ���
+���ߡ����饹�쥹�� IP ��ϩ����ϡ���äȤ⹭��Ÿ������Ƥ���
+��ϩ����ɸ��ʤΤǡ��ܥ��ץ����ϼ¼�Ū��̵��̣�Ǥ���
+�����ơ��ޥ��������ե� DHCP ���饤����Ȥ�Ϥ���Ȥ���褯�Τ�줿
+DHCP ���饤����Ȥˤϼ�������Ƥ��ޤ���
.RE
.PP
.nf
@@ -885,288 +885,288 @@ DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ë¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
.fi
.RS 0.25i
.PP
-StreetTalk Directory Assistance (STDA) ¥µ¡¼¥Ð¥ª¥×¥·¥ç¥ó¤Ï¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѲÄǽ¤Ê STDA ¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-¥µ¡¼¥Ð¤Ï¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë¥ê¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
+StreetTalk Directory Assistance (STDA) �����Х��ץ����ϡ�
+���饤����Ȥ����Ѳ�ǽ�� STDA �Υꥹ�Ȥ���ꤷ�ޤ���
+�����Фϡ�ͥ�褵����Τ����˥ꥹ�Ȥ��Ƥ���������
.RE
.PP
.B option \fBstreettalk-server\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fB;\fR
.RS 0.25i
.PP
-StreetTalk ¥µ¡¼¥Ð¥ª¥×¥·¥ç¥ó¤Ï¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѲÄǽ¤Ê StreetTalk ¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-¥µ¡¼¥Ð¤Ï¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë¥ê¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
+StreetTalk �����Х��ץ����ϡ�
+���饤����Ȥ����Ѳ�ǽ�� StreetTalk �Υꥹ�Ȥ���ꤷ�ޤ���
+�����Фϡ�ͥ�褵����Τ����˥ꥹ�Ȥ��Ƥ���������
.RE
.PP
.B option subnet-mask \fIip-address\fR\fB;\fR
.RS 0.25i
.PP
-¥µ¥Ö¥Í¥Ã¥È¥Þ¥¹¥¯¥ª¥×¥·¥ç¥ó¤Ï¡¢RFC 950 ¤Ë½¾¤Ã¤Æ¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤Î¥µ¥Ö¥Í¥Ã¥È¥Þ¥¹¥¯¤ò»ØÄꤷ¤Þ¤¹¡£
-¥¹¥³¡¼¥×Ãæ¤Î¤É¤³¤Ë¤â¥µ¥Ö¥Í¥Ã¥È¥Þ¥¹¥¯¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢
-ºÇ½ª¼êÃʤȤ·¤Æ¡¢dhcpd ¤Ï¡¢¥¢¥É¥ì¥¹¤ò³ä¤êÅö¤Æ¤è¤¦¤È¤·¤Æ¤¤¤ë
-¥Í¥Ã¥È¥ï¡¼¥¯¤Î¥µ¥Ö¥Í¥Ã¥ÈÀë¸À¤«¤é¡¢¥µ¥Ö¥Í¥Ã¥È¥Þ¥¹¥¯¤ò»ÈÍѤ·¤Þ¤¹¡£
-¤·¤«¤·¡¢¥¢¥É¥ì¥¹¤ò³ä¤êÅö¤Æ¤è¤¦¤È¤·¤Æ¤¤¤ë¥Í¥Ã¥È¥ï¡¼¥¯¤Î¥¹¥³¡¼¥×Ãæ¤Î
-.I ¤É¤Î¤è¤¦¤Ê
-¥µ¥Ö¥Í¥Ã¥È¥Þ¥¹¥¯¥ª¥×¥·¥ç¥óÀë¸À¤Ç¤¢¤Ã¤Æ¤â¡¢
-¥µ¥Ö¥Í¥Ã¥ÈÀë¸À¤Ç»ØÄꤵ¤ì¤¿¥µ¥Ö¥Í¥Ã¥È¥Þ¥¹¥¯¤ËÍ¥À褷¤Þ¤¹¡£
+���֥ͥåȥޥ������ץ����ϡ�RFC 950 �˽��äơ�
+���饤����ȤΥ��֥ͥåȥޥ�������ꤷ�ޤ���
+����������Τɤ��ˤ⥵�֥ͥåȥޥ������ץ���󤬻��ꤵ��Ƥ��ʤ���硢
+�ǽ����ʤȤ��ơ�dhcpd �ϡ����ɥ쥹�������Ƥ褦�Ȥ��Ƥ���
+�ͥåȥ���Υ��֥ͥå�������顢���֥ͥåȥޥ�������Ѥ��ޤ���
+�����������ɥ쥹�������Ƥ褦�Ȥ��Ƥ���ͥåȥ���Υ����������
+.I �ɤΤ褦��
+���֥ͥåȥޥ������ץ��������Ǥ��äƤ⡢
+���֥ͥå�����ǻ��ꤵ�줿���֥ͥåȥޥ�����ͥ�褷�ޤ���
.RE
.PP
.B option \fBsubnet-selection\fR \fIstring\fR\fB;\fR
.RS 0.25i
.PP
.\" metal
-(Í׵᤬½Ð¤µ¤ì¤¿¥µ¥Ö¥Í¥Ã¥È¤Ë¤Ä¤Ê¤¬¤ì¤¿¥ê¥ì¡¼¥µ¡¼¥Ð¤Î¥¢¥É¥ì¥¹¤Ë´ð¤Å¤¤¤Æ)
-Ä̾ïÁªÂò¤µ¤ì¤ë¤Ç¤¢¤í¤¦¤â¤Î¤Ç¤Ï¤Ê¤¤¥µ¥Ö¥Í¥Ã¥È¤Î¥¢¥É¥ì¥¹¤¬É¬Íפʾì¹ç¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤¬Á÷½Ð¤·¤Þ¤¹¡£
-RFC3011 ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-¤³¤Î¥µ¡¼¥Ð¤Ë¤ª¤¤¤Æ»È¤ï¤ì¤ë¥ª¥×¥·¥ç¥ó¥Ê¥ó¥Ð¤Ï 118 ¤Ç¤¹¡£
-¤³¤Î¥Ê¥ó¥Ð¤Ï°ÊÁ°¤«¤é¤º¤Ã¤ÈÄêµÁ¤µ¤ì¤Æ¤¤¤¿¥Ê¥ó¥Ð¤Ç¤Ï¤Ê¤¯¡¢
-°ã¤¦Ãͤò»ÈÍѤ¹¤ë¥¯¥é¥¤¥¢¥ó¥È¤â¸ºß¤¹¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Î»ÈÍѤϾ¯¡¹¼Â¸³Åª¤Ç¤¢¤ë¤È¹Í¤¨¤ë¤Ù¤­¤Ç¤·¤ç¤¦!
+(�׵᤬�Ф��줿���֥ͥåȤˤĤʤ��줿��졼�����ФΥ��ɥ쥹�˴�Ť���)
+�̾����򤵤��Ǥ�������ΤǤϤʤ����֥ͥåȤΥ��ɥ쥹��ɬ�פʾ�硢
+���饤����Ȥ����Ф��ޤ���
+RFC3011 �򻲾Ȥ��Ƥ���������
+���Υ����Фˤ����ƻȤ��륪�ץ����ʥ�Ф� 118 �Ǥ���
+���Υʥ�Фϰ������餺�ä��������Ƥ����ʥ�ФǤϤʤ���
+�㤦�ͤ���Ѥ��륯�饤����Ȥ�¸�ߤ��뤳�Ȥ����դ��Ƥ���������
+���Υ��ץ����λ��ѤϾ����¸�Ū�Ǥ���ȹͤ���٤��Ǥ��礦!
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥µ¡¼¥Ð¤Ç¤Ï¥æ¡¼¥¶¤¬ÀßÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£
+�ܥ��ץ����ϡ������ФǤϥ桼�������ꤹ�뤳�ȤϤǤ��ޤ���
.PP
.RE
.PP
.B option \fBswap-server\fR \fIip-address\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤Î¥¹¥ï¥Ã¥×¥µ¡¼¥Ð¤Î IP ¥¢¥É¥ì¥¹¤ò»ØÄꤷ¤Þ¤¹¡£
+�ܥ��ץ����ϡ����饤����ȤΥ���åץ����Ф� IP ���ɥ쥹����ꤷ�ޤ���
.RE
.PP
.B option \fBtcp-keepalive-garbage\fR \fIflag\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¸Å¤¤¼ÂÁõ¤È¤Î¸ß´¹À­¤Î¤¿¤á¤Ë¡¢¥´¥ß¤Î¥ª¥¯¥Æ¥Ã¥È¤È°ì½ï¤Ë¡¢
-TCP ¥­¡¼¥×¥¢¥é¥¤¥Ö¥á¥Ã¥»¡¼¥¸¤ò¥¯¥é¥¤¥¢¥ó¥È¤¬Á÷¤ë¤Ù¤­¤«¤ò»ØÄꤷ¤Þ¤¹¡£
-ÃÍ false ¤Ï¡¢¥´¥ß¤Î¥ª¥¯¥Æ¥Ã¥È¤òÁ÷¤ë¤Ù¤­¤Ç¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
-ÃÍ true ¤Ï¡¢¥´¥ß¤Î¥ª¥¯¥Æ¥Ã¥È¤òÁ÷¤ë¤Ù¤­¤Ç¤¢¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
+�ܥ��ץ����ϡ��Ť������Ȥθߴ����Τ���ˡ����ߤΥ����ƥåȤȰ��ˡ�
+TCP �����ץ��饤�֥�å������򥯥饤����Ȥ�����٤�������ꤷ�ޤ���
+�� false �ϡ����ߤΥ����ƥåȤ�����٤��Ǥʤ����Ȥ��̣���ޤ���
+�� true �ϡ����ߤΥ����ƥåȤ�����٤��Ǥ��뤳�Ȥ��̣���ޤ���
.RE
.PP
.B option \fBtcp-keepalive-interval\fR \fIuint32\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤Î TCP ¤¬¥­¡¼¥×¥¢¥é¥¤¥Ö (keepalive)
-¥á¥Ã¥»¡¼¥¸¤ò TCP Àܳ¾å¤ËÁ÷¿®¤¹¤ëÁ°¤ËÂԤĤ٤­´Ö³Ö (ÉÃñ°Ì) ¤ò»ØÄꤷ¤Þ¤¹¡£
-»þ´Ö¤Ï 32 ¥Ó¥Ã¥ÈÉä¹æ̵¤·À°¿ô¤Ç»ØÄꤷ¤Þ¤¹¡£
-ÃÍ 0 ¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬ÌÀ¼¨Åª¤ËÍ׵ᤷ¤Ê¤¤¸Â¤ê¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬
-Àܳ¾å¤Ë¥­¡¼¥×¥¢¥é¥¤¥Ö¥á¥Ã¥»¡¼¥¸¤òÀ¸À®¤¹¤Ù¤­¤Ç¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
+�ܥ��ץ����ϡ����饤����Ȥ� TCP �������ץ��饤�� (keepalive)
+��å������� TCP ��³����������������ԤĤ٤��ֳ� (��ñ��) ����ꤷ�ޤ���
+���֤� 32 �ӥå����̵�������ǻ��ꤷ�ޤ���
+�� 0 �ϡ����ץꥱ�����������Ū���׵ᤷ�ʤ��¤ꡢ���饤����Ȥ�
+��³��˥����ץ��饤�֥�å��������������٤��Ǥʤ����Ȥ��̣���ޤ���
.RE
.PP
.B option \fBtftp-server-name\fR \fItext\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï TFTP ¥µ¡¼¥Ð¤ò»ØÄꤹ¤ë¤Î¤Ë»ÈÍѤµ¤ì¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬
-¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï \fBserver-name\fR Àë¸À¤ÈƱ¤¸¸ú²Ì¤ò»ý¤Á¤Þ¤¹¡£
-BOOTP ¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢ËÜ¥ª¥×¥·¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤·¤Ê¤¤¤Ç¤·¤ç¤¦¡£
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ë¤è¤Ã¤Æ¤Ï¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¤â¤Î¤¬¤¢¤ê¡¢
-¼ÂºÝɬ¿Ü¤È¤·¤Æ¤¤¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£
+�ܥ��ץ����� TFTP �����Ф���ꤹ��Τ˻��Ѥ��졢���饤����Ȥ�
+���ݡ��Ȥ��Ƥ�����ˤ� \fBserver-name\fR �����Ʊ�����̤�����ޤ���
+BOOTP ���饤����Ȥϡ��ܥ��ץ����򥵥ݡ��Ȥ��ʤ��Ǥ��礦��
+DHCP ���饤����Ȥˤ�äƤϥ��ݡ��Ȥ��Ƥ����Τ����ꡢ
+�º�ɬ�ܤȤ��Ƥ����Τ�����ޤ���
.RE
.PP
.B option time-offset \fIint32\fR\fB;\fR
.RS 0.25i
.PP
-time-offset ¥ª¥×¥·¥ç¥ó¤Ï¡¢¶¨ÄêÀ¤³¦»þ (UTC) ¤ò´ðÅÀ¤È¤·¤Æ¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤Î¥µ¥Ö¥Í¥Ã¥È¤Î¥ª¥Õ¥»¥Ã¥È¤òÉäǻØÄꤷ¤Þ¤¹¡£
+time-offset ���ץ����ϡ����������� (UTC) ������Ȥ��ơ�
+���饤����ȤΥ��֥ͥåȤΥ��ե��åȤ��äǻ��ꤷ�ޤ���
.RE
.PP
.B option time-servers \fIip-address\fR [, \fIip-address\fR...
]\fB;\fR
.RS 0.25i
.PP
-time-server ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѲÄǽ¤Ê RFC 868 »þ¹ï¥µ¡¼¥Ð¤Î
-¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-¥µ¡¼¥Ð¤Ï¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë¥ê¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
+time-server ���ץ����ϡ����饤����Ȥ����Ѳ�ǽ�� RFC 868 ���掠���Ф�
+�ꥹ�Ȥ���ꤷ�ޤ���
+�����Фϡ�ͥ�褵����Τ����˥ꥹ�Ȥ��Ƥ���������
.RE
.PP
.B option \fBtrailer-encapsulation\fR \fIflag\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢ARP ¥×¥í¥È¥³¥ë»ÈÍÑ»þ¤Ë¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥È¥ì¥¤¥é»ÈÍѤÎ
-¥Í¥´¥·¥¨¡¼¥·¥ç¥ó (RFC 893 [14]) ¤ò¤¹¤Ù¤­¤«¤ò»ØÄꤷ¤Þ¤¹¡£
-ÃÍ false ¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥È¥ì¥¤¥é»ÈÍѤò»î¤ß¤ë¤Ù¤­¤Ç¤Ê¤¤¤È°ÕÌ£¤·¤Þ¤¹¡£
-ÃÍ true ¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥È¥ì¥¤¥é»ÈÍѤò»î¤ß¤ë¤Ù¤­¤Ç¤¢¤ë¤È°ÕÌ£¤·¤Þ¤¹¡£
+�ܥ��ץ����ϡ�ARP �ץ��ȥ�����ѻ��ˡ����饤����Ȥ��ȥ쥤����Ѥ�
+�ͥ������������ (RFC 893 [14]) �򤹤٤�������ꤷ�ޤ���
+�� false �ϡ����饤����Ȥ��ȥ쥤����Ѥ��ߤ�٤��Ǥʤ��Ȱ�̣���ޤ���
+�� true �ϡ����饤����Ȥ��ȥ쥤����Ѥ��ߤ�٤��Ǥ���Ȱ�̣���ޤ���
.RE
.PP
.B option \fBuap-servers\fR \fItext\fR\fB;\fR
.RS 0.25i
.PP
.\" metal
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥æ¡¼¥¶Ç§¾Ú¥×¥í¥È¥³¥ë (UAP) ¤ËÊñ¤Þ¤ì¤¿Ç§¾ÚÍ×µá¤ò
-½èÍý¤¹¤ëǽÎϤΤ¢¤ë¥æ¡¼¥¶Ç§¾Ú¥µ¡¼¥Ó¥¹¤ò¤½¤ì¤¾¤ì»Ø¤·¤Æ¤¤¤ë
-URL ¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-UAP ¥µ¡¼¥Ð¤Ï HTTP 1.1 Àܳ¤â SSLv3 Àܳ¤â¼õ¤±¼è¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-¥ê¥¹¥È¤Ë´Þ¤Þ¤ì¤¿ URL ¤Ë¥Ý¡¼¥ÈÉôʬ¤¬´Þ¤Þ¤ì¤Æ¤Ê¤¤¾ì¹ç¤Ï¡¢
-Ä̾ï¤Î¥Ç¥Õ¥©¥ë¥È¥Ý¡¼¥È¤¬²¾Äꤵ¤ì¤Þ¤¹
-(¤Ä¤Þ¤ê http ¤Ë¤Ï 80 ÈÖ¡¢https ¤Ë¤Ï 443 ÈÖ)¡£
-¥ê¥¹¥È¤Ë´Þ¤Þ¤ì¤¿ URL ¤Ë¥Ñ¥¹¤ÎÉôʬ¤¬´Þ¤Þ¤ì¤Æ¤Ê¤¤¾ì¹ç¤Ï¡¢
-¥Ñ¥¹¤Ï /uap ¤È²¾Äꤵ¤ì¤Þ¤¹¡£
-2 ¤Ä°Ê¾å¤Î URL ¤¬¤³¤Î¥ê¥¹¥È¤Ë»ØÄꤵ¤ì¤¿¾ì¹ç¡¢URL ¤Ï¶õÇò¤Ç¶èÀÚ¤é¤ì¤Þ¤¹¡£
+�ܥ��ץ����ϡ��桼��ǧ�ڥץ��ȥ��� (UAP) ����ޤ줿ǧ���׵��
+��������ǽ�ϤΤ���桼��ǧ�ڥ����ӥ��򤽤줾��ؤ��Ƥ���
+URL �Υꥹ�Ȥ���ꤷ�ޤ���
+UAP �����Ф� HTTP 1.1 ��³�� SSLv3 ��³�������뤳�Ȥ��Ǥ��ޤ���
+�ꥹ�Ȥ˴ޤޤ줿 URL �˥ݡ�����ʬ���ޤޤ�Ƥʤ����ϡ�
+�̾�Υǥե���ȥݡ��Ȥ����ꤵ��ޤ�
+(�Ĥޤ� http �ˤ� 80 �֡�https �ˤ� 443 ��)��
+�ꥹ�Ȥ˴ޤޤ줿 URL �˥ѥ�����ʬ���ޤޤ�Ƥʤ����ϡ�
+�ѥ��� /uap �Ȳ��ꤵ��ޤ���
+2 �İʾ�� URL �����Υꥹ�Ȥ˻��ꤵ�줿��硢URL �϶���Ƕ��ڤ��ޤ���
.RE
.PP
.B option \fBuser-class\fR \fIstring\fR\fB;\fR
.RS 0.25i
.PP
.\" metal
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥æ¡¼¥¶¤¬¼±Ê̾ðÊó¤ò¥¯¥é¥¤¥¢¥ó¥È¤Ë»ØÄꤹ¤ë¼êÃʤȤ·¤Æ¡¢
-¤¤¤¯¤Ä¤«¤Î DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ç»È¤ï¤ì¤Þ¤¹¡£
-¤³¤ì¤Ï vendor-class-identifier ¥ª¥×¥·¥ç¥ó¤ÈƱÍͤ˻Ȥï¤ì¤Þ¤¹¤¬¡¢
-¤½¤ÎÃͤϡ¢¥Ù¥ó¥À¤Ç¤Ï¤Ê¤¯¡¢¥æ¡¼¥¶¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤Þ¤¹¡£
-ºÇ¶á¤Î¤Û¤È¤ó¤É¤Î DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢¤³¤Î¼±Ê̻ҤËÃͤò»ØÄꤹ¤ë¤¿¤á¤Î
-¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÈ÷¤¨¤Æ¤¤¤Þ¤¹¡£
-¤³¤Î¼±Ê̻Ҥϡ¢Ä̾ï¥Æ¥­¥¹¥Èʸ»úÎó¤Ç¤¹¡£
+�ܥ��ץ����ϡ��桼�������̾���򥯥饤����Ȥ˻��ꤹ����ʤȤ��ơ�
+�����Ĥ��� DHCP ���饤����ȤǻȤ��ޤ���
+����� vendor-class-identifier ���ץ�����Ʊ�ͤ˻Ȥ��ޤ�����
+�����ͤϡ��٥���ǤϤʤ����桼���ˤ�äƻ��ꤵ��ޤ���
+�Ƕ�ΤۤȤ�ɤ� DHCP ���饤����Ȥϡ����μ��̻Ҥ��ͤ���ꤹ�뤿���
+�桼�����󥿥ե������������Ƥ��ޤ���
+���μ��̻Ҥϡ��̾�ƥ�����ʸ����Ǥ���
.RE
.PP
.B option \fBvendor-class-identifier\fR \fIstring\fR\fB;\fR
.RS 0.25i
.PP
.\" metal
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥Ù¥ó¥À¥¿¥¤¥×¤ä¡¢²Äǽ¤Ç¤¢¤ì¤Ð DHCP ¥¯¥é¥¤¥¢¥ó¥È¤ÎÀßÄê¤ò
-¼±Ê̤¹¤ë¤¿¤á¤Ë¡¢¤¤¤¯¤Ä¤«¤Î DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ç»È¤ï¤ì¤Þ¤¹¡£
-¤³¤Î¾ðÊó¤ÎÆâÍƤϡ¢¥Ù¥ó¥À¸ÇÍ­¤Î¥Ð¥¤¥Èʸ»úÎó¤Ç¡¢É¸½à¤Ç¤Ïµ¬Äꤵ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
-¥¯¥é¥¤¥¢¥ó¥È¤¬Á÷½Ð¤¹¤ë¥Ù¥ó¥À¥¯¥é¥¹¼±Ê̻Ҥò³Îǧ¤¹¤ë¤Ë¤Ï¡¢
-°Ê²¼¤ÎÀßÄê¤ò DHCP ¥µ¡¼¥ÐÀßÄê¥Õ¥¡¥¤¥ë¤Ë²Ã¤¨¤Æ¤¯¤À¤µ¤¤:
+�ܥ��ץ����ϡ��٥�������פ䡢��ǽ�Ǥ���� DHCP ���饤����Ȥ������
+���̤��뤿��ˡ������Ĥ��� DHCP ���饤����ȤǻȤ��ޤ���
+���ξ�������Ƥϡ��٥����ͭ�ΥХ���ʸ����ǡ�ɸ��Ǥϵ��ꤵ��Ƥ��ޤ���
+���饤����Ȥ����Ф���٥�����饹���̻Ҥ��ǧ����ˤϡ�
+�ʲ�������� DHCP ����������ե�����˲ä��Ƥ�������:
.nf
.PP
set vendor-class option vendor-class-identifier;
.fi
.PP
-¤³¤ÎÀßÄê¤Ï¡¢DHCP ¥µ¡¼¥Ð¤Î¥ê¡¼¥¹¥Ç¡¼¥¿¥Ù¡¼¥¹¥Õ¥¡¥¤¥ëÃæ¤Î¡¢
-°Ê²¼¤Î¤è¤¦¤Ê set ʸ¤ò»ý¤Ä vendor-class-identifier ¥ª¥×¥·¥ç¥ó¤ò
-Á÷¤Ã¤Æ¤¯¤ë¥¯¥é¥¤¥¢¥ó¥È¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤ËºîÍѤ·¤Þ¤¹¡£
+��������ϡ�DHCP �����ФΥ꡼���ǡ����١����ե�������Ρ�
+�ʲ��Τ褦�� set ʸ����� vendor-class-identifier ���ץ�����
+���äƤ��륯�饤����Ȥ��٤ƤΥ���ȥ�˺��Ѥ��ޤ���
.nf
.PP
set vendor-class "SUNW.Ultra-5_10";
.fi
.PP
-vendor-class-identifier ¥ª¥×¥·¥ç¥ó¤Ï¡¢Ä̾ï DHCP Server ¤Ë¤è¤Ã¤Æ¡¢
+vendor-class-identifier ���ץ����ϡ��̾� DHCP Server �ˤ�äơ�
.B vendor-encapsulated-options
-¥ª¥×¥·¥ç¥óÃæ¤ÇÊÖ¤µ¤ì¤ë¥ª¥×¥·¥ç¥ó¤ò·èÄꤹ¤ë¤Î¤Ë»È¤ï¤ì¤Þ¤¹¡£
-¤µ¤é¤Ê¤ë¾ðÊó¤Ï¡¢dhcpd.conf ¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Î VENDOR ENCAPSULATED OPTIONS ¤Î
-¾Ï¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+���ץ��������֤���륪�ץ�������ꤹ��Τ˻Ȥ��ޤ���
+����ʤ����ϡ�dhcpd.conf �ޥ˥奢��ڡ����� VENDOR ENCAPSULATED OPTIONS ��
+�Ϥ򻲾Ȥ��Ƥ���������
.RE
.PP
.B option \fBvendor-encapsulated-options\fR \fIstring\fR\fB;\fR
.RS 0.25i
.PP
.\" metal
-\fBvendor-encapsulated-options\fR ¥ª¥×¥·¥ç¥ó¤Ï¡¢1 ¤Ä¤Î¥Ù¥ó¥À¸ÇÍ­ÃÍ¡¢
-¤â¤·¤¯¤Ï 1 ¤Ä¤Þ¤¿¤Ï¤½¤ì°Ê¾å¤Î¥Ù¥ó¥À¸ÇÍ­¥µ¥Ö¥ª¥×¥·¥ç¥ó¤ò´Þ¤ß¤Þ¤¹¡£
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢Ä̾ï DHCP ¥µ¡¼¥Ð¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤ÇÀßÄꤵ¤ì¤ë¤â¤Î¤Ç¤Ï
-¤¢¤ê¤Þ¤»¤ó¡£
-Ä̾ï¤Ï¡¢¥Ù¥ó¥À¥¯¥é¥¹¤¬¥Ù¥ó¥ÀËè¤ËÄêµÁ¤µ¤ì¡¢
-¥Ù¥ó¥À¥¯¥é¥¹¥µ¥Ö¥ª¥×¥·¥ç¥ó¤¬ÄêµÁ¤µ¤ì¡¢¤½¤Î¥µ¥Ö¥ª¥×¥·¥ç¥ó¤ÎÃͤ¬
-ÄêµÁ¤µ¤ì¡¢DHCP ¥µ¡¼¥Ð¤Ï¤½¤ì¤é¤ò¤â¤È¤Ë±þÅú¤òÁȤ߾夲¤Þ¤¹¡£
-.PP
-¤è¤¯ÃΤé¤ì¤¿ DHCP ¥¯¥é¥¤¥¢¥ó¥È¥Ù¥ó¥À (º£¤Î¤È¤³¤í Microsoft Windows
-2000 DHCP ¥¯¥é¥¤¥¢¥ó¥È) ¸þ¤±¤Î¤¤¤¯¤Ä¤«¤Î¥Ç¥Õ¥©¥ë¥È¤ÎÆ°ºî¤Ç¤Ï¡¢
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¼«Æ°Åª¤ËÀßÄꤵ¤ì¤Þ¤¹¤¬¡¢¤½¤Î¾¤Î¤â¤Î¤Ë´Ø¤·¤Æ¤Ï¡¢
-¼êÆ°¤ÇÀßÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-¾ÜºÙ¤Ï \fIdhcpd.conf\fI ¤Î VENDOR ENCAPSULATED OPTIONS ¤Î¾Ï¤ò
-»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+\fBvendor-encapsulated-options\fR ���ץ����ϡ�1 �ĤΥ٥����ͭ�͡�
+�⤷���� 1 �Ĥޤ��Ϥ���ʾ�Υ٥����ͭ���֥��ץ�����ޤߤޤ���
+�ܥ��ץ����ϡ��̾� DHCP �����Ф�����ե���������ꤵ����ΤǤ�
+����ޤ���
+�̾�ϡ��٥�����饹���٥�����������졢
+�٥�����饹���֥��ץ����������졢���Υ��֥��ץ������ͤ�
+������졢DHCP �����ФϤ������Ȥ˱������Ȥ߾夲�ޤ���
+.PP
+�褯�Τ�줿 DHCP ���饤����ȥ٥�� (���ΤȤ��� Microsoft Windows
+2000 DHCP ���饤�����) �����Τ����Ĥ��Υǥե���Ȥ�ư��Ǥϡ�
+���Υ��ץ����ϼ�ưŪ�����ꤵ��ޤ���������¾�Τ�Τ˴ؤ��Ƥϡ�
+��ư�����ꤷ�ʤ���Фʤ�ޤ���
+�ܺ٤� \fIdhcpd.conf\fI �� VENDOR ENCAPSULATED OPTIONS �ξϤ�
+���Ȥ��Ƥ���������
.RE
.PP
.B option \fBwww-server\fR \fIip-address\fR [\fB,\fR
\fIip-address\fR... ]\fB;\fR
.RS 0.25i
.PP
-WWW ¥µ¡¼¥Ð¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѲÄǽ¤Ê WWW ¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-¥µ¡¼¥Ð¤Ï¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë¥ê¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
+WWW �����Х��ץ����ϡ����饤����Ȥ����Ѳ�ǽ�� WWW �Υꥹ�Ȥ���ꤷ�ޤ���
+�����Фϡ�ͥ�褵����Τ����˥ꥹ�Ȥ��Ƥ���������
.RE
.PP
.B option \fBx-display-manager\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
]\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѲÄǽ¤Ê X Window System
-¥Ç¥£¥¹¥×¥ì¥¤¥Þ¥Í¡¼¥¸¥ã¤ò¼Â¹Ô¤·¤Æ¤¤¤ë¥·¥¹¥Æ¥à¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-¥¢¥É¥ì¥¹¤Ï¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë¥ê¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
+�ܥ��ץ����ϡ����饤����Ȥ����Ѳ�ǽ�� X Window System
+�ǥ����ץ쥤�ޥ͡������¹Ԥ��Ƥ��륷���ƥ�Υꥹ�Ȥ���ꤷ�ޤ���
+���ɥ쥹�ϡ�ͥ�褵����Τ����˥ꥹ�Ȥ��Ƥ���������
.RE
-.SH ¥ê¥ì¡¼¥¨¡¼¥¸¥§¥ó¥È¾ðÊ󥪥ץ·¥ç¥ó
+.SH ��졼����������Ⱦ��󥪥ץ����
.\" metal
-IETF ¥É¥é¥Õ¥È draft-ietf-dhc-agent-options-11.txt ¤Ë¤Ï¡¢
-DHCP ¥ê¥ì¡¼¥¨¡¼¥¸¥§¥ó¥È¤¬ DHCP ¥Ñ¥±¥Ã¥È¤ò DHCP ¥µ¡¼¥Ð¤ËžÁ÷¤¹¤ëºÝ¡¢
-DHCP ¥Ñ¥±¥Ã¥È¤ËÉղ乤뤳¤È¤Î¤Ç¤­¤ë°ìÏ¢¤Î¥«¥×¥»¥ë²½¤µ¤ì¤¿¥ª¥×¥·¥ç¥ó¤¬
-ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-¥µ¡¼¥Ð¤Ï¡¢¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ë´ð¤Å¤­¡¢¥¢¥É¥ì¥¹³äÅö¤Î·èÄê
-(¤ä¡¢¤½¤Î¾¤ÎȽÃÇ) ¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-¤Þ¤¿¥µ¡¼¥Ð¤Ï¡¢¥ê¥ì¡¼¥¨¡¼¥¸¥§¥ó¥È¤òÄ̤·¤ÆÊÖ¤µ¤ì¤ë¤É¤Î¥Ñ¥±¥Ã¥È¤Ë¤â
-¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤òÆþ¤ì¤ÆÊÖ¤·¤Þ¤¹¡£
-¤³¤ì¤Ë¤è¤Ã¤Æ¥ê¥ì¡¼¥¨¡¼¥¸¥§¥ó¥È¤Ï¡¢ÇÛÁ÷¤ä¥¢¥«¥¦¥ó¥Æ¥£¥ó¥°¤Ê¤É¤ò
-¹Ô¤¦¤¿¤á¤Ë¡¢¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ë´Þ¤Þ¤ì¤ë¾ðÊó¤òÍøÍѤǤ­¤Þ¤¹¡£
-.PP
-¸½ºß¤Î¥É¥é¥Õ¥È¤Ë¤Ï 2 ¤Ä¤Î¥ª¥×¥·¥ç¥ó¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-DHCP ¥µ¡¼¥Ð¤Ç¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤ò»²¾È¤¹¤ë¤Ë¤Ï¡¢¥ª¥×¥·¥ç¥ó¶õ´Ö̾
-"agent" ¤Î¤¢¤È¤Ë¥Ô¥ê¥ª¥É¤ò¤Ä¤±¡¢¤½¤Î¸å¤Ë¥ª¥×¥·¥ç¥ó̾¤ò³¤±¤Æ¤¯¤À¤µ¤¤¡£
-¥µ¡¼¥Ð¤Ç¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤ÎÃͤòÄêµÁ¤¹¤ë¤³¤È¤Ï¡¢
-Ä̾濫¤Þ¤êÍ­¸ú¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢µöÍƤµ¤ì¤Æ¤¤¤Þ¤¹¡£
-¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
+IETF �ɥ�ե� draft-ietf-dhc-agent-options-11.txt �ˤϡ�
+DHCP ��졼����������Ȥ� DHCP �ѥ��åȤ� DHCP �����Ф�ž������ݡ�
+DHCP �ѥ��åȤ��ղä��뤳�ȤΤǤ����Ϣ�Υ��ץ��벽���줿���ץ����
+�������Ƥ��ޤ���
+�����Фϡ������Υ��ץ����˴�Ť������ɥ쥹�����η���
+(�䡢����¾��Ƚ��) ��Ԥ����Ȥ��Ǥ��ޤ���
+�ޤ������Фϡ���졼����������Ȥ��̤����֤����ɤΥѥ��åȤˤ�
+�����Υ��ץ�����������֤��ޤ���
+����ˤ�äƥ�졼����������Ȥϡ������䥢������ƥ��󥰤ʤɤ�
+�Ԥ�����ˡ������Υ��ץ����˴ޤޤ���������ѤǤ��ޤ���
+.PP
+���ߤΥɥ�եȤˤ� 2 �ĤΥ��ץ�����������Ƥ��ޤ���
+DHCP �����ФǤ����Υ��ץ����򻲾Ȥ���ˤϡ����ץ�������̾
+"agent" �Τ��Ȥ˥ԥꥪ�ɤ�Ĥ������θ�˥��ץ����̾��³���Ƥ���������
+�����ФǤ����Υ��ץ������ͤ�������뤳�Ȥϡ�
+�̾濫�ޤ�ͭ���ǤϤ���ޤ��󤬡����Ƥ���Ƥ��ޤ���
+�����Υ��ץ����ϡ����饤����ȤǤϥ��ݡ��Ȥ���Ƥ��ޤ���
.PP
.B option \fBagent.circuit-id\fR \fIstring\fR\fB;\fR
.RS 0.25i
.PP
-circuit-id ¥µ¥Ö¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤«¤é¥µ¡¼¥Ð¤Ø¤Î DHCP ¥Ñ¥±¥Ã¥È¤ò
-¼õ¤±¼è¤Ã¤¿¥µ¡¼¥­¥Ã¥È¤ò¼¨¤¹¡¢¥¨¡¼¥¸¥§¥ó¥È¥í¡¼¥«¥ë¤Ê¥µ¡¼¥­¥Ã¥È¼±Ê̻Ҥò
-¥¨¥ó¥³¡¼¥É¤·¤Æ¤¤¤Þ¤¹¡£
-¤³¤ì¤Ï¡¢DHCP ±þÅú¤òŬÀڤʥµ¡¼¥­¥Ã¥È¤Ø¤ÈÁ÷¤êÊÖ¤»¤ë¤è¤¦¡¢
-¥¨¡¼¥¸¥§¥ó¥È¤Ë¤è¤Ã¤Æ»È¤ï¤ì¤ë¤³¤È¤ò°Õ¿Þ¤·¤Æ¤¤¤Þ¤¹¡£
-¸½ºß¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Î½ñ¼°¤ÎÄêµÁ¤Ï¥Ù¥ó¥À°Í¸¤È¤Ê¤Ã¤Æ¤ª¤ê¡¢
-¿ʬ¤³¤Î¤Þ¤Þ»Ä¤µ¤ì¤ë¤Ç¤·¤ç¤¦¡£
-¤·¤«¤·¾­Í褳¤Î½ñ¼°¤¬É¸½à²½¤µ¤ì¤ë²ÄǽÀ­¤â¡¢¸½ºß¤Î¥É¥é¥Õ¥È¤Ë¤Ï»Ä¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
+circuit-id ���֥��ץ����ϡ����饤����Ȥ��饵���Фؤ� DHCP �ѥ��åȤ�
+������ä��������åȤ򼨤�������������ȥ�������ʥ������åȼ��̻Ҥ�
+���󥳡��ɤ��Ƥ��ޤ���
+����ϡ�DHCP ������Ŭ�ڤʥ������åȤؤ������֤���褦��
+����������Ȥˤ�äƻȤ��뤳�Ȥ�տޤ��Ƥ��ޤ���
+���ߡ����Υ��ץ����ν񼰤�����ϥ٥����¸�ȤʤäƤ��ꡢ
+¿ʬ���Τޤ޻Ĥ����Ǥ��礦��
+���������褳�ν񼰤�ɸ�ಽ������ǽ���⡢���ߤΥɥ�եȤˤϻĤ���Ƥ��ޤ���
.RE
.PP
.B option \fBagent.remote-id\fR \fIstring\fR\fB;\fR
.RS 0.25i
.PP
-remote-id ¥µ¥Ö¥ª¥×¥·¥ç¥ó¤Ï¡¢¥µ¡¼¥­¥Ã¥È¤Î½ªÃ¼¤Î¥ê¥â¡¼¥È¥Û¥¹¥È¤Î
-¾ðÊó¤ò¥¨¥ó¥³¡¼¥É¤·¤Æ¤¤¤Þ¤¹¡£
-¤³¤ì¤Ë´Þ¤Þ¤ì¤ë¤Ç¤¢¤í¤¦¾ðÊó¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¤â¤Î¤Ç¤¹¡£
-¸Æ½Ð¸µ ID ¾ðÊ󡢥桼¥¶Ì¾¾ðÊó¡¢¥ê¥â¡¼¥È ATM ¥¢¥É¥ì¥¹¡¢¥±¡¼¥Ö¥ë¥â¥Ç¥à ID¡¢
-¤½¤Î¾¤ÎƱÍͤʾðÊó¡£
-¸¶Â§Åª¤Ë¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Î°ÕÌ£¤Ï¤Á¤ã¤ó¤ÈÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
-¤·¤«¤·Ä̾¥µ¡¼¥­¥Ã¥È¤ÎÆÃÄê¤Î¥ê¥â¡¼¥È¥¨¥ó¥É¤ËÂФ·¤Æ°ì°Õ¤Ç¤¢¤ë¤è¤¦
-´ÉÍý¾åÊݾڤµ¤ì¤¿¡¢¤Ê¤ó¤é¤«¤Î¥ª¥Ö¥¸¥§¥¯¥È¤È¹Í¤¨¤ë¤Ù¤­¤â¤Î¤Ç¤¹¡£
+remote-id ���֥��ץ����ϡ��������åȤν�ü�Υ�⡼�ȥۥ��Ȥ�
+����򥨥󥳡��ɤ��Ƥ��ޤ���
+����˴ޤޤ��Ǥ���������ϡ����Τ褦�ʤ�ΤǤ���
+�ƽи� ID ���󡢥桼��̾���󡢥�⡼�� ATM ���ɥ쥹�������֥��ǥ� ID��
+����¾��Ʊ�ͤʾ���
+��§Ū�ˤϡ����Υ��ץ����ΰ�̣�Ϥ������������Ƥ��ޤ���
+�������̾�������åȤ�����Υ�⡼�ȥ���ɤ��Ф��ư�դǤ���褦
+�������ݾڤ��줿���ʤ�餫�Υ��֥������Ȥȹͤ���٤���ΤǤ���
.RE
-.SH ¥¯¥é¥¤¥¢¥ó¥È FQDN ¥µ¥Ö¥ª¥×¥·¥ç¥ó
+.SH ���饤����� FQDN ���֥��ץ����
.\" metal
-¸½ºß¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥È¥É¥é¥Õ¥È draft-ietf-dhc-fqdn-option-00.txt ¤Ç
-ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¤¥¢¥ó¥È FQDN ¥ª¥×¥·¥ç¥ó¤Ï¡¢¤Þ¤Àɸ½à¤È¤Ê¤Ã¤Æ¤Ï¤¤¤Þ¤»¤ó¡£
-¤·¤«¤·¤¹¤Ç¤Ë½½Ê¬¹­¤¯ÍøÍѤµ¤ì¤Æ¤ª¤ê¡¢²æ¡¹¤â¤³¤ì¤ò¼ÂÁõ¤·¤Æ¤¤¤Þ¤¹¡£
-¥ª¥×¥·¥ç¥ó¤Î½ñ¼°¤¬Ê£»¨¤Ê¤¿¤á¡¢¤³¤³¤Ç¤Ï¡¢Ã±ÆȤΥª¥×¥·¥ç¥ó¤Ç¤Ï¤Ê¤¯¡¢
-¥µ¥Ö¥ª¥×¥·¥ç¥ó¶õ´Ö¤Ë¼ÂÁõ¤·¤Æ¤¤¤Þ¤¹¡£
-°ìÈÌŪ¤Ë¤Ï¡¢ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥æ¡¼¥¶¤Ë¤è¤Ã¤ÆÀßÄꤵ¤ì¤ë¤â¤Î¤Ç¤Ï¤Ê¤¯¡¢
-¼«Æ° DNS ¹¹¿·¥·¥¹¥Æ¥à¤Î°ìÉô¤È¤·¤Æ»È¤ï¤ì¤ë¤Ù¤­¤â¤Î¤Ç¤¹¡£
+���ߡ����󥿡��ͥåȥɥ�ե� draft-ietf-dhc-fqdn-option-00.txt ��
+�������Ƥ��륯�饤����� FQDN ���ץ����ϡ��ޤ�ɸ��ȤʤäƤϤ��ޤ���
+���������Ǥ˽�ʬ�������Ѥ���Ƥ��ꡢ�桹�⤳���������Ƥ��ޤ���
+���ץ����ν񼰤�ʣ���ʤ��ᡢ�����Ǥϡ�ñ�ȤΥ��ץ����ǤϤʤ���
+���֥��ץ������֤˼������Ƥ��ޤ���
+����Ū�ˤϡ��ܥ��ץ����ϡ��桼���ˤ�ä����ꤵ����ΤǤϤʤ���
+��ư DNS ���������ƥ�ΰ����Ȥ��ƻȤ���٤���ΤǤ���
.PP
.B option fqdn.no-client-update \fIflag\fB;
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤¬¥¯¥é¥¤¥¢¥ó¥È¤«¤éÁ÷½Ð¤µ¤ì¤¿¾ì¹ç¡¢¤³¤ì¤¬ true ¤Ç¤¢¤ì¤Ð¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤Ï¼«Ê¬¤Î A ¥ì¥³¡¼¥É¤ò¹¹¿·¤·¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
-¥µ¡¼¥Ð¤«¤é¥¯¥é¥¤¥¢¥ó¥È¤ËÁ÷½Ð¤µ¤ì¤¿¾ì¹ç¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï
-¼«Ê¬¤Î A ¥ì¥³¡¼¥É¤ò¹¹¿·¤¹¤ë \fI¤Ù¤­¤Ç¤Ï¤Ê¤¤\fR ¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
+�ܥ��ץ���󤬥��饤����Ȥ������Ф��줿��硢���줬 true �Ǥ���С�
+���饤����Ȥϼ�ʬ�� A �쥳���ɤ򹹿����ʤ����Ȥ��̣���ޤ���
+�����Ф��饯�饤����Ȥ����Ф��줿���ϡ����饤����Ȥ�
+��ʬ�� A �쥳���ɤ򹹿����� \fI�٤��ǤϤʤ�\fR ���Ȥ��̣���ޤ���
.RE
.PP
.B option fqdn.server-update \fIflag\fB;
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤¬¥¯¥é¥¤¥¢¥ó¥È¤«¤é¥µ¡¼¥Ð¤ËÁ÷½Ð¤µ¤ì¤¿¾ì¹ç¡¢
-¥µ¡¼¥Ð¤Ë¥¯¥é¥¤¥¢¥ó¥È¤Î A ¥ì¥³¡¼¥É¤Î¹¹¿·¤òÍ׵ᤷ¤Æ¤¤¤Þ¤¹¡£
-¥µ¡¼¥Ð¤«¤éÁ÷½Ð¤µ¤ì¤¿¾ì¹ç¡¢¥µ¡¼¥Ð¤¬¥¯¥é¥¤¥¢¥ó¥È¤Î A ¥ì¥³¡¼¥É¤ò
-¹¹¿·¤·¤¿ (¤â¤·¤¯¤Ï¤â¤¦¤¹¤°¹¹¿·¤¹¤ë¤È¤³¤í) ¤Ç¤¢¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
+�ܥ��ץ���󤬥��饤����Ȥ��饵���Ф����Ф��줿��硢
+�����Ф˥��饤����Ȥ� A �쥳���ɤι������׵ᤷ�Ƥ��ޤ���
+�����Ф������Ф��줿��硢�����Ф����饤����Ȥ� A �쥳���ɤ�
+�������� (�⤷���Ϥ⤦������������Ȥ���) �Ǥ��뤳�Ȥ��̣���ޤ���
.RE
.PP
.B option fqdn.encoded \fIflag\fB;
.RS 0.25i
.PP
-true ¤Ç¤¢¤Ã¤¿»þ¡¢¥ª¥×¥·¥ç¥ó¤Ë´Þ¤Þ¤ì¤ë¥É¥á¥¤¥ó̾¤¬¡¢
-¤¿¤À¤Î ASCII ¥Æ¥­¥¹¥È¤Ç¤Ï¤Ê¤¯¡¢DNS ¥ï¥¤¥ä¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç
-¥¨¥ó¥³¡¼¥É¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ò¼¨¤·¤Æ¤Þ¤¹¡£
-¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢¼«Ê¬¤¬ FQDN ¥ª¥×¥·¥ç¥ó¤Î DNS ¥ï¥¤¥ä¥Õ¥©¡¼¥Þ¥Ã¥È¤ò
-¥µ¥Ý¡¼¥È¤·¤Æ¤Ê¤¤¾ì¹ç¡¢Ä̾盧¤Î¥µ¥Ö¥ª¥×¥·¥ç¥ó¤ò false ¤ËÀßÄꤷ¤Þ¤¹¡£
-¥µ¡¼¥Ð¤Ï¾ï¤Ë¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ÀßÄꤷ¤¿¤Î¤ÈƱ¤¸ÃͤòÀßÄꤷ¤ÆÊÖ¤¹¤Ù¤­¤Ç¤¹¡£
-¤³¤ÎÃͤ¬ÀßÄê¥Õ¥¡¥¤¥ë¤ËÀßÄꤵ¤ì¤Æ¤¤¤¿»þ¤Ï¡¢\fIfqdn.fqdn\fR ¥µ¥Ö¥ª¥×¥·¥ç¥ó¤ò
-¥¨¥ó¥³¡¼¥É¤¹¤ë¥Õ¥©¡¼¥Þ¥Ã¥È¤òÀ©¸æ¤·¤Þ¤¹¡£
+true �Ǥ��ä��������ץ����˴ޤޤ��ɥᥤ��̾����
+������ ASCII �ƥ����ȤǤϤʤ���DNS �磻��ե����ޥåȤ�
+���󥳡��ɤ���Ƥ��뤳�Ȥ򼨤��Ƥޤ���
+���饤����Ȥϡ���ʬ�� FQDN ���ץ����� DNS �磻��ե����ޥåȤ�
+���ݡ��Ȥ��Ƥʤ���硢�̾盧�Υ��֥��ץ����� false �����ꤷ�ޤ���
+�����ФϾ�ˡ����饤����Ȥ����ꤷ���Τ�Ʊ���ͤ����ꤷ���֤��٤��Ǥ���
+�����ͤ�����ե���������ꤵ��Ƥ������ϡ�\fIfqdn.fqdn\fR ���֥��ץ�����
+���󥳡��ɤ���ե����ޥåȤ����椷�ޤ���
.RE
.PP
.B option fqdn.rcode1 \fIflag\fB;
@@ -1174,127 +1174,127 @@ true ¤Ç¤¢¤Ã¤¿»þ¡¢¥ª¥×¥·¥ç¥ó¤Ë´Þ¤Þ¤ì¤ë¥É¥á¥¤¥ó̾¤¬¡¢
.B option fqdn.rcode2 \fIflag\fB;
.RS 0.25i
.PP
-¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï¤½¤ì¤¾¤ì¡¢A ¥ì¥³¡¼¥É¤È PTR ¥ì¥³¡¼¥É¤Î¹¹¿··ë²Ì¤ò¼¨¤·¤Þ¤¹¡£
-¤³¤ì¤é¤Ï¡¢DHCP ¥µ¡¼¥Ð¤«¤é DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ø¤Î¤ßÁ÷¤é¤ì¤Þ¤¹¡£
-¤³¤ì¤é¤Î¥Õ¥£¡¼¥ë¥É¤ÎÃͤϡ¢DNS ¥×¥í¥È¥³¥ëµ¬³Ê¤Ë¤è¤êÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
+�����Υ��ץ����Ϥ��줾�졢A �쥳���ɤ� PTR �쥳���ɤι�����̤򼨤��ޤ���
+�����ϡ�DHCP �����Ф��� DHCP ���饤����ȤؤΤ������ޤ���
+�����Υե�����ɤ��ͤϡ�DNS �ץ��ȥ��뵬�ʤˤ���������Ƥ��ޤ���
.RE
.PP
.B option fqdn.fqdn \fItext\fB;
.RS 0.25i
.PP
-¥¯¥é¥¤¥¢¥ó¥È¤¬»ÈÍѤò˾¤à¥É¥á¥¤¥ó̾¤ò»ØÄꤷ¤Þ¤¹¡£
-¤³¤ì¤Ï´°Á´½¤¾þ¤µ¤ì¤¿¥É¥á¥¤¥ó̾¤Ç¤â¡¢Ã±°ì¤Î¥é¥Ù¥ë¤Ç¤â¹½¤¤¤Þ¤»¤ó¡£
-¤â¤·Ì¾Á°¤Ë '.' ʸ»ú¤¬´Þ¤Þ¤ì¤Ê¤±¤ì¤Ð¡¢¤½¤Î̾Á°¤Ï´°Á´½¤¾þ¤µ¤ì¤Æ¤ª¤é¤º¡¢
-¥µ¡¼¥Ð¤ÏÄ̾¥í¡¼¥«¥ë¤ËÄêµÁ¤µ¤ì¤¿¥É¥á¥¤¥óÃæ¤Î¤½¤Î̾Á°¤ò¹¹¿·¤·¤Þ¤¹¡£
+���饤����Ȥ����Ѥ�˾��ɥᥤ��̾����ꤷ�ޤ���
+����ϴ����������줿�ɥᥤ��̾�Ǥ⡢ñ��Υ�٥�Ǥ⹽���ޤ���
+�⤷̾���� '.' ʸ�����ޤޤ�ʤ���С�����̾���ϴ�����������Ƥ��餺��
+�����Ф��̾���������������줿�ɥᥤ����Τ���̾���򹹿����ޤ���
.RE
.PP
-¤â¤·¤³¤ì¤é¤Î¥µ¥Ö¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤è¤¦¤È»×¤Ã¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢
-¥¯¥é¥¤¥¢¥ó¥È FQDN ¥ª¥×¥·¥ç¥ó¤Î¥É¥é¥Õ¥È (¤â¤·¤¯¤Ï¡¢É¸½à¤Ë¤Ê¤Ã¤¿»þ¤Ï¤½¤Îɸ½à)
-¤ò»²¾È¤¹¤ë¤³¤È¤ò¶¯¤¯¿ä¾©¤·¤Þ¤¹¡£
-¤³¤Îʸ½ñ¤Ï¡¢¤½¤Î¥É¥é¥Õ¥È¤ËÈæ¤Ù¤ÆÂ绨ÇĤÇÉÔ´°Á´¤Ç¤¢¤ê¡¢
-¥¯¥é¥¤¥¢¥ó¥È FQDN ¥ª¥×¥·¥ç¥óµ¬³Ê¤ò¤¹¤Ç¤ËÍý²ò¤·¤Æ¤¤¤ë¿Í¤Ë»²¾È¤µ¤ì¤ë¤³¤È¤ò
-ñ¤Ë°Õ¿Þ¤·¤Æ¤¤¤ë¤â¤Î¤Ç¤¹¡£
-.SH NetWare/IP ¥µ¥Ö¥ª¥×¥·¥ç¥ó
+�⤷�����Υ��֥��ץ�������Ѥ��褦�ȻפäƤ���ΤǤ���С�
+���饤����� FQDN ���ץ����Υɥ�ե� (�⤷���ϡ�ɸ��ˤʤä����Ϥ���ɸ��)
+�򻲾Ȥ��뤳�Ȥ򶯤��侩���ޤ���
+����ʸ��ϡ����Υɥ�եȤ���٤��绨�Ĥ��Դ����Ǥ��ꡢ
+���饤����� FQDN ���ץ���󵬳ʤ򤹤Ǥ����򤷤Ƥ���ͤ˻��Ȥ���뤳�Ȥ�
+ñ�˰տޤ��Ƥ����ΤǤ���
+.SH NetWare/IP ���֥��ץ����
.\" metal
-RFC2242 ¤Ï¡¢Novell ¤Î NetWare/IP ¥¯¥é¥¤¥¢¥ó¥ÈÍѤΥ«¥×¥»¥ë²½¤µ¤ì¤¿
-¥ª¥×¥·¥ç¥ó¤ÎÁȤòÄêµÁ¤·¤Æ¤¤¤Þ¤¹¡£
-DHCP ¥µ¡¼¥Ð¤Ë¤ª¤¤¤Æ¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¥ª¥×¥·¥ç¥ó¶õ´Ö̾
-"nwip" ¤Î¸å¤Ë¥Ô¥ê¥ª¥É¤ò¤Ä¤±¡¢¤½¤Î¸å¤Ë¥ª¥×¥·¥ç¥ó̾¤ò³¤±¤Æ¤¯¤À¤µ¤¤¡£
-°Ê²¼¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄê¤Ç¤­¤Þ¤¹:
+RFC2242 �ϡ�Novell �� NetWare/IP ���饤������ѤΥ��ץ��벽���줿
+���ץ������Ȥ�������Ƥ��ޤ���
+DHCP �����Фˤ����Ƥ����Υ��ץ�������Ѥ���ˤϡ����ץ�������̾
+"nwip" �θ�˥ԥꥪ�ɤ�Ĥ������θ�˥��ץ����̾��³���Ƥ���������
+�ʲ��Υ��ץ���󤬻���Ǥ��ޤ�:
.PP
.B option \fBnwip.nsq-broadcast\fR \fIflag\fR\fB;\fR
.RS 0.25i
.PP
-true ¤Ç¤¢¤Ã¤¿¾ì¹ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢NetWare/IP ¥µ¡¼¥Ð¤Î°ÌÃÖ¤ò
-õ¤¹¤Î¤Ë NetWare Nearest Server Query ¤ò»È¤¦¤Ù¤­¤Ç¤¹¡£
-ËÜ¥µ¥Ö¥ª¥×¥·¥ç¥ó¤¬ false ¤Ç¤¢¤Ã¤¿¾ì¹ç¡¢¤â¤·¤¯¤Ï»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¤Î
-Novell ¥¯¥é¥¤¥¢¥ó¥È¤ÎÆ°ºî¤Ïµ¬Äꤵ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
+true �Ǥ��ä���硢���饤����Ȥϡ�NetWare/IP �����Фΰ��֤�
+õ���Τ� NetWare Nearest Server Query ��Ȥ��٤��Ǥ���
+�ܥ��֥��ץ���� false �Ǥ��ä���硢�⤷���ϻ��ꤵ��ʤ��ä�����
+Novell ���饤����Ȥ�ư��ϵ��ꤵ��Ƥ��ޤ���
.PP
.RE
.B option \fBnwip.preferred-dss\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥µ¥Ö¥ª¥×¥·¥ç¥ó¤Ë¤Ï¡¢5 ¤Ä¤Þ¤Ç¤Î IP ¥¢¥É¥ì¥¹¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-¤½¤ì¤¾¤ì¤Î¥¢¥É¥ì¥¹¤Ï¡¢NetWare ¥É¥á¥¤¥ó SAP/RIP ¥µ¡¼¥Ð (DSS) ¤Î
-IP ¥¢¥É¥ì¥¹¤Ç¤¹¡£
+�ܥ��֥��ץ����ˤϡ�5 �ĤޤǤ� IP ���ɥ쥹�Υꥹ�Ȥ���ꤷ�ޤ���
+���줾��Υ��ɥ쥹�ϡ�NetWare �ɥᥤ�� SAP/RIP ������ (DSS) ��
+IP ���ɥ쥹�Ǥ���
.RE
.PP
.B option \fBnwip.nearest-nwip-server\fR \fI\fIip-address\fR
[\fB,\fR \fIip-address\fR...]\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥µ¥Ö¥ª¥×¥·¥ç¥ó¤Ë¤Ï¡¢5 ¤Ä¤Þ¤Ç¤Î IP ¥¢¥É¥ì¥¹¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-¤½¤ì¤¾¤ì¤Î¥¢¥É¥ì¥¹¤Ï¡¢¶áÀܤΠNetWare IP ¥µ¡¼¥Ð
-(Nearest NetWare IP Server) ¤Î IP ¥¢¥É¥ì¥¹¤Ç¤¹¡£
+�ܥ��֥��ץ����ˤϡ�5 �ĤޤǤ� IP ���ɥ쥹�Υꥹ�Ȥ���ꤷ�ޤ���
+���줾��Υ��ɥ쥹�ϡ����ܤ� NetWare IP ������
+(Nearest NetWare IP Server) �� IP ���ɥ쥹�Ǥ���
.RE
.PP
.B option \fBnwip.autoretries\fR \fIuint8\fR\fB;\fR
.RS 0.25i
.PP
-µ¯Æ°»þ¤Ë¡¢NetWare/IP ¥¯¥é¥¤¥¢¥ó¥È¤¬¡¢Í¿¤¨¤é¤ì¤¿ DSS ¥µ¡¼¥Ð¤È
-²¿²óÄÌ¿®¤ò»î¤ß¤ë¤Ù¤­¤«¤ò»ØÄꤷ¤Þ¤¹¡£
+��ư���ˡ�NetWare/IP ���饤����Ȥ���Ϳ����줿 DSS �����Ф�
+�����̿����ߤ�٤�������ꤷ�ޤ���
.RE
.PP
.B option \fBnwip.autoretry-secs\fR \fIuint8\fR\fB;\fR
.RS 0.25i
.PP
-µ¯Æ°»þ¤Ë¡¢NetWare/IP ¥¯¥é¥¤¥¢¥ó¥È¤¬¡¢Í¿¤¨¤é¤ì¤¿ DSS ¥µ¡¼¥Ð¤È
-ÄÌ¿®¤ò³ÎΩ¤¹¤ë»þ¤Ë¡¢¥ê¥È¥é¥¤¤Î´Ö²¿ÉÃÂԤĤ٤­¤«¤ò»ØÄꤷ¤Þ¤¹¡£
+��ư���ˡ�NetWare/IP ���饤����Ȥ���Ϳ����줿 DSS �����Ф�
+�̿����Ω������ˡ���ȥ饤�δֲ����ԤĤ٤�������ꤷ�ޤ���
.RE
.PP
.B option \fBnwip.nwip-1-1\fR \fIuint8\fR\fB;\fR
.RS 0.25i
.PP
-true ¤Ç¤¢¤Ã¤¿¾ì¹ç¡¢NetWare/IP ¥¯¥é¥¤¥¢¥ó¥È¤Ï NetWare/IP
-¥Ð¡¼¥¸¥ç¥ó 1.1 ¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¤Ù¤­¤Ç¤¹¡£
-¤³¤ì¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ NetWare/IP ¥Ð¡¼¥¸¥ç¥ó 1.1 ¤Î¥µ¡¼¥Ð¤È
-ÄÌ¿®¤¹¤ë»þ¤Î¤ßɬÍפǤ¹¡£
+true �Ǥ��ä���硢NetWare/IP ���饤����Ȥ� NetWare/IP
+�С������ 1.1 �򥵥ݡ��Ȥ��Ƥ���٤��Ǥ���
+����ϡ����饤����Ȥ� NetWare/IP �С������ 1.1 �Υ����Ф�
+�̿�������Τ�ɬ�פǤ���
.RE
.PP
.B option \fBnwip.primary-dss\fR \fIip-address\fR\fB;\fR
.RS 0.25i
.PP
-NetWare/IP ¥É¥á¥¤¥ó¤Î¥×¥é¥¤¥Þ¥ê¥É¥á¥¤¥ó SAP/RIP ¥µ¡¼¥Ó¥¹¥µ¡¼¥Ð
-(DSS) ¤Î IP ¥¢¥É¥ì¥¹¤ò»ØÄꤷ¤Þ¤¹¡£
-¥»¥«¥ó¥À¥ê DSS ¥µ¡¼¥Ð¤ÎÀßÄê»þ¤Ë¡¢NetWare/IP ´ÉÍý¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¡¢
-¤³¤ÎÃͤò¥×¥é¥¤¥Þ¥ê DSS ¥µ¡¼¥Ð¤È¤·¤Æ»ÈÍѤ·¤Þ¤¹¡£
+NetWare/IP �ɥᥤ��Υץ饤�ޥ�ɥᥤ�� SAP/RIP �����ӥ�������
+(DSS) �� IP ���ɥ쥹����ꤷ�ޤ���
+��������� DSS �����Ф�������ˡ�NetWare/IP �����桼�ƥ���ƥ��ϡ�
+�����ͤ�ץ饤�ޥ� DSS �����ФȤ��ƻ��Ѥ��ޤ���
.RE
-.SH ¿·µ¬¥ª¥×¥·¥ç¥ó¤ÎÄêµÁ
+.SH �������ץ��������
.\" metal
-Internet Systems Consortium DHCP ¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¤Ï¡¢
-¿·µ¬¥ª¥×¥·¥ç¥ó¤òÄêµÁ¤¹¤ëµ¡¹½¤âÄ󶡤·¤Æ¤¤¤Þ¤¹¡£
-¤½¤ì¤¾¤ì¤Î DHCP ¥ª¥×¥·¥ç¥ó¤Ï¡¢Ì¾Á°¤È¥³¡¼¥É¡¢¹½Â¤¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£
-̾Á°¤Ï¡¢»ÈÍѼԤ¬¥ª¥×¥·¥ç¥ó¤ò»²¾È¤¹¤ë¤Î¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
-¥³¡¼¥É¤Ï¡¢DHCP ¥µ¡¼¥Ð¤È¥¯¥é¥¤¥¢¥ó¥È¤¬¥ª¥×¥·¥ç¥ó¤ò»²¾È¤¹¤ë¤Î¤Ë
-»ÈÍѤ¹¤ëÈÖ¹æ¤Ç¤¹¡£
-¹½Â¤¤Ï¡¢¥ª¥×¥·¥ç¥ó¤ÎÆâÍƤ¬¤É¤Î¤è¤¦¤Ê¤â¤Î¤«¤òµ­½Ò¤·¤Æ¤¤¤Þ¤¹¡£
-.PP
-¿·µ¬¥ª¥×¥·¥ç¥ó¤òÄêµÁ¤¹¤ë¤Ë¤Ï¡¢Â¾¤Î¥ª¥×¥·¥ç¥ó¤Ç¤Ï»È¤ï¤ì¤Æ¤¤¤Ê¤¤Ì¾Á°¤ò
-Áª¤ÖɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-Î㤨¤Ð¡¢"host-name" ¤È¸À¤¦Ì¾Á°¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£
-¤È¤¤¤¦¤Î¤â¡¢¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ë½Ð¤Æ¤­¤¿¤è¤¦¤Ë¡¢
-DHCP ¥×¥í¥È¥³¥ë¤¬´û¤Ë host-name ¥ª¥×¥·¥ç¥ó¤òÄêµÁ¤·¤Æ¤¤¤ë¤«¤é¤Ç¤¹¡£
-¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ë½Ð¤Æ¤­¤Æ¤¤¤Ê¤¤¥ª¥×¥·¥ç¥ó̾¤Ê¤é¤Ð
-»È¤Ã¤Æ¤â¹½¤¤¤Þ¤»¤ó¤¬¡¢¾­Íè½Ð¤Æ¤¯¤ë¥ª¥×¥·¥ç¥ó¤È½Å¤Ê¤é¤Ê¤¤¤è¤¦¤Ë¡¢
-¥ª¥×¥·¥ç¥ó̾¤ÎºÇ½é¤ËÆȼ«¤Îʸ»úÎó¤ò¤Ä¤±¤ë¤³¤È¤Ï¡¢Â¿Ê¬¤¤¤¤¹Í¤¨¤Ç¤·¤ç¤¦¡£
-Î㤨¤Ð¡¢¸ø¼°¤Î DHCP ¥ª¥×¥·¥ç¥ó¤Ë¤Ï "local" ¤Ç»Ï¤Þ¤ë¤â¤Î¤¬¤Ê¤¤¤Î¤Ç¡¢
-"local-host-name" ¤È¸À¤¦Ì¾Á°¤Ï¡¢¤¤¤¯¤é¤«°Â¿´¤·¤ÆÄêµÁ¤Ç¤­¤ë¤Ç¤·¤ç¤¦¡£
-.PP
-̾Á°¤òÁªÂò¤·¤¿¤é¡¢¼¡¤Ï¥³¡¼¥É¤òÁª¤Ð¤Í¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-DHCP ¥ª¥×¥·¥ç¥ó¤Î 128 ¤«¤é 256 ¤Þ¤Ç¤Î¥³¡¼¥É¤Ï¡¢
-¥µ¥¤¥È¥í¡¼¥«¥ë¥ª¥×¥·¥ç¥óÍѤȤ·¤ÆͽÌ󤵤ì¤Æ¤¤¤ë¤Î¤Ç¡¢
-¤³¤ÎÃæ¤Î¥³¡¼¥É¤Ê¤é¤É¤ì¤Ç¤âÁª¤Ö¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-¼ÂºÝ¤Ë¤Ï¡¢¥×¥í¥È¥³¥ë¤ò¾¯¡¹¤¢¤¤¤Þ¤¤¤Ë²ò¼á¤·¤Æ¤¤¤ë¥Ù¥ó¥À¤¬¤¢¤ê¡¢
-128 ¤è¤êÂ礭¤¤ÃͤΥª¥×¥·¥ç¥ó¥³¡¼¥É¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£
-¤³¤ÎÌäÂê¤òËÜÅö¤Ë²óÈò¤¹¤ëÊýË¡¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢
-¼ÂºÝ¤Ë¤Ï¤½¤¦Â礭¤ÊÌäÂê¤ò°ú¤­µ¯¤³¤¹¤â¤Î¤Ç¤Ï¤Ê¤¤¤Ç¤·¤ç¤¦¡£
-.PP
-¥ª¥×¥·¥ç¥ó¤Î¹½Â¤¤È¤Ï¡¢Ã±¤Ë¥ª¥×¥·¥ç¥ó¤Î¥Ç¡¼¥¿¤¬É½¸½¤µ¤ì¤Æ¤¤¤ë·Á¼°¤Ç¤¹¡£
-¸½ºß ISC DHCP ¥µ¡¼¥Ð¤Ï¡¢À°¿ô¡¢¥Ö¡¼¥ëÃÍ¡¢Ê¸»úÎ󤽤·¤Æ IP ¥¢¥É¥ì¥¹¤È¤¤¤Ã¤¿¡¢
-¤¤¤¯¤Ä¤«¤Îñ½ã¤Ê¥Ç¡¼¥¿·¿¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤ª¤ê¡¢
-¤Þ¤¿Ã±°ì¥Ç¡¼¥¿·¿¤ÎÇÛÎó¤ä¸ÇÄê½ç¤Î¥Ç¡¼¥¿·¿Îó¤ÎÇÛÎó¤òÄêµÁ¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£
-.PP
-¿·µ¬¥ª¥×¥·¥ç¥ó¤Ï¡¢°Ê²¼¤Î¤è¤¦¤ËÀë¸À¤µ¤ì¤Þ¤¹:
+Internet Systems Consortium DHCP ���饤����Ȥȥ����Фϡ�
+�������ץ�����������뵡�����󶡤��Ƥ��ޤ���
+���줾��� DHCP ���ץ����ϡ�̾���ȥ����ɡ���¤����äƤ��ޤ���
+̾���ϡ����ѼԤ����ץ����򻲾Ȥ���Τ˻��Ѥ���ޤ���
+�����ɤϡ�DHCP �����Фȥ��饤����Ȥ����ץ����򻲾Ȥ���Τ�
+���Ѥ����ֹ�Ǥ���
+��¤�ϡ����ץ��������Ƥ��ɤΤ褦�ʤ�Τ��򵭽Ҥ��Ƥ��ޤ���
+.PP
+�������ץ������������ˤϡ�¾�Υ��ץ����ǤϻȤ��Ƥ��ʤ�̾����
+����ɬ�פ�����ޤ���
+�㤨�С�"host-name" �ȸ���̾���ϻ��ѤǤ��ޤ���
+�Ȥ����Τ⡢���Υޥ˥奢��ڡ����˽ФƤ����褦�ˡ�
+DHCP �ץ��ȥ��뤬���� host-name ���ץ�����������Ƥ��뤫��Ǥ���
+���Υޥ˥奢��ڡ����˽ФƤ��Ƥ��ʤ����ץ����̾�ʤ��
+�ȤäƤ⹽���ޤ��󤬡�����ФƤ��륪�ץ����ȽŤʤ�ʤ��褦�ˡ�
+���ץ����̾�κǽ���ȼ���ʸ�����Ĥ��뤳�Ȥϡ�¿ʬ�����ͤ��Ǥ��礦��
+�㤨�С������� DHCP ���ץ����ˤ� "local" �ǻϤޤ��Τ��ʤ��Τǡ�
+"local-host-name" �ȸ���̾���ϡ������餫�¿���������Ǥ���Ǥ��礦��
+.PP
+̾�������򤷤��顢���ϥ����ɤ����ФͤФʤ�ޤ���
+DHCP ���ץ����� 128 ���� 256 �ޤǤΥ����ɤϡ�
+�����ȥ������륪�ץ�����ѤȤ���ͽ�󤵤�Ƥ���Τǡ�
+������Υ����ɤʤ�ɤ�Ǥ����֤��Ȥ��Ǥ��ޤ���
+�ºݤˤϡ��ץ��ȥ���򾯡������ޤ��˲�ᤷ�Ƥ���٥�������ꡢ
+128 ����礭���ͤΥ��ץ���󥳡��ɤ���Ѥ��Ƥ��ޤ���
+��������������˲��򤹤���ˡ�Ϥ���ޤ��󤬡�
+�ºݤˤϤ����礭������������������ΤǤϤʤ��Ǥ��礦��
+.PP
+���ץ����ι�¤�Ȥϡ�ñ�˥��ץ����Υǡ�����ɽ������Ƥ�������Ǥ���
+���� ISC DHCP �����Фϡ��������֡����͡�ʸ���󤽤��� IP ���ɥ쥹�Ȥ��ä���
+�����Ĥ���ñ��ʥǡ������򥵥ݡ��Ȥ��Ƥ��ꡢ
+�ޤ�ñ��ǡ����������������Υǡ�������������������뤳�Ȥ�Ǥ��ޤ���
+.PP
+�������ץ����ϡ��ʲ��Τ褦���������ޤ�:
.PP
.B option
.I new-name
@@ -1305,15 +1305,15 @@ DHCP ¥ª¥×¥·¥ç¥ó¤Î 128 ¤«¤é 256 ¤Þ¤Ç¤Î¥³¡¼¥É¤Ï¡¢
.B ;
.PP
.I new-name
-¤È
+��
.I new-code
-¤ÎÃͤϡ¢¿·µ¬¥ª¥×¥·¥ç¥óÍѤˤ¢¤Ê¤¿¤¬Áª¤ó¤À¤â¤Î¤Ç¤¹¡£
+���ͤϡ��������ץ�����Ѥˤ��ʤ����������ΤǤ���
.I definition
-¤Ï¡¢¥ª¥×¥·¥ç¥ó¤Î¹½Â¤¤ÎÄêµÁ¤Ç¤¹¡£
+�ϡ����ץ����ι�¤������Ǥ���
.PP
-°Ê²¼¤Îñ½ã¤Ê¥ª¥×¥·¥ç¥ó¤Î·¿ÄêµÁ¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹:
+�ʲ���ñ��ʥ��ץ����η���������ݡ��Ȥ���Ƥ��ޤ�:
.PP
-.B ¥Ö¡¼¥ëÃÍ
+.B �֡�����
.PP
.B option
.I new-name
@@ -1323,16 +1323,16 @@ DHCP ¥ª¥×¥·¥ç¥ó¤Î 128 ¤«¤é 256 ¤Þ¤Ç¤Î¥³¡¼¥É¤Ï¡¢
.B boolean
.B ;
.PP
-¥Ö¡¼¥ë·¿¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢on ¤Þ¤¿¤Ï off (¤â¤·¤¯¤Ï true ¤« false) ¤ÎÃͤò
-»ý¤Ä¥Õ¥é¥°¤Ç¤¹¡£
-¥Ö¡¼¥ë·¿¤Î»ÈÍÑÎã¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹:
+�֡��뷿�Υ��ץ����ϡ�on �ޤ��� off (�⤷���� true �� false) ���ͤ�
+���ĥե饰�Ǥ���
+�֡��뷿�λ�����ϡ��ʲ��Τ褦�ˤʤ�ޤ�:
.nf
option use-zephyr code 180 = boolean;
option use-zephyr on;
.fi
-.B À°¿ô
+.B ����
.PP
.B option
.I new-name
@@ -1344,17 +1344,17 @@ option use-zephyr on;
.I width
.B ;
.PP
-\fIsign\fR ¥È¡¼¥¯¥ó¤Ï¡¢¶õÇò¡¢\fIunsigned\fR¡¢\fIsigned\fR ¤Î¤¤¤º¤ì¤«¤Ç¤¹¡£
-width ¤Ï 8, 16, 32 ¤Î¤¤¤º¤ì¤«¤Ç¡¢À°¿ô¤Î bit ¿ô¤ò¼¨¤·¤Þ¤¹¡£
-Î㤨¤Ð¡¢°Ê²¼¤Î 2 ¹Ô¤Ï¡¢sql-connection-max ¥ª¥×¥·¥ç¥ó¤ÎÄêµÁ¤È
-»ÈÍÑË¡¤ò¼¨¤·¤Þ¤¹:
+\fIsign\fR �ȡ�����ϡ�����\fIunsigned\fR��\fIsigned\fR �Τ����줫�Ǥ���
+width �� 8, 16, 32 �Τ����줫�ǡ������� bit ���򼨤��ޤ���
+�㤨�С��ʲ��� 2 �Ԥϡ�sql-connection-max ���ץ����������
+����ˡ�򼨤��ޤ�:
.nf
option sql-connection-max code 192 = unsigned integer 16;
option sql-connection-max 1536;
.fi
-.B IP ¥¢¥É¥ì¥¹
+.B IP ���ɥ쥹
.PP
.B option
.I new-name
@@ -1364,9 +1364,9 @@ option sql-connection-max 1536;
.B ip-address
.B ;
.PP
-IP ¥¢¥É¥ì¥¹·¿¤Î¹½Â¤¤ò»ý¤Ä¥ª¥×¥·¥ç¥ó¤Ï¡¢¥É¥á¥¤¥ó̾¤â¤·¤¯¤Ï
-¥É¥Ã¥È¶èÀÚ¤ê¤Î 4 À°¿ô¤Çɽ¸½¤µ¤ì¤Þ¤¹¡£
-°Ê²¼¤Ï¡¢IP ¥¢¥É¥ì¥¹·¿¤Î»ÈÍÑÎã¤Ç¤¹:
+IP ���ɥ쥹���ι�¤����ĥ��ץ����ϡ��ɥᥤ��̾�⤷����
+�ɥåȶ��ڤ�� 4 ������ɽ������ޤ���
+�ʲ��ϡ�IP ���ɥ쥹���λ�����Ǥ�:
.nf
option sql-server-address code 193 = ip-address;
@@ -1374,7 +1374,7 @@ option sql-server-address sql.example.com;
.fi
.PP
-.B ¥Æ¥­¥¹¥È
+.B �ƥ�����
.PP
.B option
.I new-name
@@ -1384,8 +1384,8 @@ option sql-server-address sql.example.com;
.B text
.B ;
.PP
-¥Æ¥­¥¹¥È·¿¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢ASCII ¥Æ¥­¥¹¥Èʸ»úÎó¤ò¥¨¥ó¥³¡¼¥É¤·¤Þ¤¹¡£
-Î㤨¤Ð:
+�ƥ����ȷ��Υ��ץ����ϡ�ASCII �ƥ�����ʸ����򥨥󥳡��ɤ��ޤ���
+�㤨��:
.nf
option sql-default-connection-name code 194 = text;
@@ -1393,7 +1393,7 @@ option sql-default-connection-name "PRODZA";
.fi
.PP
-.B ¥Ç¡¼¥¿Ê¸»úÎó
+.B �ǡ���ʸ����
.PP
.B option
.I new-name
@@ -1403,11 +1403,11 @@ option sql-default-connection-name "PRODZA";
.B string
.B ;
.PP
-¥Ç¡¼¥¿Ê¸»úÎ󷿤Υª¥×¥·¥ç¥ó¤Ï¡¢ËܼÁŪ¤Ë¤Ïñ¤Ê¤ë¥Ð¥¤¥È¤Î½¸¹çÂΤǤ¹¡£
-¥Æ¥­¥¹¥È·¿¤Î¤è¤¦¤Ë¥¯¥ª¡¼¥È¤µ¤ì¤¿¥Æ¥­¥¹¥È¤Ç»ØÄꤵ¤ì¤ë¤«¡¢
-¤â¤·¤¯¤Ï¥³¥í¥ó¶èÀÚ¤ê¤Î 16 ¿Ê¿ô¤Î¥ê¥¹¥È¤Ç»ØÄꤵ¤ì¤Þ¤¹¡£
-¤³¤Î»þ¥³¥í¥ó¤Ç¶èÀÚ¤é¤ì¤¿Ãæ¿È¤Ï¡¢0 ¤«¤é FF ¤Î´Ö¤ÎÃͤǤʤ±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-Î㤨¤Ð:
+�ǡ���ʸ���󷿤Υ��ץ����ϡ��ܼ�Ū�ˤ�ñ�ʤ�Х��Ȥν����ΤǤ���
+�ƥ����ȷ��Τ褦�˥������Ȥ��줿�ƥ����Ȥǻ��ꤵ��뤫��
+�⤷���ϥ�������ڤ�� 16 �ʿ��Υꥹ�Ȥǻ��ꤵ��ޤ���
+���λ�������Ƕ��ڤ�줿��Ȥϡ�0 ���� FF �δ֤��ͤǤʤ���Фʤ�ޤ���
+�㤨��:
.nf
option sql-identification-token code 195 = string;
@@ -1415,7 +1415,7 @@ option sql-identification-token 17:23:19:a6:42:ea:99:7c:22;
.fi
.PP
-.B ¥«¥×¥»¥ë²½
+.B ���ץ��벽
.PP
.B option
.I new-name
@@ -1426,11 +1426,11 @@ option sql-identification-token 17:23:19:a6:42:ea:99:7c:22;
.I identifier
.B ;
.PP
-¥«¥×¥»¥ë²½·¿¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢\fIidentifier\fR ¤Ç»ØÄꤵ¤ì¤¿
-¥ª¥×¥·¥ç¥ó¶õ´Ö¤ÎÃæ¿È¤ò¥«¥×¥»¥ë²½¤·¤Þ¤¹¡£
-¸½ºß DHCP ¥×¥í¥È¥³¥ë¤Ë¸ºß¤¹¤ë¥«¥×¥»¥ë²½¥ª¥×¥·¥ç¥ó¤ÎÎã¤Ï¡¢
-vendor-encapsulated-options ¥ª¥×¥·¥ç¥ó¡¢netware-suboptions ¥ª¥×¥·¥ç¥ó¡¢
-relay-agent-information ¥ª¥×¥·¥ç¥ó¤Ê¤É¤Ç¤¹¡£
+���ץ��벽���Υ��ץ����ϡ�\fIidentifier\fR �ǻ��ꤵ�줿
+���ץ������֤���Ȥ򥫥ץ��벽���ޤ���
+���� DHCP �ץ��ȥ����¸�ߤ��륫�ץ��벽���ץ�������ϡ�
+vendor-encapsulated-options ���ץ����netware-suboptions ���ץ����
+relay-agent-information ���ץ����ʤɤǤ���
.nf
option space local;
@@ -1440,31 +1440,31 @@ option local.demo "demo";
.fi
.PP
-.B ÇÛÎó
+.B ����
.PP
-¥ª¥×¥·¥ç¥ó¤Ï¡¢¥Æ¥­¥¹¥È·¿¤È¥Ç¡¼¥¿Ê¸»úÎ󷿰ʳ°¤Î¾å½Ò¤Î¤¤¤«¤Ê¤ë¥Ç¡¼¥¿·¿¤Î
-ÇÛÎó¤â´Þ¤à¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-¥Æ¥­¥¹¥È·¿¤È¥Ç¡¼¥¿Ê¸»úÎ󷿤ϡ¢¸½ºßÇÛÎó¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
-ÇÛÎóÄêµÁ¤ÎÎã¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹:
+���ץ����ϡ��ƥ����ȷ��ȥǡ���ʸ���󷿰ʳ��ξ�ҤΤ����ʤ�ǡ�������
+�����ޤळ�Ȥ��Ǥ��ޤ���
+�ƥ����ȷ��ȥǡ���ʸ���󷿤ϡ���������Ǥϥ��ݡ��Ȥ���Ƥ��ޤ���
+�����������ϰʲ����̤�Ǥ�:
.nf
option kerberos-servers code 200 = array of ip-address;
option kerberos-servers 10.20.10.1, 10.20.11.1;
.fi
-.B ¥ì¥³¡¼¥É
+.B �쥳����
.PP
-¥ª¥×¥·¥ç¥ó¤Ï¡¢¥Ç¡¼¥¿·¿¤ÎÎó¤Ç¹½À®¤µ¤ì¤ë¥Ç¡¼¥¿¹½Â¤¤ò´Þ¤à¤³¤È¤â¤Ç¤­¤Þ¤¹¡£
-¤³¤ì¤Ï¤·¤Ð¤·¤Ð¥ì¥³¡¼¥É·¿¤È¸Æ¤Ð¤ì¤Þ¤¹¡£
-Î㤨¤Ð:
+���ץ����ϡ��ǡ���������ǹ��������ǡ�����¤��ޤळ�Ȥ�Ǥ��ޤ���
+����Ϥ��Ф��Х쥳���ɷ��ȸƤФ�ޤ���
+�㤨��:
.nf
option contrived-001 code 201 = { boolean, integer 32, text };
option contrived-001 on 1772 "contrivance";
.fi
-¤Þ¤¿¥ì¥³¡¼¥É¤ÎÇÛÎó¤Î¥ª¥×¥·¥ç¥ó¤ò»ý¤Ä¤³¤È¤â¤Ç¤­¤Þ¤¹¡£
-Î㤨¤Ð:
+�ޤ��쥳���ɤ�����Υ��ץ�������Ĥ��Ȥ�Ǥ��ޤ���
+�㤨��:
.nf
option new-static-routes code 201 = array of {
@@ -1474,25 +1474,25 @@ option static-routes
10.0.1.0 255.255.255.0 net-1-rtr.example.com 1,
10.2.0.0 255.255.224.0 net-2-0-rtr.example.com 3;
-.fi
-.SH ¥Ù¥ó¥À¥«¥×¥»¥ë²½¥ª¥×¥·¥ç¥ó
+.fi
+.SH �٥�����ץ��벽���ץ����
.\" metal
-DHCP ¥×¥í¥È¥³¥ë¤Ë¤Ï¡¢\fB vendor-encapsulated-options\fR ¥ª¥×¥·¥ç¥ó¤¬
-ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-¥Ù¥ó¥À¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¡¢¥Ù¥ó¥À¸ÇÍ­¤Î¥ª¥×¥·¥ç¥ó¤ò
-ɸ½à DHCP ¥ª¥×¥·¥ç¥ó¤Ë´Þ¤á¤ÆÁ÷½Ð¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
+DHCP �ץ��ȥ���ˤϡ�\fB vendor-encapsulated-options\fR ���ץ����
+�������Ƥ��ޤ���
+�٥���ϡ����Υ��ץ����ˤ�äơ��٥����ͭ�Υ��ץ�����
+ɸ�� DHCP ���ץ����˴ޤ�����Ф��뤳�Ȥ��Ǥ��ޤ���
.B vendor-encapsulated-options
-¥ª¥×¥·¥ç¥ó¤Î½ñ¼°¤Ï¡¢½ñ¼°¤¬µ¬Äꤵ¤ì¤Æ¤¤¤Ê¤¤°ìÏ¢¤Î¥Ð¥¤¥ÈÎó¡¢
-¤â¤·¤¯¤Ï°ìÏ¢¤Î¥ª¥×¥·¥ç¥óÎó¤Ç¤¹¡£
-¥ª¥×¥·¥ç¥óÎóÃæ¤Î¤½¤ì¤¾¤ì¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢1 ¥Ð¥¤¥È¤Î¥Ù¥ó¥À¸ÇÍ­¤Î
-¥ª¥×¥·¥ç¥ó¥³¡¼¥É¤Î¸å¤Ë 1 ¥Ð¥¤¥È¤Î¥Ç¡¼¥¿Ä¹¡¢
-¤½¤·¤Æ¤½¤Î¥Ç¡¼¥¿Ä¹¤Ç»ØÄꤵ¤ì¤¿Â礭¤µ¤Î¥Ç¡¼¥¿¤¬Â³¤¤¤¿¤â¤Î¤Ç¹½À®¤µ¤ì¤Þ¤¹
-(¥Ç¡¼¥¿Ä¹¤Ë¤Ï¡¢¥Ç¡¼¥¿Ä¹¼«¿È¤ä¥ª¥×¥·¥ç¥ó¥³¡¼¥É¤Ï´Þ¤Þ¤ì¤Þ¤»¤ó)¡£
-.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤ÎÃͤϡ¢2 ¤Ä¤ÎÊýË¡¤Î¤¤¤º¤ì¤«¤ÇÀßÄꤵ¤ì¤Þ¤¹¡£
-1 ÈÖÌܤÎÊýË¡¤Ï¡¢Ã±¤Ë¥Ç¡¼¥¿¤òľÀÜ»ØÄꤹ¤ë¤â¤Î¤Ç¤¹¡£
-¥Ç¡¼¥¿¤Î»ØÄê¤Ë¤Ï¡¢¥Æ¥­¥¹¥Èʸ»úÎ󤫥³¥í¥ó¤Ç¶èÀÚ¤é¤ì¤¿ 16 ¿Ê¿ôÃͤòÍѤ¤¤Þ¤¹¡£
-Î㤨¤Ð:
+���ץ����ν񼰤ϡ��񼰤����ꤵ��Ƥ��ʤ���Ϣ�ΥХ�����
+�⤷���ϰ�Ϣ�Υ��ץ������Ǥ���
+���ץ��������Τ��줾��Υ��ץ����ϡ�1 �Х��ȤΥ٥����ͭ��
+���ץ���󥳡��ɤθ�� 1 �Х��ȤΥǡ���Ĺ��
+�����Ƥ��Υǡ���Ĺ�ǻ��ꤵ�줿�礭���Υǡ�����³������Τǹ�������ޤ�
+(�ǡ���Ĺ�ˤϡ��ǡ���Ĺ���Ȥ䥪�ץ���󥳡��ɤϴޤޤ�ޤ���)��
+.PP
+�ܥ��ץ������ͤϡ�2 �Ĥ���ˡ�Τ����줫�����ꤵ��ޤ���
+1 ���ܤ���ˡ�ϡ�ñ�˥ǡ�����ľ�ܻ��ꤹ���ΤǤ���
+�ǡ����λ���ˤϡ��ƥ�����ʸ���󤫥�����Ƕ��ڤ�줿 16 �ʿ��ͤ��Ѥ��ޤ���
+�㤨��:
.PP
.nf
option vendor-encapsulated-options
@@ -1501,25 +1501,25 @@ option vendor-encapsulated-options
4:12:2f:65:78:70:6f:72:74:2f:72:6f:6f:74:2f:69:38:36:70:63;
.fi
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤òÀßÄꤹ¤ë 2 ÈÖÌܤÎÊýË¡¤Ï¡¢DHCP ¥µ¡¼¥Ð¤Ë
-¥Ù¥ó¥À¸ÇÍ­¥ª¥×¥·¥ç¥ó¥Ð¥Ã¥Õ¥¡¤òºîÀ®¤µ¤»¤ë¤È¤¤¤¦¤â¤Î¤Ç¤¹¡£
-¤³¤ì¤ò¤¹¤ë¤Ë¤Ï¡¢°Ê²¼¤Î 4 ¤Ä¤Î¤³¤È¤ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹:
-¥ª¥×¥·¥ç¥ó¶õ´Ö¤òÄêµÁ¤·¡¢¤½¤Î¥ª¥×¥·¥ç¥ó¶õ´ÖÆâ¤Ë¥ª¥×¥·¥ç¥ó¤òÄêµÁ¤·¡¢
-¤½¤ì¤é¤ØÃͤò³ä¤ê¿¶¤ê¡¢ºÇ¸å¤Ë¤½¤Î¥ª¥×¥·¥ç¥ó¶õ´Ö¤¬
+�ܥ��ץ��������ꤹ�� 2 ���ܤ���ˡ�ϡ�DHCP �����Ф�
+�٥����ͭ���ץ����Хåե������������Ȥ�����ΤǤ���
+����򤹤�ˤϡ��ʲ��� 4 �ĤΤ��Ȥ򤹤�ɬ�פ�����ޤ�:
+���ץ������֤�����������Υ��ץ���������˥��ץ������������
+�������ͤ��꿶�ꡢ�Ǹ�ˤ��Υ��ץ������֤�
.B vendor-encapsulated-options
-¥ª¥×¥·¥ç¥ó¤ÎÀ¸À®¤Ë»ÈÍѤµ¤ì¤ë¤³¤È¤ò»ØÄꤷ¤Þ¤¹¡£
+���ץ����������˻��Ѥ���뤳�Ȥ���ꤷ�ޤ���
.PP
-¥Ù¥ó¥À¥ª¥×¥·¥ç¥ó¤¬³ÊǼ¤µ¤ì¤ë¥ª¥×¥·¥ç¥ó¶õ´Ö¤ò¿·µ¬¤ËÄêµÁ¤¹¤ë¤Ë¤Ï¡¢
-\fRoption space\fP ʸ¤ò»ÈÍѤ·¤Þ¤¹:
+�٥�����ץ���󤬳�Ǽ����륪�ץ������֤򿷵����������ˤϡ�
+\fRoption space\fP ʸ����Ѥ��ޤ�:
.PP
.B option
.B space
.I name
.B ;
.PP
-¤³¤Îʸ½ñ¤Ë¤³¤ì¤Þ¤Ç½ñ¤«¤ì¤Æ¤¤¤ë¤è¤¦¤Ë¡¢
-¤³¤Î name ¤Ï¡¢¥ª¥×¥·¥ç¥óÄêµÁ¤Ç»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-Î㤨¤Ð:
+����ʸ��ˤ���ޤǽ񤫤�Ƥ���褦�ˡ�
+���� name �ϡ����ץ��������ǻ��Ѥ��뤳�Ȥ��Ǥ��ޤ���
+�㤨��:
.nf
option space SUNW;
@@ -1528,13 +1528,13 @@ option SUNW.server-name code 3 = text;
option SUNW.root-path code 4 = text;
.fi
-°ìÅÙ¡¢¥ª¥×¥·¥ç¥ó¶õ´Ö¤È¥ª¥×¥·¥ç¥ó¤Î½ñ¼°¤òÄêµÁ¤·¤¿¤é¡¢
-¤½¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤ÎÃͤòÄêµÁ¤¹¤ë¥¹¥³¡¼¥×¤òÀßÄê¤Ç¤­¡¢
-¤½¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤ò¤¤¤Ä»È¤¦¤«¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-Î㤨¤Ð¡¢2 ¤Ä¤Î°Û¤Ê¤ë¥¯¥é¥¹¤Î¥¯¥é¥¤¥¢¥ó¥È¤ò°·¤¤¤¿¤¤¤È¤·¤Þ¤·¤ç¤¦¡£
-Á°½Ò¤ÎÎã¤Ç¼¨¤·¤¿¥ª¥×¥·¥ç¥ó¶õ´Ö¤ÎÄêµÁ¤ò»È¤Ã¤Æ¡¢°Ê²¼¤Î¤è¤¦¤Ë¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤«¤éÁ÷¤é¤ì¤Æ¤­¤¿ vendor-class-identifier ¥ª¥×¥·¥ç¥ó¤Ë´ð¤Å¤¤¤Æ¡¢
-°Û¤Ê¤ë¥ª¥×¥·¥ç¥ó¤ÎÃͤò°Û¤Ê¤ë¥¯¥é¥¤¥¢¥ó¥È¤ËÁ÷½Ð¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
+���١����ץ������֤ȥ��ץ����ν񼰤���������顢
+�����Υ��ץ������ͤ�������륹�����פ�����Ǥ���
+�����Υ��ץ����򤤤ĻȤ�������ꤹ�뤳�Ȥ��Ǥ��ޤ���
+�㤨�С�2 �Ĥΰۤʤ륯�饹�Υ��饤����Ȥ򰷤������Ȥ��ޤ��礦��
+���Ҥ���Ǽ��������ץ������֤������Ȥäơ��ʲ��Τ褦�ˡ�
+���饤����Ȥ��������Ƥ��� vendor-class-identifier ���ץ����˴�Ť��ơ�
+�ۤʤ륪�ץ������ͤ�ۤʤ륯�饤����Ȥ����Ф��뤳�Ȥ��Ǥ��ޤ���
.PP
.nf
class "vendor-classes" {
@@ -1555,20 +1555,20 @@ subclass "vendor-classes" "SUNW.i86pc" {
}
.fi
.PP
-Àè¤ÎÎã¤Ç¸«¤¿¤è¤¦¤Ë¡¢Ä̾ï¤Î¥¹¥³¡¼¥×¥ë¡¼¥ë¤òŬÍѤ¹¤ë¤³¤È¤Ç¡¢
-¥°¥í¡¼¥Ð¥ë¤ÊÃͤò¥°¥í¡¼¥Ð¥ë¥¹¥³¡¼¥×Ãæ¤ËÄêµÁ¤Ç¤­¡¢
-ÆÃÄê¤Î¥¯¥é¥¹¤Ë¸ÇÍ­¤ÎÃͤÀ¤±¤ò¥í¡¼¥«¥ë¥¹¥³¡¼¥×¤ËÄêµÁ¤Ç¤­¤Þ¤¹¡£
-\fBvendor-option-space\fR Àë¸À¤ò»È¤¦¤³¤È¤Ç¡¢
+�����Ǹ����褦�ˡ��̾�Υ������ץ롼���Ŭ�Ѥ��뤳�Ȥǡ�
+�������Х���ͤ򥰥����Х륹�������������Ǥ���
+����Υ��饹�˸�ͭ���ͤ�����������륹�����פ�����Ǥ��ޤ���
+\fBvendor-option-space\fR �����Ȥ����Ȥǡ�
.B vendor-encapsulated-options
-¥ª¥×¥·¥ç¥ó¤ò¹½À®¤¹¤ë¤Î¤Ë¡¢SUNW ¥ª¥×¥·¥ç¥ó¶õ´ÖÆâ¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤è¤¦
-DHCP ¥µ¡¼¥Ð¤Ë»Ø¼¨¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-.SH ´ØÏ¢¹àÌÜ
-dhclient.conf(5), dhcp-eval(5),
+���ץ�����������Τˡ�SUNW ���ץ���������Υ��ץ�����Ȥ��褦
+DHCP �����Ф˻ؼ����뤳�Ȥ��Ǥ��ޤ���
+.SH ��Ϣ����
+dhclient.conf(5), dhcp-eval(5),
dhclient(8), RFC2132, RFC2131
-.SH ºî¼Ô
+.SH ���
Internet Systems Consortium DHCP Distribution
-¤Ï¡¢Vixie Labs ¤È¤Î·ÀÌó¤Î¤â¤È¤Ç¡¢Ted Lemon ¤¬µ­½Ò¤·¤Þ¤·¤¿¡£
-ËÜ¥×¥í¥¸¥§¥¯¥È¤Î»ñ¶â¤Ï¡¢Internet Systems Consortium ¤¬Ä󶡤·¤Þ¤·¤¿¡£
-Internet Systems Consortium ¤Ë´Ø¤¹¤ë¾ðÊó¤Ï¡¢
+�ϡ�Vixie Labs �Ȥη���Τ�Ȥǡ�Ted Lemon �����Ҥ��ޤ�����
+�ܥץ��������Ȥλ��ϡ�Internet Systems Consortium ���󶡤��ޤ�����
+Internet Systems Consortium �˴ؤ������ϡ�
.B https://www.isc.org
-¤Ë¤¢¤ê¤Þ¤¹¡£
+�ˤ���ޤ���
diff --git a/includes/Makefile.in b/includes/Makefile.in
index 0026577b..fd5742ac 100644
--- a/includes/Makefile.in
+++ b/includes/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.2 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2020 Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -165,8 +165,6 @@ am__define_uniq_tagged_files = \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
A = @A@
@@ -196,6 +194,8 @@ CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
@@ -207,6 +207,7 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
GREP = @GREP@
INSTALL = @INSTALL@
@@ -427,7 +428,6 @@ cscopelist-am: $(am__tagged_files)
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
diff --git a/includes/arpa/nameser.h b/includes/arpa/nameser.h
index d0f64b82..499924ce 100644
--- a/includes/arpa/nameser.h
+++ b/includes/arpa/nameser.h
@@ -1,7 +1,7 @@
/*
* Copyright (c) 1983, 1989, 1993
* The Regents of the University of California. All rights reserved.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
@@ -13,7 +13,7 @@
* 3. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
- *
+ *
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
@@ -28,7 +28,7 @@
*/
/*
- * Copyright (c) 2004,2009 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1996-2003 by Internet Software Consortium
*
* Permission to use, copy, modify, and distribute this software for any
@@ -44,8 +44,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*/
diff --git a/includes/cdefs.h b/includes/cdefs.h
index af8a2b0b..180ab180 100644
--- a/includes/cdefs.h
+++ b/includes/cdefs.h
@@ -4,7 +4,7 @@
/*
* Copyright (c) 1995 RadioMail Corporation. All rights reserved.
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1996-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -20,8 +20,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -61,7 +61,7 @@
#endif
/* This macro is defined to avoid unused-but-set-variable warning
- * that is enabled in gcc 4.6
+ * that is enabled in gcc 4.6
*/
#define IGNORE_UNUSED(x) { x = x; }
diff --git a/includes/config.h.in b/includes/config.h.in
index 1608f671..d559a338 100644
--- a/includes/config.h.in
+++ b/includes/config.h.in
@@ -46,9 +46,6 @@
/* Define to 1 to use the Berkeley Packet Filter interface code. */
#undef HAVE_BPF
-/* Define to 1 if you have the /dev/random or other configured file. */
-#undef HAVE_DEV_RANDOM
-
/* Define to 1 to use DLPI interface code. */
#undef HAVE_DLPI
@@ -121,6 +118,9 @@
/* Define to the string for a noreturn attribute. */
#undef ISC_DHCP_NORETURN
+/* Define if you have the /dev/random or other configured file. */
+#undef ISC_PATH_RANDOMDEV
+
/* Define to 1 if the system has 'struct if_laddrconf'. */
#undef ISC_PLATFORM_HAVEIF_LADDRCONF
diff --git a/includes/ctrace.h b/includes/ctrace.h
index 4fc6a65c..1c60b428 100644
--- a/includes/ctrace.h
+++ b/includes/ctrace.h
@@ -3,7 +3,7 @@
Definitions for dhcp tracing facility... */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 2001-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -61,7 +61,7 @@ void trace_inpacket_stop (trace_type_t *);
void trace_outpacket_input (trace_type_t *, unsigned, char *);
void trace_outpacket_stop (trace_type_t *);
ssize_t trace_packet_send (struct interface_info *,
- struct packet *, struct dhcp_packet *, size_t,
+ struct packet *, struct dhcp_packet *, size_t,
struct in_addr,
struct sockaddr_in *, struct hardware *);
void trace_icmp_input_input (trace_type_t *, unsigned, char *);
diff --git a/includes/dhcp.h b/includes/dhcp.h
index 0a74137e..cafe1728 100644
--- a/includes/dhcp.h
+++ b/includes/dhcp.h
@@ -3,7 +3,7 @@
Protocol structures... */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1995-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -156,6 +156,7 @@ struct dhcp_packet {
#define DHO_AUTHENTICATE 90 /* RFC3118, was 210 */
#define DHO_CLIENT_LAST_TRANSACTION_TIME 91
#define DHO_ASSOCIATED_IP 92
+#define DHO_V6_ONLY_PREFERRED 108 /* RFC8925 */
#define DHO_SUBNET_SELECTION 118 /* RFC3011! */
#define DHO_DOMAIN_SEARCH 119 /* RFC3397 */
#define DHO_VIVCO_SUBOPTIONS 124
@@ -201,4 +202,3 @@ struct dhcp_packet {
#define VENDOR_ISC_SUBOPTIONS 2495
#endif /* DHCP_H */
-
diff --git a/includes/dhcp6.h b/includes/dhcp6.h
index c78501c6..a5fbfef4 100644
--- a/includes/dhcp6.h
+++ b/includes/dhcp6.h
@@ -3,7 +3,7 @@
DHCPv6 Protocol structures... */
/*
- * Copyright (c) 2006-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2006-2022 Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -18,8 +18,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*/
diff --git a/includes/dhcpd.h b/includes/dhcpd.h
index b20dd240..f68b2288 100644
--- a/includes/dhcpd.h
+++ b/includes/dhcpd.h
@@ -3,7 +3,7 @@
Definitions for dhcpd... */
/*
- * Copyright (c) 2004-2019 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1996-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -877,6 +877,10 @@ struct lease_state {
# define DEFAULT_ABANDON_LEASE_TIME 86400
#endif
+#if !defined (MIN_V6ONLY_WAIT)
+# define MIN_V6ONLY_WAIT 300
+#endif
+
#define PLM_IGNORE 0
#define PLM_PREFER 1
#define PLM_EXACT 2
@@ -1204,7 +1208,8 @@ enum dhcp_state {
S_RENEWING = 6,
S_REBINDING = 7,
S_DECLINING = 8,
- S_STOPPED = 9
+ S_STOPPED = 9,
+ S_V6ONLY = 10
};
/* Possible pending client operations. */
@@ -3003,6 +3008,10 @@ void state_bound (void *);
void state_stop (void *);
void state_panic (void *);
+uint32_t check_v6only (struct packet *, struct client_state *);
+void start_v6only (struct client_state *, uint32_t);
+void finish_v6only (void *);
+
void bind_lease (struct client_state *);
void make_client_options (struct client_state *,
@@ -3901,4 +3910,3 @@ void lc_delete_all(struct leasechain *lc);
#define FIND_POND6_PERCENT(count, percent) \
((count) > (POND_TRACK_MAX / 100) ? \
((count) / 100) * (percent) : ((count) * (percent)) / 100)
-
diff --git a/includes/dhctoken.h b/includes/dhctoken.h
index 5920f4ff..e6d125fb 100644
--- a/includes/dhctoken.h
+++ b/includes/dhctoken.h
@@ -3,7 +3,7 @@
Tokens for config file lexer and parser. */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1996-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -376,7 +376,8 @@ enum dhcp_token {
LEASE_ID_FORMAT = 676,
TOKEN_HEX = 677,
TOKEN_OCTAL = 678,
- KEY_ALGORITHM = 679
+ KEY_ALGORITHM = 679,
+ DISCONNECT = 680
};
#define is_identifier(x) ((x) >= FIRST_TOKEN && \
diff --git a/includes/failover.h b/includes/failover.h
index 135b969f..7410162e 100644
--- a/includes/failover.h
+++ b/includes/failover.h
@@ -3,7 +3,7 @@
Definitions for address trees... */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 2000-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
diff --git a/includes/inet.h b/includes/inet.h
index c36b36f8..32e8f03a 100644
--- a/includes/inet.h
+++ b/includes/inet.h
@@ -3,7 +3,7 @@
Portable definitions for internet addresses */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1996-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -56,7 +56,7 @@ struct iaddrmatch {
};
/* its list ... */
-
+
struct iaddrmatchlist {
struct iaddrmatchlist *next;
struct iaddrmatch match;
@@ -76,4 +76,3 @@ struct iaddrcidrnetlist {
struct iaddrcidrnetlist *next;
struct iaddrcidrnet cidrnet;
};
-
diff --git a/includes/ldap_casa.h b/includes/ldap_casa.h
index f17690f7..1ecbbcad 100644
--- a/includes/ldap_casa.h
+++ b/includes/ldap_casa.h
@@ -1,38 +1,38 @@
/* ldap_casa.h
-
+
Definition for CASA modules... */
/* Copyright (c) 2006 Novell, Inc.
* All rights reserved.
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * 1.Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2.Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3.Neither the name of ISC, ISC DHCP, nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * 1.Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * 2.Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 3.Neither the name of ISC, ISC DHCP, nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED BY INTERNET SYSTEMS CONSORTIUM AND CONTRIBUTORS
+ * THIS SOFTWARE IS PROVIDED BY INTERNET SYSTEMS CONSORTIUM AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ISC OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
- * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ISC OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
* This file was written by S Kalyanasundaram <skalyanasundaram@novell.com>
*/
/*
- * Copyright (c) 2004-2010 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1995-2003 by Internet Software Consortium
*
* Permission to use, copy, modify, and distribute this software for any
@@ -48,8 +48,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*/
@@ -69,7 +69,7 @@ SSCS_TYPEDEF_LIBCALL(int, CASA_GetCredential_T)
SSCS_SECRET_ID_T *sharedSecretID,
uint32_t *credentialType,
void *credential,
- SSCS_EXT_T *ext
+ SSCS_EXT_T *ext
);
SSCS_TYPEDEF_LIBCALL(int, CASA_SetCredential_T)
(
@@ -99,4 +99,3 @@ int load_uname_pwd_from_miCASA(char **, char **);
#endif /* __LDAP_CASA_H__ */
#endif /* LDAP_CASA_AUTH */
-
diff --git a/includes/netinet/udp.h b/includes/netinet/udp.h
index d86cf447..ec37299b 100644
--- a/includes/netinet/udp.h
+++ b/includes/netinet/udp.h
@@ -32,7 +32,7 @@
*/
/*
- * Portions Copyright (c) 2004,2009 by Internet Systems Consortium, Inc. ("ISC")
+ * Portions Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Portions Copyright (c) 2000-2003 by Internet Software Consortium
*
* Permission to use, copy, modify, and distribute this software for any
@@ -48,8 +48,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*/
diff --git a/includes/ns_name.h b/includes/ns_name.h
index a2c42769..5b00ea1f 100644
--- a/includes/ns_name.h
+++ b/includes/ns_name.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004-2019 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 2001-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -15,8 +15,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* http://www.isc.org/
*/
diff --git a/includes/omapip/alloc.h b/includes/omapip/alloc.h
index 62d0d331..9256df0d 100644
--- a/includes/omapip/alloc.h
+++ b/includes/omapip/alloc.h
@@ -3,7 +3,7 @@
Definitions for the object management API protocol memory allocation... */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1996-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
diff --git a/includes/omapip/buffer.h b/includes/omapip/buffer.h
index 33eb2f0e..b8d4fa9f 100644
--- a/includes/omapip/buffer.h
+++ b/includes/omapip/buffer.h
@@ -3,7 +3,7 @@
Definitions for the object management API protocol buffering... */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1996-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -52,7 +52,7 @@ typedef struct _omapi_buffer {
u_int16_t head, tail; /* Buffers are organized in a ring. */
char buf [OMAPI_BUF_SIZE]; /* The actual buffer is included in
the buffer data structure. */
-} omapi_buffer_t;
+} omapi_buffer_t;
#define BUFFER_BYTES_FREE(x) \
((x) -> tail > (x) -> head \
@@ -74,4 +74,3 @@ isc_result_t omapi_connection_get_uint32 (omapi_object_t *, u_int32_t *);
isc_result_t omapi_connection_put_uint32 (omapi_object_t *, u_int32_t);
isc_result_t omapi_connection_get_uint16 (omapi_object_t *, u_int16_t *);
isc_result_t omapi_connection_put_uint16 (omapi_object_t *, u_int32_t);
-
diff --git a/includes/omapip/convert.h b/includes/omapip/convert.h
index bbcf85f0..0664e31e 100644
--- a/includes/omapip/convert.h
+++ b/includes/omapip/convert.h
@@ -3,7 +3,7 @@
Safe copying of integers into and out of a non-aligned memory buffer. */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1996-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
diff --git a/includes/omapip/hash.h b/includes/omapip/hash.h
index 4bf91df8..ea6cfd85 100644
--- a/includes/omapip/hash.h
+++ b/includes/omapip/hash.h
@@ -3,7 +3,7 @@
Definitions for hashing... */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1995-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
diff --git a/includes/omapip/isclib.h b/includes/omapip/isclib.h
index b8f7c397..a419a350 100644
--- a/includes/omapip/isclib.h
+++ b/includes/omapip/isclib.h
@@ -3,7 +3,7 @@
connections to the isc and dns libraries */
/*
- * Copyright (c) 2009-2019 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2009-2022 Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -18,8 +18,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* http://www.isc.org/
*
diff --git a/includes/omapip/omapip.h b/includes/omapip/omapip.h
index f8db15c1..8944435c 100644
--- a/includes/omapip/omapip.h
+++ b/includes/omapip/omapip.h
@@ -3,7 +3,7 @@
Definitions for the object management API and protocol... */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1996-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -93,7 +93,7 @@ typedef struct {
typedef struct __omapi_object_type_t {
const char *name;
struct __omapi_object_type_t *next;
-
+
isc_result_t (*set_value) (omapi_object_t *, omapi_object_t *,
omapi_data_string_t *,
omapi_typed_data_t *);
@@ -284,7 +284,7 @@ isc_result_t omapi_protocol_set_value (omapi_object_t *, omapi_object_t *,
omapi_typed_data_t *);
isc_result_t omapi_protocol_get_value (omapi_object_t *, omapi_object_t *,
omapi_data_string_t *,
- omapi_value_t **);
+ omapi_value_t **);
isc_result_t omapi_protocol_stuff_values (omapi_object_t *,
omapi_object_t *,
omapi_object_t *);
@@ -303,7 +303,7 @@ isc_result_t omapi_protocol_listener_set_value (omapi_object_t *,
isc_result_t omapi_protocol_listener_get_value (omapi_object_t *,
omapi_object_t *,
omapi_data_string_t *,
- omapi_value_t **);
+ omapi_value_t **);
isc_result_t omapi_protocol_listener_destroy (omapi_object_t *,
const char *, int);
isc_result_t omapi_protocol_listener_signal (omapi_object_t *,
@@ -334,7 +334,7 @@ isc_result_t omapi_connection_set_value (omapi_object_t *, omapi_object_t *,
omapi_typed_data_t *);
isc_result_t omapi_connection_get_value (omapi_object_t *, omapi_object_t *,
omapi_data_string_t *,
- omapi_value_t **);
+ omapi_value_t **);
isc_result_t omapi_connection_destroy (omapi_object_t *, const char *, int);
isc_result_t omapi_connection_signal_handler (omapi_object_t *,
const char *, va_list);
@@ -365,7 +365,7 @@ isc_result_t omapi_listener_set_value (omapi_object_t *, omapi_object_t *,
omapi_typed_data_t *);
isc_result_t omapi_listener_get_value (omapi_object_t *, omapi_object_t *,
omapi_data_string_t *,
- omapi_value_t **);
+ omapi_value_t **);
isc_result_t omapi_listener_destroy (omapi_object_t *, const char *, int);
isc_result_t omapi_listener_signal_handler (omapi_object_t *,
const char *, va_list);
@@ -393,7 +393,7 @@ isc_result_t omapi_io_set_value (omapi_object_t *, omapi_object_t *,
omapi_data_string_t *,
omapi_typed_data_t *);
isc_result_t omapi_io_get_value (omapi_object_t *, omapi_object_t *,
- omapi_data_string_t *, omapi_value_t **);
+ omapi_data_string_t *, omapi_value_t **);
isc_result_t omapi_io_destroy (omapi_object_t *, const char *, int);
isc_result_t omapi_io_signal_handler (omapi_object_t *, const char *, va_list);
isc_result_t omapi_io_stuff_values (omapi_object_t *,
@@ -411,7 +411,7 @@ isc_result_t omapi_generic_set_value (omapi_object_t *, omapi_object_t *,
omapi_typed_data_t *);
isc_result_t omapi_generic_get_value (omapi_object_t *, omapi_object_t *,
omapi_data_string_t *,
- omapi_value_t **);
+ omapi_value_t **);
isc_result_t omapi_generic_destroy (omapi_object_t *, const char *, int);
isc_result_t omapi_generic_signal_handler (omapi_object_t *,
const char *, va_list);
@@ -426,7 +426,7 @@ isc_result_t omapi_message_set_value (omapi_object_t *, omapi_object_t *,
omapi_typed_data_t *);
isc_result_t omapi_message_get_value (omapi_object_t *, omapi_object_t *,
omapi_data_string_t *,
- omapi_value_t **);
+ omapi_value_t **);
isc_result_t omapi_message_destroy (omapi_object_t *, const char *, int);
isc_result_t omapi_message_signal_handler (omapi_object_t *,
const char *, va_list);
@@ -448,7 +448,7 @@ isc_result_t omapi_auth_key_lookup (omapi_object_t **,
omapi_object_t *);
isc_result_t omapi_auth_key_get_value (omapi_object_t *, omapi_object_t *,
omapi_data_string_t *,
- omapi_value_t **);
+ omapi_value_t **);
isc_result_t omapi_auth_key_stuff_values (omapi_object_t *,
omapi_object_t *,
omapi_object_t *);
@@ -520,9 +520,9 @@ isc_result_t omapi_set_string_value (omapi_object_t *, omapi_object_t *,
const char *, const char *);
isc_result_t omapi_get_value (omapi_object_t *, omapi_object_t *,
omapi_data_string_t *,
- omapi_value_t **);
+ omapi_value_t **);
isc_result_t omapi_get_value_str (omapi_object_t *, omapi_object_t *,
- const char *, omapi_value_t **);
+ const char *, omapi_value_t **);
isc_result_t omapi_stuff_values (omapi_object_t *,
omapi_object_t *,
omapi_object_t *);
diff --git a/includes/omapip/omapip_p.h b/includes/omapip/omapip_p.h
index 8913a1a2..643441ed 100644
--- a/includes/omapip/omapip_p.h
+++ b/includes/omapip/omapip_p.h
@@ -3,7 +3,7 @@
Private master include file for the OMAPI library. */
/*
- * Copyright (c) 2004-2019 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1996-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -60,6 +60,9 @@
#include <dst/dst.h>
#include "result.h"
+/* Uncomment this to enable protocol level debug logs */
+/* #define DEBUG_PROTOCOL 1 */
+
#include <omapip/convert.h>
#include <omapip/hash.h>
#include <omapip/omapip.h>
@@ -134,7 +137,7 @@ typedef struct __omapi_remote_auth {
typedef struct __omapi_protocol_object {
OMAPI_OBJECT_PREAMBLE;
- u_int32_t header_size;
+ u_int32_t header_size;
u_int32_t protocol_version;
u_int32_t next_xid;
diff --git a/includes/omapip/result.h b/includes/omapip/result.h
index 860298f6..193c7c49 100644
--- a/includes/omapip/result.h
+++ b/includes/omapip/result.h
@@ -2,7 +2,7 @@
*/
/*
- * Copyright (C) 2009-2017 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2009-2022 Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -17,8 +17,8 @@
* PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*/
@@ -84,36 +84,36 @@
#ifdef INCLUDE_OLD_DHCP_ISC_ERROR_CODES
#define ISC_R_HOSTUNKNOWN DHCP_R_HOSTUNKNOWN
#define ISC_R_VERSIONMISMATCH DHCP_R_VERSIONMISMATCH
-#define ISC_R_PROTOCOLERROR DHCP_R_PROTOCOLERROR
-#define ISC_R_INVALIDARG DHCP_R_INVALIDARG
-#define ISC_R_NOTYET DHCP_R_NOTYET
-#define ISC_R_UNCHANGED DHCP_R_UNCHANGED
-#define ISC_R_KEYCONFLICT DHCP_R_KEYCONFLICT
-#define ISC_R_BADPARSE DHCP_R_BADPARSE
-#define ISC_R_NOKEYS DHCP_R_NOKEYS
-#define ISC_R_KEY_UNKNOWN DHCP_R_KEY_UNKNOWN
-#define ISC_R_INVALIDKEY DHCP_R_INVALIDKEY
-#define ISC_R_INCOMPLETE DHCP_R_INCOMPLETE
-#define ISC_R_FORMERR DHCP_R_FORMERR
-#define ISC_R_SERVFAIL DHCP_R_SERVFAIL
-#define ISC_R_NXDOMAIN DHCP_R_NXDOMAIN
-#define ISC_R_NOTIMPL DHCP_R_NOTIMPL
-#define ISC_R_REFUSED DHCP_R_REFUSED
-#define ISC_R_YXDOMAIN DHCP_R_YXDOMAIN
-#define ISC_R_YXRRSET DHCP_R_YXRRSET
-#define ISC_R_NXRRSET DHCP_R_NXRRSET
-#define ISC_R_NOTAUTH DHCP_R_NOTAUTH
-#define ISC_R_NOTZONE DHCP_R_NOTZONE
-#define ISC_R_BADSIG DHCP_R_BADSIG
-#define ISC_R_BADKEY DHCP_R_BADKEY
-#define ISC_R_BADTIME DHCP_R_BADTIME
-#define ISC_R_NOROOTZONE DHCP_R_NOROOTZONE
-#define ISC_R_DESTADDRREQ DHCP_R_DESTADDRREQ
-#define ISC_R_CROSSZONE DHCP_R_CROSSZONE
-#define ISC_R_NO_TSIG DHCP_R_NO_TSIG
-#define ISC_R_NOT_EQUAL DHCP_R_NOT_EQUAL
-#define ISC_R_CONNRESET DHCP_R_CONNRESET
-#define ISC_R_UNKNOWNATTRIBUTE DHCP_R_UNKNOWNATTRIBUTE
+#define ISC_R_PROTOCOLERROR DHCP_R_PROTOCOLERROR
+#define ISC_R_INVALIDARG DHCP_R_INVALIDARG
+#define ISC_R_NOTYET DHCP_R_NOTYET
+#define ISC_R_UNCHANGED DHCP_R_UNCHANGED
+#define ISC_R_KEYCONFLICT DHCP_R_KEYCONFLICT
+#define ISC_R_BADPARSE DHCP_R_BADPARSE
+#define ISC_R_NOKEYS DHCP_R_NOKEYS
+#define ISC_R_KEY_UNKNOWN DHCP_R_KEY_UNKNOWN
+#define ISC_R_INVALIDKEY DHCP_R_INVALIDKEY
+#define ISC_R_INCOMPLETE DHCP_R_INCOMPLETE
+#define ISC_R_FORMERR DHCP_R_FORMERR
+#define ISC_R_SERVFAIL DHCP_R_SERVFAIL
+#define ISC_R_NXDOMAIN DHCP_R_NXDOMAIN
+#define ISC_R_NOTIMPL DHCP_R_NOTIMPL
+#define ISC_R_REFUSED DHCP_R_REFUSED
+#define ISC_R_YXDOMAIN DHCP_R_YXDOMAIN
+#define ISC_R_YXRRSET DHCP_R_YXRRSET
+#define ISC_R_NXRRSET DHCP_R_NXRRSET
+#define ISC_R_NOTAUTH DHCP_R_NOTAUTH
+#define ISC_R_NOTZONE DHCP_R_NOTZONE
+#define ISC_R_BADSIG DHCP_R_BADSIG
+#define ISC_R_BADKEY DHCP_R_BADKEY
+#define ISC_R_BADTIME DHCP_R_BADTIME
+#define ISC_R_NOROOTZONE DHCP_R_NOROOTZONE
+#define ISC_R_DESTADDRREQ DHCP_R_DESTADDRREQ
+#define ISC_R_CROSSZONE DHCP_R_CROSSZONE
+#define ISC_R_NO_TSIG DHCP_R_NO_TSIG
+#define ISC_R_NOT_EQUAL DHCP_R_NOT_EQUAL
+#define ISC_R_CONNRESET DHCP_R_CONNRESET
+#define ISC_R_UNKNOWNATTRIBUTE DHCP_R_UNKNOWNATTRIBUTE
#endif
isc_result_t
diff --git a/includes/omapip/trace.h b/includes/omapip/trace.h
index cda04bc5..2d43502d 100644
--- a/includes/omapip/trace.h
+++ b/includes/omapip/trace.h
@@ -3,7 +3,7 @@
Definitions for omapi tracing facility... */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 2001-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -29,7 +29,7 @@
#define TRACEFILE_MAGIC 0x64484370UL /* dHCp */
#define TRACEFILE_VERSION 1
-/* The first thing in a trace file is the header, which basically just
+/* The first thing in a trace file is the header, which basically just
defines the version of the file. */
typedef struct {
u_int32_t magic; /* Magic number for trace file. */
diff --git a/includes/osdep.h b/includes/osdep.h
index 3ee70bc0..07428587 100644
--- a/includes/osdep.h
+++ b/includes/osdep.h
@@ -3,7 +3,7 @@
Operating system dependencies... */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium,Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium,Inc. ("ISC")
* Copyright (c) 1996-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
diff --git a/includes/site.h b/includes/site.h
index 2ef69e41..533e762b 100644
--- a/includes/site.h
+++ b/includes/site.h
@@ -374,3 +374,4 @@
#define RFC7341_OPTIONS
#define RFC7618_OPTIONS
#define RFC7710_OPTIONS
+#define RFC8925_OPTIONS
diff --git a/includes/statement.h b/includes/statement.h
index 178ebb11..913d78b3 100644
--- a/includes/statement.h
+++ b/includes/statement.h
@@ -3,7 +3,7 @@
Definitions for executable statements... */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1996-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -102,4 +102,3 @@ struct executable_statement {
} execute;
} data;
};
-
diff --git a/includes/tree.h b/includes/tree.h
index c8cce4b2..896072b8 100644
--- a/includes/tree.h
+++ b/includes/tree.h
@@ -3,7 +3,7 @@
Definitions for address trees... */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1996-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -47,7 +47,7 @@ struct enumeration {
const char *name;
unsigned width;
struct enumeration_value *values;
-};
+};
/* Tree node types... */
#define TREE_CONCAT 1
@@ -69,7 +69,7 @@ struct buffer {
XXX ephemeral by default and be made a persistent reference explicitly. */
/* XXX on the other hand, it seems to work pretty nicely, so maybe the
XXX above comment is meshuggenah. */
-/* XXX I think the above comment tries to say this:
+/* XXX I think the above comment tries to say this:
XXX http://tinyurl.com/2tjqre */
/* A string of data bytes, possibly accompanied by a larger buffer. */
@@ -281,7 +281,7 @@ struct expression {
} data;
int flags;
# define EXPR_EPHEMERAL 1
-};
+};
/* DNS host entry structure... */
struct dns_host_entry {
diff --git a/keama/ChangeLog.md b/keama/ChangeLog.md
index fd386d9e..dc097e7f 100644
--- a/keama/ChangeLog.md
+++ b/keama/ChangeLog.md
@@ -1,3 +1,8 @@
+*4 [build] fdupont
+
+ Fixed build by gcc10.
+ (Gitlab #116)
+
* 3 [doc] fdupont
New documentation including this file.
@@ -14,5 +19,6 @@
LEGEND
* [bug] Bug fix.
+* [build] Build change.
* [doc] Update to documentation.
* [func] New feature.
diff --git a/keama/Makefile.in b/keama/Makefile.in
index b108eb1c..0487d955 100644
--- a/keama/Makefile.in
+++ b/keama/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.2 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2020 Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -194,9 +194,8 @@ am__define_uniq_tagged_files = \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
-am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp \
+ ChangeLog.md README.md
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
A = @A@
ACLOCAL = @ACLOCAL@
@@ -225,6 +224,8 @@ CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
@@ -236,6 +237,7 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
GREP = @GREP@
INSTALL = @INSTALL@
@@ -536,7 +538,6 @@ cscopelist-am: $(am__tagged_files)
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
diff --git a/keama/conflex.c b/keama/conflex.c
index 143487b0..d915860b 100644
--- a/keama/conflex.c
+++ b/keama/conflex.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2017-2022 Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -14,8 +14,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -186,7 +186,7 @@ get_char(struct parse *cfile)
if (!cfile->ugflag) {
if (c == EOL) {
- if (cfile->cur_line == cfile->line1) {
+ if (cfile->cur_line == cfile->line1) {
cfile->cur_line = cfile->line2;
cfile->prev_line = cfile->line1;
} else {
@@ -224,11 +224,11 @@ unget_char(struct parse *cfile, int c) {
/*
* GENERAL NOTE ABOUT TOKENS
*
- * We normally only want non-whitespace tokens. There are some
+ * We normally only want non-whitespace tokens. There are some
* circumstances where we *do* want to see whitespace (for example
* when parsing IPv6 addresses).
*
- * Generally we use the next_token() function to read tokens. This
+ * Generally we use the next_token() function to read tokens. This
* in turn calls get_next_token, which does *not* return tokens for
* whitespace. Rather, it skips these.
*
@@ -254,7 +254,7 @@ get_raw_token(struct parse *cfile) {
p = cfile->lpos;
c = get_char(cfile);
- if (!((c == '\n') && cfile->eol_token) &&
+ if (!((c == '\n') && cfile->eol_token) &&
isascii(c) && isspace(c)) {
ttok = read_whitespace(c, cfile);
break;
@@ -301,12 +301,12 @@ get_raw_token(struct parse *cfile) {
* The get_next_token() function consumes the next token and
* returns it to the caller.
*
- * Since the code is almost the same for "normal" and "raw"
+ * Since the code is almost the same for "normal" and "raw"
* input, we pass a flag to alter the way it works.
*/
-static enum dhcp_token
-get_next_token(const char **rval, unsigned *rlen,
+static enum dhcp_token
+get_next_token(const char **rval, unsigned *rlen,
struct parse *cfile, isc_boolean_t raw) {
int rv;
@@ -328,7 +328,7 @@ get_next_token(const char **rval, unsigned *rlen,
cfile->token_line = cfile->cur_line;
}
}
-
+
if (rval)
*rval = cfile->tval;
if (rlen)
@@ -339,10 +339,10 @@ get_next_token(const char **rval, unsigned *rlen,
/*
* Get the next token from cfile and return it.
*
- * If rval is non-NULL, set the pointer it contains to
+ * If rval is non-NULL, set the pointer it contains to
* the contents of the token.
*
- * If rlen is non-NULL, set the integer it contains to
+ * If rlen is non-NULL, set the integer it contains to
* the length of the token.
*/
@@ -367,8 +367,8 @@ next_raw_token(const char **rval, unsigned *rlen, struct parse *cfile) {
* The do_peek_token() function checks the next token without
* consuming it, and returns it to the caller.
*
- * Since the code is almost the same for "normal" and "raw"
- * input, we pass a flag to alter the way it works. (See the
+ * Since the code is almost the same for "normal" and "raw"
+ * input, we pass a flag to alter the way it works. (See the
* warning in the GENERAL NOTES ABOUT TOKENS above though.)
*/
@@ -405,15 +405,15 @@ do_peek_token(const char **rval, unsigned int *rlen,
/*
- * Get the next token from cfile and return it, leaving it for a
+ * Get the next token from cfile and return it, leaving it for a
* subsequent call to next_token().
*
* Note that it WILL consume whitespace tokens.
*
- * If rval is non-NULL, set the pointer it contains to
+ * If rval is non-NULL, set the pointer it contains to
* the contents of the token.
*
- * If rlen is non-NULL, set the integer it contains to
+ * If rlen is non-NULL, set the integer it contains to
* the length of the token.
*/
@@ -484,7 +484,7 @@ read_whitespace(int c, struct parse *cfile) {
c = get_char(cfile);
if (c == EOF)
return END_OF_FILE;
- } while (!((c == '\n') && cfile->eol_token) &&
+ } while (!((c == '\n') && cfile->eol_token) &&
isascii(c) && isspace(c));
/*
@@ -648,7 +648,7 @@ read_number(int c, struct parse *cfile)
goto end_read;
default:
- parse_error(cfile,
+ parse_error(cfile,
"read_number(): impossible case");
}
@@ -936,7 +936,7 @@ intern(char *atom, enum dhcp_token dfv) {
}
break;
case 'e':
- if (isascii(atom [1]) &&
+ if (isascii(atom [1]) &&
tolower((unsigned char)atom[1]) == 'x') {
if (!strcasecmp(atom + 2, "tract-int"))
return EXTRACT_INT;
@@ -1035,15 +1035,15 @@ intern(char *atom, enum dhcp_token dfv) {
}
break;
case 'i':
- if (!strcasecmp(atom+1, "a-na"))
+ if (!strcasecmp(atom+1, "a-na"))
return IA_NA;
- if (!strcasecmp(atom+1, "a-ta"))
+ if (!strcasecmp(atom+1, "a-ta"))
return IA_TA;
- if (!strcasecmp(atom+1, "a-pd"))
+ if (!strcasecmp(atom+1, "a-pd"))
return IA_PD;
- if (!strcasecmp(atom+1, "aaddr"))
+ if (!strcasecmp(atom+1, "aaddr"))
return IAADDR;
- if (!strcasecmp(atom+1, "aprefix"))
+ if (!strcasecmp(atom+1, "aprefix"))
return IAPREFIX;
if (!strcasecmp(atom + 1, "nclude"))
return INCLUDE;
@@ -1332,11 +1332,11 @@ intern(char *atom, enum dhcp_token dfv) {
case 's':
if (!strcasecmp(atom + 1, "cript"))
return SCRIPT;
- if (isascii(atom[1]) &&
+ if (isascii(atom[1]) &&
tolower((unsigned char)atom[1]) == 'e') {
if (!strcasecmp(atom + 2, "arch"))
return SEARCH;
- if (isascii(atom[2]) &&
+ if (isascii(atom[2]) &&
tolower((unsigned char)atom[2]) == 'c') {
if (!strncasecmp(atom + 3, "ond", 3)) {
if (!strcasecmp(atom + 6, "ary"))
@@ -1366,7 +1366,7 @@ intern(char *atom, enum dhcp_token dfv) {
return TOKEN_SERVER;
if (atom[6] == '-') {
if (!strcasecmp(atom + 7,
- "duid"))
+ "duid"))
return SERVER_DUID;
if (!strcasecmp(atom + 7,
"name"))
@@ -1386,7 +1386,7 @@ intern(char *atom, enum dhcp_token dfv) {
return TOKEN_SET;
break;
}
- if (isascii(atom[1]) &&
+ if (isascii(atom[1]) &&
tolower((unsigned char)atom[1]) == 'h') {
if (!strcasecmp(atom + 2, "ared-network"))
return SHARED_NETWORK;
@@ -1394,7 +1394,7 @@ intern(char *atom, enum dhcp_token dfv) {
return SHUTDOWN;
break;
}
- if (isascii(atom[1]) &&
+ if (isascii(atom[1]) &&
tolower((unsigned char)atom[1]) == 'i') {
if (!strcasecmp(atom + 2, "addr"))
return SIADDR;
@@ -1404,9 +1404,9 @@ intern(char *atom, enum dhcp_token dfv) {
return SIZE;
break;
}
- if (isascii(atom[1]) &&
+ if (isascii(atom[1]) &&
tolower((unsigned char)atom[1]) == 'p') {
- if (isascii(atom[2]) &&
+ if (isascii(atom[2]) &&
tolower((unsigned char)atom[2]) == 'a') {
if (!strcasecmp(atom + 3, "ce"))
return SPACE;
@@ -1418,9 +1418,9 @@ intern(char *atom, enum dhcp_token dfv) {
return SPLIT;
break;
}
- if (isascii(atom[1]) &&
+ if (isascii(atom[1]) &&
tolower((unsigned char)atom[1]) == 't') {
- if (isascii(atom[2]) &&
+ if (isascii(atom[2]) &&
tolower((unsigned char)atom[2]) == 'a') {
if (!strncasecmp(atom + 3, "rt", 2)) {
if (!strcasecmp(atom + 5, "s"))
@@ -1453,7 +1453,7 @@ intern(char *atom, enum dhcp_token dfv) {
return SUBSTRING;
break;
}
- if (isascii(atom[1]) &&
+ if (isascii(atom[1]) &&
tolower((unsigned char)atom[1]) == 'u') {
if (!strcasecmp(atom + 2, "ffix"))
return SUFFIX;
@@ -1547,4 +1547,3 @@ intern(char *atom, enum dhcp_token dfv) {
}
return dfv;
}
-
diff --git a/keama/confparse.c b/keama/confparse.c
index 2c1865ab..3299bf35 100644
--- a/keama/confparse.c
+++ b/keama/confparse.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2019 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2017-2022 Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -14,8 +14,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -607,7 +607,7 @@ parse_statement(struct parse *cfile, int type, isc_boolean_t declaration)
read_conf_file(cfile, val, type);
parse_semi(cfile);
return 1;
-
+
case HOST:
skip_token(&val, NULL, cfile);
if (type != HOST_DECL && type != CLASS_DECL)
@@ -924,7 +924,7 @@ parse_statement(struct parse *cfile, int type, isc_boolean_t declaration)
failover_once = ISC_FALSE;
skip_to_semi(cfile);
break;
-
+
case SERVER_DUID:
if (local_family != AF_INET6)
goto unknown;
@@ -966,7 +966,7 @@ parse_statement(struct parse *cfile, int type, isc_boolean_t declaration)
}
if (mapSize(et) == 0)
return declaration;
-
+
et->skip = ISC_TRUE;
cfile->issue_counter++;
mapSet(cfile->stack[cfile->stack_top], et, "statement");
@@ -976,12 +976,12 @@ parse_statement(struct parse *cfile, int type, isc_boolean_t declaration)
}
/*!
- *
+ *
* \brief Parse allow and deny statements
*
* This function handles the common processing code for permit and deny
* statements in the parse_pool_statement and parse_pool6_statement functions.
- *
+ *
* The allow or deny token should already be consumed, this function expects
* one of the following:
* known-clients;
@@ -1019,7 +1019,7 @@ get_permit(struct parse *cfile, struct element *permit_head)
negative = ISC_TRUE;
alias = makeString(-1, "unknown clients");
break;
-
+
case KNOWN_CLIENTS:
need_clients = ISC_FALSE;
permit = CLASS_KNOWN;
@@ -1037,7 +1037,7 @@ get_permit(struct parse *cfile, struct element *permit_head)
permit = CLASS_KNOWN;
alias = makeString(-1, "known clients");
break;
-
+
case AUTHENTICATED:
permit = CLASS_ALL;
alias = makeString(-1, "authenticated clients");
@@ -1046,7 +1046,7 @@ get_permit(struct parse *cfile, struct element *permit_head)
comment = createComment("/// [un]authenticated-clients is "
"not supported by ISC DHCP and Kea");
break;
-
+
case UNAUTHENTICATED:
permit = CLASS_ALL;
alias = makeString(-1, "unauthenticated clients");
@@ -1057,7 +1057,7 @@ get_permit(struct parse *cfile, struct element *permit_head)
permit = CLASS_ALL;
alias = makeString(-1, "all clients");
break;
-
+
case DYNAMIC:
/* bootp is not supported by Kea so the dynamic bootp
* client set is the empty set. */
@@ -1192,7 +1192,7 @@ parse_pool_statement(struct parse *cfile, int type)
skip_token(&val, NULL, cfile);
get_permit(cfile, prohibit);
break;
-
+
case RBRACE:
skip_token(&val, NULL, cfile);
done = ISC_TRUE;
@@ -1412,7 +1412,7 @@ parse_host_declaration(struct parse *cfile)
host_id = makeString(-1, val);
appendString(host_id, " ");
if (token == V6RELOPT) {
- token = next_token(&val, NULL, cfile);
+ token = next_token(&val, NULL, cfile);
if (token != NUMBER)
parse_error(cfile,
@@ -1428,7 +1428,7 @@ parse_host_declaration(struct parse *cfile)
if (relays > MAX_V6RELAY_HOPS)
relays = MAX_V6RELAY_HOPS + 1;
} else if (token != OPTION)
- parse_error(cfile,
+ parse_error(cfile,
"host-identifier must be an option"
" or v6relopt");
known = ISC_FALSE;
@@ -1571,7 +1571,7 @@ static void add_host_reservation_identifiers(struct parse *, const char *);
* in fact:
* (CLASS) NAME(STRING) LBRACE ... RBRACE
* (SUBCLASS) SUPER(STRING) DATA/HASH(STRING | <hexa>) [BRACE ... RBRACE]
- *
+ *
* class "name" { MATCH IF <boolean-expr> }: direct: belong when true
* class "name" { MATCH <data-expr> }: indirect: use subclasses
* class "name" { MATCH <data-expr> SPAWN WITH <data-expr> }: indirect:
@@ -1600,7 +1600,7 @@ parse_class_declaration(struct parse *cfile, int type)
isc_boolean_t lose = ISC_FALSE;
isc_boolean_t matchedonce = ISC_FALSE;
isc_boolean_t submatchedonce = ISC_FALSE;
-
+
token = next_token(&val, NULL, cfile);
if (token != STRING)
parse_error(cfile, "Expecting class name");
@@ -1708,7 +1708,7 @@ parse_class_declaration(struct parse *cfile, int type)
}
}
}
-
+
/* Note the class declaration in the enclosing group */
if (group_classes != classes) {
struct element *gc;
@@ -2536,12 +2536,12 @@ parse_group_declaration(struct parse *cfile)
token = peek_token(&val, NULL, cfile);
if (is_identifier(token) || token == STRING) {
skip_token(&val, NULL, cfile);
-
+
name = makeString(-1, val);
if (!name)
parse_error(cfile, "no memory for group decl name %s",
val);
- }
+ }
parse_lbrace(cfile);
@@ -3208,7 +3208,7 @@ parse_address_range(struct parse *cfile, int type, size_t where)
| ip-address6 SLASH number SEMI
| ip-address6 [SLASH number] TEMPORARY SEMI */
-void
+void
parse_address_range6(struct parse *cfile, int type, size_t where)
{
struct string *low, *high, *range;
@@ -3234,7 +3234,7 @@ parse_address_range6(struct parse *cfile, int type, size_t where)
range = allocString();
concatString(range, low);
- /*
+ /*
* See if we we're using range or CIDR notation or TEMPORARY
*/
token = peek_token(&val, NULL, cfile);
@@ -3260,7 +3260,7 @@ parse_address_range6(struct parse *cfile, int type, size_t where)
appendString(range, " ");
appendString(range, val);
skip_token(NULL, NULL, cfile);
- }
+ }
} else if (token == TEMPORARY) {
/*
* temporary (RFC 4941)
@@ -3271,7 +3271,7 @@ parse_address_range6(struct parse *cfile, int type, size_t where)
skip_token(NULL, NULL, cfile);
} else {
/*
- * No '/', so we are looking for the end address of
+ * No '/', so we are looking for the end address of
* the IPv6 pool.
*/
high = parse_ip6_addr_txt(cfile);
@@ -3329,7 +3329,7 @@ parse_address_range6(struct parse *cfile, int type, size_t where)
/* prefix6-declaration :== ip-address6 ip-address6 SLASH number SEMI */
-void
+void
parse_prefix6(struct parse *cfile, int type, size_t where)
{
struct string *lo, *hi;
@@ -3528,7 +3528,7 @@ parse_pool6_statement(struct parse *cfile, int type)
skip_token(NULL, NULL, cfile);
get_permit(cfile, prohibit);
break;
-
+
case RBRACE:
skip_token(&val, NULL, cfile);
done = ISC_TRUE;
@@ -3786,7 +3786,7 @@ parse_allow_deny(struct parse *cfile, int flag)
* server-duid ll ethernet|ieee802|fddi 00:16:6F:49:7D:9B;
* server-duid en 2495 "enterprise-specific-identifier-1234";
*/
-void
+void
parse_server_duid_conf(struct parse *cfile) {
enum dhcp_token token;
const char *val;
@@ -3809,7 +3809,7 @@ parse_server_duid_conf(struct parse *cfile) {
*/
token = next_token(&val, NULL, cfile);
- /*
+ /*
* Enterprise is the easiest - enterprise number and raw data
* are required.
*/
@@ -3837,7 +3837,7 @@ parse_server_duid_conf(struct parse *cfile) {
mapSet(duid, item, "identifier");
}
- /*
+ /*
* Next easiest is the link-layer DUID. It consists only of
* the LL directive, or optionally the specific value to use.
*
@@ -3878,7 +3878,7 @@ parse_server_duid_conf(struct parse *cfile) {
}
}
- /*
+ /*
* Finally the link-layer DUID plus time. It consists only of
* the LLT directive, or optionally the specific value to use.
*
@@ -3932,7 +3932,7 @@ parse_server_duid_conf(struct parse *cfile) {
*
* In this case, they have to put in the complete value.
*
- * This also works for existing DUID types of course.
+ * This also works for existing DUID types of course.
*/
else if (token == NUMBER) {
item = createString(makeString(-1, val));
diff --git a/keama/data.c b/keama/data.c
index bd656289..55e5df8e 100644
--- a/keama/data.c
+++ b/keama/data.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2017-2022 Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -14,8 +14,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* http://www.isc.org/
*/
@@ -199,7 +199,7 @@ makeStringExt(int l, const char *s, char fmt)
case 'I': {
/* IPv4 address to text */
- char buf[40 /* INET_ADDRSTRLEN == 26 */];
+ char buf[40 /* INET_ADDRSTRLEN == 26 */];
assert(l > 3);
assert(inet_ntop(AF_INET, s, buf, sizeof(buf)) != NULL);
@@ -263,7 +263,7 @@ makeStringExt(int l, const char *s, char fmt)
assert(0);
}
}
-
+
struct string *
makeStringArray(int l, const char *s, char fmt)
{
@@ -542,7 +542,7 @@ resetInt(struct element *e, int64_t i)
e->type = ELEMENT_INTEGER;
e->value.int_value = i;
}
-
+
void
resetDouble(struct element *e, double d)
{
@@ -677,7 +677,7 @@ listSet(struct element *l, struct element *e, int i)
TAILQ_INSERT_HEAD(&l->value.list_value, e);
} else {
struct element *prev;
-
+
prev = TAILQ_FIRST(&l->value.list_value);
assert(prev != NULL);
assert(prev->key == NULL);
@@ -964,7 +964,7 @@ addIndent(FILE *fp, int skip, unsigned indent)
} else
for (sp = 0; sp < indent; ++sp)
fprintf(fp, " ");
-}
+}
void
printList(FILE *fp, const struct list *l, isc_boolean_t skip, unsigned indent)
diff --git a/keama/data.h b/keama/data.h
index b8078cc3..2ce32ddb 100644
--- a/keama/data.h
+++ b/keama/data.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2017-2022 Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -14,8 +14,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* http://www.isc.org/
*/
diff --git a/keama/dhctoken.h b/keama/dhctoken.h
index ac24463a..32b02550 100644
--- a/keama/dhctoken.h
+++ b/keama/dhctoken.h
@@ -3,7 +3,7 @@
Tokens for config file lexer and parser. */
/*
- * Copyright (c) 2004-2016 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1996-2003 by Internet Software Consortium
*
* Permission to use, copy, modify, and distribute this software for any
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
diff --git a/keama/eval.c b/keama/eval.c
index 8e2dbdb5..acacce16 100644
--- a/keama/eval.c
+++ b/keama/eval.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2017-2022 Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -14,8 +14,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -456,7 +456,7 @@ eval_boolean_expression(struct element *expr, isc_boolean_t *modifiedp)
* data_expression :== SUBSTRING LPAREN data-expression COMMA
* numeric-expression COMMA
* numeric-expression RPAREN |
- * CONCAT LPAREN data-expression COMMA
+ * CONCAT LPAREN data-expression COMMA
* data-expression RPAREN
* SUFFIX LPAREN data_expression COMMA
* numeric-expression RPAREN |
@@ -1155,7 +1155,7 @@ eval_data_expression(struct element *expr, isc_boolean_t *modifiedp)
fmt = "%x";
break;
}
-
+
for (i = 0; i < buf->length; i++) {
uint8_t val;
char num[4];
@@ -1172,7 +1172,7 @@ eval_data_expression(struct element *expr, isc_boolean_t *modifiedp)
if ((buf->length % 2) != 0)
return expr;
-
+
switch (b) {
case 8:
fmt = "%o";
@@ -1185,11 +1185,11 @@ eval_data_expression(struct element *expr, isc_boolean_t *modifiedp)
fmt = "%x";
break;
}
-
+
for (i = 0; i < buf->length; i += 2) {
uint16_t val;
char num[8];
-
+
if (i != 0)
concatString(r, sep);
memcpy(&val, buf->content + i, 2);
@@ -1203,7 +1203,7 @@ eval_data_expression(struct element *expr, isc_boolean_t *modifiedp)
if ((buf->length % 4) != 0)
return expr;
-
+
switch (b) {
case 8:
fmt = "%llo";
@@ -1216,11 +1216,11 @@ eval_data_expression(struct element *expr, isc_boolean_t *modifiedp)
fmt = "%llx";
break;
}
-
+
for (i = 0; i < buf->length; i += 4) {
uint32_t val;
char num[40];
-
+
if (i != 0)
concatString(r, sep);
memcpy(&val, buf->content + i, 4);
diff --git a/keama/json.c b/keama/json.c
index 0b2667a2..045c3474 100644
--- a/keama/json.c
+++ b/keama/json.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2017-2022 Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -14,8 +14,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
diff --git a/keama/keama.8 b/keama/keama.8
index 8e4cc2c7..d2b37ca8 100644
--- a/keama/keama.8
+++ b/keama/keama.8
@@ -1,6 +1,6 @@
.\" keama.8
.\"
-.\" Copyright (c) 2017-2019 by Internet Systems Consortium, Inc. ("ISC")
+.\" Copyright (C) 2017-2022 Internet Systems Consortium, Inc. ("ISC")
.\"
.\" Permission to use, copy, modify, and distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
@@ -15,8 +15,8 @@
.\" OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.\" Internet Systems Consortium, Inc.
-.\" 950 Charter Street
-.\" Redwood City, CA 94063
+.\" PO Box 360
+.\" Newmarket, NH 03857 USA
.\" <info@isc.org>
.\" https://www.isc.org/
.\"
diff --git a/keama/keama.c b/keama/keama.c
index e2c41c32..a7cb0a83 100644
--- a/keama/keama.c
+++ b/keama/keama.c
@@ -1,5 +1,5 @@
/*
- * Copyright(c) 2017-2019 by Internet Systems Consortium, Inc.("ISC")
+ * Copyright(C) 2017-2022 Internet Systems Consortium, Inc.("ISC")
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -14,8 +14,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -47,6 +47,9 @@ usage(const char *sfmt, const char *sarg) {
exit(1);
}
+enum resolve resolve;
+struct parses parses;
+
int local_family = 0;
char *hook_library_path = NULL;
char *input_file = NULL;
@@ -60,7 +63,7 @@ isc_boolean_t json = ISC_FALSE;
static const char use_noarg[] = "No argument for command: %s";
static const char bad_resolve[] = "Bad -r argument: %s";
-int
+int
main(int argc, char **argv) {
int i, fd;
char *inbuf = NULL;
@@ -104,7 +107,7 @@ main(int argc, char **argv) {
if (++i == argc)
usage(use_noarg, argv[i - 1]);
output_file = argv[i];
- } else
+ } else
usage("Unknown command: %s", argv[i]);
}
@@ -198,10 +201,10 @@ parse_error(struct parse *cfile, const char *fmt, ...)
char mbuf[1024];
char fbuf[1024];
unsigned i, lix;
-
+
snprintf(fbuf, sizeof(fbuf), "%s line %d: %s",
cfile->tlname, cfile->lexline, fmt);
-
+
va_start(list, fmt);
vsnprintf(mbuf, sizeof(mbuf), fbuf, list);
va_end(list);
diff --git a/keama/keama.h b/keama/keama.h
index 8dbb7eb1..a351c288 100644
--- a/keama/keama.h
+++ b/keama/keama.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2019 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2017-2022 Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -14,8 +14,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -31,11 +31,13 @@
#include <time.h>
/* Resolution of FQDNs into IPv4 addresses */
-enum resolve {
+enum resolve {
perform = 0, /* resolve */
fatal, /* raise a fatal error */
pass /* pass the string wth a warning */
-} resolve;
+};
+
+extern enum resolve resolve;
/* From includes/dhcp.h */
@@ -58,8 +60,6 @@ extern int local_family;
/* A parsing context. */
-TAILQ_HEAD(parses, parse) parses;
-
struct parse {
int lexline;
int lexchar;
@@ -120,6 +120,8 @@ struct parse {
};
+extern TAILQ_HEAD(parses, parse) parses;
+
#define PARAMETER 0
#define TOPLEVEL 1
#define ROOT_GROUP 2
diff --git a/keama/options.c b/keama/options.c
index 3f714108..18dd3d7c 100644
--- a/keama/options.c
+++ b/keama/options.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2019 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2017-2022 Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -14,8 +14,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -170,6 +170,7 @@ struct option_def options4[] = {
{ "geoconf-civic", "X", "dhcp", 99, 2},
{ "pcode", "t", "dhcp", 100, 2},
{ "tcode", "t", "dhcp", 101, 2},
+ { "v6-only-preferred", "L", "dhcp", 108, 2},
{ "netinfo-server-address", "Ia", "dhcp", 112, 2},
{ "netinfo-server-tag", "t", "dhcp", 113, 2},
{ "default-url", "t", "dhcp", 114, 2},
@@ -1060,7 +1061,7 @@ get_config_comments(unsigned code)
log_threshold:
comment = createComment("/// Reference Kea #222");
TAILQ_INSERT_TAIL(&comments, comment);
- break;
+ break;
case 84: /* log-threshold-high */
comment = createComment("/// log-threshold-high is not (yet?) "
diff --git a/keama/parse.c b/keama/parse.c
index e60fe95a..ed721e70 100644
--- a/keama/parse.c
+++ b/keama/parse.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2019 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2017-2022 Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -14,8 +14,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -88,7 +88,7 @@ skip_to_semi(struct parse *cfile)
statement foo bar { }
statement foo bar { statement { } }
statement}
-
+
...et cetera. */
void
skip_to_rbrace(struct parse *cfile, int brace_count)
@@ -176,7 +176,7 @@ parse_host_name(struct parse *cfile)
const char *val;
enum dhcp_token token;
struct string *s = NULL;
-
+
/* Read a dotted hostname... */
do {
/* Read a token, which should be an identifier. */
@@ -204,7 +204,7 @@ parse_host_name(struct parse *cfile)
/* ip-addr-or-hostname :== ip-address | hostname
ip-address :== NUMBER DOT NUMBER DOT NUMBER DOT NUMBER
-
+
Parse an ip address or a hostname.
Note that RFC1123 permits hostnames to consist of all digits,
@@ -282,7 +282,7 @@ parse_ip_addr_or_hostname(struct parse *cfile, isc_boolean_t check_multi)
return makeStringExt(bin->length, bin->content, 'I');
}
-
+
/*
* ip-address :== NUMBER DOT NUMBER DOT NUMBER DOT NUMBER
*/
@@ -294,7 +294,7 @@ parse_ip_addr(struct parse *cfile)
unsigned len = sizeof(addr);
return parse_numeric_aggregate(cfile, addr, &len, DOT, 10, 8);
-}
+}
/*
* Return true if every character in the string is hexadecimal.
@@ -316,7 +316,7 @@ is_hex_string(const char *s)
*
* See section 2.2 of RFC 1884 for details.
*
- * We are lazy for this. We pull numbers, names, colons, and dots
+ * We are lazy for this. We pull numbers, names, colons, and dots
* together and then throw the resulting string at the inet_pton()
* function.
*/
@@ -332,7 +332,7 @@ parse_ip6_addr(struct parse *cfile)
int v6_len;
/*
- * First token is non-raw. This way we eat any whitespace before
+ * First token is non-raw. This way we eat any whitespace before
* our IPv6 address begins, like one would expect.
*/
token = peek_token(&val, NULL, cfile);
@@ -655,7 +655,7 @@ parse_option_name(struct parse *cfile,
if (!is_identifier(token))
parse_error(cfile,
"expecting identifier after option keyword.");
-
+
uname = strdup(val);
if (!uname)
parse_error(cfile, "no memory for uname information.");
@@ -792,7 +792,7 @@ parse_option_space_decl(struct parse *cfile)
universe->old = strdup(val);
universe->name = universe->old;
push_space(universe);
-
+
do {
token = next_token(&val, NULL, cfile);
switch(token) {
@@ -951,7 +951,7 @@ parse_option_code_definition(struct parse *cfile, struct option *option)
struct string *saved;
struct string *format;
struct element *optdef;
-
+
if (option->space->status == special) {
parse_vendor_code_definition(cfile, option);
return;
@@ -1451,7 +1451,7 @@ parse_base64(struct parse *cfile)
struct string *t;
struct string *r;
isc_boolean_t valid_base64;
-
+
r = allocString();
/* It's possible for a + or a / to cause a base64 quantity to be
@@ -1582,7 +1582,7 @@ parse_executable_statements(struct element *statements,
}
if (!*lose)
return ISC_TRUE;
-
+
return ISC_FALSE;
}
@@ -1731,7 +1731,7 @@ parse_executable_statement(struct element *result,
case ON:
skip_token(&val, NULL, cfile);
return parse_on_statement(result, cfile, lose);
-
+
case SWITCH:
skip_token(&val, NULL, cfile);
return parse_switch_statement(result, cfile, lose);
@@ -1755,7 +1755,7 @@ parse_executable_statement(struct element *result,
cfile->issue_counter++;
mapSet(result, st, "default");
return ISC_TRUE;
-
+
case DEFINE:
case TOKEN_SET:
skip_token(&val, NULL, cfile);
@@ -2028,7 +2028,7 @@ parse_executable_statement(struct element *result,
if (!parse_zone(zone, cfile))
goto badzone;
return ISC_TRUE;
-
+
/* Also not really a statement, but same idea as above. */
case KEY:
skip_token(&val, NULL, cfile);
@@ -2116,7 +2116,7 @@ parse_zone(struct element *zone, struct parse *cfile)
values = createList();
mapSet(zone, values, "primary");
goto consemup;
-
+
case SECONDARY:
if (mapContains(zone, "secondary"))
parse_error(cfile, "more than one secondary.");
@@ -2183,7 +2183,7 @@ parse_zone(struct element *zone, struct parse *cfile)
mapSet(zone, createString(key_name), "key");
parse_semi(cfile);
break;
-
+
default:
done = 1;
break;
@@ -2256,7 +2256,7 @@ parse_key(struct element* result, struct parse *cfile)
if (!s)
appendString(alg, ".SIG-ALG.REG.INT.");
/* If there is no trailing '.', hack one in. */
- else
+ else
appendString(alg, ".");
mapSet(key, createString(alg), "algorithm");
break;
@@ -2329,7 +2329,7 @@ parse_on_statement(struct element *result,
case COMMIT:
case RELEASE:
case TRANSMISSION:
- appendString(cond, val);
+ appendString(cond, val);
break;
default:
@@ -2339,7 +2339,7 @@ parse_on_statement(struct element *result,
if (token == OR)
appendString(cond, " or ");
} while (token == OR);
-
+
mapSet(statement, createString(cond), "condition");
/* Semicolon means no statements. */
@@ -2567,7 +2567,7 @@ parse_if_statement(struct element *result,
}
mapSet(statement, branch, "else");
}
-
+
return ISC_TRUE;
}
@@ -2581,7 +2581,7 @@ parse_if_statement(struct element *result,
* boolean-expression OR boolean-expression
* EXISTS OPTION-NAME
*/
-
+
isc_boolean_t
parse_boolean_expression(struct element *expr,
struct parse *cfile,
@@ -2625,7 +2625,7 @@ parse_boolean(struct parse *cfile)
* data_expression :== SUBSTRING LPAREN data-expression COMMA
* numeric-expression COMMA
* numeric-expression RPAREN |
- * CONCAT LPAREN data-expression COMMA
+ * CONCAT LPAREN data-expression COMMA
* data-expression RPAREN
* SUFFIX LPAREN data_expression COMMA
* numeric-expression RPAREN |
@@ -3181,14 +3181,14 @@ parse_non_binary(struct element *expr,
if (token != RPAREN)
goto norparen;
break;
-
+
case STRING:
skip_token(&val, &len, cfile);
resetString(expr, makeString(len, val));
break;
case EXTRACT_INT:
- skip_token(&val, NULL, cfile);
+ skip_token(&val, NULL, cfile);
nexp = createMap();
nexp->skip = ISC_TRUE;
cfile->issue_counter++;
@@ -3232,9 +3232,9 @@ parse_non_binary(struct element *expr,
if (token != RPAREN)
parse_error(cfile, "right parenthesis expected.");
break;
-
+
case ENCODE_INT:
- skip_token(&val, NULL, cfile);
+ skip_token(&val, NULL, cfile);
nexp = createMap();
nexp->skip = ISC_TRUE;
cfile->issue_counter++;
@@ -3274,7 +3274,7 @@ parse_non_binary(struct element *expr,
if (token != RPAREN)
parse_error(cfile, "right parenthesis expected.");
break;
-
+
case NUMBER:
/* If we're in a numeric context, this should just be a
number, by itself. */
@@ -3535,7 +3535,7 @@ parse_non_binary(struct element *expr,
nexp->skip = ISC_TRUE;
cfile->issue_counter++;
mapSet(expr, nexp, "v6relay");
-
+
token = next_token(&val, NULL, cfile);
if (token != LPAREN)
goto nolparen;
@@ -3736,7 +3736,7 @@ new_rhs:
resetBy(expr, rhs);
return ISC_TRUE;
}
-
+
lhs = rhs;
rhs = NULL;
binop = next_op;
@@ -3775,7 +3775,7 @@ new_rhs:
rhs_context = expression_context(rhs);
lhs_context = expression_context(lhs);
- if ((rhs_context != context_any) &&
+ if ((rhs_context != context_any) &&
(lhs_context != context_any) &&
(rhs_context != lhs_context))
parse_error(cfile, "illegal expression relating "
@@ -3876,20 +3876,20 @@ new_rhs:
/* Now combine the LHS and the RHS using binop. */
tmp = createMap();
tmp->skip = ISC_TRUE;
-
+
/* Store the LHS and RHS. */
mapSet(tmp, lhs, "left");
mapSet(tmp, rhs, "right");
lhs = createMap();
mapSet(lhs, tmp, binop_name);
-
+
tmp = NULL;
rhs = NULL;
binop = next_op;
goto new_rhs;
-}
+}
/* Escape embedded commas, detected heading and leading space */
struct string *
@@ -4296,7 +4296,7 @@ parse_option_statement(struct element *result,
if ((token == SEMI) && (option->format[0] != 'Z')) {
/* Eat the semicolon... */
/*
- * XXXSK: I'm not sure why we should ever get here, but we
+ * XXXSK: I'm not sure why we should ever get here, but we
* do during our startup. This confuses things if
* we are parsing a zero-length option, so don't
* eat the semicolon token in that case.
@@ -4335,7 +4335,7 @@ parse_option_statement(struct element *result,
r = makeStringExt(s->length, s->content, 'X');
data = createString(r);
- mapSet(opt_data, data, "data");
+ mapSet(opt_data, data, "data");
} else if ((expr->type == ELEMENT_MAP) &&
mapContains(expr, "const-data")) {
struct element *value;
@@ -4819,7 +4819,7 @@ parse_config_data(struct element *expr,
parse_error(cfile, "Bad format '%c' in parse_config_data.",
option->format[0]);
}
-
+
mapSet(expr, elem, "value");
return ISC_TRUE;
@@ -4888,7 +4888,7 @@ parse_config_statement(struct element *result,
if ((token == SEMI) && (option->format[0] != 'Z')) {
/* Eat the semicolon... */
/*
- * XXXSK: I'm not sure why we should ever get here, but we
+ * XXXSK: I'm not sure why we should ever get here, but we
* do during our startup. This confuses things if
* we are parsing a zero-length option, so don't
* eat the semicolon token in that case.
diff --git a/keama/print.c b/keama/print.c
index be85bd4d..8d421625 100644
--- a/keama/print.c
+++ b/keama/print.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2017-2022 Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -14,8 +14,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -44,7 +44,7 @@ print_expression(struct element *expr, isc_boolean_t *lose)
return print_numeric_expression(expr, lose);
if (expr->type == ELEMENT_STRING)
return print_data_expression(expr, lose);
-
+
if (is_boolean_expression(expr))
return print_boolean_expression(expr, lose);
if (is_numeric_expression(expr))
@@ -821,7 +821,7 @@ print_data_expression(struct element *expr, isc_boolean_t *lose)
struct element *width;
struct element *separator;
struct element *buffer;
-
+
appendString(result, "binary-to-ascii(");
arg = mapGet(expr, "binary-to-ascii");
if ((arg == NULL) || (arg->type != ELEMENT_MAP)) {
@@ -877,7 +877,7 @@ print_data_expression(struct element *expr, isc_boolean_t *lose)
struct element *arg;
struct element *width;
struct element *buffer;
-
+
appendString(result, "reverse(");
arg = mapGet(expr, "reverse");
if ((arg == NULL) || (arg->type != ELEMENT_MAP)) {
@@ -986,7 +986,7 @@ print_data_expression(struct element *expr, isc_boolean_t *lose)
struct element *arg;
struct element *relay;
struct element *option;
-
+
appendString(result, "v6relay(");
arg = mapGet(expr, "v6relay");
diff --git a/keama/reduce.c b/keama/reduce.c
index 24939473..0fda47e8 100644
--- a/keama/reduce.c
+++ b/keama/reduce.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2017-2022 Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -14,8 +14,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -355,7 +355,7 @@ reduce_boolean_expression(struct element *expr)
* data_expression :== SUBSTRING LPAREN data-expression COMMA
* numeric-expression COMMA
* numeric-expression RPAREN |
- * CONCAT LPAREN data-expression COMMA
+ * CONCAT LPAREN data-expression COMMA
* data-expression RPAREN
* SUFFIX LPAREN data_expression COMMA
* numeric-expression RPAREN |
@@ -504,7 +504,7 @@ reduce_data_expression(struct element *expr)
concatString(result, stringValue(string));
snprintf(buf, sizeof(buf), ",-%u,all)", (unsigned)len);
appendString(result, buf);
- return createString(result);
+ return createString(result);
}
/* lowercase */
diff --git a/omapip/Makefile.in b/omapip/Makefile.in
index 0600aa3c..45c4aa99 100644
--- a/omapip/Makefile.in
+++ b/omapip/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.2 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2020 Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -217,8 +217,6 @@ am__define_uniq_tagged_files = \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
am__DIST_COMMON = $(srcdir)/Makefile.am.in $(srcdir)/Makefile.in \
$(top_srcdir)/depcomp
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -249,6 +247,8 @@ CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
@@ -260,6 +260,7 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
GREP = @GREP@
INSTALL = @INSTALL@
@@ -582,7 +583,6 @@ cscopelist-am: $(am__tagged_files)
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
diff --git a/omapip/alloc.c b/omapip/alloc.c
index 90bd9040..d13d3d7e 100644
--- a/omapip/alloc.c
+++ b/omapip/alloc.c
@@ -4,7 +4,7 @@
protocol... */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1999-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -20,8 +20,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -141,7 +141,7 @@ dmalloc(size_t size, const char *file, int line) {
return bar;
}
-void
+void
dfree(void *ptr, const char *file, int line) {
if (!ptr) {
log_error ("dfree %s(%d): free on null pointer.", file, line);
@@ -208,7 +208,7 @@ dfree(void *ptr, const char *file, int line) {
/* For allocation functions that keep their own free lists, we want to
account for the reuse of the memory. */
-void
+void
dmalloc_reuse(void *foo, const char *file, int line, int justref) {
struct dmalloc_preamble *dp;
@@ -333,7 +333,7 @@ void dmalloc_dump_outstanding ()
if (!inhistory)
#endif
log_info (" %s(%d): %ld",
- dp -> file, dp -> line,
+ dp -> file, dp -> line,
(long) dp -> size);
}
#endif
@@ -535,11 +535,11 @@ isc_result_t omapi_object_allocate (omapi_object_t **o,
tsize = (*type -> sizer) (size);
else
tsize = type -> size;
-
+
/* Sanity check. */
if (tsize < sizeof (omapi_object_t))
return DHCP_R_INVALIDARG;
-
+
foo = dmalloc (tsize, file, line);
if (!foo)
return ISC_R_NOMEMORY;
@@ -610,7 +610,7 @@ isc_result_t omapi_object_dereference (omapi_object_t **h,
return DHCP_R_INVALIDARG;
#endif
}
-
+
if ((*h) -> refcnt <= 0) {
#if defined (POINTER_DEBUG)
log_error ("%s(%d): dereference of pointer with refcnt of zero!",
@@ -624,7 +624,7 @@ isc_result_t omapi_object_dereference (omapi_object_t **h,
return DHCP_R_INVALIDARG;
#endif
}
-
+
/* See if this object's inner object refers to it, but don't
count this as a reference if we're being asked to free the
reference from the inner object. */
@@ -695,7 +695,7 @@ isc_result_t omapi_object_dereference (omapi_object_t **h,
rc_register (file, line, h, hp,
0, 1, hp -> type -> rc_flag);
if (handle_reference) {
- if (omapi_handle_clear(hp->handle) !=
+ if (omapi_handle_clear(hp->handle) !=
ISC_R_SUCCESS) {
log_debug("Attempt to clear null "
"handle pointer");
@@ -729,7 +729,7 @@ isc_result_t omapi_buffer_new (omapi_buffer_t **h,
{
omapi_buffer_t *t;
isc_result_t status;
-
+
t = (omapi_buffer_t *)dmalloc (sizeof *t, file, line);
if (!t)
return ISC_R_NOMEMORY;
@@ -777,7 +777,7 @@ isc_result_t omapi_buffer_dereference (omapi_buffer_t **h,
return DHCP_R_INVALIDARG;
#endif
}
-
+
if ((*h) -> refcnt <= 0) {
#if defined (POINTER_DEBUG)
log_error ("%s(%d): dereference of pointer with refcnt of zero!",
@@ -912,7 +912,7 @@ isc_result_t omapi_typed_data_dereference (omapi_typed_data_t **h,
return DHCP_R_INVALIDARG;
#endif
}
-
+
if ((*h) -> refcnt <= 0) {
#if defined (POINTER_DEBUG)
log_error ("%s(%d): dereference of pointer with refcnt of zero!",
@@ -926,7 +926,7 @@ isc_result_t omapi_typed_data_dereference (omapi_typed_data_t **h,
return DHCP_R_INVALIDARG;
#endif
}
-
+
--((*h) -> refcnt);
rc_register (file, line, h, *h, (*h) -> refcnt, 1, RC_MISC);
if ((*h) -> refcnt <= 0 ) {
@@ -999,7 +999,7 @@ isc_result_t omapi_data_string_dereference (omapi_data_string_t **h,
return DHCP_R_INVALIDARG;
#endif
}
-
+
if ((*h) -> refcnt <= 0) {
#if defined (POINTER_DEBUG)
log_error ("%s(%d): dereference of pointer with refcnt of zero!",
@@ -1071,7 +1071,7 @@ isc_result_t omapi_value_dereference (omapi_value_t **h,
return DHCP_R_INVALIDARG;
#endif
}
-
+
if ((*h) -> refcnt <= 0) {
#if defined (POINTER_DEBUG)
log_error ("%s(%d): dereference of pointer with refcnt of zero!",
@@ -1085,7 +1085,7 @@ isc_result_t omapi_value_dereference (omapi_value_t **h,
return DHCP_R_INVALIDARG;
#endif
}
-
+
--((*h) -> refcnt);
rc_register (file, line, h, *h, (*h) -> refcnt, 1, RC_MISC);
if ((*h) -> refcnt == 0) {
@@ -1153,7 +1153,7 @@ isc_result_t omapi_addr_list_dereference (omapi_addr_list_t **h,
return DHCP_R_INVALIDARG;
#endif
}
-
+
if ((*h) -> refcnt <= 0) {
#if defined (POINTER_DEBUG)
log_error ("%s(%d): dereference of pointer with zero refcnt!",
@@ -1176,4 +1176,3 @@ isc_result_t omapi_addr_list_dereference (omapi_addr_list_t **h,
*h = 0;
return ISC_R_SUCCESS;
}
-
diff --git a/omapip/array.c b/omapip/array.c
index 37ac6f8d..600d7835 100644
--- a/omapip/array.c
+++ b/omapip/array.c
@@ -3,7 +3,7 @@
Subroutines that support the omapi extensible array type. */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 2001-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -122,7 +122,7 @@ isc_result_t omapi_array_set (omapi_array_t *array, void *ptr, int index,
if (array -> data [index]) {
status = ((*array -> deref) (&array -> data [index],
file, line));
-
+
if (status != ISC_R_SUCCESS)
return status;
}
@@ -153,4 +153,3 @@ isc_result_t omapi_array_lookup (char **ptr, omapi_array_t *array, int index,
array -> data [index], file, line);
return ISC_R_NOTFOUND;
}
-
diff --git a/omapip/auth.c b/omapip/auth.c
index 23f5f0a8..a2835a44 100644
--- a/omapip/auth.c
+++ b/omapip/auth.c
@@ -3,7 +3,7 @@
Subroutines having to do with authentication. */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1998-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -66,7 +66,7 @@ isc_result_t omapi_auth_key_destroy (omapi_object_t *h,
omapi_data_string_dereference(&a->key, MDL);
if (a->tsec_key != NULL)
dns_tsec_destroy(&a->tsec_key);
-
+
return ISC_R_SUCCESS;
}
@@ -100,7 +100,7 @@ isc_result_t omapi_auth_key_enter (omapi_auth_key_t *a)
/*
* If possible create a tsec structure for this key,
- * if we can't create the structure we put out a warning
+ * if we can't create the structure we put out a warning
* and continue.
*/
status = isclib_make_dst_key(a->name, a->algorithm,
diff --git a/omapip/buffer.c b/omapip/buffer.c
index a21f0a80..2d034c62 100644
--- a/omapip/buffer.c
+++ b/omapip/buffer.c
@@ -3,7 +3,7 @@
Buffer access functions for the object management protocol... */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1999-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -146,7 +146,7 @@ static isc_result_t omapi_connection_reader_trace (omapi_object_t *h,
int read_status;
omapi_connection_object_t *c;
unsigned bytes_to_read;
-
+
if (!h || h -> type != omapi_type_connection)
return DHCP_R_INVALIDARG;
c = (omapi_connection_object_t *)h;
@@ -421,7 +421,7 @@ isc_result_t omapi_connection_copyout (unsigned char *buf,
buffer -> head = first_byte + bytes_this_copy - 1;
c -> in_bytes -= bytes_this_copy;
}
-
+
if (!BYTES_IN_BUFFER (buffer))
buffer = buffer -> next;
}
@@ -516,14 +516,14 @@ isc_result_t omapi_connection_writer (omapi_object_t *h)
isc_result_t status;
trace_iov_t iov [2];
int32_t connect_index;
-
+
connect_index = htonl (c -> index);
-
+
iov [0].buf = (char *)&connect_index;
iov [0].len = sizeof connect_index;
iov [1].buf = &buffer -> buf [buffer -> tail];
iov [1].len = bytes_written;
-
+
status = (trace_write_packet_iov
(trace_connection_input, 2, iov,
MDL));
@@ -545,11 +545,11 @@ isc_result_t omapi_connection_writer (omapi_object_t *h)
if (bytes_written != bytes_this_write)
return ISC_R_INPROGRESS;
}
-
+
if (!BYTES_IN_BUFFER (buffer))
buffer = buffer -> next;
}
-
+
/* Get rid of any output buffers we emptied. */
buffer = (omapi_buffer_t *)0;
while (c -> outbufs &&
@@ -598,7 +598,7 @@ isc_result_t omapi_connection_put_uint32 (omapi_object_t *c,
u_int32_t inbuf;
inbuf = htonl (value);
-
+
return omapi_connection_copyin (c, (unsigned char *)&inbuf,
sizeof inbuf);
}
@@ -624,7 +624,7 @@ isc_result_t omapi_connection_put_uint16 (omapi_object_t *c,
u_int16_t inbuf;
inbuf = htons (value);
-
+
return omapi_connection_copyin (c, (unsigned char *)&inbuf,
sizeof inbuf);
}
@@ -740,4 +740,3 @@ isc_result_t omapi_connection_put_named_uint32 (omapi_object_t *c,
status = omapi_connection_put_uint32(c, value);
return (status);
}
-
diff --git a/omapip/connection.c b/omapip/connection.c
index 014ff21b..7fffb5fe 100644
--- a/omapip/connection.c
+++ b/omapip/connection.c
@@ -3,7 +3,7 @@
Subroutines for dealing with connections. */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1999-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -44,6 +44,9 @@ extern omapi_array_t *trace_listeners;
#endif
static isc_result_t omapi_connection_connect_internal (omapi_object_t *);
+static isc_result_t ctring_from_attribute(omapi_object_t *obj, char *attr_name,
+ char **cstr);
+
OMAPI_OBJECT_ALLOC (omapi_connection,
omapi_connection_object_t, omapi_type_connection)
@@ -163,7 +166,7 @@ isc_result_t omapi_connect_list (omapi_object_t *c,
local_sin.sin_family = AF_INET;
memset (&local_sin.sin_zero, 0,
sizeof local_sin.sin_zero);
-
+
if (bind (obj -> socket, (struct sockaddr *)&local_sin,
sizeof local_sin) < 0) {
omapi_connection_object_t **objp = &obj;
@@ -196,7 +199,7 @@ isc_result_t omapi_connect_list (omapi_object_t *c,
omapi_connection_dereference (&obj, MDL);
return ISC_R_UNEXPECTED;
}
-
+
/* Set the file to nonblocking mode. */
if (fcntl (obj -> socket, F_SETFL, O_NONBLOCK) < 0) {
omapi_connection_dereference (&obj, MDL);
@@ -213,7 +216,7 @@ isc_result_t omapi_connect_list (omapi_object_t *c,
(char *)&flag, sizeof(flag)) < 0) {
omapi_connection_dereference (&obj, MDL);
return ISC_R_UNEXPECTED;
- }
+ }
#endif
status = (omapi_register_io_object
@@ -285,7 +288,7 @@ void omapi_connection_register (omapi_connection_object_t *obj,
#if defined (TRACING)
if (trace_record ()) {
/* Connection registration packet:
-
+
int32_t index
int32_t listener_index [-1 means no listener]
u_int16_t remote_port
@@ -365,7 +368,7 @@ static void trace_connect_input (trace_type_t *ttype,
omapi_listener_reference (&listener, lp, MDL);
omapi_listener_dereference (&lp, MDL);
break;
- }
+ }
} omapi_array_foreach_end (trace_listeners,
omapi_listener_object_t, lp);
if (!listener) {
@@ -411,7 +414,7 @@ static void trace_connect_input (trace_type_t *ttype,
}
} omapi_array_foreach_end (omapi_connections,
omapi_connection_object_t, lp);
-
+
log_error ("Spurious traced connect - index %ld, addr %s, port %d",
(long int)connect_index, inet_ntoa (remote.sin_addr),
ntohs (remote.sin_port));
@@ -428,7 +431,7 @@ static void trace_disconnect_input (trace_type_t *ttype,
log_error ("trace disconnect: wrong length %d", length);
return;
}
-
+
index = (int32_t *)buf;
omapi_array_foreach_begin (omapi_connections,
@@ -458,7 +461,7 @@ isc_result_t omapi_disconnect (omapi_object_t *h,
omapi_connection_object_t *c;
#ifdef DEBUG_PROTOCOL
- log_debug ("omapi_disconnect(%s)", force ? "force" : "");
+ log_debug ("omapi_disconnect(force=%d)", force);
#endif
c = (omapi_connection_object_t *)h;
@@ -613,7 +616,7 @@ isc_result_t omapi_connection_connect (omapi_object_t *h)
* pass it on as a signal.
*/
status = omapi_connection_connect_internal (h);
- if (status == ISC_R_INPROGRESS)
+ if (status == ISC_R_INPROGRESS)
return ISC_R_INPROGRESS;
if (status != ISC_R_SUCCESS)
@@ -705,7 +708,7 @@ static isc_result_t omapi_connection_connect_internal (omapi_object_t *h)
}
c -> state = omapi_connection_connected;
}
-
+
/* I don't know why this would fail, so I'm tempted not to test
the return value. */
sl = sizeof (c -> local_addr);
@@ -763,64 +766,41 @@ isc_result_t omapi_connection_reaper (omapi_object_t *h)
}
static isc_result_t make_dst_key (dst_key_t **dst_key, omapi_object_t *a) {
- omapi_value_t *name = (omapi_value_t *)0;
- omapi_value_t *algorithm = (omapi_value_t *)0;
- omapi_value_t *key = (omapi_value_t *)0;
- char *name_str = NULL;
+ omapi_value_t *key = 0;
+ char *name_str = 0;
+ char *algorithm_str = 0;
isc_result_t status = ISC_R_SUCCESS;
- if (status == ISC_R_SUCCESS)
- status = omapi_get_value_str
- (a, (omapi_object_t *)0, "name", &name);
-
- if (status == ISC_R_SUCCESS)
- status = omapi_get_value_str
- (a, (omapi_object_t *)0, "algorithm", &algorithm);
-
- if (status == ISC_R_SUCCESS)
- status = omapi_get_value_str
- (a, (omapi_object_t *)0, "key", &key);
-
+ /* Get the key name as a C string. */
+ status = ctring_from_attribute(a, "name", &name_str);
if (status == ISC_R_SUCCESS) {
- if ((algorithm->value->type != omapi_datatype_data &&
- algorithm->value->type != omapi_datatype_string) ||
- strncasecmp((char *)algorithm->value->u.buffer.value,
- NS_TSIG_ALG_HMAC_MD5 ".",
- algorithm->value->u.buffer.len) != 0) {
- status = DHCP_R_INVALIDARG;
+ /* Get the algorithm name as a C string. */
+ status = ctring_from_attribute(a, "algorithm", &algorithm_str);
+ if (status == ISC_R_SUCCESS) {
+ /* Get the key secret value */
+ status = omapi_get_value_str(a, 0, "key", &key);
+ if (status == ISC_R_SUCCESS) {
+ /* Now let's try and create the key */
+ status = isclib_make_dst_key(
+ name_str,
+ algorithm_str,
+ key->value->u.buffer.value,
+ key->value->u.buffer.len,
+ dst_key);
+
+ if (*dst_key == NULL) {
+ status = ISC_R_NOMEMORY;
+ }
+ }
}
}
- if (status == ISC_R_SUCCESS) {
- name_str = dmalloc (name -> value -> u.buffer.len + 1, MDL);
- if (!name_str)
- status = ISC_R_NOMEMORY;
- }
-
- if (status == ISC_R_SUCCESS) {
- memcpy (name_str,
- name -> value -> u.buffer.value,
- name -> value -> u.buffer.len);
- name_str [name -> value -> u.buffer.len] = 0;
-
- status = isclib_make_dst_key(name_str,
- DHCP_HMAC_MD5_NAME,
- key->value->u.buffer.value,
- key->value->u.buffer.len,
- dst_key);
-
- if (*dst_key == NULL)
- status = ISC_R_NOMEMORY;
- }
-
if (name_str)
dfree (name_str, MDL);
+ if (algorithm_str)
+ dfree (algorithm_str, MDL);
if (key)
omapi_value_dereference (&key, MDL);
- if (algorithm)
- omapi_value_dereference (&algorithm, MDL);
- if (name)
- omapi_value_dereference (&name, MDL);
return status;
}
@@ -970,7 +950,7 @@ isc_result_t omapi_connection_set_value (omapi_object_t *h,
return ISC_R_SUCCESS;
}
-
+
if (h -> inner && h -> inner -> type -> set_value)
return (*(h -> inner -> type -> set_value))
(h -> inner, id, name, value);
@@ -1013,7 +993,7 @@ isc_result_t omapi_connection_get_value (omapi_object_t *h,
status = dst_key_sigsize(c->in_key, &sigsize);
if (status != ISC_R_SUCCESS) {
return(status);
- }
+ }
return omapi_make_int_value(value, name, sigsize, MDL);
@@ -1040,11 +1020,11 @@ isc_result_t omapi_connection_get_value (omapi_object_t *h,
status = dst_key_sigsize(c->out_key, &sigsize);
if (status != ISC_R_SUCCESS) {
return(status);
- }
+ }
return omapi_make_int_value(value, name, sigsize, MDL);
}
-
+
if (h -> inner && h -> inner -> type -> get_value)
return (*(h -> inner -> type -> get_value))
(h -> inner, id, name, value);
@@ -1081,7 +1061,7 @@ isc_result_t omapi_connection_signal_handler (omapi_object_t *h,
#ifdef DEBUG_PROTOCOL
log_debug ("omapi_connection_signal_handler(%s)", name);
#endif
-
+
if (h -> inner && h -> inner -> type -> signal_handler)
return (*(h -> inner -> type -> signal_handler)) (h -> inner,
name, ap);
@@ -1103,3 +1083,50 @@ isc_result_t omapi_connection_stuff_values (omapi_object_t *c,
m -> inner);
return ISC_R_SUCCESS;
}
+
+/* @brief Fetches the value of an attribute in an object as an allocated
+ * C string
+ *
+ * @param obj ompapi object containing the desire attribute
+ * @param attr_name name of the desired attribute
+ * @param[out] cstr pointer in which to place the allocated C string's address
+ *
+ * Caller is responsible for freeing (via dfree) the allocated string.
+ *
+ * @return ISC_R_SUCCESS if successful, otherwise indicates the type of failure
+*/
+static isc_result_t ctring_from_attribute(omapi_object_t *obj, char *attr_name,
+ char **cstr) {
+ isc_result_t status = ISC_R_SUCCESS;
+ omapi_value_t *attr = 0;
+
+ /* Find the attribute in the object. */
+ status = omapi_get_value_str(obj, (omapi_object_t *)0, attr_name,
+ &attr);
+ if (status != ISC_R_SUCCESS) {
+ return (status);
+ }
+
+ /* Got it, let's make sure it's either data or string type. */
+ if (attr->value->type != omapi_datatype_data &&
+ attr->value->type != omapi_datatype_string) {
+ return (DHCP_R_INVALIDARG);
+ }
+
+ /* Make a C string from the attribute value. */
+ *cstr = dmalloc (attr->value->u.buffer.len + 1, MDL);
+ if (!(*cstr)) {
+ status = ISC_R_NOMEMORY;
+ } else {
+ memcpy (*cstr, attr->value->u.buffer.value,
+ attr->value->u.buffer.len);
+ (*cstr)[attr->value->u.buffer.len] = 0;
+ }
+
+ /* Get rid of the attribute reference */
+ if (attr) {
+ omapi_value_dereference (&attr, MDL);
+ }
+
+ return (status);
+}
diff --git a/omapip/convert.c b/omapip/convert.c
index 900d3df2..de6c7c86 100644
--- a/omapip/convert.c
+++ b/omapip/convert.c
@@ -4,7 +4,7 @@
can't be assumed to be aligned. */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1996-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -20,8 +20,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
diff --git a/omapip/dispatch.c b/omapip/dispatch.c
index ba99889c..644ab43f 100644
--- a/omapip/dispatch.c
+++ b/omapip/dispatch.c
@@ -3,7 +3,7 @@
I/O dispatcher. */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1999-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -53,14 +53,14 @@ register_eventhandler(struct eventqueue **queue, void (*handler)(void *))
return; /* handler already registered */
t = q;
}
-
+
q = ((struct eventqueue *)dmalloc(sizeof(struct eventqueue), MDL));
if (!q)
log_fatal("register_eventhandler: no memory!");
memset(q, 0, sizeof *q);
if (t)
t->next = q;
- else
+ else
*queue = q;
q->handler = handler;
return;
@@ -70,7 +70,7 @@ void
unregister_eventhandler(struct eventqueue **queue, void (*handler)(void *))
{
struct eventqueue *t, *q;
-
+
/* traverse to end of list */
t= NULL;
for (q = *queue ; q ; q = q->next) {
@@ -93,7 +93,7 @@ trigger_event(struct eventqueue **queue)
struct eventqueue *q;
for (q=*queue ; q ; q=q->next) {
- if (q->handler)
+ if (q->handler)
(*q->handler)(NULL);
}
}
@@ -102,7 +102,7 @@ trigger_event(struct eventqueue **queue)
* Callback routine to connect the omapi I/O object and socket with
* the isc socket code. The isc socket code will call this routine
* which will then call the correct local routine to process the bytes.
- *
+ *
* Currently we are always willing to read more data, this should be modified
* so that on connections we don't read more if we already have enough.
*
@@ -159,13 +159,13 @@ omapi_iscsock_cb(isc_task_t *task,
if (obj->closed == ISC_TRUE) {
return(0);
}
-#endif
+#endif
if ((flags == ISC_SOCKFDWATCH_READ) &&
(obj->reader != NULL) &&
(obj->inner != NULL)) {
status = obj->reader(obj->inner);
- /*
+ /*
* If we are shutting down (basically tried to
* read and got no bytes) we don't need to try
* again.
@@ -218,7 +218,7 @@ isc_result_t omapi_register_io_object (omapi_object_t *h,
omapi_io_states.refcnt = 1;
omapi_io_states.type = omapi_type_io_object;
}
-
+
obj = (omapi_io_object_t *)0;
status = omapi_io_allocate (&obj, MDL);
if (status != ISC_R_SUCCESS)
@@ -239,7 +239,7 @@ isc_result_t omapi_register_io_object (omapi_object_t *h,
}
/*
- * Attach the I/O object to the isc socket library via the
+ * Attach the I/O object to the isc socket library via the
* fdwatch function. This allows the socket library to watch
* over a socket that we built. If there are both a read and
* a write socket we asssume they are the same socket.
@@ -317,7 +317,7 @@ isc_result_t omapi_reregister_io_object (omapi_object_t *h,
if ((!h -> outer) || (h -> outer -> type != omapi_type_io_object)) {
/*
- * If we don't have an object or if the type isn't what
+ * If we don't have an object or if the type isn't what
* we expect do the normal registration (which will overwrite
* an incorrect type, that's what we did historically, may
* want to change that)
@@ -348,7 +348,7 @@ isc_result_t omapi_reregister_io_object (omapi_object_t *h,
}
isc_socket_fdwatchpoke(obj->fd, fd_flags);
-
+
return (ISC_R_SUCCESS);
}
@@ -356,7 +356,7 @@ isc_result_t omapi_unregister_io_object (omapi_object_t *h)
{
omapi_io_object_t *obj, *ph;
#if SOCKDELETE
- omapi_io_object_t *p, *last;
+ omapi_io_object_t *p, *last;
#endif
if (!h -> outer || h -> outer -> type != omapi_type_io_object)
@@ -413,13 +413,26 @@ isc_result_t omapi_unregister_io_object (omapi_object_t *h)
isc_result_t omapi_dispatch (struct timeval *t)
{
+#ifdef DEBUG_PROTOCOL
+ log_debug("omapi_dispatch()");
+#endif
return omapi_wait_for_completion ((omapi_object_t *)&omapi_io_states,
+
t);
}
isc_result_t omapi_wait_for_completion (omapi_object_t *object,
struct timeval *t)
{
+#ifdef DEBUG_PROTOCOL
+ if (t) {
+ log_debug ("omapi_wait_for_completion(%u.%u secs)",
+ (unsigned int)(t->tv_sec),
+ (unsigned int)(t->tv_usec));
+ } else {
+ log_debug ("omapi_wait_for_completion(no timeout)");
+ }
+#endif
isc_result_t status;
omapi_waiter_object_t *waiter;
omapi_object_t *inner;
@@ -440,7 +453,7 @@ isc_result_t omapi_wait_for_completion (omapi_object_t *object,
omapi_waiter_dereference (&waiter, MDL);
return status;
}
-
+
status = omapi_object_reference (&inner -> inner,
(omapi_object_t *)waiter,
MDL);
@@ -453,10 +466,17 @@ isc_result_t omapi_wait_for_completion (omapi_object_t *object,
do {
status = omapi_one_dispatch ((omapi_object_t *)waiter, t);
- if (status != ISC_R_SUCCESS)
- return status;
+ if (status != ISC_R_SUCCESS) {
+#ifdef DEBUG_PROTOCOL
+ log_debug ("- call to omapi_one_dispatch failed: %s",
+ isc_result_totext (status));
+#endif
+ /* Break out on failure, to ensure we free up the waiter(s) */
+ break;
+ }
} while (!waiter || !waiter -> ready);
+
if (waiter -> outer) {
if (waiter -> outer -> inner) {
omapi_object_dereference (&waiter -> outer -> inner,
@@ -470,8 +490,13 @@ isc_result_t omapi_wait_for_completion (omapi_object_t *object,
}
if (waiter -> inner)
omapi_object_dereference (&waiter -> inner, MDL);
-
- status = waiter -> waitstatus;
+
+ if (status == ISC_R_SUCCESS) {
+ /* If the invocation worked, return the server's
+ * execution status */
+ status = waiter -> waitstatus;
+ }
+
omapi_waiter_dereference (&waiter, MDL);
return status;
}
@@ -479,6 +504,9 @@ isc_result_t omapi_wait_for_completion (omapi_object_t *object,
isc_result_t omapi_one_dispatch (omapi_object_t *wo,
struct timeval *t)
{
+#ifdef DEBUG_PROTOCOL
+ log_debug ("omapi_one_dispatch()");
+#endif
fd_set r, w, x, rr, ww, xx;
int max = 0;
int count;
@@ -503,7 +531,7 @@ isc_result_t omapi_one_dispatch (omapi_object_t *wo,
if (now.tv_sec > t -> tv_sec ||
(now.tv_sec == t -> tv_sec && now.tv_usec >= t -> tv_usec))
return ISC_R_TIMEDOUT;
-
+
/* We didn't time out, so figure out how long until
we do. */
to.tv_sec = t -> tv_sec - now.tv_sec;
@@ -520,12 +548,12 @@ isc_result_t omapi_one_dispatch (omapi_object_t *wo,
if (to.tv_sec > (60 * 60 * 24))
to.tv_sec = 60 * 60 * 24;
}
-
+
/* If the object we're waiting on has reached completion,
return now. */
if (waiter && waiter -> ready)
return ISC_R_SUCCESS;
-
+
again:
/* If we have no I/O state, we can't proceed. */
if (!(io = omapi_io_states.next))
@@ -545,32 +573,59 @@ isc_result_t omapi_one_dispatch (omapi_object_t *wo,
if (desc > max)
max = desc;
}
-
+
/* Same deal for write fdets. */
if (io -> writefd && io -> inner &&
(desc = (*(io -> writefd)) (io -> inner)) >= 0) {
+ /* This block avoids adding writefds that are already connected
+ * but that do not have data waiting to write. This avoids
+ * select() calls dropping immediately simply because the
+ * the writefd is ready to write. Without this synchronous
+ * waiting becomes CPU intensive polling */
+ if (io->inner && io->inner->type == omapi_type_connection) {
+ omapi_connection_object_t* c;
+ c = (omapi_connection_object_t *)(io->inner);
+ if (c->state == omapi_connection_connected && c->out_bytes == 0) {
+ /* We are already connected and have no data waiting to
+ * be written, so we avoid registering the fd. */
+#ifdef DEBUG_PROTOCOL
+ log_debug ("--- Connected, nothing to write, skip writefd\n");
+#endif
+ continue;
+ }
+ }
+
+
FD_SET (desc, &w);
if (desc > max)
max = desc;
}
}
- /* poll if all reader are dry */
+ /* poll if all reader are dry */
now.tv_sec = 0;
now.tv_usec = 0;
- rr=r;
- ww=w;
+ rr=r;
+ ww=w;
xx=x;
/* poll once */
count = select(max + 1, &r, &w, &x, &now);
- if (!count) {
- /* We are dry now */
+ if (!count) {
+ /* We are dry now */
trigger_event(&rw_queue_empty);
/* Wait for a packet or a timeout... XXX */
r = rr;
w = ww;
x = xx;
+
+#ifdef DEBUG_PROTOCOL
+ if (t) {
+ log_debug (" calling select with timout: %u.%u secs",
+ (unsigned int)(to.tv_sec),
+ (unsigned int)(to.tv_usec));
+ }
+#endif
count = select(max + 1, &r, &w, &x, t ? &to : NULL);
}
@@ -648,7 +703,7 @@ isc_result_t omapi_one_dispatch (omapi_object_t *wo,
goto again;
}
}
-
+
FD_ZERO (&r);
FD_ZERO (&w);
t0.tv_sec = t0.tv_usec = 0;
@@ -670,7 +725,7 @@ isc_result_t omapi_one_dispatch (omapi_object_t *wo,
}
if (prev)
omapi_io_dereference (&prev, MDL);
-
+
}
for (io = omapi_io_states.next; io; io = io -> next) {
@@ -681,16 +736,18 @@ isc_result_t omapi_one_dispatch (omapi_object_t *wo,
see if we got input on that socket. */
if (io -> readfd &&
(desc = (*(io -> readfd)) (tmp)) >= 0) {
- if (FD_ISSET (desc, &r))
+ if (FD_ISSET (desc, &r)) {
((*(io -> reader)) (tmp));
+ }
}
-
+
/* Same deal for write descriptors. */
if (io -> writefd &&
(desc = (*(io -> writefd)) (tmp)) >= 0)
{
- if (FD_ISSET (desc, &w))
+ if (FD_ISSET (desc, &w)) {
((*(io -> writer)) (tmp));
+ }
}
omapi_object_dereference (&tmp, MDL);
}
@@ -703,9 +760,9 @@ isc_result_t omapi_one_dispatch (omapi_object_t *wo,
omapi_io_reference(&io, omapi_io_states.next, MDL);
}
while (io != NULL) {
- if ((io->inner == NULL) ||
- ((io->reaper != NULL) &&
- ((io->reaper)(io->inner) != ISC_R_SUCCESS)))
+ if ((io->inner == NULL) ||
+ ((io->reaper != NULL) &&
+ ((io->reaper)(io->inner) != ISC_R_SUCCESS)))
{
omapi_io_object_t *tmp = NULL;
@@ -721,7 +778,7 @@ isc_result_t omapi_one_dispatch (omapi_object_t *wo,
omapi_io_reference(&prev->next,
tmp, MDL);
} else {
- omapi_io_dereference(&omapi_io_states.next,
+ omapi_io_dereference(&omapi_io_states.next,
MDL);
if (tmp != NULL)
omapi_io_reference
@@ -773,7 +830,7 @@ isc_result_t omapi_io_set_value (omapi_object_t *h,
{
if (h -> type != omapi_type_io_object)
return DHCP_R_INVALIDARG;
-
+
if (h -> inner && h -> inner -> type -> set_value)
return (*(h -> inner -> type -> set_value))
(h -> inner, id, name, value);
@@ -787,7 +844,7 @@ isc_result_t omapi_io_get_value (omapi_object_t *h,
{
if (h -> type != omapi_type_io_object)
return DHCP_R_INVALIDARG;
-
+
if (h -> inner && h -> inner -> type -> get_value)
return (*(h -> inner -> type -> get_value))
(h -> inner, id, name, value);
@@ -808,7 +865,7 @@ isc_result_t omapi_io_destroy (omapi_object_t *h, const char *file, int line)
if (h -> type != omapi_type_io_object)
return DHCP_R_INVALIDARG;
-
+
/* remove from the list of I/O states */
for (p = omapi_io_states.next; p; p = p -> next) {
if (p == (omapi_io_object_t *)h) {
@@ -837,9 +894,12 @@ isc_result_t omapi_io_destroy (omapi_object_t *h, const char *file, int line)
isc_result_t omapi_io_signal_handler (omapi_object_t *h,
const char *name, va_list ap)
{
+#ifdef DEBUG_PROTOCOL
+ log_debug ("omapi_io_signal_handler(%s)", name);
+#endif
if (h -> type != omapi_type_io_object)
return DHCP_R_INVALIDARG;
-
+
if (h -> inner && h -> inner -> type -> signal_handler)
return (*(h -> inner -> type -> signal_handler)) (h -> inner,
name, ap);
@@ -864,9 +924,12 @@ isc_result_t omapi_waiter_signal_handler (omapi_object_t *h,
{
omapi_waiter_object_t *waiter;
+#ifdef DEBUG_PROTOCOL
+ log_debug ("omapi_waiter_signal_handler(%s)", name);
+#endif
if (h -> type != omapi_type_waiter)
return DHCP_R_INVALIDARG;
-
+
if (!strcmp (name, "ready")) {
waiter = (omapi_waiter_object_t *)h;
waiter -> ready = 1;
diff --git a/omapip/errwarn.c b/omapip/errwarn.c
index 6317fe4c..38dd9c53 100644
--- a/omapip/errwarn.c
+++ b/omapip/errwarn.c
@@ -4,7 +4,7 @@
/*
* Copyright (c) 1995 RadioMail Corporation.
- * Copyright (c) 2004-2019 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1996-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -20,8 +20,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
diff --git a/omapip/generic.c b/omapip/generic.c
index b14b7cbe..7636beb5 100644
--- a/omapip/generic.c
+++ b/omapip/generic.c
@@ -3,7 +3,7 @@
Subroutines that support the generic object. */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1999-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -98,7 +98,7 @@ isc_result_t omapi_generic_set_value (omapi_object_t *h,
/* Notice a free slot if we pass one. */
else if (vfree == -1 && !g -> values [i])
vfree = i;
- }
+ }
/* If the name isn't already attached to this object, see if an
inner object has it. */
@@ -176,7 +176,7 @@ isc_result_t omapi_generic_get_value (omapi_object_t *h,
if (h -> type != omapi_type_generic)
return DHCP_R_INVALIDARG;
g = (omapi_generic_object_t *)h;
-
+
/* Look up the specified name in our list of objects. */
for (i = 0; i < g -> nvalues; i++) {
if (!g -> values[i])
@@ -191,7 +191,7 @@ isc_result_t omapi_generic_get_value (omapi_object_t *h,
return omapi_value_reference (value,
g -> values [i], MDL);
}
- }
+ }
if (h -> inner && h -> inner -> type -> get_value)
return (*(h -> inner -> type -> get_value))
@@ -208,7 +208,7 @@ isc_result_t omapi_generic_destroy (omapi_object_t *h,
if (h -> type != omapi_type_generic)
return ISC_R_UNEXPECTED;
g = (omapi_generic_object_t *)h;
-
+
if (g -> values) {
for (i = 0; i < g -> nvalues; i++) {
if (g -> values [i])
@@ -230,7 +230,7 @@ isc_result_t omapi_generic_signal_handler (omapi_object_t *h,
{
if (h -> type != omapi_type_generic)
return DHCP_R_INVALIDARG;
-
+
if (h -> inner && h -> inner -> type -> signal_handler)
return (*(h -> inner -> type -> signal_handler)) (h -> inner,
name, ap);
@@ -251,7 +251,7 @@ isc_result_t omapi_generic_stuff_values (omapi_object_t *c,
if (g -> type != omapi_type_generic)
return DHCP_R_INVALIDARG;
src = (omapi_generic_object_t *)g;
-
+
for (i = 0; i < src -> nvalues; i++) {
if (src -> values [i] && src -> values [i] -> name -> len &&
src -> changed [i]) {
@@ -270,7 +270,7 @@ isc_result_t omapi_generic_stuff_values (omapi_object_t *c,
if (status != ISC_R_SUCCESS)
return status;
}
- }
+ }
if (g -> inner && g -> inner -> type -> stuff_values)
return (*(g -> inner -> type -> stuff_values)) (c, id,
diff --git a/omapip/handle.c b/omapip/handle.c
index 1534f6cd..1fde6495 100644
--- a/omapip/handle.c
+++ b/omapip/handle.c
@@ -3,7 +3,7 @@
Functions for maintaining handles on objects. */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1999-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -47,7 +47,7 @@
next handle should go, and if necessary create additional nodes in
the tree to contain the new handle. The pointer to the object is
then stored in the correct position.
-
+
Theoretically, we could have some code here to free up handle
tables as they go out of use, but by and large handle tables won't
go out of use, so this is being skipped for now. It shouldn't be
@@ -77,7 +77,7 @@ isc_result_t omapi_object_handle (omapi_handle_t *h, omapi_object_t *o)
*h = o -> handle;
return ISC_R_SUCCESS;
}
-
+
if (!omapi_handle_table) {
omapi_handle_table = dmalloc (sizeof *omapi_handle_table, MDL);
if (!omapi_handle_table)
@@ -96,7 +96,7 @@ isc_result_t omapi_object_handle (omapi_handle_t *h, omapi_object_t *o)
while (omapi_next_handle >= omapi_handle_table -> limit) {
omapi_handle_table_t *new;
-
+
new = dmalloc (sizeof *new, MDL);
if (!new)
return ISC_R_NOMEMORY;
@@ -145,7 +145,7 @@ static isc_result_t omapi_object_handle_in_table (omapi_handle_t h,
if (table -> first > h || table -> limit <= h)
return ISC_R_NOSPACE;
-
+
/* If this is a leaf table, just stash the object in the
appropriate place. */
if (table -> leafp) {
@@ -249,7 +249,7 @@ static isc_result_t omapi_handle_lookup_in (omapi_object_t **o,
if (!table || table->first > h || table->limit <= h)
return(ISC_R_NOTFOUND);
-
+
/* If this is a leaf table, just grab the object. */
if (table->leafp) {
/* Not there? */
diff --git a/omapip/hash.c b/omapip/hash.c
index e30ad881..fccfb1cd 100644
--- a/omapip/hash.c
+++ b/omapip/hash.c
@@ -3,7 +3,7 @@
Routines for manipulating hash tables... */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1995-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -149,7 +149,7 @@ void relinquish_hash_bucket_hunks ()
if (!n)
p = &c -> next;
}
-
+
for (c = hash_bucket_hunks; c; c = n) {
n = c -> next;
if (c -> len != 126) {
@@ -300,7 +300,7 @@ do_id_hash(const void *name, unsigned len, unsigned size)
* The switch handles our starting conditions, then we hash the
* remaining bytes in groups of 3
*/
-
+
switch (len % 3) {
case 0:
break;
@@ -386,7 +386,7 @@ hash_report(struct hash_table *table)
maxlen > 2147483647)
return (unsigned char *) "Report out of range for display.";
- sprintf((char *)retbuf,
+ sprintf((char *)retbuf,
"Contents/Size (%%): %u/%u (%u%%). Min/max: %u/%u",
contents, table->hash_count, pct, minlen, maxlen);
@@ -536,7 +536,7 @@ int casecmp (const void *v1, const void *v2, size_t len)
size_t i;
const unsigned char *s = v1;
const unsigned char *t = v2;
-
+
for (i = 0; i < len; i++)
{
int c1, c2;
diff --git a/omapip/isclib.c b/omapip/isclib.c
index 4aca9130..2293cbe4 100644
--- a/omapip/isclib.c
+++ b/omapip/isclib.c
@@ -1,5 +1,5 @@
/*
- * Copyright(c) 2009-2019 by Internet Systems Consortium, Inc.("ISC")
+ * Copyright(C) 2009-2022 Internet Systems Consortium, Inc.("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -14,8 +14,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* http://www.isc.org/
*
@@ -40,7 +40,7 @@ int shutdown_signal = 0;
* It may be moved to be part of the dns client code instead
* of being in the DHCP code
*/
-isc_result_t
+isc_result_t
dhcp_dns_client_setservers(void)
{
isc_result_t result;
@@ -183,7 +183,7 @@ dhcp_context_create(int flags,
}
memset(&dhcp_gbl_ctx, 0, sizeof (dhcp_gbl_ctx));
-
+
isc_lib_register();
/* get the current time for use as the random seed */
@@ -318,7 +318,7 @@ dhcp_isc_name(unsigned char *namestr,
isc_buffer_t b;
isc_result_t result;
- namelen = strlen((char *)namestr);
+ namelen = strlen((char *)namestr);
isc_buffer_init(&b, namestr, namelen);
isc_buffer_add(&b, namelen);
dns_fixedname_init(namefix);
diff --git a/omapip/listener.c b/omapip/listener.c
index 20ec6f34..390a4df5 100644
--- a/omapip/listener.c
+++ b/omapip/listener.c
@@ -3,7 +3,7 @@
Subroutines that support the generic listener object. */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1999-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -181,7 +181,7 @@ isc_result_t omapi_listen_addr (omapi_object_t *h,
error_exit:
if (obj != NULL) {
if (h->outer == (omapi_object_t *)obj) {
- omapi_object_dereference((omapi_object_t **)&h->outer,
+ omapi_object_dereference((omapi_object_t **)&h->outer,
MDL);
}
if (obj->inner == h) {
@@ -205,7 +205,7 @@ int omapi_listener_readfd (omapi_object_t *h)
if (h -> type != omapi_type_listener)
return -1;
l = (omapi_listener_object_t *)h;
-
+
return l -> socket;
}
@@ -287,7 +287,7 @@ isc_result_t omapi_listener_connect (omapi_connection_object_t **obj,
#ifdef DEBUG_PROTOCOL
log_debug ("omapi_accept()");
#endif
-
+
/* Get the handle. */
status = omapi_connection_allocate (obj, MDL);
if (status != ISC_R_SUCCESS)
@@ -417,7 +417,7 @@ isc_result_t omapi_listener_set_value (omapi_object_t *h,
{
if (h -> type != omapi_type_listener)
return DHCP_R_INVALIDARG;
-
+
if (h -> inner && h -> inner -> type -> set_value)
return (*(h -> inner -> type -> set_value))
(h -> inner, id, name, value);
@@ -431,7 +431,7 @@ isc_result_t omapi_listener_get_value (omapi_object_t *h,
{
if (h -> type != omapi_type_listener)
return DHCP_R_INVALIDARG;
-
+
if (h -> inner && h -> inner -> type -> get_value)
return (*(h -> inner -> type -> get_value))
(h -> inner, id, name, value);
@@ -450,7 +450,7 @@ isc_result_t omapi_listener_destroy (omapi_object_t *h,
#ifdef DEBUG_PROTOCOL
log_debug ("omapi_listener_destroy()");
#endif
-
+
if (l -> socket != -1) {
close (l -> socket);
l -> socket = -1;
@@ -463,7 +463,7 @@ isc_result_t omapi_listener_signal_handler (omapi_object_t *h,
{
if (h -> type != omapi_type_listener)
return DHCP_R_INVALIDARG;
-
+
if (h -> inner && h -> inner -> type -> signal_handler)
return (*(h -> inner -> type -> signal_handler)) (h -> inner,
name, ap);
@@ -485,4 +485,3 @@ isc_result_t omapi_listener_stuff_values (omapi_object_t *c,
l -> inner);
return ISC_R_SUCCESS;
}
-
diff --git a/omapip/message.c b/omapip/message.c
index 37abbd25..528268a7 100644
--- a/omapip/message.c
+++ b/omapip/message.c
@@ -3,7 +3,7 @@
Subroutines for dealing with message objects. */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1999-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -158,7 +158,7 @@ isc_result_t omapi_message_set_value (omapi_object_t *h,
if (status == ISC_R_SUCCESS)
return status;
}
-
+
return ISC_R_NOTFOUND;
}
@@ -232,7 +232,7 @@ isc_result_t omapi_message_signal_handler (omapi_object_t *h,
if (h -> type != omapi_type_message)
return DHCP_R_INVALIDARG;
m = (omapi_message_object_t *)h;
-
+
if (!strcmp (name, "status")) {
if (m -> notify_object &&
m -> notify_object -> type -> signal_handler)
@@ -271,7 +271,7 @@ isc_result_t omapi_message_register (omapi_object_t *mo)
if (mo -> type != omapi_type_message)
return DHCP_R_INVALIDARG;
m = (omapi_message_object_t *)mo;
-
+
/* Already registered? */
if (m -> prev || m -> next || omapi_registered_messages == m)
return DHCP_R_INVALIDARG;
@@ -300,7 +300,7 @@ isc_result_t omapi_message_unregister (omapi_object_t *mo)
if (mo -> type != omapi_type_message)
return DHCP_R_INVALIDARG;
m = (omapi_message_object_t *)mo;
-
+
/* Not registered? */
if (!m -> prev && omapi_registered_messages != m)
return DHCP_R_INVALIDARG;
@@ -550,7 +550,7 @@ omapi_message_process_internal (omapi_object_t *mo, omapi_object_t *po)
(po, message -> id_object,
ISC_R_NOTFOUND, message -> id,
"no object matches specification");
- }
+ }
/* If we found an object, we're supposed to be creating an
object, and we're not supposed to have found an object,
@@ -622,7 +622,7 @@ omapi_message_process_internal (omapi_object_t *mo, omapi_object_t *po)
"can't select authenticator");
}
}
-
+
/* Now send the new contents of the object back in
response. */
goto send;
@@ -636,7 +636,7 @@ omapi_message_process_internal (omapi_object_t *mo, omapi_object_t *po)
status, message -> id,
"no matching handle");
}
- send:
+ send:
status = omapi_protocol_send_update (po, message -> id_object,
message -> id, object);
omapi_object_dereference (&object, MDL);
@@ -666,7 +666,7 @@ omapi_message_process_internal (omapi_object_t *mo, omapi_object_t *po)
status, message -> id,
"cannot update authenticator");
}
-
+
status = omapi_protocol_add_auth (po, object,
message -> h);
} else {
diff --git a/omapip/omapi.3 b/omapip/omapi.3
index 8fa81052..dc2e8441 100644
--- a/omapip/omapi.3
+++ b/omapip/omapi.3
@@ -1,7 +1,6 @@
.\" omapi.3
.\"
-.\" Copyright (c) 2009-2010,2014 by Internet Systems Consortium, Inc. ("ISC")
-.\" Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC")
+.\" Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (c) 2000-2003 by Internet Software Consortium
.\"
.\" Permission to use, copy, modify, and distribute this software for any
@@ -17,8 +16,8 @@
.\" OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.\" Internet Systems Consortium, Inc.
-.\" 950 Charter Street
-.\" Redwood City, CA 94063
+.\" PO Box 360
+.\" Newmarket, NH 03857 USA
.\" <info@isc.org>
.\" https://www.isc.org/
.\"
@@ -49,7 +48,7 @@ act as surrogates for the real objects in the server. For example a
client will create a handle for a lease object, and will request the
server to fill the lease handle's state. The client application can
then pull details such as the lease expiration time from the lease
-handle.
+handle.
.PP
Modifications can be made to the server state by creating handles to
new objects, or by modifying attributes of handles to existing
@@ -58,8 +57,8 @@ the changes made.
.SH USAGE
.PP
The client application must always call dhcpctl_initialize() before
-making calls to any other dhcpctl functions. This initializes
-various internal data structures.
+making calls to any other dhcpctl functions. This initializes
+various internal data structures.
.PP
To create the connection to the server the client must use
dhcpctl_connect() function. As well as making the physical connection
@@ -194,7 +193,7 @@ Get the attribute named ``ends'' from the lease handle. This is a
will expire.
.PP
.nf
-
+
memcpy(&thetime, value->value, value->len);
dhcpctl_data_string_dereference(&value, MDL);
@@ -213,7 +212,7 @@ the connection the user must call dhcpctl_new_authenticator.
const char *algorithm = "hmac-md5";
const char *secret = "a-shared-secret";
- dhcpctl_new_authenticator (&authenticator,
+ dhcpctl_new_authenticator (&authenticator,
keyname,
algorithm,
secret,
@@ -246,4 +245,3 @@ dhcpctl(3), omshell(1), dhcpd(8), dhclient(8), dhcpd.conf(5), dhclient.conf(5).
is maintained by ISC. To learn more about Internet Systems Consortium,
see
.B https://www.isc.org
-
diff --git a/omapip/protocol.c b/omapip/protocol.c
index 3a2fa546..38db66ea 100644
--- a/omapip/protocol.c
+++ b/omapip/protocol.c
@@ -3,7 +3,7 @@
Functions supporting the object management protocol... */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1999-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -338,7 +338,7 @@ isc_result_t omapi_protocol_send_message (omapi_object_t *po,
}
return ISC_R_SUCCESS;
}
-
+
isc_result_t omapi_protocol_signal_handler (omapi_object_t *h,
const char *name, va_list ap)
@@ -439,7 +439,7 @@ isc_result_t omapi_protocol_signal_handler (omapi_object_t *h,
byte order. */
omapi_connection_get_uint32 (c, &p -> protocol_version);
omapi_connection_get_uint32 (c, &p -> header_size);
-
+
/* We currently only support the current protocol version. */
if (p -> protocol_version != OMAPI_PROTOCOL_VERSION) {
omapi_disconnect (c, 1);
@@ -538,7 +538,7 @@ isc_result_t omapi_protocol_signal_handler (omapi_object_t *h,
(0, c, (p -> header_size -
sizeof (omapi_protocol_header_t)));
}
-
+
/* XXX must compute partial signature across the
XXX preceding bytes. Also, if authenticator
specifies encryption as well as signing, we may
@@ -602,7 +602,7 @@ isc_result_t omapi_protocol_signal_handler (omapi_object_t *h,
if (omapi_connection_require (c, nlen) != ISC_R_SUCCESS)
break;
/* If it's already here, fall through. */
-
+
case omapi_protocol_name_wait:
omapi_connection_copyout (p -> name -> value, c,
p -> name -> len);
@@ -633,7 +633,7 @@ isc_result_t omapi_protocol_signal_handler (omapi_object_t *h,
if (omapi_connection_require (c, vlen) != ISC_R_SUCCESS)
break;
/* If it's already here, fall through. */
-
+
case omapi_protocol_value_wait:
omapi_connection_copyout (p -> value -> u.buffer.value, c,
p -> value -> u.buffer.len);
@@ -697,7 +697,7 @@ isc_result_t omapi_protocol_signal_handler (omapi_object_t *h,
&p -> message -> authenticator,
omapi_datatype_data,
p -> message -> authlen);
-
+
if (status != ISC_R_SUCCESS) {
if (signature != NULL) {
omapi_value_dereference (&signature, MDL);
@@ -756,7 +756,7 @@ isc_result_t omapi_protocol_signal_handler (omapi_object_t *h,
previous_outstanding = 0xDEADBEEF;
#endif
/* Now wait for the next message. */
- goto to_header_wait;
+ goto to_header_wait;
default:
/* XXX should never get here. Assertion? */
@@ -899,7 +899,7 @@ isc_result_t omapi_protocol_get_value (omapi_object_t *h,
return omapi_make_object_value (value, name,
p -> default_auth -> a, MDL);
}
-
+
if (h -> inner && h -> inner -> type -> get_value)
return (*(h -> inner -> type -> get_value))
(h -> inner, id, name, value);
@@ -989,7 +989,7 @@ isc_result_t omapi_protocol_configure_security (omapi_object_t *h,
return DHCP_R_INVALIDARG;
}
}
-
+
/* Set up a listener for the omapi protocol. The handle stored points to
a listener object, not a protocol object. */
@@ -1092,7 +1092,7 @@ isc_result_t omapi_protocol_listener_set_value (omapi_object_t *h,
{
if (h -> type != omapi_type_protocol_listener)
return DHCP_R_INVALIDARG;
-
+
if (h -> inner && h -> inner -> type -> set_value)
return (*(h -> inner -> type -> set_value))
(h -> inner, id, name, value);
@@ -1106,7 +1106,7 @@ isc_result_t omapi_protocol_listener_get_value (omapi_object_t *h,
{
if (h -> type != omapi_type_protocol_listener)
return DHCP_R_INVALIDARG;
-
+
if (h -> inner && h -> inner -> type -> get_value)
return (*(h -> inner -> type -> get_value))
(h -> inner, id, name, value);
@@ -1298,8 +1298,8 @@ isc_result_t omapi_protocol_send_update (omapi_object_t *po,
omapi_message_dereference (&message, MDL);
return status;
}
- }
-
+ }
+
status = omapi_set_object_value (mo, (omapi_object_t *)0,
"object", object);
if (status != ISC_R_SUCCESS) {
diff --git a/omapip/result.c b/omapip/result.c
index 424a5be8..b00b8299 100644
--- a/omapip/result.c
+++ b/omapip/result.c
@@ -1,8 +1,8 @@
/* result.c
*/
-/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+/*
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1999-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -18,8 +18,8 @@
* PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
diff --git a/omapip/support.c b/omapip/support.c
index a6b842ed..4c7adc64 100644
--- a/omapip/support.c
+++ b/omapip/support.c
@@ -3,7 +3,7 @@
Subroutines providing general support for objects. */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1999-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -308,7 +308,7 @@ isc_result_t omapi_set_value (omapi_object_t *h,
omapi_object_t *outer;
isc_result_t status;
-#if defined (DEBUG)
+#if defined (DEBUG_PROTOCOL)
if (!value) {
log_info ("omapi_set_value (%.*s, NULL)",
(int)name -> len, name -> value);
@@ -343,7 +343,7 @@ isc_result_t omapi_set_value (omapi_object_t *h,
id, name, value);
else
status = ISC_R_NOTFOUND;
-#if defined (DEBUG)
+#if defined (DEBUG_PROTOCOL)
log_info (" ==> %s", isc_result_totext (status));
#endif
return status;
@@ -745,18 +745,18 @@ isc_result_t omapi_make_object_value (omapi_value_t **vp,
const char *file, int line)
{
isc_result_t status;
-
+
status = omapi_value_new (vp, file, line);
if (status != ISC_R_SUCCESS)
return status;
-
+
status = omapi_data_string_reference (&(*vp) -> name,
name, file, line);
if (status != ISC_R_SUCCESS) {
omapi_value_dereference (vp, file, line);
return status;
}
-
+
if (value) {
status = omapi_typed_data_new (file, line, &(*vp) -> value,
omapi_datatype_object, value);
@@ -765,7 +765,7 @@ isc_result_t omapi_make_object_value (omapi_value_t **vp,
return status;
}
}
-
+
return ISC_R_SUCCESS;
}
diff --git a/omapip/test.c b/omapip/test.c
index c7e48eb3..758604ff 100644
--- a/omapip/test.c
+++ b/omapip/test.c
@@ -3,7 +3,7 @@
Test code for omapip... */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1999-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
diff --git a/omapip/toisc.c b/omapip/toisc.c
index 2a828c27..fba7dd2f 100644
--- a/omapip/toisc.c
+++ b/omapip/toisc.c
@@ -3,7 +3,7 @@
Convert non-ISC result codes to ISC result codes. */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 2001-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
diff --git a/omapip/trace.c b/omapip/trace.c
index 45bd508c..dc9185f6 100644
--- a/omapip/trace.c
+++ b/omapip/trace.c
@@ -5,7 +5,7 @@
transactions... */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 2001-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -21,8 +21,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -157,7 +157,7 @@ isc_result_t trace_begin (const char *filename,
tfh.version = htonl (TRACEFILE_VERSION);
tfh.hlen = htonl (sizeof (tracefile_header_t));
tfh.phlen = htonl (sizeof (tracepacket_t));
-
+
status = write (traceoutfile, &tfh, sizeof tfh);
if (status < 0) {
log_error ("%s(%d): trace_begin write failed: %m", file, line);
@@ -184,7 +184,7 @@ isc_result_t trace_begin (const char *filename,
}
}
}
-
+
return ISC_R_SUCCESS;
}
@@ -222,7 +222,7 @@ isc_result_t trace_write_packet_iov (trace_type_t *ttype,
file ? file : "<unknown file>", line);
return DHCP_R_INVALIDARG;
}
-
+
/* Compute the total length of the iov. */
length = 0;
for (i = 0; i < count; i++)
@@ -266,7 +266,7 @@ isc_result_t trace_write_packet_iov (trace_type_t *ttype,
if (length % 8) {
static char zero [] = { 0, 0, 0, 0, 0, 0, 0 };
unsigned padl = 8 - (length % 8);
-
+
status = write (traceoutfile, zero, padl);
if (status < 0) {
log_error ("%s(%d): trace_write_packet write failed: %m",
@@ -330,7 +330,7 @@ trace_type_t *trace_type_register (const char *name,
strcpy (ttmp -> name, name);
ttmp -> have_packet = have_packet;
ttmp -> stop_tracing = stop_tracing;
-
+
if (traceoutfile) {
status = trace_type_record (ttmp, slen, file, line);
if (status != ISC_R_SUCCESS) {
@@ -345,7 +345,7 @@ trace_type_t *trace_type_register (const char *name,
return ttmp;
}
-
+
static isc_result_t trace_type_record (trace_type_t *ttmp, unsigned slen,
const char *file, int line)
{
@@ -403,7 +403,7 @@ void trace_index_map_input (trace_type_t *ttype, unsigned length, char *buf)
}
prev = &tptr -> next;
}
-
+
log_error ("No registered trace type for type name %.*s",
(int)length - TRACE_INDEX_MAPPING_SIZE, tmap -> name);
return;
@@ -544,7 +544,7 @@ isc_result_t trace_get_next_packet (trace_type_t **ttp,
tpkt->type_index = ntohl(tpkt -> type_index);
tpkt->length = ntohl(tpkt -> length);
tpkt->when = ntohl(tpkt -> when);
-
+
/* See if there's a handler for this packet type. */
if (tpkt->type_index < trace_type_count &&
trace_types[tpkt->type_index])
@@ -575,7 +575,7 @@ isc_result_t trace_get_next_packet (trace_type_t **ttp,
"tracefile");
return DHCP_R_PROTOCOLERROR;
}
-
+
status = fsetpos(traceinfile, &curpos);
if (status < 0) {
log_error("fsetpos in tracefile failed: %m");
diff --git a/relay/Makefile.in b/relay/Makefile.in
index 4fb517ea..955a068d 100644
--- a/relay/Makefile.in
+++ b/relay/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.2 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2020 Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -203,8 +203,6 @@ am__define_uniq_tagged_files = \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -260,6 +258,8 @@ CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
@@ -271,6 +271,7 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
GREP = @GREP@
INSTALL = @INSTALL@
@@ -616,7 +617,6 @@ cscopelist-am: $(am__tagged_files)
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
diff --git a/relay/dhcrelay.8 b/relay/dhcrelay.8
index 53cd28bf..b7183f9a 100644
--- a/relay/dhcrelay.8
+++ b/relay/dhcrelay.8
@@ -1,6 +1,6 @@
.\" dhcrelay.8
.\"
-.\" Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+.\" Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (c) 1997-2003 by Internet Software Consortium
.\"
.\" This Source Code Form is subject to the terms of the Mozilla Public
@@ -16,8 +16,8 @@
.\" OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.\" Internet Systems Consortium, Inc.
-.\" 950 Charter Street
-.\" Redwood City, CA 94063
+.\" PO Box 360
+.\" Newmarket, NH 03857 USA
.\" <info@isc.org>
.\" https://www.isc.org/
.\"
@@ -78,7 +78,7 @@ dhcrelay - Dynamic Host Configuration Protocol Relay Agent
[
.B ...
.B -i
-.I interfaceN
+.I interfaceN
]
]
[
@@ -142,7 +142,7 @@ dhcrelay - Dynamic Host Configuration Protocol Relay Agent
.I lowerN
]
.B -u
-.I upper0
+.I upper0
[
.B ...
.B -u
diff --git a/relay/dhcrelay.c b/relay/dhcrelay.c
index 4fb0cbbf..91f5694d 100644
--- a/relay/dhcrelay.c
+++ b/relay/dhcrelay.c
@@ -3,7 +3,7 @@
DHCP/BOOTP Relay Agent. */
/*
- * Copyright(c) 2004-2021 by Internet Systems Consortium, Inc.("ISC")
+ * Copyright(c) 2004-2022 by Internet Systems Consortium, Inc.("ISC")
* Copyright(c) 1997-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -95,8 +95,8 @@ enum { forward_and_append, /* Forward and append our own relay option. */
forward_untouched, /* Forward without changes. */
discard } agent_relay_mode = forward_and_replace;
-u_int16_t local_port;
-u_int16_t remote_port;
+extern u_int16_t local_port;
+extern u_int16_t remote_port;
/* Relay agent server list. */
struct server_list {
@@ -149,7 +149,7 @@ extern int strip_relay_agent_options(struct interface_info *,
static void request_v4_interface(const char* name, int flags);
static const char copyright[] =
-"Copyright 2004-2021 Internet Systems Consortium.";
+"Copyright 2004-2022 Internet Systems Consortium.";
static const char arr[] = "All rights reserved.";
static const char message[] =
"Internet Systems Consortium DHCP Relay Agent";
@@ -235,10 +235,10 @@ char *progname;
* the description of the command line. The arguments provide
* a way for the caller to request more specific information about
* the error be printed as well. Mostly this will be that some
- * comamnd doesn't include its argument.
+ * command doesn't include its argument.
*
* \param sfmt - The basic string and format for the specific error
- * \param sarg - Generally the offending argument from the comamnd line.
+ * \param sarg - Generally the offending argument from the command line.
*
* \return Nothing
*/
@@ -1433,9 +1433,8 @@ add_relay_agent_options(struct interface_info *ip, struct dhcp_packet *packet,
return (length);
}
-#ifndef UNIT_TEST
-
#ifdef DHCPv6
+#ifndef UNIT_TEST
/*
* Parse a downstream argument: [address%]interface[#index].
*/
@@ -2020,12 +2019,14 @@ process_down6(struct packet *packet) {
if (if_id.data != NULL)
data_string_forget(&if_id, MDL);
}
+#endif /* UNIT_TEST */
/*
* Called by the dispatch packet handler with a decoded packet.
*/
void
dhcpv6(struct packet *packet) {
+#ifndef UNIT_TEST
struct stream_list *dp;
/* Try all relay-replies downwards. */
@@ -2048,8 +2049,9 @@ dhcpv6(struct packet *packet) {
log_info("Can't process packet from interface '%s'.",
packet->interface->name);
+#endif /* UNIT_TEST */
}
-#endif
+#endif /* DHCPv6 */
/* Stub routines needed for linking with DHCP libraries. */
void
@@ -2147,4 +2149,3 @@ void request_v4_interface(const char* name, int flags) {
interface_snorf(tmp, (INTERFACE_REQUESTED | flags));
interface_dereference(&tmp, MDL);
}
-#endif /* UNIT_TEST */
diff --git a/relay/tests/Makefile.in b/relay/tests/Makefile.in
index d9516221..caef4fa1 100644
--- a/relay/tests/Makefile.in
+++ b/relay/tests/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.2 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2020 Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -185,8 +185,6 @@ am__define_uniq_tagged_files = \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -242,6 +240,8 @@ CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
@@ -253,6 +253,7 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
GREP = @GREP@
INSTALL = @INSTALL@
@@ -535,7 +536,6 @@ cscopelist-am: $(am__tagged_files)
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
diff --git a/relay/tests/relay_unittests.c b/relay/tests/relay_unittests.c
index cba14bd5..98a188b3 100644
--- a/relay/tests/relay_unittests.c
+++ b/relay/tests/relay_unittests.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2019-2020 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2019-2022 Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -14,8 +14,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -406,29 +406,3 @@ ATF_TP_ADD_TCS(tp) {
return (atf_no_error());
}
-
-/* Below are dummy function definitions to satisfy "required" symbols */
-isc_result_t find_class (struct class **c, const char *s,
- const char *file, int line) {
- return 0;
-}
-
-int check_collection (struct packet *packet, struct lease *lease,
- struct collection *collection) {
- return 0;
-}
-
-void classify (struct packet *packet, struct class *class){}
-void bootp(struct packet *packet){}
-void dhcp(struct packet *packet){}
-void dhcpv6(struct packet *packet){}
-
-int parse_allow_deny (struct option_cache **oc, struct parse *cfile,
- int flag) {
- return 0;
-}
-
-isc_result_t dhcp_set_control_state (control_object_state_t oldstate,
- control_object_state_t newstate) {
- return (ISC_R_SUCCESS);
-}
diff --git a/server/Makefile.dist b/server/Makefile.dist
index 3fbf9515..b25dc5db 100644
--- a/server/Makefile.dist
+++ b/server/Makefile.dist
@@ -16,8 +16,8 @@
# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
# Internet Systems Consortium, Inc.
-# 950 Charter Street
-# Redwood City, CA 94063
+# PO Box 360
+# Newmarket, NH 03857 USA
# <info@isc.org>
# https://www.isc.org/
#
diff --git a/server/Makefile.in b/server/Makefile.in
index da29f569..3e2536a4 100644
--- a/server/Makefile.in
+++ b/server/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.2 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2020 Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -237,8 +237,6 @@ am__define_uniq_tagged_files = \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -294,6 +292,8 @@ CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
@@ -305,6 +305,7 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
GREP = @GREP@
INSTALL = @INSTALL@
@@ -1009,7 +1010,6 @@ cscopelist-am: $(am__tagged_files)
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
diff --git a/server/bootp.c b/server/bootp.c
index 26a76073..919d483a 100644
--- a/server/bootp.c
+++ b/server/bootp.c
@@ -3,7 +3,7 @@
BOOTP Protocol support. */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1995-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -174,7 +174,7 @@ void bootp (packet)
&lease->scope, hp->group,
lease->subnet->group, NULL);
}
-
+
/* Drop the request if it's not allowed for this client. */
if ((oc = lookup_option (&server_universe, options, SV_ALLOW_BOOTP)) &&
!evaluate_boolean_option_cache(&ignorep, packet, lease,
@@ -184,7 +184,7 @@ void bootp (packet)
if (!ignorep)
log_info ("%s: bootp disallowed", msgbuf);
goto out;
- }
+ }
if ((oc = lookup_option(&server_universe,
options, SV_ALLOW_BOOTING)) &&
diff --git a/server/class.c b/server/class.c
index dc7737f2..3db86b12 100644
--- a/server/class.c
+++ b/server/class.c
@@ -3,7 +3,7 @@
Handling for client classes. */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1998-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
diff --git a/server/confpars.c b/server/confpars.c
index 4f0b58ee..103af1e9 100644
--- a/server/confpars.c
+++ b/server/confpars.c
@@ -3,7 +3,7 @@
Parser for dhcpd config file... */
/*
- * Copyright (c) 2004-2019 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1995-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -142,7 +142,7 @@ isc_result_t read_conf_file (const char *filename, struct group *group,
if (lseek (file, (off_t)0, SEEK_SET) < 0)
goto boom;
/* Can't handle files greater than 2^31-1. */
- if (flen > 0x7FFFFFFFUL)
+ if ((sizeof(void*) < 8) && flen > 0x7FFFFFFFUL)
log_fatal ("%s: file is too long to buffer.", filename);
ulen = flen;
@@ -198,7 +198,7 @@ void trace_conf_input (trace_type_t *ttype, unsigned len, char *data)
static int postconf_initialized;
static int leaseconf_initialized;
isc_result_t status;
-
+
/* Do what's done above, except that we don't have to read in the
data, because it's already been read for us. */
tflen = strlen (data);
@@ -389,7 +389,7 @@ int parse_statement (cfile, group, type, host_decl, declaration)
parse_semi (cfile);
}
return 1;
-
+
case HOST:
skip_token(&val, (unsigned *)0, cfile);
if (type != HOST_DECL && type != CLASS_DECL) {
@@ -612,7 +612,7 @@ int parse_statement (cfile, group, type, host_decl, declaration)
} else if (type != SUBNET_DECL && type != SHARED_NET_DECL) {
parse_warn (cfile, "pool declared outside of network");
skip_to_semi(cfile);
- } else
+ } else
parse_pool_statement (cfile, group, type);
return declaration;
@@ -672,7 +672,7 @@ int parse_statement (cfile, group, type, host_decl, declaration)
} else if (type != SUBNET_DECL) {
parse_warn (cfile, "pool6 declared outside of network");
skip_to_semi(cfile);
- } else
+ } else
parse_pool6_statement (cfile, group, type);
return declaration;
@@ -697,7 +697,7 @@ int parse_statement (cfile, group, type, host_decl, declaration)
group -> authoritative = 1;
authoritative:
if (type == HOST_DECL)
- parse_warn (cfile, "authority makes no sense here.");
+ parse_warn (cfile, "authority makes no sense here.");
parse_semi (cfile);
break;
@@ -803,8 +803,8 @@ int parse_statement (cfile, group, type, host_decl, declaration)
skip_to_semi (cfile);
#endif
break;
-
-#ifdef DHCPv6
+
+#ifdef DHCPv6
case SERVER_DUID:
parse_server_duid_conf(cfile);
break;
@@ -1116,7 +1116,7 @@ void parse_failover_peer (cfile, group, type)
goto make_hba;
}
break;
-
+
case LOAD:
token = next_token (&val, (unsigned *)0, cfile);
if (token != BALANCE) {
@@ -1142,7 +1142,7 @@ void parse_failover_peer (cfile, group, type)
}
peer -> load_balance_max_secs = atoi (val);
break;
-
+
default:
parse_warn (cfile,
"invalid statement in peer declaration");
@@ -1300,11 +1300,11 @@ void parse_failover_state_declaration (struct parse *cfile,
state -> mclt = atoi (val);
parse_semi (cfile);
break;
-
+
default:
parse_warn (cfile, "expecting state setting.");
bogus:
- skip_to_rbrace (cfile, 1);
+ skip_to_rbrace (cfile, 1);
dhcp_failover_state_dereference (&state, MDL);
return;
}
@@ -1355,23 +1355,23 @@ void parse_failover_state (cfile, state, stos)
case RECOVER:
state_in = recover;
break;
-
+
case RECOVER_WAIT:
state_in = recover_wait;
break;
-
+
case RECOVER_DONE:
state_in = recover_done;
break;
-
+
case SHUTDOWN:
state_in = shut_down;
break;
-
+
case PAUSED:
state_in = paused;
break;
-
+
case STARTUP:
state_in = startup;
break;
@@ -1391,7 +1391,7 @@ void parse_failover_state (cfile, state, stos)
skip_to_semi (cfile);
return;
}
-
+
stos_in = parse_date (cfile);
if (!stos_in)
return;
@@ -1405,7 +1405,7 @@ void parse_failover_state (cfile, state, stos)
}
#endif /* defined (FAILOVER_PROTOCOL) */
-/*!
+/*!
* \brief Parses an authoring-byte-order statement
*
* A valid statement looks like this:
@@ -1516,14 +1516,14 @@ void parse_lease_id_format (struct parse *cfile)
}
/*!
- *
+ *
* \brief Parse allow and deny statements
*
* This function handles the common processing code for permit and deny
* statements in the parse_pool_statement and parse_pool6_statement functions.
* It reads in the configuration and constructs a new permit structure that it
* attachs to the permit_head passed in from the caller.
- *
+ *
* The allow or deny token should already be consumed, this function expects
* one of the following:
* known-clients;
@@ -1569,7 +1569,7 @@ void get_permit(cfile, permit_head, is_allow, valid_from, valid_until)
case UNKNOWN:
permit->type = permit_unknown_clients;
break;
-
+
case KNOWN_CLIENTS:
need_clients = 0;
permit->type = permit_known_clients;
@@ -1583,11 +1583,11 @@ void get_permit(cfile, permit_head, is_allow, valid_from, valid_until)
case KNOWN:
permit->type = permit_known_clients;
break;
-
+
case AUTHENTICATED:
permit->type = permit_authenticated_clients;
break;
-
+
case UNAUTHENTICATED:
permit->type = permit_unauthenticated_clients;
break;
@@ -1595,7 +1595,7 @@ void get_permit(cfile, permit_head, is_allow, valid_from, valid_until)
case ALL:
permit->type = permit_all_clients;
break;
-
+
case DYNAMIC:
permit->type = permit_dynamic_bootp_clients;
if (next_token (&val, NULL, cfile) != TOKEN_BOOTP) {
@@ -1762,7 +1762,7 @@ void parse_pool_statement (cfile, group, type)
/* Inherit the failover peer from the shared network. */
if (pool->shared_network->failover_peer)
dhcp_failover_state_reference
- (&pool->failover_peer,
+ (&pool->failover_peer,
pool->shared_network->failover_peer, MDL);
#endif
@@ -1790,7 +1790,7 @@ void parse_pool_statement (cfile, group, type)
(&pool->failover_peer, MDL);
#endif
break;
-
+
#if defined (FAILOVER_PROTOCOL)
case FAILOVER:
skip_token(&val, NULL, cfile);
@@ -1837,7 +1837,7 @@ void parse_pool_statement (cfile, group, type)
get_permit(cfile, &pool->prohibit_list, 0,
&pool->valid_from, &pool->valid_until);
break;
-
+
case RBRACE:
skip_token(&val, NULL, cfile);
done = 1;
@@ -2110,7 +2110,7 @@ void parse_host_declaration (cfile, group)
skip_token(&val, NULL, cfile);
token = next_token(&val, NULL, cfile);
if (token == V6RELOPT) {
- token = next_token(&val, NULL, cfile);
+ token = next_token(&val, NULL, cfile);
if (token != NUMBER) {
parse_warn(cfile,
"host-identifier v6relopt "
@@ -2127,7 +2127,7 @@ void parse_host_declaration (cfile, group)
break;
}
} else if (token != OPTION) {
- parse_warn(cfile,
+ parse_warn(cfile,
"host-identifier must be an option"
" or v6relopt");
skip_to_rbrace(cfile, 1);
@@ -2141,7 +2141,7 @@ void parse_host_declaration (cfile, group)
}
if (!known) {
parse_warn(cfile, "unknown option %s.%s",
- option->universe->name,
+ option->universe->name,
option->name);
skip_to_rbrace(cfile, 1);
break;
@@ -2152,7 +2152,7 @@ void parse_host_declaration (cfile, group)
option_dereference(&option, MDL);
break;
}
-
+
if (!parse_semi(cfile)) {
skip_to_rbrace(cfile, 1);
expression_dereference(&expr, MDL);
@@ -2162,7 +2162,7 @@ void parse_host_declaration (cfile, group)
option_reference(&host->host_id_option, option, MDL);
option_dereference(&option, MDL);
- data_string_copy(&host->host_id,
+ data_string_copy(&host->host_id,
&expr->data.const_data, MDL);
expression_dereference(&expr, MDL);
continue;
@@ -2198,7 +2198,7 @@ void parse_host_declaration (cfile, group)
MDL);
}
}
-
+
if (dynamicp)
host -> flags |= HOST_DECL_DYNAMIC;
else
@@ -2303,7 +2303,7 @@ int parse_class_declaration (cp, cfile, group, type)
data.len + 1, MDL)) {
if (pc)
class_dereference (&pc, MDL);
-
+
return 0;
}
data.terminated = 1;
@@ -2561,7 +2561,7 @@ int parse_class_declaration (cp, cfile, group, type)
if (class->flags & CLASS_DECL_DELETED) {
if (type == CLASS_TYPE_CLASS) {
struct class *theclass = NULL;
-
+
status = find_class(&theclass, class->name, MDL);
if (status == ISC_R_SUCCESS) {
delete_class(theclass, 0);
@@ -2681,7 +2681,7 @@ void parse_shared_net_declaration (cfile, group)
static int
-common_subnet_parsing(struct parse *cfile,
+common_subnet_parsing(struct parse *cfile,
struct shared_network *share,
struct subnet *subnet) {
enum dhcp_token token;
@@ -2852,7 +2852,7 @@ parse_subnet6_declaration(struct parse *cfile, struct shared_network *share) {
const char *val;
char *endp;
int ofs;
- const static int mask[] = { 0x00, 0x80, 0xC0, 0xE0,
+ const static int mask[] = { 0x00, 0x80, 0xC0, 0xE0,
0xF0, 0xF8, 0xFC, 0xFE };
struct iaddr iaddr;
@@ -2919,8 +2919,8 @@ parse_subnet6_declaration(struct parse *cfile, struct shared_network *share) {
}
subnet->prefix_len = strtol(val, &endp, 10);
- if ((subnet->prefix_len < 0) ||
- (subnet->prefix_len > 128) ||
+ if ((subnet->prefix_len < 0) ||
+ (subnet->prefix_len > 128) ||
(*endp != '\0')) {
parse_warn(cfile, "Expecting a number between 0 and 128.");
subnet_dereference(&subnet, MDL);
@@ -2935,8 +2935,8 @@ parse_subnet6_declaration(struct parse *cfile, struct shared_network *share) {
return;
}
- /*
- * Create a netmask.
+ /*
+ * Create a netmask.
*/
subnet->netmask.len = 16;
ofs = subnet->prefix_len / 8;
@@ -2988,12 +2988,12 @@ void parse_group_declaration (cfile, group)
token = peek_token(&val, NULL, cfile);
if (is_identifier (token) || token == STRING) {
skip_token(&val, NULL, cfile);
-
+
name = dmalloc(strlen(val) + 1, MDL);
if (!name)
log_fatal("no memory for group decl name %s", val);
strcpy(name, val);
- }
+ }
if (!parse_lbrace(cfile)) {
group_dereference(&g, MDL);
@@ -3059,8 +3059,8 @@ void parse_group_declaration (cfile, group)
| ip-addrs-or-hostnames ip-addr-or-hostname */
int
-parse_fixed_addr_param(struct option_cache **oc,
- struct parse *cfile,
+parse_fixed_addr_param(struct option_cache **oc,
+ struct parse *cfile,
enum dhcp_token type) {
int parse_ok;
const char *val;
@@ -3197,17 +3197,17 @@ int parse_lease_declaration (struct lease **lp, struct parse *cfile)
seenbit = 1;
lease -> starts = t;
break;
-
+
case ENDS:
seenbit = 2;
lease -> ends = t;
break;
-
+
case TSTP:
seenbit = 65536;
lease -> tstp = t;
break;
-
+
case TSFP:
seenbit = 131072;
lease -> tsfp = t;
@@ -3217,12 +3217,12 @@ int parse_lease_declaration (struct lease **lp, struct parse *cfile)
seenbit = 262144;
lease->atsfp = t;
break;
-
+
case CLTT:
seenbit = 524288;
lease -> cltt = t;
break;
-
+
default: /* for gcc, we'll never get here. */
log_fatal ("Impossible error at %s:%d.", MDL);
return 0;
@@ -3442,7 +3442,7 @@ int parse_lease_declaration (struct lease **lp, struct parse *cfile)
}
}
break;
-
+
case BILLING:
seenbit = 2048;
class = (struct class *)0;
@@ -3540,7 +3540,7 @@ int parse_lease_declaration (struct lease **lp, struct parse *cfile)
case TOKEN_SET:
noequal = 0;
-
+
token = next_token (&val, (unsigned *)0, cfile);
if (token != NAME && token != NUMBER_OR_NAME) {
parse_warn (cfile,
@@ -3551,7 +3551,7 @@ int parse_lease_declaration (struct lease **lp, struct parse *cfile)
lease_dereference (&lease, MDL);
return 0;
}
-
+
seenbit = 0;
special_set:
if (lease -> scope)
@@ -3852,7 +3852,7 @@ void parse_address_range (cfile, group, type, inpool, lpchain)
then look for a pool with an empty prohibit list and
a permit list with one entry that permits all clients. */
for (pool = share -> pools; pool; pool = pool -> next) {
- if ((!dynamic && !pool -> permit_list &&
+ if ((!dynamic && !pool -> permit_list &&
pool -> prohibit_list &&
!pool -> prohibit_list -> next &&
(pool -> prohibit_list -> type ==
@@ -3980,7 +3980,7 @@ add_ipv6_pool_to_subnet(struct subnet *subnet, u_int16_t type,
pool->ipv6_pond = NULL;
ipv6_pond_reference(&pool->ipv6_pond, pond, MDL);
- /*
+ /*
* Increase our array size for ipv6_pools in the pond
*/
if (pond->ipv6_pools == NULL) {
@@ -3996,7 +3996,7 @@ add_ipv6_pool_to_subnet(struct subnet *subnet, u_int16_t type,
log_fatal("Out of memory");
}
if (num_pools > 0) {
- memcpy(tmp, pond->ipv6_pools,
+ memcpy(tmp, pond->ipv6_pools,
sizeof(struct ipv6_pool *) * num_pools);
}
if (pond->ipv6_pools != NULL) {
@@ -4004,7 +4004,7 @@ add_ipv6_pool_to_subnet(struct subnet *subnet, u_int16_t type,
}
pond->ipv6_pools = tmp;
- /*
+ /*
* Record this pool in our array of pools for this shared network.
*/
ipv6_pool_reference(&pond->ipv6_pools[num_pools], pool, MDL);
@@ -4055,11 +4055,11 @@ add_ipv6_pool_to_subnet(struct subnet *subnet, u_int16_t type,
* with a single entry that permits all clients. If the shared
* network doesn't have one of them create it and attach it to
* the shared network and the return argument.
- *
+ *
* This function is used when we have a range6 or prefix6 statement
* inside a subnet6 statement but outside of a pool6 statement.
* This routine constructs the missing ipv6_pond structure so
- * we always have
+ * we always have
* shared_network -> ipv6_pond -> ipv6_pool
*
* \param[in] group = a pointer to the group structure from which
@@ -4094,7 +4094,7 @@ add_ipv6_pond_to_network(struct group *group,
/* no pond available, make one */
status = ipv6_pond_allocate(&pond, MDL);
- if (status != ISC_R_SUCCESS)
+ if (status != ISC_R_SUCCESS)
log_fatal ("no memory for ad-hoc ipv6 pond: %s",
isc_result_totext (status));
p = new_permit (MDL);
@@ -4110,7 +4110,7 @@ add_ipv6_pond_to_network(struct group *group,
if (shared->ipv6_pond)
ipv6_pond_reference(&last->next, pond, MDL);
- else
+ else
ipv6_pond_reference(&shared->ipv6_pond, pond, MDL);
shared_network_reference(&pond->shared_network, shared, MDL);
@@ -4126,7 +4126,7 @@ add_ipv6_pond_to_network(struct group *group,
| ip-address6 SLASH number SEMI
| ip-address6 [SLASH number] TEMPORARY SEMI */
-void
+void
parse_address_range6(struct parse *cfile,
struct group *group,
struct ipv6_pond *inpond) {
@@ -4171,7 +4171,7 @@ parse_address_range6(struct parse *cfile,
memset(&net, 0, sizeof(net));
net.cidrnet.lo_addr = lo;
- /*
+ /*
* See if we we're using range or CIDR notation or TEMPORARY
*/
token = peek_token(&val, NULL, cfile);
@@ -4181,7 +4181,7 @@ parse_address_range6(struct parse *cfile,
*/
skip_token(NULL, NULL, cfile);
token = next_token(&val, NULL, cfile);
- if (token != NUMBER) {
+ if (token != NUMBER) {
parse_warn(cfile, "expecting number");
skip_to_semi(cfile);
return;
@@ -4237,7 +4237,7 @@ parse_address_range6(struct parse *cfile,
} else {
/*
- * No '/', so we are looking for the end address of
+ * No '/', so we are looking for the end address of
* the IPv6 pool.
*/
if (!parse_ip6_addr(cfile, &hi)) {
@@ -4278,12 +4278,12 @@ parse_address_range6(struct parse *cfile,
/* Now that we have a pond add the nets we have parsed */
for (p=nets; p != NULL; p=p->next) {
add_ipv6_pool_to_subnet(group->subnet, type,
- &p->cidrnet.lo_addr,
+ &p->cidrnet.lo_addr,
p->cidrnet.bits, 128, pond);
}
/* if we allocated a list free it now */
- if (nets != &net)
+ if (nets != &net)
free_iaddrcidrnetlist(&nets);
ipv6_pond_dereference(&pond, MDL);
@@ -4298,7 +4298,7 @@ parse_address_range6(struct parse *cfile,
/* prefix6-declaration :== ip-address6 ip-address6 SLASH number SEMI */
-void
+void
parse_prefix6(struct parse *cfile,
struct group *group,
struct ipv6_pond *inpond) {
@@ -4432,7 +4432,7 @@ parse_prefix6(struct parse *cfile,
} else {
add_ipv6_pond_to_network(group, &pond);
}
-
+
for (p = nets; p != NULL; p = p->next) {
/* Normalize and check. */
if (p->cidrnet.bits == 128) {
@@ -4612,7 +4612,7 @@ void parse_pool6_statement (cfile, group, type)
get_permit(cfile, &pond->prohibit_list, 0,
&pond->valid_from, &pond->valid_until);
break;
-
+
case RBRACE:
skip_token(&val, NULL, cfile);
done = 1;
@@ -4641,7 +4641,7 @@ void parse_pool6_statement (cfile, group, type)
* to repoint the leases to the other pond which is annoying. SAR
*/
- /*
+ /*
* Add this pond to the list (will need updating if we add the
* optimization).
*/
@@ -4891,7 +4891,7 @@ parse_ia_na_declaration(struct parse *cfile) {
prefer = atoi (val);
/*
- * Currently we peek for the semi-colon to
+ * Currently we peek for the semi-colon to
* allow processing of older lease files that
* don't have the semi-colon. Eventually we
* should remove the peeking code.
@@ -4919,7 +4919,7 @@ parse_ia_na_declaration(struct parse *cfile) {
valid = atoi (val);
/*
- * Currently we peek for the semi-colon to
+ * Currently we peek for the semi-colon to
* allow processing of older lease files that
* don't have the semi-colon. Eventually we
* should remove the peeking code.
@@ -5054,7 +5054,7 @@ parse_ia_na_declaration(struct parse *cfile) {
}
break;
-
+
default:
parse_warn(cfile, "corrupt lease file; "
"expecting ia_na contents, "
@@ -5115,7 +5115,7 @@ parse_ia_na_declaration(struct parse *cfile) {
}
executable_statement_dereference (&on_star[i], MDL);
}
-
+
/* find the pool this address is in */
pool = NULL;
if (find_ipv6_pool(&pool, D6O_IA_NA,
@@ -5170,7 +5170,7 @@ parse_ia_na_declaration(struct parse *cfile) {
if (ia_hash_lookup(&old_ia, ia_na_active,
(unsigned char *)ia->iaid_duid.data,
ia->iaid_duid.len, MDL)) {
- ia_hash_delete(ia_na_active,
+ ia_hash_delete(ia_na_active,
(unsigned char *)ia->iaid_duid.data,
ia->iaid_duid.len, MDL);
ia_dereference(&old_ia, MDL);
@@ -5180,7 +5180,7 @@ parse_ia_na_declaration(struct parse *cfile) {
* If we have addresses, add this, otherwise don't bother.
*/
if (ia->num_iasubopt > 0) {
- ia_hash_add(ia_na_active,
+ ia_hash_add(ia_na_active,
(unsigned char *)ia->iaid_duid.data,
ia->iaid_duid.len, ia, MDL);
}
@@ -5339,7 +5339,7 @@ parse_ia_ta_declaration(struct parse *cfile) {
prefer = atoi (val);
/*
- * Currently we peek for the semi-colon to
+ * Currently we peek for the semi-colon to
* allow processing of older lease files that
* don't have the semi-colon. Eventually we
* should remove the peeking code.
@@ -5367,7 +5367,7 @@ parse_ia_ta_declaration(struct parse *cfile) {
valid = atoi (val);
/*
- * Currently we peek for the semi-colon to
+ * Currently we peek for the semi-colon to
* allow processing of older lease files that
* don't have the semi-colon. Eventually we
* should remove the peeking code.
@@ -5500,9 +5500,9 @@ parse_ia_ta_declaration(struct parse *cfile) {
return;
}
}
-
+
break;
-
+
default:
parse_warn(cfile, "corrupt lease file; "
"expecting ia_ta contents, "
@@ -5563,7 +5563,7 @@ parse_ia_ta_declaration(struct parse *cfile) {
}
executable_statement_dereference (&on_star[i], MDL);
}
-
+
/* find the pool this address is in */
pool = NULL;
if (find_ipv6_pool(&pool, D6O_IA_TA,
@@ -5607,7 +5607,7 @@ parse_ia_ta_declaration(struct parse *cfile) {
if (ia_hash_lookup(&old_ia, ia_ta_active,
(unsigned char *)ia->iaid_duid.data,
ia->iaid_duid.len, MDL)) {
- ia_hash_delete(ia_ta_active,
+ ia_hash_delete(ia_ta_active,
(unsigned char *)ia->iaid_duid.data,
ia->iaid_duid.len, MDL);
ia_dereference(&old_ia, MDL);
@@ -5617,7 +5617,7 @@ parse_ia_ta_declaration(struct parse *cfile) {
* If we have addresses, add this, otherwise don't bother.
*/
if (ia->num_iasubopt > 0) {
- ia_hash_add(ia_ta_active,
+ ia_hash_add(ia_ta_active,
(unsigned char *)ia->iaid_duid.data,
ia->iaid_duid.len, ia, MDL);
}
@@ -5777,7 +5777,7 @@ parse_ia_pd_declaration(struct parse *cfile) {
prefer = atoi (val);
/*
- * Currently we peek for the semi-colon to
+ * Currently we peek for the semi-colon to
* allow processing of older lease files that
* don't have the semi-colon. Eventually we
* should remove the peeking code.
@@ -5805,7 +5805,7 @@ parse_ia_pd_declaration(struct parse *cfile) {
valid = atoi (val);
/*
- * Currently we peek for the semi-colon to
+ * Currently we peek for the semi-colon to
* allow processing of older lease files that
* don't have the semi-colon. Eventually we
* should remove the peeking code.
@@ -5940,7 +5940,7 @@ parse_ia_pd_declaration(struct parse *cfile) {
}
break;
-
+
default:
parse_warn(cfile, "corrupt lease file; "
"expecting ia_pd contents, "
@@ -6001,7 +6001,7 @@ parse_ia_pd_declaration(struct parse *cfile) {
}
executable_statement_dereference (&on_star[i], MDL);
}
-
+
/* Find the pool this address is in. We need to check prefix
* lengths too in case the pool has been reconfigured. */
pool = NULL;
@@ -6057,7 +6057,7 @@ parse_ia_pd_declaration(struct parse *cfile) {
* If we have prefixes, add this, otherwise don't bother.
*/
if (ia->num_iasubopt > 0) {
- ia_hash_add(ia_pd_active,
+ ia_hash_add(ia_pd_active,
(unsigned char *)ia->iaid_duid.data,
ia->iaid_duid.len, ia, MDL);
}
@@ -6065,9 +6065,9 @@ parse_ia_pd_declaration(struct parse *cfile) {
#endif /* defined(DHCPv6) */
}
-#ifdef DHCPv6
+#ifdef DHCPv6
/*
- * When we parse a server-duid statement in a lease file, we are
+ * When we parse a server-duid statement in a lease file, we are
* looking at the saved server DUID from a previous run. In this case
* we expect it to be followed by the binary representation of the
* DUID stored in a string:
@@ -6078,7 +6078,7 @@ parse_ia_pd_declaration(struct parse *cfile) {
*
* server-duid 00:01:00:01:1e:68:b3:db:0a:00:27:00:00:02;
*/
-void
+void
parse_server_duid(struct parse *cfile) {
struct data_string duid;
unsigned char bytes[128]; /* Maximum valid DUID is 128 */
@@ -6117,7 +6117,7 @@ parse_server_duid(struct parse *cfile) {
* server-duid ll ethernet|ieee802|fddi 00:16:6F:49:7D:9B;
* server-duid en 2495 "enterprise-specific-identifier-1234";
*/
-void
+void
parse_server_duid_conf(struct parse *cfile) {
enum dhcp_token token;
const char *val;
@@ -6139,7 +6139,7 @@ parse_server_duid_conf(struct parse *cfile) {
*/
token = next_token(&val, NULL, cfile);
- /*
+ /*
* Enterprise is the easiest - enterprise number and raw data
* are required.
*/
@@ -6179,7 +6179,7 @@ parse_server_duid_conf(struct parse *cfile) {
data_string_forget(&duid, MDL);
}
- /*
+ /*
* Next easiest is the link-layer DUID. It consists only of
* the LL directive, or optionally the specific value to use.
*
@@ -6208,7 +6208,7 @@ parse_server_duid_conf(struct parse *cfile) {
parse_warn(cfile, "hardware type expected");
skip_to_semi(cfile);
return;
- }
+ }
memset(&ll_addr, 0, sizeof(ll_addr));
if (!parse_cshl(&ll_addr, cfile)) {
return;
@@ -6225,7 +6225,7 @@ parse_server_duid_conf(struct parse *cfile) {
duid.data = (unsigned char *)duid.buffer->data;
putUShort(duid.buffer->data, DUID_LL);
putUShort(duid.buffer->data + 2, ll_type);
- memcpy(duid.buffer->data + 4,
+ memcpy(duid.buffer->data + 4,
ll_addr.data, ll_addr.len);
set_server_duid(&duid);
@@ -6234,7 +6234,7 @@ parse_server_duid_conf(struct parse *cfile) {
}
}
- /*
+ /*
* Finally the link-layer DUID plus time. It consists only of
* the LLT directive, or optionally the specific value to use.
*
@@ -6263,8 +6263,8 @@ parse_server_duid_conf(struct parse *cfile) {
parse_warn(cfile, "hardware type expected");
skip_to_semi(cfile);
return;
- }
-
+ }
+
token = next_token(&val, NULL, cfile);
if (token != NUMBER) {
parse_warn(cfile, "timestamp expected");
@@ -6290,7 +6290,7 @@ parse_server_duid_conf(struct parse *cfile) {
putUShort(duid.buffer->data, DUID_LLT);
putUShort(duid.buffer->data + 2, ll_type);
putULong(duid.buffer->data + 4, llt_time);
- memcpy(duid.buffer->data + 8,
+ memcpy(duid.buffer->data + 8,
ll_addr.data, ll_addr.len);
set_server_duid(&duid);
@@ -6306,7 +6306,7 @@ parse_server_duid_conf(struct parse *cfile) {
*
* In this case, they have to put in the complete value.
*
- * This also works for existing DUID types of course.
+ * This also works for existing DUID types of course.
*/
else if (token == NUMBER) {
duid_type_num = atoi(val);
@@ -6353,7 +6353,7 @@ parse_server_duid_conf(struct parse *cfile) {
}
}
-/*!
+/*!
* \brief Creates a byte-order corrected uint32 from a buffer
*
* This function creates an integer value from a buffer, converting from
@@ -6437,4 +6437,3 @@ parse_iaid_duid(struct parse* cfile, struct ia_xx** ia, u_int32_t *iaid,
}
#endif /* DHCPv6 */
-
diff --git a/server/db.c b/server/db.c
index 67e6cc19..cecbf6b4 100644
--- a/server/db.c
+++ b/server/db.c
@@ -3,7 +3,7 @@
Persistent database management routines for DHCPD... */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1995-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
diff --git a/server/ddns.c b/server/ddns.c
index aecc3d38..81896904 100644
--- a/server/ddns.c
+++ b/server/ddns.c
@@ -4,7 +4,7 @@
/*
*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 2000-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -20,8 +20,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
diff --git a/server/dhcp.c b/server/dhcp.c
index 16a4f924..0b261c21 100644
--- a/server/dhcp.c
+++ b/server/dhcp.c
@@ -3,7 +3,7 @@
DHCP Protocol engine. */
/*
- * Copyright (c) 2004-2019 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1995-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
diff --git a/server/dhcpd.8 b/server/dhcpd.8
index 0d0901c3..b019b53e 100644
--- a/server/dhcpd.8
+++ b/server/dhcpd.8
@@ -1,6 +1,6 @@
.\" dhcpd.8
.\"
-.\" Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+.\" Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (c) 1996-2003 by Internet Software Consortium
.\"
.\" This Source Code Form is subject to the terms of the Mozilla Public
@@ -16,8 +16,8 @@
.\" OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.\" Internet Systems Consortium, Inc.
-.\" 950 Charter Street
-.\" Redwood City, CA 94063
+.\" PO Box 360
+.\" Newmarket, NH 03857 USA
.\" <info@isc.org>
.\" https://www.isc.org/
.\"
@@ -54,7 +54,7 @@ dhcpd - Dynamic Host Configuration Protocol Server
]
[
.B -4
-|
+|
.B -6
]
[
@@ -127,7 +127,7 @@ enters them into the dhcpd.conf(5) file.
There are two versions of the DHCP protocol DHCPv4 and DHCPv6. At
startup the server may be started for one or the other via the
.B -4
-or
+or
.B -6
arguments.
.PP
@@ -220,7 +220,7 @@ to ::1 \fIport\fR and \fIport + 1\fR. Both servers must
be launched using the same \fIport\fR argument.
.TP
.BI \-p \ port
-The UDP port number on which
+The UDP port number on which
.B dhcpd
should listen. If unspecified
.B dhcpd
@@ -228,7 +228,7 @@ uses the default port of 67. This is mostly useful for debugging
purposes.
.TP
.BI \-s \ address
-Specify an address or host name to which
+Specify an address or host name to which
.B dhcpd
should send replies rather than the broadcast address (255.255.255.255).
This option is only supported in IPv4.
@@ -237,8 +237,8 @@ This option is only supported in IPv4.
Force
.B dhcpd
to run as a foreground process instead of as a daemon in the background.
-This is useful when running
-.B dhcpd
+This is useful when running
+.B dhcpd
under a debugger, or when running it
out of inittab on System V systems.
.TP
@@ -246,14 +246,14 @@ out of inittab on System V systems.
Send log messages to the standard error descriptor.
This can be useful for debugging, and also at sites where a
complete log of all dhcp activity must be kept but syslogd is not
-reliable or otherwise cannot be used. Normally,
+reliable or otherwise cannot be used. Normally,
.B dhcpd
will log all
output using the \fBsyslog(3)\fR function with the log facility set to
LOG_DAEMON. Note that \fB\-d\fR implies \fB\-f\fR (the daemon will
not fork itself into the background).
.TP
-.BI \-q
+.BI \-q
Be quiet at startup. This suppresses the printing of the entire
copyright message during startup. This might be desirable when
starting
@@ -319,7 +319,7 @@ lease file.
Print version number and exit.
.PP
.I Modifying default file locations:
-The following options can be used to modify the locations
+The following options can be used to modify the locations
.B dhcpd
uses for its files. Because of the importance of using the same
lease database at all times when running dhcpd in production, these
@@ -690,7 +690,7 @@ dhcpd.conf file.
.PP
Named groups currently can only be associated with
hosts - this allows one set of statements to be efficiently attached
-to more than one host declaration.
+to more than one host declaration.
.PP
Groups have the following attributes:
.PP
diff --git a/server/dhcpd.c b/server/dhcpd.c
index 56810b22..3522889c 100644
--- a/server/dhcpd.c
+++ b/server/dhcpd.c
@@ -3,7 +3,7 @@
DHCP Server Daemon. */
/*
- * Copyright (c) 2004-2021 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (c) 2004-2022 by Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1996-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,15 +19,15 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
*/
static const char copyright[] =
-"Copyright 2004-2021 Internet Systems Consortium.";
+"Copyright 2004-2022 Internet Systems Consortium.";
static const char arr [] = "All rights reserved.";
static const char message [] = "Internet Systems Consortium DHCP Server";
static const char url [] =
@@ -195,10 +195,10 @@ static void omapi_listener_start (void *foo)
* the description of the command line. The arguments provide
* a way for the caller to request more specific information about
* the error be printed as well. Mostly this will be that some
- * comamnd doesn't include its argument.
+ * command doesn't include its argument.
*
* \param sfmt - The basic string and format for the specific error
- * \param sarg - Generally the offending argument from the comamnd line.
+ * \param sarg - Generally the offending argument from the command line.
*
* \return Nothing
*/
diff --git a/server/dhcpd.conf.5 b/server/dhcpd.conf.5
index d3b2ae86..e1d00f5c 100644
--- a/server/dhcpd.conf.5
+++ b/server/dhcpd.conf.5
@@ -1,6 +1,6 @@
.\" dhcpd.conf.5
.\"
-.\" Copyright (c) 2004-2019 by Internet Systems Consortium, Inc. ("ISC")
+.\" Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (c) 1996-2003 by Internet Software Consortium
.\"
.\" This Source Code Form is subject to the terms of the Mozilla Public
@@ -16,8 +16,8 @@
.\" OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.\" Internet Systems Consortium, Inc.
-.\" 950 Charter Street
-.\" Redwood City, CA 94063
+.\" PO Box 360
+.\" Newmarket, NH 03857 USA
.\" <info@isc.org>
.\" https://www.isc.org/
.\"
@@ -322,7 +322,7 @@ Currently it is only allowed within a \fBsubnet6\fR declaration, and
may not be included directly in a shared network declaration.
In addition to the \fBrange6\fR statement it allows the \fBprefix6\fR
statement to be included. You may include \fBrange6\fR statements
-for both NA and TA and \fBprefixy6\fR statements in a single
+for both NA and TA and \fBprefix6\fR statements in a single
\fBpool6\fR statement.
.SH DYNAMIC ADDRESS ALLOCATION
Address allocation is actually only done when a client is in the INIT
diff --git a/server/dhcpd.leases.5 b/server/dhcpd.leases.5
index 50a88402..336fa8f4 100644
--- a/server/dhcpd.leases.5
+++ b/server/dhcpd.leases.5
@@ -1,6 +1,6 @@
.\" dhcpd.leases.5
.\"
-.\" Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+.\" Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (c) 1996-2003 by Internet Software Consortium
.\"
.\" This Source Code Form is subject to the terms of the Mozilla Public
@@ -16,8 +16,8 @@
.\" OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.\" Internet Systems Consortium, Inc.
-.\" 950 Charter Street
-.\" Redwood City, CA 94063
+.\" PO Box 360
+.\" Newmarket, NH 03857 USA
.\" <info@isc.org>
.\" https://www.isc.org/
.\"
diff --git a/server/failover.c b/server/failover.c
index 0e3381a2..5b36d3a1 100644
--- a/server/failover.c
+++ b/server/failover.c
@@ -3,7 +3,7 @@
Failover protocol support code... */
/*
- * Copyright (c) 2004-2020 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1999-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -6577,7 +6577,7 @@ void scrub_lease(struct lease* lease, const char *file, int line) {
* draws more questions then it helps, so we'll ifdef it out */
log_debug ("%s(%d):scrubbing lease for %s, hostname: %s", file, line,
piaddr(lease->ip_addr), printable(lease->client_hostname));
-#endif
+#endif
if (lease->client_hostname) {
dfree (lease->client_hostname, MDL);
diff --git a/server/ldap_casa.c b/server/ldap_casa.c
index cd101570..06851fc1 100644
--- a/server/ldap_casa.c
+++ b/server/ldap_casa.c
@@ -1,38 +1,38 @@
/* ldap_casa.c
-
+
CASA routines for DHCPD... */
/* Copyright (c) 2006 Novell, Inc.
* All rights reserved.
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * 1.Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2.Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3.Neither the name of ISC, ISC DHCP, nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
-
- * THIS SOFTWARE IS PROVIDED BY INTERNET SYSTEMS CONSORTIUM AND CONTRIBUTORS
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * 1.Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * 2.Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 3.Neither the name of ISC, ISC DHCP, nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+
+ * THIS SOFTWARE IS PROVIDED BY INTERNET SYSTEMS CONSORTIUM AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ISC OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
- * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ISC OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
* This file was written by S Kalyanasundaram <skalyanasundaram@novell.com>
*/
/*
- * Copyright (c) 2004-2010 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1995-2003 by Internet Software Consortium
*
* Permission to use, copy, modify, and distribute this software for any
@@ -48,8 +48,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*/
@@ -158,4 +158,3 @@ load_uname_pwd_from_miCASA (char **ldap_username, char **ldap_password)
}
#endif /* LDAP_CASA_AUTH */
-
diff --git a/server/leasechain.c b/server/leasechain.c
index 42a3fc6c..eedc073a 100644
--- a/server/leasechain.c
+++ b/server/leasechain.c
@@ -3,7 +3,7 @@
Additional support for in-memory database support */
/*
- * Copyright (c) 2015-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2015-2022 Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -18,8 +18,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -30,7 +30,7 @@
* \page leasechain structures overview
*
* A brief description of the leasechain structures
- *
+ *
* This file provides additional data structures for a leasecain to
* provide faster access to leases on the queues associated with a pool
* than a linear walk. Each pool has a set of queues: active, free, backup,
@@ -55,11 +55,11 @@
* | next |->| next |->NULL
* NULL<- | prev |<-| prev |
* +-------+ +-------+
- *
+ *
* The linked list is maintained in an ordered state. Inserting an entry is
* accomplished by doing a binary search on the array to find the proper place
* in the list and then updating the pointers in the linked list to include the
- * new entry. The entry is added into the array by copying the remainder of
+ * new entry. The entry is added into the array by copying the remainder of
* the array to provide space for the new entry.
* Removing an entry is the reverse.
* The arrays for the queues will be pre-allocated but not all of them will be
@@ -142,7 +142,7 @@ lc_get_next(struct leasechain *lc, struct lease *lp) {
* Given a potential range of the array to insert the lease into this routine
* will recursively examine the range to find the proper place in which to
* insert the lease.
- *
+ *
* \param lc The leasechain to add the lease to
* \param lp The lease to insert
* \param min The minium index of the potential range for insertion
@@ -150,7 +150,7 @@ lc_get_next(struct leasechain *lc, struct lease *lp) {
*
* \return The index of the array entry to insert the lease
*/
-size_t
+size_t
lc_binary_search_insert_point(struct leasechain *lc,
struct lease *lp,
size_t min, size_t max)
@@ -168,7 +168,7 @@ lc_binary_search_insert_point(struct leasechain *lc,
return (lc_binary_search_insert_point(lc, lp,
min, mid_index - 1));
} else if ((lc->list[mid_index]->sort_time < lp->sort_time) ||
- ((lc->list[mid_index]->sort_time == lp->sort_time) &&
+ ((lc->list[mid_index]->sort_time == lp->sort_time) &&
(lc->list[mid_index]->sort_tiebreaker < lp->sort_tiebreaker))) {
if (mid_index == max) {
/* insert in mid_index + 1 as sort_time is smaller */
@@ -189,7 +189,7 @@ lc_binary_search_insert_point(struct leasechain *lc,
*
* Given a potential range of the array to search this routine
* will recursively examine the range to find the proper lease
- *
+ *
* \param lc The leasechain to check
* \param lp The lease to find
* \param min The minium index of the search range
@@ -220,13 +220,13 @@ lc_binary_search_lease(struct leasechain *lc,
if (mid_index == min) {
/* lease not found */
return (SIZE_MAX);
- }
+ }
/* try the lower half of the list */
return (lc_binary_search_lease(lc, lp, min, mid_index - 1));
} else if ((lc->list[mid_index]->sort_time < lp->sort_time) ||
((lc->list[mid_index]->sort_time == lp->sort_time) &&
(lc->list[mid_index]->sort_tiebreaker < lp->sort_tiebreaker))) {
- /* try the upper half of the list */
+ /* try the upper half of the list */
return (lc_binary_search_lease(lc, lp, mid_index + 1, max));
}
@@ -253,7 +253,7 @@ lc_binary_search_lease(struct leasechain *lc,
/* Are we done with this range? */
if ((i == min) ||
- ((lc->list[i]->sort_time != lp->sort_time) ||
+ ((lc->list[i]->sort_time != lp->sort_time) ||
((lc->list[i]->sort_time == lp->sort_time) &&
(lc->list[i]->sort_tiebreaker != lp->sort_tiebreaker)))) {
break;
@@ -263,7 +263,7 @@ lc_binary_search_lease(struct leasechain *lc,
/* Check out entries above the mid_index */
if (mid_index < max) {
- /* We will break out of the loop if we either go past the
+ /* We will break out of the loop if we either go past the
* canddiates or hit the end of the range when i == max.
*/
for (i = mid_index + 1; i <= max; i++) {
@@ -304,7 +304,7 @@ lc_grow_chain(struct leasechain *lc) {
void *p;
size_t temp_size;
- if (lc->growth == 0)
+ if (lc->growth == 0)
temp_size = lc->total + LC_GROWTH_DELTA;
else
temp_size = lc->total + lc->growth;
@@ -366,7 +366,7 @@ lc_link_lcp(struct leasechain *lc, struct lease *lp, size_t n) {
sizeof(struct lease *) * (lc->nelem-n));
}
- /* clean any stale pointer info from this position before calling
+ /* clean any stale pointer info from this position before calling
* lease_reference as it won't work if pointer is not NULL
*/
lc->list[n] = NULL;
@@ -380,7 +380,7 @@ lc_link_lcp(struct leasechain *lc, struct lease *lp, size_t n) {
}
/*!
- *
+ *
* \brief Insert the lease at the specified position in both the lease chain
* and the linked list
*
@@ -452,7 +452,7 @@ lc_check_lc_sort_order(struct leasechain *lc) {
log_debug("LC check sort %s:%d", MDL);
for (i = 0; i < lc->nelem; i++ ) {
if ((lc->list[i]->sort_time < t) ||
- ((lc->list[i]->sort_time == t) &&
+ ((lc->list[i]->sort_time == t) &&
(lc->list[i]->tiebreaker < tiebreaker))) {
if (i > 0) {
print_lease(lc->list[i-1]);
@@ -476,7 +476,7 @@ lc_check_lc_sort_order(struct leasechain *lc) {
* The sort_time is set by the caller while the sort_tiebreaker is set here
* The value doesn't much matter as long as it prvoides a way to have different
* values in most of the leases.
- *
+ *
* When choosing a value for tiebreak we choose:
* 0 for the first lease in the queue
* 0 if the lease is going to the end of the queue with a sort_time greater
@@ -488,7 +488,7 @@ lc_check_lc_sort_order(struct leasechain *lc) {
* During startup when we can take advantage of the fact that leases may already
* be sorted and so check the end of the list to see if we can simply add the
* lease to the end.
- *
+ *
* \param lc The leasechain in which to insert the lease
* \param lp The lease to insert
*
diff --git a/server/mdb.c b/server/mdb.c
index ff8a707f..60a40e13 100644
--- a/server/mdb.c
+++ b/server/mdb.c
@@ -3,7 +3,7 @@
Server-specific in-memory database support. */
/*
- * Copyright (c) 2004-2019 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1996-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -67,7 +67,7 @@ static host_id_info_t *host_id_info = NULL;
int numclasseswritten;
-omapi_object_type_t *dhcp_type_host;
+extern omapi_object_type_t *dhcp_type_host;
isc_result_t enter_class(cd, dynamicp, commit)
struct class *cd;
diff --git a/server/mdb6.c b/server/mdb6.c
index da7baf6e..ebe01e56 100644
--- a/server/mdb6.c
+++ b/server/mdb6.c
@@ -1945,7 +1945,7 @@ create_prefix6(struct ipv6_pool *pool, struct iasubopt **pref,
}
new_ds.data = new_ds.buffer->data;
memcpy(new_ds.buffer->data, ds.data, ds.len);
- memcpy(new_ds.buffer->data + ds.len, &tmp, sizeof(tmp));
+ memcpy(&new_ds.buffer->data[0] + ds.len, &tmp, sizeof(tmp));
data_string_forget(&ds, MDL);
data_string_copy(&ds, &new_ds, MDL);
data_string_forget(&new_ds, MDL);
diff --git a/server/omapi.c b/server/omapi.c
index f7411317..354483ed 100644
--- a/server/omapi.c
+++ b/server/omapi.c
@@ -3,7 +3,7 @@
OMAPI object interfaces for the DHCP server. */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1999-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -1301,7 +1301,7 @@ isc_result_t dhcp_host_stuff_values (omapi_object_t *c,
status = omapi_connection_copyin (c,
ip_addrs.data, ip_addrs.len);
- if (status != ISC_R_SUCCESS) {
+ if (status != ISC_R_SUCCESS) {
data_string_forget (&ip_addrs, MDL);
return status;
}
@@ -1744,7 +1744,7 @@ isc_result_t dhcp_pool_stuff_values (omapi_object_t *c,
if (status != ISC_R_SUCCESS)
return (status);
- status = omapi_connection_put_named_uint32(c, "backup-leases",
+ status = omapi_connection_put_named_uint32(c, "backup-leases",
((u_int32_t)
pool->backup_leases));
if (status != ISC_R_SUCCESS)
diff --git a/server/salloc.c b/server/salloc.c
index cd7887a1..239a842d 100644
--- a/server/salloc.c
+++ b/server/salloc.c
@@ -3,7 +3,7 @@
Memory allocation for the DHCP server... */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1996-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
diff --git a/server/stables.c b/server/stables.c
index 43408c55..70412039 100644
--- a/server/stables.c
+++ b/server/stables.c
@@ -3,7 +3,7 @@
Tables of information only used by server... */
/*
- * Copyright (c) 2004-2019 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1995-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
@@ -19,8 +19,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -66,7 +66,7 @@ struct failover_option_info ft_options [] =
FM_OFFSET(ip_flags), FTB_IP_FLAGS },
{ FTO_LEASE_EXPIRY, "lease-expiration-time", FT_UINT32, 1,
FM_OFFSET(expiry), FTB_LEASE_EXPIRY },
- { FTO_MAX_UNACKED, "max-unacked-bndupd", FT_UINT32, 1,
+ { FTO_MAX_UNACKED, "max-unacked-bndupd", FT_UINT32, 1,
FM_OFFSET(max_unacked), FTB_MAX_UNACKED },
{ FTO_MCLT, "MCLT", FT_UINT32, 1, FM_OFFSET(mclt), FTB_MCLT },
{ FTO_MESSAGE, "message", FT_TEXT, 0,
diff --git a/server/tests/Makefile.in b/server/tests/Makefile.in
index 5e876366..dd0b3e18 100644
--- a/server/tests/Makefile.in
+++ b/server/tests/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.2 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2020 Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -253,8 +253,6 @@ am__define_uniq_tagged_files = \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -310,6 +308,8 @@ CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
@@ -321,6 +321,7 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
GREP = @GREP@
INSTALL = @INSTALL@
@@ -894,7 +895,6 @@ cscopelist-am: $(am__tagged_files)
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
diff --git a/server/tests/hash_unittest.c b/server/tests/hash_unittest.c
index 3cb45754..f92691aa 100644
--- a/server/tests/hash_unittest.c
+++ b/server/tests/hash_unittest.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2012-2022 Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -14,8 +14,8 @@
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Internet Systems Consortium, Inc.
- * 950 Charter Street
- * Redwood City, CA 94063
+ * PO Box 360
+ * Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*
@@ -536,7 +536,7 @@ ATF_TC_BODY(lease_hash_basic_3hosts, tc) {
the code from using an improper client id earlier and restoring
the hash code to its previous state. As we may choose to
redo the hash code again this test hasn't been deleted.
-*/
+*/
/* this test is a direct reproduction of 29851 issue */
ATF_TC(uid_hash_rt29851);
diff --git a/tests/DHCPv6/000-badmsgtype.pl b/tests/DHCPv6/000-badmsgtype.pl
index d0c35ee4..95f517c2 100644
--- a/tests/DHCPv6/000-badmsgtype.pl
+++ b/tests/DHCPv6/000-badmsgtype.pl
@@ -1,6 +1,6 @@
#! /usr/bin/perl -w
-# Copyright (c) 2007,2009 by Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007-2022 Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
@@ -15,8 +15,8 @@
# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
# Internet Systems Consortium, Inc.
-# 950 Charter Street
-# Redwood City, CA 94063
+# PO Box 360
+# Newmarket, NH 03857 USA
# <info@isc.org>
# https://www.isc.org/
@@ -80,10 +80,10 @@ do {
socket(SOCK, PF_INET6, SOCK_DGRAM, getprotobyname('udp')) || die;
my $addr = inet_pton(AF_INET6, $All_DHCP_Servers);
my $packet = $msg->packet();
- my $send_ret = send(SOCK, $packet, 0,
+ my $send_ret = send(SOCK, $packet, 0,
pack_sockaddr_in6($server_port, $addr));
if (not defined($send_ret)) {
- printf STDERR
+ printf STDERR
"Error \%d sending DHCPv6 message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
@@ -104,7 +104,7 @@ do {
}
my $rt_end_time = time() + $RT;
- if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
+ if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
$rt_end_time = $mrd_end_time;
}
@@ -119,11 +119,11 @@ do {
if (@ready) {
my $reply;
my $recv_ret;
-
+
$recv_ret = recv(SOCK, $reply, 1500, 0);
if (not defined $recv_ret) {
- printf STDERR
- "Error \%d receiving DHCPv6 " .
+ printf STDERR
+ "Error \%d receiving DHCPv6 " .
"message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
@@ -137,16 +137,16 @@ do {
}
}
-} until ($reply_msg ||
+} until ($reply_msg ||
(($MRC != 0) && ($count > $MRC)) ||
(defined($mrd_end_time) && ($mrd_end_time > time())));
unless ($reply_msg) {
if (($MRC != 0) && ($count >= $MRC)) {
- print STDERR
+ print STDERR
"No reply after maximum retransmission count.\n";
} else {
- print STDERR
+ print STDERR
"No reply after maximum retransmission duration.\n";
}
}
@@ -161,4 +161,3 @@ if ($reply_msg && ($reply_msg->{msg_type} == $MSG_REPLY)) {
#print Dumper($msg->packet()), "\n";
#
#print "packet length: ", length($msg->packet()), "\n";
-
diff --git a/tests/DHCPv6/010-solicit-noclientid.pl b/tests/DHCPv6/010-solicit-noclientid.pl
index 6bb5d6ee..45e829f1 100644
--- a/tests/DHCPv6/010-solicit-noclientid.pl
+++ b/tests/DHCPv6/010-solicit-noclientid.pl
@@ -1,6 +1,6 @@
#! /usr/bin/perl -w
-# Copyright (c) 2007,2009 by Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007-2022 Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
@@ -15,8 +15,8 @@
# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
# Internet Systems Consortium, Inc.
-# 950 Charter Street
-# Redwood City, CA 94063
+# PO Box 360
+# Newmarket, NH 03857 USA
# <info@isc.org>
# https://www.isc.org/
@@ -91,7 +91,7 @@ my @docsis_oro = ( $DOCSIS_OPT_TFTP_SERVERS );
$vsio .= pack("nnC*", $DOCSIS_OPT_ORO, 0+@docsis_oro, @docsis_oro);
# TLV5 data: CMTS DOCSIS version number 3.0 (required by DOCSIS)
-my $tlv5_data = "\x01\x02\x03\x0";
+my $tlv5_data = "\x01\x02\x03\x0";
$vsio .= pack("nn", $DOCSIS_OPT_TLV5, length($tlv5_data)) . $tlv5_data;
# DOCSIS Device (required by DOCSIS)
@@ -126,10 +126,10 @@ do {
socket(SOCK, PF_INET6, SOCK_DGRAM, getprotobyname('udp')) || die;
my $addr = inet_pton(AF_INET6, $All_DHCP_Servers);
my $packet = $msg->packet();
- my $send_ret = send(SOCK, $packet, 0,
+ my $send_ret = send(SOCK, $packet, 0,
pack_sockaddr_in6($server_port, $addr));
if (not defined($send_ret)) {
- printf STDERR
+ printf STDERR
"Error \%d sending DHCPv6 Solicit message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
@@ -150,7 +150,7 @@ do {
}
my $rt_end_time = time() + $RT;
- if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
+ if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
$rt_end_time = $mrd_end_time;
}
@@ -167,11 +167,11 @@ do {
if (@ready) {
my $reply;
my $recv_ret;
-
+
$recv_ret = recv(SOCK, $reply, 1500, 0);
if (not defined $recv_ret) {
- printf STDERR
- "Error \%d receiving DHCPv6 " .
+ printf STDERR
+ "Error \%d receiving DHCPv6 " .
"message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
@@ -185,16 +185,16 @@ do {
}
}
-} until ($reply_msg ||
+} until ($reply_msg ||
(($MRC != 0) && ($count > $MRC)) ||
(defined($mrd_end_time) && ($mrd_end_time > time())));
unless ($reply_msg) {
if (($MRC != 0) && ($count >= $MRC)) {
- print STDERR
+ print STDERR
"No reply after maximum retransmission count.\n";
} else {
- print STDERR
+ print STDERR
"No reply after maximum retransmission duration.\n";
}
}
@@ -209,4 +209,3 @@ if ($reply_msg && ($reply_msg->{msg_type} == $MSG_REPLY)) {
#print Dumper($msg->packet()), "\n";
#
#print "packet length: ", length($msg->packet()), "\n";
-
diff --git a/tests/DHCPv6/011-solicit-serverid.pl b/tests/DHCPv6/011-solicit-serverid.pl
index cee4ddb3..a6462f98 100644
--- a/tests/DHCPv6/011-solicit-serverid.pl
+++ b/tests/DHCPv6/011-solicit-serverid.pl
@@ -1,6 +1,6 @@
#! /usr/bin/perl -w
-# Copyright (c) 2007,2009 by Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007-2022 Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
@@ -15,8 +15,8 @@
# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
# Internet Systems Consortium, Inc.
-# 950 Charter Street
-# Redwood City, CA 94063
+# PO Box 360
+# Newmarket, NH 03857 USA
# <info@isc.org>
# https://www.isc.org/
@@ -94,7 +94,7 @@ my @docsis_oro = ( $DOCSIS_OPT_TFTP_SERVERS );
$vsio .= pack("nnC*", $DOCSIS_OPT_ORO, 0+@docsis_oro, @docsis_oro);
# TLV5 data: CMTS DOCSIS version number 3.0 (required by DOCSIS)
-my $tlv5_data = "\x01\x02\x03\x0";
+my $tlv5_data = "\x01\x02\x03\x0";
$vsio .= pack("nn", $DOCSIS_OPT_TLV5, length($tlv5_data)) . $tlv5_data;
# DOCSIS Device (required by DOCSIS)
@@ -129,10 +129,10 @@ do {
socket(SOCK, PF_INET6, SOCK_DGRAM, getprotobyname('udp')) || die;
my $addr = inet_pton(AF_INET6, $All_DHCP_Servers);
my $packet = $msg->packet();
- my $send_ret = send(SOCK, $packet, 0,
+ my $send_ret = send(SOCK, $packet, 0,
pack_sockaddr_in6($server_port, $addr));
if (not defined($send_ret)) {
- printf STDERR
+ printf STDERR
"Error \%d sending DHCPv6 Solicit message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
@@ -153,7 +153,7 @@ do {
}
my $rt_end_time = time() + $RT;
- if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
+ if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
$rt_end_time = $mrd_end_time;
}
@@ -170,11 +170,11 @@ do {
if (@ready) {
my $reply;
my $recv_ret;
-
+
$recv_ret = recv(SOCK, $reply, 1500, 0);
if (not defined $recv_ret) {
- printf STDERR
- "Error \%d receiving DHCPv6 " .
+ printf STDERR
+ "Error \%d receiving DHCPv6 " .
"message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
@@ -188,16 +188,16 @@ do {
}
}
-} until ($reply_msg ||
+} until ($reply_msg ||
(($MRC != 0) && ($count > $MRC)) ||
(defined($mrd_end_time) && ($mrd_end_time > time())));
unless ($reply_msg) {
if (($MRC != 0) && ($count >= $MRC)) {
- print STDERR
+ print STDERR
"No reply after maximum retransmission count.\n";
} else {
- print STDERR
+ print STDERR
"No reply after maximum retransmission duration.\n";
}
}
@@ -212,4 +212,3 @@ if ($reply_msg && ($reply_msg->{msg_type} == $MSG_REPLY)) {
#print Dumper($msg->packet()), "\n";
#
#print "packet length: ", length($msg->packet()), "\n";
-
diff --git a/tests/DHCPv6/020-advertise-mcast.pl b/tests/DHCPv6/020-advertise-mcast.pl
index c5c4ade7..39cc6d8e 100644
--- a/tests/DHCPv6/020-advertise-mcast.pl
+++ b/tests/DHCPv6/020-advertise-mcast.pl
@@ -1,6 +1,6 @@
#! /usr/bin/perl -w
-# Copyright (c) 2007,2009 by Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007-2022 Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
@@ -15,8 +15,8 @@
# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
# Internet Systems Consortium, Inc.
-# 950 Charter Street
-# Redwood City, CA 94063
+# PO Box 360
+# Newmarket, NH 03857 USA
# <info@isc.org>
# https://www.isc.org/
@@ -80,10 +80,10 @@ do {
socket(SOCK, PF_INET6, SOCK_DGRAM, getprotobyname('udp')) || die;
my $addr = inet_pton(AF_INET6, $All_DHCP_Servers);
my $packet = $msg->packet();
- my $send_ret = send(SOCK, $packet, 0,
+ my $send_ret = send(SOCK, $packet, 0,
pack_sockaddr_in6($server_port, $addr));
if (not defined($send_ret)) {
- printf STDERR
+ printf STDERR
"Error \%d sending DHCPv6 message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
@@ -104,7 +104,7 @@ do {
}
my $rt_end_time = time() + $RT;
- if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
+ if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
$rt_end_time = $mrd_end_time;
}
@@ -119,11 +119,11 @@ do {
if (@ready) {
my $reply;
my $recv_ret;
-
+
$recv_ret = recv(SOCK, $reply, 1500, 0);
if (not defined $recv_ret) {
- printf STDERR
- "Error \%d receiving DHCPv6 " .
+ printf STDERR
+ "Error \%d receiving DHCPv6 " .
"message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
@@ -137,16 +137,16 @@ do {
}
}
-} until ($reply_msg ||
+} until ($reply_msg ||
(($MRC != 0) && ($count > $MRC)) ||
(defined($mrd_end_time) && ($mrd_end_time > time())));
unless ($reply_msg) {
if (($MRC != 0) && ($count >= $MRC)) {
- print STDERR
+ print STDERR
"No reply after maximum retransmission count.\n";
} else {
- print STDERR
+ print STDERR
"No reply after maximum retransmission duration.\n";
}
}
@@ -161,4 +161,3 @@ if ($reply_msg && ($reply_msg->{msg_type} == $MSG_REPLY)) {
#print Dumper($msg->packet()), "\n";
#
#print "packet length: ", length($msg->packet()), "\n";
-
diff --git a/tests/DHCPv6/030-request-noclientid.pl b/tests/DHCPv6/030-request-noclientid.pl
index d5af0770..68aa2539 100644
--- a/tests/DHCPv6/030-request-noclientid.pl
+++ b/tests/DHCPv6/030-request-noclientid.pl
@@ -1,6 +1,6 @@
#! /usr/bin/perl -w
-# Copyright (c) 2007,2009 by Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007-2022 Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
@@ -15,8 +15,8 @@
# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
# Internet Systems Consortium, Inc.
-# 950 Charter Street
-# Redwood City, CA 94063
+# PO Box 360
+# Newmarket, NH 03857 USA
# <info@isc.org>
# https://www.isc.org/
@@ -91,7 +91,7 @@ my @docsis_oro = ( $DOCSIS_OPT_TFTP_SERVERS );
$vsio .= pack("nnC*", $DOCSIS_OPT_ORO, 0+@docsis_oro, @docsis_oro);
# TLV5 data: CMTS DOCSIS version number 3.0 (required by DOCSIS)
-my $tlv5_data = "\x01\x02\x03\x0";
+my $tlv5_data = "\x01\x02\x03\x0";
$vsio .= pack("nn", $DOCSIS_OPT_TLV5, length($tlv5_data)) . $tlv5_data;
# DOCSIS Device (required by DOCSIS)
@@ -126,10 +126,10 @@ do {
socket(SOCK, PF_INET6, SOCK_DGRAM, getprotobyname('udp')) || die;
my $addr = inet_pton(AF_INET6, $All_DHCP_Servers);
my $packet = $msg->packet();
- my $send_ret = send(SOCK, $packet, 0,
+ my $send_ret = send(SOCK, $packet, 0,
pack_sockaddr_in6($server_port, $addr));
if (not defined($send_ret)) {
- printf STDERR
+ printf STDERR
"Error \%d sending DHCPv6 Solicit message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
@@ -150,7 +150,7 @@ do {
}
my $rt_end_time = time() + $RT;
- if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
+ if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
$rt_end_time = $mrd_end_time;
}
@@ -167,11 +167,11 @@ do {
if (@ready) {
my $reply;
my $recv_ret;
-
+
$recv_ret = recv(SOCK, $reply, 1500, 0);
if (not defined $recv_ret) {
- printf STDERR
- "Error \%d receiving DHCPv6 " .
+ printf STDERR
+ "Error \%d receiving DHCPv6 " .
"message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
@@ -185,16 +185,16 @@ do {
}
}
-} until ($reply_msg ||
+} until ($reply_msg ||
(($MRC != 0) && ($count > $MRC)) ||
(defined($mrd_end_time) && ($mrd_end_time > time())));
unless ($reply_msg) {
if (($MRC != 0) && ($count >= $MRC)) {
- print STDERR
+ print STDERR
"No reply after maximum retransmission count.\n";
} else {
- print STDERR
+ print STDERR
"No reply after maximum retransmission duration.\n";
}
}
@@ -209,4 +209,3 @@ if ($reply_msg && ($reply_msg->{msg_type} == $MSG_REPLY)) {
#print Dumper($msg->packet()), "\n";
#
#print "packet length: ", length($msg->packet()), "\n";
-
diff --git a/tests/DHCPv6/031-request-noserverid.pl b/tests/DHCPv6/031-request-noserverid.pl
index 1f730388..3a860190 100644
--- a/tests/DHCPv6/031-request-noserverid.pl
+++ b/tests/DHCPv6/031-request-noserverid.pl
@@ -1,6 +1,6 @@
#! /usr/bin/perl -w
-# Copyright (c) 2007,2009 by Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007-2022 Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
@@ -15,8 +15,8 @@
# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
# Internet Systems Consortium, Inc.
-# 950 Charter Street
-# Redwood City, CA 94063
+# PO Box 360
+# Newmarket, NH 03857 USA
# <info@isc.org>
# https://www.isc.org/
@@ -91,7 +91,7 @@ my @docsis_oro = ( $DOCSIS_OPT_TFTP_SERVERS );
$vsio .= pack("nnC*", $DOCSIS_OPT_ORO, 0+@docsis_oro, @docsis_oro);
# TLV5 data: CMTS DOCSIS version number 3.0 (required by DOCSIS)
-my $tlv5_data = "\x01\x02\x03\x0";
+my $tlv5_data = "\x01\x02\x03\x0";
$vsio .= pack("nn", $DOCSIS_OPT_TLV5, length($tlv5_data)) . $tlv5_data;
# DOCSIS Device (required by DOCSIS)
@@ -126,10 +126,10 @@ do {
socket(SOCK, PF_INET6, SOCK_DGRAM, getprotobyname('udp')) || die;
my $addr = inet_pton(AF_INET6, $All_DHCP_Servers);
my $packet = $msg->packet();
- my $send_ret = send(SOCK, $packet, 0,
+ my $send_ret = send(SOCK, $packet, 0,
pack_sockaddr_in6($server_port, $addr));
if (not defined($send_ret)) {
- printf STDERR
+ printf STDERR
"Error \%d sending DHCPv6 Solicit message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
@@ -150,7 +150,7 @@ do {
}
my $rt_end_time = time() + $RT;
- if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
+ if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
$rt_end_time = $mrd_end_time;
}
@@ -167,11 +167,11 @@ do {
if (@ready) {
my $reply;
my $recv_ret;
-
+
$recv_ret = recv(SOCK, $reply, 1500, 0);
if (not defined $recv_ret) {
- printf STDERR
- "Error \%d receiving DHCPv6 " .
+ printf STDERR
+ "Error \%d receiving DHCPv6 " .
"message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
@@ -185,16 +185,16 @@ do {
}
}
-} until ($reply_msg ||
+} until ($reply_msg ||
(($MRC != 0) && ($count > $MRC)) ||
(defined($mrd_end_time) && ($mrd_end_time > time())));
unless ($reply_msg) {
if (($MRC != 0) && ($count >= $MRC)) {
- print STDERR
+ print STDERR
"No reply after maximum retransmission count.\n";
} else {
- print STDERR
+ print STDERR
"No reply after maximum retransmission duration.\n";
}
}
@@ -209,4 +209,3 @@ if ($reply_msg && ($reply_msg->{msg_type} == $MSG_REPLY)) {
#print Dumper($msg->packet()), "\n";
#
#print "packet length: ", length($msg->packet()), "\n";
-
diff --git a/tests/DHCPv6/032-request-badduid.pl b/tests/DHCPv6/032-request-badduid.pl
index 30e5040a..7964977b 100644
--- a/tests/DHCPv6/032-request-badduid.pl
+++ b/tests/DHCPv6/032-request-badduid.pl
@@ -1,6 +1,6 @@
#! /usr/bin/perl -w
-# Copyright (c) 2007,2009 by Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007-2022 Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
@@ -15,8 +15,8 @@
# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
# Internet Systems Consortium, Inc.
-# 950 Charter Street
-# Redwood City, CA 94063
+# PO Box 360
+# Newmarket, NH 03857 USA
# <info@isc.org>
# https://www.isc.org/
@@ -95,7 +95,7 @@ my @docsis_oro = ( $DOCSIS_OPT_TFTP_SERVERS );
$vsio .= pack("nnC*", $DOCSIS_OPT_ORO, 0+@docsis_oro, @docsis_oro);
# TLV5 data: CMTS DOCSIS version number 3.0 (required by DOCSIS)
-my $tlv5_data = "\x01\x02\x03\x0";
+my $tlv5_data = "\x01\x02\x03\x0";
$vsio .= pack("nn", $DOCSIS_OPT_TLV5, length($tlv5_data)) . $tlv5_data;
# DOCSIS Device (required by DOCSIS)
@@ -130,10 +130,10 @@ do {
socket(SOCK, PF_INET6, SOCK_DGRAM, getprotobyname('udp')) || die;
my $addr = inet_pton(AF_INET6, $All_DHCP_Servers);
my $packet = $msg->packet();
- my $send_ret = send(SOCK, $packet, 0,
+ my $send_ret = send(SOCK, $packet, 0,
pack_sockaddr_in6($server_port, $addr));
if (not defined($send_ret)) {
- printf STDERR
+ printf STDERR
"Error \%d sending DHCPv6 Solicit message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
@@ -154,7 +154,7 @@ do {
}
my $rt_end_time = time() + $RT;
- if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
+ if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
$rt_end_time = $mrd_end_time;
}
@@ -171,11 +171,11 @@ do {
if (@ready) {
my $reply;
my $recv_ret;
-
+
$recv_ret = recv(SOCK, $reply, 1500, 0);
if (not defined $recv_ret) {
- printf STDERR
- "Error \%d receiving DHCPv6 " .
+ printf STDERR
+ "Error \%d receiving DHCPv6 " .
"message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
@@ -189,16 +189,16 @@ do {
}
}
-} until ($reply_msg ||
+} until ($reply_msg ||
(($MRC != 0) && ($count > $MRC)) ||
(defined($mrd_end_time) && ($mrd_end_time > time())));
unless ($reply_msg) {
if (($MRC != 0) && ($count >= $MRC)) {
- print STDERR
+ print STDERR
"No reply after maximum retransmission count.\n";
} else {
- print STDERR
+ print STDERR
"No reply after maximum retransmission duration.\n";
}
}
@@ -213,4 +213,3 @@ if ($reply_msg && ($reply_msg->{msg_type} == $MSG_REPLY)) {
#print Dumper($msg->packet()), "\n";
#
#print "packet length: ", length($msg->packet()), "\n";
-
diff --git a/tests/DHCPv6/110-information-request-ia_na.pl b/tests/DHCPv6/110-information-request-ia_na.pl
index 5dc68898..a5171f20 100644
--- a/tests/DHCPv6/110-information-request-ia_na.pl
+++ b/tests/DHCPv6/110-information-request-ia_na.pl
@@ -1,6 +1,6 @@
#! /usr/bin/perl -w
-# Copyright (c) 2007,2009 by Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007-2022 Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
@@ -15,8 +15,8 @@
# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
# Internet Systems Consortium, Inc.
-# 950 Charter Street
-# Redwood City, CA 94063
+# PO Box 360
+# Newmarket, NH 03857 USA
# <info@isc.org>
# https://www.isc.org/
@@ -91,7 +91,7 @@ my @docsis_oro = ( $DOCSIS_OPT_TFTP_SERVERS );
$vsio .= pack("nnC*", $DOCSIS_OPT_ORO, 0+@docsis_oro, @docsis_oro);
# TLV5 data: CMTS DOCSIS version number 3.0 (required by DOCSIS)
-my $tlv5_data = "\x01\x02\x03\x0";
+my $tlv5_data = "\x01\x02\x03\x0";
$vsio .= pack("nn", $DOCSIS_OPT_TLV5, length($tlv5_data)) . $tlv5_data;
# DOCSIS Device (required by DOCSIS)
@@ -126,10 +126,10 @@ do {
socket(SOCK, PF_INET6, SOCK_DGRAM, getprotobyname('udp')) || die;
my $addr = inet_pton(AF_INET6, $All_DHCP_Servers);
my $packet = $msg->packet();
- my $send_ret = send(SOCK, $packet, 0,
+ my $send_ret = send(SOCK, $packet, 0,
pack_sockaddr_in6($server_port, $addr));
if (not defined($send_ret)) {
- printf STDERR
+ printf STDERR
"Error \%d sending DHCPv6 Solicit message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
@@ -150,7 +150,7 @@ do {
}
my $rt_end_time = time() + $RT;
- if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
+ if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
$rt_end_time = $mrd_end_time;
}
@@ -167,11 +167,11 @@ do {
if (@ready) {
my $reply;
my $recv_ret;
-
+
$recv_ret = recv(SOCK, $reply, 1500, 0);
if (not defined $recv_ret) {
- printf STDERR
- "Error \%d receiving DHCPv6 " .
+ printf STDERR
+ "Error \%d receiving DHCPv6 " .
"message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
@@ -185,16 +185,16 @@ do {
}
}
-} until ($reply_msg ||
+} until ($reply_msg ||
(($MRC != 0) && ($count > $MRC)) ||
(defined($mrd_end_time) && ($mrd_end_time > time())));
unless ($reply_msg) {
if (($MRC != 0) && ($count >= $MRC)) {
- print STDERR
+ print STDERR
"No reply after maximum retransmission count.\n";
} else {
- print STDERR
+ print STDERR
"No reply after maximum retransmission duration.\n";
}
}
@@ -209,4 +209,3 @@ if ($reply_msg && ($reply_msg->{msg_type} == $MSG_REPLY)) {
#print Dumper($msg->packet()), "\n";
#
#print "packet length: ", length($msg->packet()), "\n";
-
diff --git a/tests/DHCPv6/111-information-request-ia_ta.pl b/tests/DHCPv6/111-information-request-ia_ta.pl
index dc3cf1c2..ab67f517 100644
--- a/tests/DHCPv6/111-information-request-ia_ta.pl
+++ b/tests/DHCPv6/111-information-request-ia_ta.pl
@@ -1,6 +1,6 @@
#! /usr/bin/perl -w
-# Copyright (c) 2007,2009 by Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007-2022 Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
@@ -15,8 +15,8 @@
# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
# Internet Systems Consortium, Inc.
-# 950 Charter Street
-# Redwood City, CA 94063
+# PO Box 360
+# Newmarket, NH 03857 USA
# <info@isc.org>
# https://www.isc.org/
@@ -91,7 +91,7 @@ my @docsis_oro = ( $DOCSIS_OPT_TFTP_SERVERS );
$vsio .= pack("nnC*", $DOCSIS_OPT_ORO, 0+@docsis_oro, @docsis_oro);
# TLV5 data: CMTS DOCSIS version number 3.0 (required by DOCSIS)
-my $tlv5_data = "\x01\x02\x03\x0";
+my $tlv5_data = "\x01\x02\x03\x0";
$vsio .= pack("nn", $DOCSIS_OPT_TLV5, length($tlv5_data)) . $tlv5_data;
# DOCSIS Device (required by DOCSIS)
@@ -126,10 +126,10 @@ do {
socket(SOCK, PF_INET6, SOCK_DGRAM, getprotobyname('udp')) || die;
my $addr = inet_pton(AF_INET6, $All_DHCP_Servers);
my $packet = $msg->packet();
- my $send_ret = send(SOCK, $packet, 0,
+ my $send_ret = send(SOCK, $packet, 0,
pack_sockaddr_in6($server_port, $addr));
if (not defined($send_ret)) {
- printf STDERR
+ printf STDERR
"Error \%d sending DHCPv6 Solicit message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
@@ -150,7 +150,7 @@ do {
}
my $rt_end_time = time() + $RT;
- if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
+ if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
$rt_end_time = $mrd_end_time;
}
@@ -167,11 +167,11 @@ do {
if (@ready) {
my $reply;
my $recv_ret;
-
+
$recv_ret = recv(SOCK, $reply, 1500, 0);
if (not defined $recv_ret) {
- printf STDERR
- "Error \%d receiving DHCPv6 " .
+ printf STDERR
+ "Error \%d receiving DHCPv6 " .
"message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
@@ -185,16 +185,16 @@ do {
}
}
-} until ($reply_msg ||
+} until ($reply_msg ||
(($MRC != 0) && ($count > $MRC)) ||
(defined($mrd_end_time) && ($mrd_end_time > time())));
unless ($reply_msg) {
if (($MRC != 0) && ($count >= $MRC)) {
- print STDERR
+ print STDERR
"No reply after maximum retransmission count.\n";
} else {
- print STDERR
+ print STDERR
"No reply after maximum retransmission duration.\n";
}
}
@@ -209,4 +209,3 @@ if ($reply_msg && ($reply_msg->{msg_type} == $MSG_REPLY)) {
#print Dumper($msg->packet()), "\n";
#
#print "packet length: ", length($msg->packet()), "\n";
-
diff --git a/tests/DHCPv6/112-badduid.pl b/tests/DHCPv6/112-badduid.pl
index 3be9261e..c069886a 100644
--- a/tests/DHCPv6/112-badduid.pl
+++ b/tests/DHCPv6/112-badduid.pl
@@ -1,6 +1,6 @@
#! /usr/bin/perl -w
-# Copyright (c) 2007,2009 by Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007-2022 Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
@@ -15,8 +15,8 @@
# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
# Internet Systems Consortium, Inc.
-# 950 Charter Street
-# Redwood City, CA 94063
+# PO Box 360
+# Newmarket, NH 03857 USA
# <info@isc.org>
# https://www.isc.org/
@@ -87,7 +87,7 @@ my @docsis_oro = ( $DOCSIS_OPT_TFTP_SERVERS );
$vsio .= pack("nnC*", $DOCSIS_OPT_ORO, 0+@docsis_oro, @docsis_oro);
# TLV5 data: CMTS DOCSIS version number 3.0 (required by DOCSIS)
-my $tlv5_data = "\x01\x02\x03\x0";
+my $tlv5_data = "\x01\x02\x03\x0";
$vsio .= pack("nn", $DOCSIS_OPT_TLV5, length($tlv5_data)) . $tlv5_data;
# DOCSIS Device (required by DOCSIS)
@@ -122,10 +122,10 @@ do {
socket(SOCK, PF_INET6, SOCK_DGRAM, getprotobyname('udp')) || die;
my $addr = inet_pton(AF_INET6, $All_DHCP_Servers);
my $packet = $msg->packet();
- my $send_ret = send(SOCK, $packet, 0,
+ my $send_ret = send(SOCK, $packet, 0,
pack_sockaddr_in6($server_port, $addr));
if (not defined($send_ret)) {
- printf STDERR
+ printf STDERR
"Error \%d sending DHCPv6 Solicit message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
@@ -146,7 +146,7 @@ do {
}
my $rt_end_time = time() + $RT;
- if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
+ if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
$rt_end_time = $mrd_end_time;
}
@@ -163,11 +163,11 @@ do {
if (@ready) {
my $reply;
my $recv_ret;
-
+
$recv_ret = recv(SOCK, $reply, 1500, 0);
if (not defined $recv_ret) {
- printf STDERR
- "Error \%d receiving DHCPv6 " .
+ printf STDERR
+ "Error \%d receiving DHCPv6 " .
"message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
@@ -181,16 +181,16 @@ do {
}
}
-} until ($reply_msg ||
+} until ($reply_msg ||
(($MRC != 0) && ($count > $MRC)) ||
(defined($mrd_end_time) && ($mrd_end_time > time())));
unless ($reply_msg) {
if (($MRC != 0) && ($count >= $MRC)) {
- print STDERR
+ print STDERR
"No reply after maximum retransmission count.\n";
} else {
- print STDERR
+ print STDERR
"No reply after maximum retransmission duration.\n";
}
}
@@ -205,4 +205,3 @@ if ($reply_msg && ($reply_msg->{msg_type} == $MSG_REPLY)) {
#print Dumper($msg->packet()), "\n";
#
#print "packet length: ", length($msg->packet()), "\n";
-
diff --git a/tests/DHCPv6/210-solicit-nohost.pl b/tests/DHCPv6/210-solicit-nohost.pl
index be9538cd..20b3771f 100644
--- a/tests/DHCPv6/210-solicit-nohost.pl
+++ b/tests/DHCPv6/210-solicit-nohost.pl
@@ -1,6 +1,6 @@
#! /usr/bin/perl -w
-# Copyright (c) 2007,2009 by Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007-2022 Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
@@ -15,8 +15,8 @@
# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
# Internet Systems Consortium, Inc.
-# 950 Charter Street
-# Redwood City, CA 94063
+# PO Box 360
+# Newmarket, NH 03857 USA
# <info@isc.org>
# https://www.isc.org/
@@ -91,7 +91,7 @@ my @docsis_oro = ( $DOCSIS_OPT_TFTP_SERVERS );
$vsio .= pack("nnC*", $DOCSIS_OPT_ORO, 0+@docsis_oro, @docsis_oro);
# TLV5 data: CMTS DOCSIS version number 3.0 (required by DOCSIS)
-my $tlv5_data = "\x01\x02\x03\x0";
+my $tlv5_data = "\x01\x02\x03\x0";
$vsio .= pack("nn", $DOCSIS_OPT_TLV5, length($tlv5_data)) . $tlv5_data;
# DOCSIS Device (required by DOCSIS)
@@ -126,10 +126,10 @@ do {
socket(SOCK, PF_INET6, SOCK_DGRAM, getprotobyname('udp')) || die;
my $addr = inet_pton(AF_INET6, $All_DHCP_Servers);
my $packet = $msg->packet();
- my $send_ret = send(SOCK, $packet, 0,
+ my $send_ret = send(SOCK, $packet, 0,
pack_sockaddr_in6($server_port, $addr));
if (not defined($send_ret)) {
- printf STDERR
+ printf STDERR
"Error \%d sending DHCPv6 Solicit message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
@@ -150,7 +150,7 @@ do {
}
my $rt_end_time = time() + $RT;
- if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
+ if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
$rt_end_time = $mrd_end_time;
}
@@ -167,11 +167,11 @@ do {
if (@ready) {
my $reply;
my $recv_ret;
-
+
$recv_ret = recv(SOCK, $reply, 1500, 0);
if (not defined $recv_ret) {
- printf STDERR
- "Error \%d receiving DHCPv6 " .
+ printf STDERR
+ "Error \%d receiving DHCPv6 " .
"message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
@@ -185,16 +185,16 @@ do {
}
}
-} until ($reply_msg ||
+} until ($reply_msg ||
(($MRC != 0) && ($count > $MRC)) ||
(defined($mrd_end_time) && ($mrd_end_time > time())));
unless ($reply_msg) {
if (($MRC != 0) && ($count >= $MRC)) {
- print STDERR
+ print STDERR
"No reply after maximum retransmission count.\n";
} else {
- print STDERR
+ print STDERR
"No reply after maximum retransmission duration.\n";
}
}
@@ -209,4 +209,3 @@ if ($reply_msg && ($reply_msg->{msg_type} == $MSG_REPLY)) {
#print Dumper($msg->packet()), "\n";
#
#print "packet length: ", length($msg->packet()), "\n";
-
diff --git a/tests/DHCPv6/211-solicit-opt-in-na.pl b/tests/DHCPv6/211-solicit-opt-in-na.pl
index 33f69512..c180c7f5 100644
--- a/tests/DHCPv6/211-solicit-opt-in-na.pl
+++ b/tests/DHCPv6/211-solicit-opt-in-na.pl
@@ -1,6 +1,6 @@
#! /usr/bin/perl -w
-# Copyright (c) 2007,2009 by Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007-2022 Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
@@ -15,8 +15,8 @@
# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
# Internet Systems Consortium, Inc.
-# 950 Charter Street
-# Redwood City, CA 94063
+# PO Box 360
+# Newmarket, NH 03857 USA
# <info@isc.org>
# https://www.isc.org/
@@ -97,7 +97,7 @@ my @docsis_oro = ( $DOCSIS_OPT_TFTP_SERVERS );
$vsio .= pack("nnC*", $DOCSIS_OPT_ORO, 0+@docsis_oro, @docsis_oro);
# TLV5 data: CMTS DOCSIS version number 3.0 (required by DOCSIS)
-my $tlv5_data = "\x01\x02\x03\x0";
+my $tlv5_data = "\x01\x02\x03\x0";
$vsio .= pack("nn", $DOCSIS_OPT_TLV5, length($tlv5_data)) . $tlv5_data;
# DOCSIS Device (required by DOCSIS)
@@ -132,10 +132,10 @@ do {
socket(SOCK, PF_INET6, SOCK_DGRAM, getprotobyname('udp')) || die;
my $addr = inet_pton(AF_INET6, $All_DHCP_Servers);
my $packet = $msg->packet();
- my $send_ret = send(SOCK, $packet, 0,
+ my $send_ret = send(SOCK, $packet, 0,
pack_sockaddr_in6($server_port, $addr));
if (not defined($send_ret)) {
- printf STDERR
+ printf STDERR
"Error \%d sending DHCPv6 Solicit message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
@@ -156,7 +156,7 @@ do {
}
my $rt_end_time = time() + $RT;
- if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
+ if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
$rt_end_time = $mrd_end_time;
}
@@ -173,11 +173,11 @@ do {
if (@ready) {
my $reply;
my $recv_ret;
-
+
$recv_ret = recv(SOCK, $reply, 1500, 0);
if (not defined $recv_ret) {
- printf STDERR
- "Error \%d receiving DHCPv6 " .
+ printf STDERR
+ "Error \%d receiving DHCPv6 " .
"message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
@@ -191,16 +191,16 @@ do {
}
}
-} until ($reply_msg ||
+} until ($reply_msg ||
(($MRC != 0) && ($count > $MRC)) ||
(defined($mrd_end_time) && ($mrd_end_time > time())));
unless ($reply_msg) {
if (($MRC != 0) && ($count >= $MRC)) {
- print STDERR
+ print STDERR
"No reply after maximum retransmission count.\n";
} else {
- print STDERR
+ print STDERR
"No reply after maximum retransmission duration.\n";
}
}
@@ -215,4 +215,3 @@ if ($reply_msg && ($reply_msg->{msg_type} == $MSG_REPLY)) {
#print Dumper($msg->packet()), "\n";
#
#print "packet length: ", length($msg->packet()), "\n";
-
diff --git a/tests/DHCPv6/212-solicit-opt-in-na-norapidcommit.pl b/tests/DHCPv6/212-solicit-opt-in-na-norapidcommit.pl
index a8d81490..179cf0d0 100644
--- a/tests/DHCPv6/212-solicit-opt-in-na-norapidcommit.pl
+++ b/tests/DHCPv6/212-solicit-opt-in-na-norapidcommit.pl
@@ -1,6 +1,6 @@
#! /usr/bin/perl -w
-# Copyright (c) 2007,2009 by Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007-2022 Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
@@ -15,8 +15,8 @@
# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
# Internet Systems Consortium, Inc.
-# 950 Charter Street
-# Redwood City, CA 94063
+# PO Box 360
+# Newmarket, NH 03857 USA
# <info@isc.org>
# https://www.isc.org/
@@ -97,7 +97,7 @@ my @docsis_oro = ( $DOCSIS_OPT_TFTP_SERVERS );
$vsio .= pack("nnC*", $DOCSIS_OPT_ORO, 0+@docsis_oro, @docsis_oro);
# TLV5 data: CMTS DOCSIS version number 3.0 (required by DOCSIS)
-my $tlv5_data = "\x01\x02\x03\x0";
+my $tlv5_data = "\x01\x02\x03\x0";
$vsio .= pack("nn", $DOCSIS_OPT_TLV5, length($tlv5_data)) . $tlv5_data;
# DOCSIS Device (required by DOCSIS)
@@ -132,10 +132,10 @@ do {
socket(SOCK, PF_INET6, SOCK_DGRAM, getprotobyname('udp')) || die;
my $addr = inet_pton(AF_INET6, $All_DHCP_Servers);
my $packet = $msg->packet();
- my $send_ret = send(SOCK, $packet, 0,
+ my $send_ret = send(SOCK, $packet, 0,
pack_sockaddr_in6($server_port, $addr));
if (not defined($send_ret)) {
- printf STDERR
+ printf STDERR
"Error \%d sending DHCPv6 Solicit message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
@@ -156,7 +156,7 @@ do {
}
my $rt_end_time = time() + $RT;
- if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
+ if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
$rt_end_time = $mrd_end_time;
}
@@ -173,11 +173,11 @@ do {
if (@ready) {
my $reply;
my $recv_ret;
-
+
$recv_ret = recv(SOCK, $reply, 1500, 0);
if (not defined $recv_ret) {
- printf STDERR
- "Error \%d receiving DHCPv6 " .
+ printf STDERR
+ "Error \%d receiving DHCPv6 " .
"message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
@@ -191,16 +191,16 @@ do {
}
}
-} until ($reply_msg ||
+} until ($reply_msg ||
(($MRC != 0) && ($count > $MRC)) ||
(defined($mrd_end_time) && ($mrd_end_time > time())));
unless ($reply_msg) {
if (($MRC != 0) && ($count >= $MRC)) {
- print STDERR
+ print STDERR
"No reply after maximum retransmission count.\n";
} else {
- print STDERR
+ print STDERR
"No reply after maximum retransmission duration.\n";
}
}
@@ -215,4 +215,3 @@ if ($reply_msg && ($reply_msg->{msg_type} == $MSG_REPLY)) {
#print Dumper($msg->packet()), "\n";
#
#print "packet length: ", length($msg->packet()), "\n";
-
diff --git a/tests/DHCPv6/280-release-nohost.pl b/tests/DHCPv6/280-release-nohost.pl
index 9758cd83..3f8805bc 100644
--- a/tests/DHCPv6/280-release-nohost.pl
+++ b/tests/DHCPv6/280-release-nohost.pl
@@ -1,6 +1,6 @@
#! /usr/bin/perl -w
-# Copyright (c) 2007,2009 by Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007-2022 Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
@@ -15,8 +15,8 @@
# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
# Internet Systems Consortium, Inc.
-# 950 Charter Street
-# Redwood City, CA 94063
+# PO Box 360
+# Newmarket, NH 03857 USA
# <info@isc.org>
# https://www.isc.org/
@@ -89,10 +89,10 @@ do {
socket(SOCK, PF_INET6, SOCK_DGRAM, getprotobyname('udp')) || die;
my $addr = inet_pton(AF_INET6, $All_DHCP_Servers);
my $packet = $msg->packet();
- my $send_ret = send(SOCK, $packet, 0,
+ my $send_ret = send(SOCK, $packet, 0,
pack_sockaddr_in6($server_port, $addr));
if (not defined($send_ret)) {
- printf STDERR
+ printf STDERR
"Error \%d sending DHCPv6 message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
@@ -113,7 +113,7 @@ do {
}
my $rt_end_time = time() + $RT;
- if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
+ if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
$rt_end_time = $mrd_end_time;
}
@@ -130,11 +130,11 @@ do {
if (@ready) {
my $reply;
my $recv_ret;
-
+
$recv_ret = recv(SOCK, $reply, 1500, 0);
if (not defined $recv_ret) {
- printf STDERR
- "Error \%d receiving DHCPv6 " .
+ printf STDERR
+ "Error \%d receiving DHCPv6 " .
"message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
@@ -148,16 +148,16 @@ do {
}
}
-} until ($reply_msg ||
+} until ($reply_msg ||
(($MRC != 0) && ($count > $MRC)) ||
(defined($mrd_end_time) && ($mrd_end_time > time())));
unless ($reply_msg) {
if (($MRC != 0) && ($count >= $MRC)) {
- print STDERR
+ print STDERR
"No reply after maximum retransmission count.\n";
} else {
- print STDERR
+ print STDERR
"No reply after maximum retransmission duration.\n";
}
}
@@ -172,4 +172,3 @@ if ($reply_msg && ($reply_msg->{msg_type} == $MSG_REPLY)) {
#print Dumper($msg->packet()), "\n";
#
#print "packet length: ", length($msg->packet()), "\n";
-
diff --git a/tests/DHCPv6/281-release-bad-address.pl b/tests/DHCPv6/281-release-bad-address.pl
index d130812e..c5371d75 100644
--- a/tests/DHCPv6/281-release-bad-address.pl
+++ b/tests/DHCPv6/281-release-bad-address.pl
@@ -1,6 +1,6 @@
#! /usr/bin/perl -w
-# Copyright (c) 2007,2009 by Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007-2022 Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
@@ -15,8 +15,8 @@
# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
# Internet Systems Consortium, Inc.
-# 950 Charter Street
-# Redwood City, CA 94063
+# PO Box 360
+# Newmarket, NH 03857 USA
# <info@isc.org>
# https://www.isc.org/
@@ -101,10 +101,10 @@ do {
socket(SOCK, PF_INET6, SOCK_DGRAM, getprotobyname('udp')) || die;
my $addr = inet_pton(AF_INET6, $All_DHCP_Servers);
my $packet = $msg->packet();
- my $send_ret = send(SOCK, $packet, 0,
+ my $send_ret = send(SOCK, $packet, 0,
pack_sockaddr_in6($server_port, $addr));
if (not defined($send_ret)) {
- printf STDERR
+ printf STDERR
"Error \%d sending DHCPv6 Solicit message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
@@ -125,7 +125,7 @@ do {
}
my $rt_end_time = time() + $RT;
- if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
+ if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
$rt_end_time = $mrd_end_time;
}
@@ -142,11 +142,11 @@ do {
if (@ready) {
my $reply;
my $recv_ret;
-
+
$recv_ret = recv(SOCK, $reply, 1500, 0);
if (not defined $recv_ret) {
- printf STDERR
- "Error \%d receiving DHCPv6 " .
+ printf STDERR
+ "Error \%d receiving DHCPv6 " .
"message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
@@ -160,16 +160,16 @@ do {
}
}
-} until ($reply_msg ||
+} until ($reply_msg ||
(($MRC != 0) && ($count > $MRC)) ||
(defined($mrd_end_time) && ($mrd_end_time > time())));
unless ($reply_msg) {
if (($MRC != 0) && ($count >= $MRC)) {
- print STDERR
+ print STDERR
"No reply after maximum retransmission count.\n";
} else {
- print STDERR
+ print STDERR
"No reply after maximum retransmission duration.\n";
}
}
@@ -184,4 +184,3 @@ if ($reply_msg && ($reply_msg->{msg_type} == $MSG_REPLY)) {
#print Dumper($msg->packet()), "\n";
#
#print "packet length: ", length($msg->packet()), "\n";
-
diff --git a/tests/DHCPv6/282-release-no-address.pl b/tests/DHCPv6/282-release-no-address.pl
index b3d0af5c..1fd76d35 100644
--- a/tests/DHCPv6/282-release-no-address.pl
+++ b/tests/DHCPv6/282-release-no-address.pl
@@ -1,6 +1,6 @@
#! /usr/bin/perl -w
-# Copyright (c) 2007,2009 by Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007-2022 Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
@@ -15,8 +15,8 @@
# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
# Internet Systems Consortium, Inc.
-# 950 Charter Street
-# Redwood City, CA 94063
+# PO Box 360
+# Newmarket, NH 03857 USA
# <info@isc.org>
# https://www.isc.org/
@@ -97,10 +97,10 @@ do {
socket(SOCK, PF_INET6, SOCK_DGRAM, getprotobyname('udp')) || die;
my $addr = inet_pton(AF_INET6, $All_DHCP_Servers);
my $packet = $msg->packet();
- my $send_ret = send(SOCK, $packet, 0,
+ my $send_ret = send(SOCK, $packet, 0,
pack_sockaddr_in6($server_port, $addr));
if (not defined($send_ret)) {
- printf STDERR
+ printf STDERR
"Error \%d sending DHCPv6 Solicit message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
@@ -121,7 +121,7 @@ do {
}
my $rt_end_time = time() + $RT;
- if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
+ if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
$rt_end_time = $mrd_end_time;
}
@@ -138,11 +138,11 @@ do {
if (@ready) {
my $reply;
my $recv_ret;
-
+
$recv_ret = recv(SOCK, $reply, 1500, 0);
if (not defined $recv_ret) {
- printf STDERR
- "Error \%d receiving DHCPv6 " .
+ printf STDERR
+ "Error \%d receiving DHCPv6 " .
"message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
@@ -156,16 +156,16 @@ do {
}
}
-} until ($reply_msg ||
+} until ($reply_msg ||
(($MRC != 0) && ($count > $MRC)) ||
(defined($mrd_end_time) && ($mrd_end_time > time())));
unless ($reply_msg) {
if (($MRC != 0) && ($count >= $MRC)) {
- print STDERR
+ print STDERR
"No reply after maximum retransmission count.\n";
} else {
- print STDERR
+ print STDERR
"No reply after maximum retransmission duration.\n";
}
}
@@ -180,4 +180,3 @@ if ($reply_msg && ($reply_msg->{msg_type} == $MSG_REPLY)) {
#print Dumper($msg->packet()), "\n";
#
#print "packet length: ", length($msg->packet()), "\n";
-
diff --git a/tests/DHCPv6/283-release.pl b/tests/DHCPv6/283-release.pl
index a1baae49..aeda526b 100644
--- a/tests/DHCPv6/283-release.pl
+++ b/tests/DHCPv6/283-release.pl
@@ -1,6 +1,6 @@
#! /usr/bin/perl -w
-# Copyright (c) 2007,2009 by Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007-2022 Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
@@ -15,8 +15,8 @@
# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
# Internet Systems Consortium, Inc.
-# 950 Charter Street
-# Redwood City, CA 94063
+# PO Box 360
+# Newmarket, NH 03857 USA
# <info@isc.org>
# https://www.isc.org/
@@ -103,10 +103,10 @@ do {
socket(SOCK, PF_INET6, SOCK_DGRAM, getprotobyname('udp')) || die;
my $addr = inet_pton(AF_INET6, $All_DHCP_Servers);
my $packet = $msg->packet();
- my $send_ret = send(SOCK, $packet, 0,
+ my $send_ret = send(SOCK, $packet, 0,
pack_sockaddr_in6($server_port, $addr));
if (not defined($send_ret)) {
- printf STDERR
+ printf STDERR
"Error \%d sending DHCPv6 Solicit message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
@@ -127,7 +127,7 @@ do {
}
my $rt_end_time = time() + $RT;
- if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
+ if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
$rt_end_time = $mrd_end_time;
}
@@ -144,11 +144,11 @@ do {
if (@ready) {
my $reply;
my $recv_ret;
-
+
$recv_ret = recv(SOCK, $reply, 1500, 0);
if (not defined $recv_ret) {
- printf STDERR
- "Error \%d receiving DHCPv6 " .
+ printf STDERR
+ "Error \%d receiving DHCPv6 " .
"message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
@@ -162,16 +162,16 @@ do {
}
}
-} until ($reply_msg ||
+} until ($reply_msg ||
(($MRC != 0) && ($count > $MRC)) ||
(defined($mrd_end_time) && ($mrd_end_time > time())));
unless ($reply_msg) {
if (($MRC != 0) && ($count >= $MRC)) {
- print STDERR
+ print STDERR
"No reply after maximum retransmission count.\n";
} else {
- print STDERR
+ print STDERR
"No reply after maximum retransmission duration.\n";
}
}
@@ -186,4 +186,3 @@ if ($reply_msg && ($reply_msg->{msg_type} == $MSG_REPLY)) {
#print Dumper($msg->packet()), "\n";
#
#print "packet length: ", length($msg->packet()), "\n";
-
diff --git a/tests/DHCPv6/290-decline-nohost.pl b/tests/DHCPv6/290-decline-nohost.pl
index 02a25e31..d034d7ed 100644
--- a/tests/DHCPv6/290-decline-nohost.pl
+++ b/tests/DHCPv6/290-decline-nohost.pl
@@ -1,6 +1,6 @@
#! /usr/bin/perl -w
-# Copyright (c) 2007,2009 by Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007-2022 Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
@@ -15,8 +15,8 @@
# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
# Internet Systems Consortium, Inc.
-# 950 Charter Street
-# Redwood City, CA 94063
+# PO Box 360
+# Newmarket, NH 03857 USA
# <info@isc.org>
# https://www.isc.org/
@@ -89,10 +89,10 @@ do {
socket(SOCK, PF_INET6, SOCK_DGRAM, getprotobyname('udp')) || die;
my $addr = inet_pton(AF_INET6, $All_DHCP_Servers);
my $packet = $msg->packet();
- my $send_ret = send(SOCK, $packet, 0,
+ my $send_ret = send(SOCK, $packet, 0,
pack_sockaddr_in6($server_port, $addr));
if (not defined($send_ret)) {
- printf STDERR
+ printf STDERR
"Error \%d sending DHCPv6 Solicit message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
@@ -113,7 +113,7 @@ do {
}
my $rt_end_time = time() + $RT;
- if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
+ if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
$rt_end_time = $mrd_end_time;
}
@@ -130,11 +130,11 @@ do {
if (@ready) {
my $reply;
my $recv_ret;
-
+
$recv_ret = recv(SOCK, $reply, 1500, 0);
if (not defined $recv_ret) {
- printf STDERR
- "Error \%d receiving DHCPv6 " .
+ printf STDERR
+ "Error \%d receiving DHCPv6 " .
"message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
@@ -148,16 +148,16 @@ do {
}
}
-} until ($reply_msg ||
+} until ($reply_msg ||
(($MRC != 0) && ($count > $MRC)) ||
(defined($mrd_end_time) && ($mrd_end_time > time())));
unless ($reply_msg) {
if (($MRC != 0) && ($count >= $MRC)) {
- print STDERR
+ print STDERR
"No reply after maximum retransmission count.\n";
} else {
- print STDERR
+ print STDERR
"No reply after maximum retransmission duration.\n";
}
}
@@ -172,4 +172,3 @@ if ($reply_msg && ($reply_msg->{msg_type} == $MSG_REPLY)) {
#print Dumper($msg->packet()), "\n";
#
#print "packet length: ", length($msg->packet()), "\n";
-
diff --git a/tests/DHCPv6/291-decline-bad-address.pl b/tests/DHCPv6/291-decline-bad-address.pl
index d9f0e1e1..a0ecdc6a 100644
--- a/tests/DHCPv6/291-decline-bad-address.pl
+++ b/tests/DHCPv6/291-decline-bad-address.pl
@@ -1,6 +1,6 @@
#! /usr/bin/perl -w
-# Copyright (c) 2007,2009 by Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007-2022 Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
@@ -15,8 +15,8 @@
# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
# Internet Systems Consortium, Inc.
-# 950 Charter Street
-# Redwood City, CA 94063
+# PO Box 360
+# Newmarket, NH 03857 USA
# <info@isc.org>
# https://www.isc.org/
@@ -101,10 +101,10 @@ do {
socket(SOCK, PF_INET6, SOCK_DGRAM, getprotobyname('udp')) || die;
my $addr = inet_pton(AF_INET6, $All_DHCP_Servers);
my $packet = $msg->packet();
- my $send_ret = send(SOCK, $packet, 0,
+ my $send_ret = send(SOCK, $packet, 0,
pack_sockaddr_in6($server_port, $addr));
if (not defined($send_ret)) {
- printf STDERR
+ printf STDERR
"Error \%d sending DHCPv6 Solicit message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
@@ -125,7 +125,7 @@ do {
}
my $rt_end_time = time() + $RT;
- if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
+ if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
$rt_end_time = $mrd_end_time;
}
@@ -142,11 +142,11 @@ do {
if (@ready) {
my $reply;
my $recv_ret;
-
+
$recv_ret = recv(SOCK, $reply, 1500, 0);
if (not defined $recv_ret) {
- printf STDERR
- "Error \%d receiving DHCPv6 " .
+ printf STDERR
+ "Error \%d receiving DHCPv6 " .
"message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
@@ -160,16 +160,16 @@ do {
}
}
-} until ($reply_msg ||
+} until ($reply_msg ||
(($MRC != 0) && ($count > $MRC)) ||
(defined($mrd_end_time) && ($mrd_end_time > time())));
unless ($reply_msg) {
if (($MRC != 0) && ($count >= $MRC)) {
- print STDERR
+ print STDERR
"No reply after maximum retransmission count.\n";
} else {
- print STDERR
+ print STDERR
"No reply after maximum retransmission duration.\n";
}
}
@@ -184,4 +184,3 @@ if ($reply_msg && ($reply_msg->{msg_type} == $MSG_REPLY)) {
#print Dumper($msg->packet()), "\n";
#
#print "packet length: ", length($msg->packet()), "\n";
-
diff --git a/tests/DHCPv6/292-decline-no-address.pl b/tests/DHCPv6/292-decline-no-address.pl
index 84c970f5..369b21c0 100644
--- a/tests/DHCPv6/292-decline-no-address.pl
+++ b/tests/DHCPv6/292-decline-no-address.pl
@@ -1,6 +1,6 @@
#! /usr/bin/perl -w
-# Copyright (c) 2007,2009 by Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007-2022 Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
@@ -15,8 +15,8 @@
# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
# Internet Systems Consortium, Inc.
-# 950 Charter Street
-# Redwood City, CA 94063
+# PO Box 360
+# Newmarket, NH 03857 USA
# <info@isc.org>
# https://www.isc.org/
@@ -97,10 +97,10 @@ do {
socket(SOCK, PF_INET6, SOCK_DGRAM, getprotobyname('udp')) || die;
my $addr = inet_pton(AF_INET6, $All_DHCP_Servers);
my $packet = $msg->packet();
- my $send_ret = send(SOCK, $packet, 0,
+ my $send_ret = send(SOCK, $packet, 0,
pack_sockaddr_in6($server_port, $addr));
if (not defined($send_ret)) {
- printf STDERR
+ printf STDERR
"Error \%d sending DHCPv6 Solicit message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
@@ -121,7 +121,7 @@ do {
}
my $rt_end_time = time() + $RT;
- if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
+ if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
$rt_end_time = $mrd_end_time;
}
@@ -138,11 +138,11 @@ do {
if (@ready) {
my $reply;
my $recv_ret;
-
+
$recv_ret = recv(SOCK, $reply, 1500, 0);
if (not defined $recv_ret) {
- printf STDERR
- "Error \%d receiving DHCPv6 " .
+ printf STDERR
+ "Error \%d receiving DHCPv6 " .
"message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
@@ -156,16 +156,16 @@ do {
}
}
-} until ($reply_msg ||
+} until ($reply_msg ||
(($MRC != 0) && ($count > $MRC)) ||
(defined($mrd_end_time) && ($mrd_end_time > time())));
unless ($reply_msg) {
if (($MRC != 0) && ($count >= $MRC)) {
- print STDERR
+ print STDERR
"No reply after maximum retransmission count.\n";
} else {
- print STDERR
+ print STDERR
"No reply after maximum retransmission duration.\n";
}
}
@@ -180,4 +180,3 @@ if ($reply_msg && ($reply_msg->{msg_type} == $MSG_REPLY)) {
#print Dumper($msg->packet()), "\n";
#
#print "packet length: ", length($msg->packet()), "\n";
-
diff --git a/tests/DHCPv6/293-decline.pl b/tests/DHCPv6/293-decline.pl
index 960195ab..014553fa 100644
--- a/tests/DHCPv6/293-decline.pl
+++ b/tests/DHCPv6/293-decline.pl
@@ -1,6 +1,6 @@
#! /usr/bin/perl -w
-# Copyright (c) 2007,2009 by Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007-2022 Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
@@ -15,8 +15,8 @@
# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
# Internet Systems Consortium, Inc.
-# 950 Charter Street
-# Redwood City, CA 94063
+# PO Box 360
+# Newmarket, NH 03857 USA
# <info@isc.org>
# https://www.isc.org/
@@ -103,10 +103,10 @@ do {
socket(SOCK, PF_INET6, SOCK_DGRAM, getprotobyname('udp')) || die;
my $addr = inet_pton(AF_INET6, $All_DHCP_Servers);
my $packet = $msg->packet();
- my $send_ret = send(SOCK, $packet, 0,
+ my $send_ret = send(SOCK, $packet, 0,
pack_sockaddr_in6($server_port, $addr));
if (not defined($send_ret)) {
- printf STDERR
+ printf STDERR
"Error \%d sending DHCPv6 Solicit message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
@@ -127,7 +127,7 @@ do {
}
my $rt_end_time = time() + $RT;
- if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
+ if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
$rt_end_time = $mrd_end_time;
}
@@ -144,11 +144,11 @@ do {
if (@ready) {
my $reply;
my $recv_ret;
-
+
$recv_ret = recv(SOCK, $reply, 1500, 0);
if (not defined $recv_ret) {
- printf STDERR
- "Error \%d receiving DHCPv6 " .
+ printf STDERR
+ "Error \%d receiving DHCPv6 " .
"message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
@@ -162,16 +162,16 @@ do {
}
}
-} until ($reply_msg ||
+} until ($reply_msg ||
(($MRC != 0) && ($count > $MRC)) ||
(defined($mrd_end_time) && ($mrd_end_time > time())));
unless ($reply_msg) {
if (($MRC != 0) && ($count >= $MRC)) {
- print STDERR
+ print STDERR
"No reply after maximum retransmission count.\n";
} else {
- print STDERR
+ print STDERR
"No reply after maximum retransmission duration.\n";
}
}
@@ -186,4 +186,3 @@ if ($reply_msg && ($reply_msg->{msg_type} == $MSG_REPLY)) {
#print Dumper($msg->packet()), "\n";
#
#print "packet length: ", length($msg->packet()), "\n";
-
diff --git a/tests/DHCPv6/dhcp_client.pm b/tests/DHCPv6/dhcp_client.pm
index 5caa3776..f968e338 100644
--- a/tests/DHCPv6/dhcp_client.pm
+++ b/tests/DHCPv6/dhcp_client.pm
@@ -1,6 +1,6 @@
#! /usr/bin/perl -w
-# Copyright (c) 2007,2009 by Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007-2022 Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
@@ -15,8 +15,8 @@
# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
# Internet Systems Consortium, Inc.
-# 950 Charter Street
-# Redwood City, CA 94063
+# PO Box 360
+# Newmarket, NH 03857 USA
# <info@isc.org>
# https://www.isc.org/
@@ -90,12 +90,12 @@ $HOP_COUNT_LIMIT = 32;
@EXPORT = qw( $MSG_SOLICIT $MSG_ADVERTISE $MSG_REQUEST $MSG_CONFIRM
$MSG_RENEW $MSG_REBIND $MSG_REPLY $MSG_RELEASE $MSG_DECLINE
$MSG_RECONFIGURE $MSG_INFORMATION_REQUEST $MSG_RELAY_FORW
- $MSG_RELAY_REPL
+ $MSG_RELAY_REPL
$OPT_CLIENTID $OPT_SERVERID $OPT_IA_NA $OPT_IA_TA $OPT_IAADDR
$OPT_ORO $OPT_PREFERENCE $OPT_ELAPSED_TIME $OPT_RELAY_MSG
$OPT_AUTH $OPT_UNICAST $OPT_STATUS_CODE $OPT_RAPID_COMMIT
- $OPT_USER_CLASS $OPT_VENDOR_CLASS $OPT_VENDOR_OPTS
- $OPT_INTERFACE_ID $OPT_RECONF_MSG $OPT_RECONF_ACCEPT
+ $OPT_USER_CLASS $OPT_VENDOR_CLASS $OPT_VENDOR_OPTS
+ $OPT_INTERFACE_ID $OPT_RECONF_MSG $OPT_RECONF_ACCEPT
$SOL_MAX_DELAY $SOL_TIMEOUT $SOL_MAX_RT $REQ_TIMEOUT
$REQ_MAX_RT $REQ_MAX_RC $CNF_MAX_DELAY $CNF_MAX_RT
$CNF_MAX_RD $REN_TIMEOUT $REN_MAX_RT $REB_TIMEOUT $REB_MAX_RT
@@ -164,7 +164,7 @@ my %docsis_type_num = (
CL_OPTION_DOCSIS_VERS => 38,
);
my %docsis_num_type = reverse(%docsis_type_num);
-
+
use strict;
use English;
use POSIX;
@@ -188,7 +188,7 @@ sub mac_addr {
}
}
my @mac_addrs;
- foreach my $line (split(/\n/, `arp -an 2>/dev/null`)) {
+ foreach my $line (split(/\n/, `arp -an 2>/dev/null`)) {
my @parts = split(/\s+/, $line);
my $ip = $parts[1];
my $mac = $parts[-1];
@@ -225,7 +225,7 @@ sub duid {
if (($type == 1) || ($type == 3)) {
my $mac_addr = mac_addr_binary();
- if ($type == 1) {
+ if ($type == 1) {
my $time = pack("N", dhcpv6_time());
return "\x00\x01\x00\x01${time}${mac_addr}";
} else {
@@ -251,7 +251,7 @@ sub new {
if (defined $trans_id) {
$this->{trans_id} = $trans_id;
} else {
- $this->{trans_id} = chr(rand(256)) .
+ $this->{trans_id} = chr(rand(256)) .
chr(rand(256)) . chr(rand(256));
}
$this->{options} = [ ];
@@ -336,7 +336,7 @@ sub print_docsis_option {
my $num_servers = length($data) / 16;
for (my $i=0; $i<$num_servers; $i++) {
my $srv = inet_ntop(AF_INET6, substr($data, $i*16, 16));
- print "$indent TFTP server ", ($i+1), ": ";
+ print "$indent TFTP server ", ($i+1), ": ";
print uc($srv), "\n";
}
} elsif ($docsis_num_type{$num} eq "CL_OPTION_CONFIG_FILE_NAME") {
@@ -345,7 +345,7 @@ sub print_docsis_option {
my $num_servers = length($data) / 16;
for (my $i=0; $i<$num_servers; $i++) {
my $srv = inet_ntop(AF_INET6, substr($data, $i*16, 16));
- print "$indent syslog server ", ($i+1), ": ";
+ print "$indent syslog server ", ($i+1), ": ";
print uc($srv), "\n";
}
}
@@ -369,7 +369,7 @@ sub print_option {
}
print "\n";
}
- } elsif (($num == $dhcp_client::OPT_CLIENTID) ||
+ } elsif (($num == $dhcp_client::OPT_CLIENTID) ||
($num == $dhcp_client::OPT_SERVERID)) {
print $indent, " ";
if (length($data) > 0) {
@@ -380,7 +380,7 @@ sub print_option {
}
print "\n";
} elsif ($num == $dhcp_client::OPT_IA_NA) {
- printf "${indent} IAID: 0x\%08X\n",
+ printf "${indent} IAID: 0x\%08X\n",
unpack("N", substr($data, 0, 4));
printf "${indent} T1: \%d\n", unpack("N", substr($data, 4, 4));
printf "${indent} T2: \%d\n", unpack("N", substr($data, 8, 4));
@@ -391,7 +391,7 @@ sub print_option {
}
}
} elsif ($num == $dhcp_client::OPT_IAADDR) {
- printf "${indent} IPv6 address: \%s\n",
+ printf "${indent} IPv6 address: \%s\n",
uc(inet_ntop(AF_INET6, substr($data, 0, 16)));
printf "${indent} Preferred lifetime: \%d\n",
unpack("N", substr($data, 16, 4));
@@ -422,10 +422,10 @@ sub print_option {
}
print "\n";
print "${indent} Message: \"$msg\"\n";
- }
+ }
}
-# XXX: we aren't careful about packet boundaries and values...
+# XXX: we aren't careful about packet boundaries and values...
# DO NOT RUN ON PRODUCTION SYSTEMS!!!
sub decode {
my ($packet, $print) = @_;
@@ -451,4 +451,3 @@ sub decode {
return $msg;
}
-
diff --git a/tests/DHCPv6/stubcli-opt-in-na.pl b/tests/DHCPv6/stubcli-opt-in-na.pl
index d68ba09e..ae113784 100644
--- a/tests/DHCPv6/stubcli-opt-in-na.pl
+++ b/tests/DHCPv6/stubcli-opt-in-na.pl
@@ -1,6 +1,6 @@
#! /usr/bin/perl -w
-# Copyright (c) 2007,2009 by Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007-2022 Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
@@ -15,8 +15,8 @@
# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
# Internet Systems Consortium, Inc.
-# 950 Charter Street
-# Redwood City, CA 94063
+# PO Box 360
+# Newmarket, NH 03857 USA
# <info@isc.org>
# https://www.isc.org/
@@ -96,7 +96,7 @@ my @docsis_oro = ( $DOCSIS_OPT_TFTP_SERVERS );
$vsio .= pack("nnC*", $DOCSIS_OPT_ORO, 0+@docsis_oro, @docsis_oro);
# TLV5 data: CMTS DOCSIS version number 3.0 (required by DOCSIS)
-my $tlv5_data = "\x01\x02\x03\x0";
+my $tlv5_data = "\x01\x02\x03\x0";
$vsio .= pack("nn", $DOCSIS_OPT_TLV5, length($tlv5_data)) . $tlv5_data;
# DOCSIS Device (required by DOCSIS)
@@ -131,10 +131,10 @@ do {
socket(SOCK, PF_INET6, SOCK_DGRAM, getprotobyname('udp')) || die;
my $addr = inet_pton(AF_INET6, $All_DHCP_Servers);
my $packet = $msg->packet();
- my $send_ret = send(SOCK, $packet, 0,
+ my $send_ret = send(SOCK, $packet, 0,
pack_sockaddr_in6($server_port, $addr));
if (not defined($send_ret)) {
- printf STDERR
+ printf STDERR
"Error \%d sending DHCPv6 Solicit message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
@@ -155,7 +155,7 @@ do {
}
my $rt_end_time = time() + $RT;
- if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
+ if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
$rt_end_time = $mrd_end_time;
}
@@ -172,11 +172,11 @@ do {
if (@ready) {
my $reply;
my $recv_ret;
-
+
$recv_ret = recv(SOCK, $reply, 1500, 0);
if (not defined $recv_ret) {
- printf STDERR
- "Error \%d receiving DHCPv6 " .
+ printf STDERR
+ "Error \%d receiving DHCPv6 " .
"message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
@@ -190,16 +190,16 @@ do {
}
}
-} until ($reply_msg ||
+} until ($reply_msg ||
(($MRC != 0) && ($count > $MRC)) ||
(defined($mrd_end_time) && ($mrd_end_time > time())));
unless ($reply_msg) {
if (($MRC != 0) && ($count >= $MRC)) {
- print STDERR
+ print STDERR
"No reply after maximum retransmission count.\n";
} else {
- print STDERR
+ print STDERR
"No reply after maximum retransmission duration.\n";
}
}
@@ -214,4 +214,3 @@ if ($reply_msg && ($reply_msg->{msg_type} == $MSG_REPLY)) {
#print Dumper($msg->packet()), "\n";
#
#print "packet length: ", length($msg->packet()), "\n";
-
diff --git a/tests/DHCPv6/stubcli.pl b/tests/DHCPv6/stubcli.pl
index be9538cd..20b3771f 100644
--- a/tests/DHCPv6/stubcli.pl
+++ b/tests/DHCPv6/stubcli.pl
@@ -1,6 +1,6 @@
#! /usr/bin/perl -w
-# Copyright (c) 2007,2009 by Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2007-2022 Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
@@ -15,8 +15,8 @@
# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
# Internet Systems Consortium, Inc.
-# 950 Charter Street
-# Redwood City, CA 94063
+# PO Box 360
+# Newmarket, NH 03857 USA
# <info@isc.org>
# https://www.isc.org/
@@ -91,7 +91,7 @@ my @docsis_oro = ( $DOCSIS_OPT_TFTP_SERVERS );
$vsio .= pack("nnC*", $DOCSIS_OPT_ORO, 0+@docsis_oro, @docsis_oro);
# TLV5 data: CMTS DOCSIS version number 3.0 (required by DOCSIS)
-my $tlv5_data = "\x01\x02\x03\x0";
+my $tlv5_data = "\x01\x02\x03\x0";
$vsio .= pack("nn", $DOCSIS_OPT_TLV5, length($tlv5_data)) . $tlv5_data;
# DOCSIS Device (required by DOCSIS)
@@ -126,10 +126,10 @@ do {
socket(SOCK, PF_INET6, SOCK_DGRAM, getprotobyname('udp')) || die;
my $addr = inet_pton(AF_INET6, $All_DHCP_Servers);
my $packet = $msg->packet();
- my $send_ret = send(SOCK, $packet, 0,
+ my $send_ret = send(SOCK, $packet, 0,
pack_sockaddr_in6($server_port, $addr));
if (not defined($send_ret)) {
- printf STDERR
+ printf STDERR
"Error \%d sending DHCPv6 Solicit message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
@@ -150,7 +150,7 @@ do {
}
my $rt_end_time = time() + $RT;
- if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
+ if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
$rt_end_time = $mrd_end_time;
}
@@ -167,11 +167,11 @@ do {
if (@ready) {
my $reply;
my $recv_ret;
-
+
$recv_ret = recv(SOCK, $reply, 1500, 0);
if (not defined $recv_ret) {
- printf STDERR
- "Error \%d receiving DHCPv6 " .
+ printf STDERR
+ "Error \%d receiving DHCPv6 " .
"message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
@@ -185,16 +185,16 @@ do {
}
}
-} until ($reply_msg ||
+} until ($reply_msg ||
(($MRC != 0) && ($count > $MRC)) ||
(defined($mrd_end_time) && ($mrd_end_time > time())));
unless ($reply_msg) {
if (($MRC != 0) && ($count >= $MRC)) {
- print STDERR
+ print STDERR
"No reply after maximum retransmission count.\n";
} else {
- print STDERR
+ print STDERR
"No reply after maximum retransmission duration.\n";
}
}
@@ -209,4 +209,3 @@ if ($reply_msg && ($reply_msg->{msg_type} == $MSG_REPLY)) {
#print Dumper($msg->packet()), "\n";
#
#print "packet length: ", length($msg->packet()), "\n";
-
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 40a917fa..cb972b74 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.2 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2020 Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -159,8 +159,6 @@ am__define_uniq_tagged_files = \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
am__DIST_COMMON = $(srcdir)/Makefile.am.in $(srcdir)/Makefile.in \
$(srcdir)/unittest.sh.in $(top_srcdir)/depcomp
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -191,6 +189,8 @@ CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
@@ -202,6 +202,7 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
GREP = @GREP@
INSTALL = @INSTALL@
@@ -444,7 +445,6 @@ cscopelist-am: $(am__tagged_files)
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
diff --git a/util/Makefile.bind.in b/util/Makefile.bind.in
index 8fe8883f..7e2993f6 100644
--- a/util/Makefile.bind.in
+++ b/util/Makefile.bind.in
@@ -116,5 +116,6 @@ uninstall-bind: all
# Include the following so that this Makefile is happy when the parent
# tries to use them.
+install-exec:
check distdir distclean dvi installcheck:
diff --git a/util/bind-kit.sh b/util/bind-kit.sh
new file mode 100644
index 00000000..8b0a640a
--- /dev/null
+++ b/util/bind-kit.sh
@@ -0,0 +1,214 @@
+#!/bin/sh
+#
+# Copyright (C) 2022 Internet Systems Consortium, Inc. ("ISC")
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, you can obtain one at https://mozilla.org/MPL/2.0/.
+#
+# See the COPYRIGHT file distributed with this work for additional
+# information regarding copyright ownership.
+
+# Make a release kit
+#
+# Usage: sh kit.sh tag tmpdir
+#
+# (e.g., sh kit.sh v9_0_0b5 /tmp/bindkit
+#
+# To build a snapshot release, use the pseudo-tag "snapshot".
+#
+# (e.g., sh kit.sh snapshot /tmp/bindkit
+#
+
+remote=--remote=git@gitlab.isc.org:isc-projects/bind9.git
+
+case "${1:-}" in
+--remote=*)
+ remote="${1}"
+ shift
+ ;;
+esac
+
+repo=`expr "X${remote}X" : '^X--remote=\(.*\)X$'`
+
+case $# in
+ 3)
+ case "$1" in
+ snapshot) ;;
+ *) echo "usage: sh kit.sh [snapshot] gittag tmpdir" >&2
+ exit 1
+ ;;
+ esac
+ snapshot=true;
+ releasetag=$2
+ tag=$2
+ tmpdir=$3
+ ;;
+ 2)
+ tag=$1
+ tmpdir=$2
+ case $tag in
+ snapshot) tag=master; snapshot=true ; releasetag="" ;;
+ *) snapshot=false ;;
+ esac
+ ;;
+ *) echo "usage: sh kit.sh [snapshot] gittag tmpdir" >&2
+ exit 1
+ ;;
+esac
+
+# create tmpdir
+test -d $tmpdir ||
+mkdir $tmpdir || {
+ echo "$0: could not create directory $tmpdir" >&2
+ exit 1
+}
+
+cd $tmpdir || {
+ echo "$0: cd $tmpdir failed"
+ exit 1
+}
+
+hash=`git ls-remote $repo refs/heads/$tag | awk '{print $1}'`
+if [ -z "$hash" ]; then
+ hash=`git ls-remote $repo refs/tags/$tag | awk '{print $1}'`
+fi
+if [ -z "$hash" ]; then
+ echo "Unable to determine hash for $tag, aborting."
+ exit 1
+fi
+shorthash=`echo $hash | cut -c1-7`
+
+verdir=bind9-kit.$$
+mkdir $verdir || {
+ echo "$0: could not create directory $tmpdir/$verdir" >&2
+ exit 1
+}
+git archive --format=tar $remote $tag version | ( cd $verdir ;tar xf - )
+test -f $verdir/version || {
+ echo "$0: could not get 'version' file" >&2
+ exit 1
+}
+. $verdir/version
+
+rm $verdir/version
+rmdir $verdir
+
+if $snapshot
+then
+ RELEASETYPE=s
+ RELEASEVER=${shorthash}
+fi
+
+version=${MAJORVER}.${MINORVER}${PATCHVER:+.}${PATCHVER}${RELEASETYPE}${RELEASEVER}${EXTENSIONS}
+
+echo "building release kit for BIND version $version, hold on..."
+
+topdir=bind-$version
+
+test ! -d $topdir || {
+ echo "$0: directory $tmpdir/$topdir already exists" >&2
+ exit 1
+}
+
+mkdir $topdir || exit 1
+
+git archive --format=tar $remote $tag | ( cd $topdir; tar xf -)
+
+cd $topdir || exit 1
+
+if $snapshot
+then
+ cat <<EOF >version
+MAJORVER=$MAJORVER
+MINORVER=$MINORVER
+PATCHVER=$PATCHVER
+RELEASETYPE=$RELEASETYPE
+RELEASEVER=$RELEASEVER
+EXTENSIONS=$EXTENSIONS
+EOF
+fi
+
+# Omit some files and directories from the kit.
+#
+# Some of these directories (doc/html, doc/man...) no longer
+# contain any files and should therefore be absent in the
+# checked-out tree, but they did exist at some point and
+# we still delete them from releases just in case something
+# gets accidentally resurrected.
+
+rm -rf TODO EXCLUDED conftools doc/design doc/dev doc/draft doc/expired \
+ doc/html doc/rfc doc/todo doc/private bin/lwresd doc/man doc/markdown \
+ lib/lwres/man/resolver.5 contrib/zkt/doc/rfc5011.txt \
+ bin/tests/system/relay lib/cfg
+
+# Remove everything but mksymtbl.pl, bindkeys.pl and check-make-install.in
+# from util
+find util -name bindkeys.pl -o -name mksymtbl.pl -o -name check-make-install.in -prune -o -type f -print | xargs rm -f
+find util -depth -type d -print | xargs rmdir 2>/dev/null
+
+# Remove all .gitignore files
+find . -name .gitignore -print | xargs rm
+
+# Remove branchsync.dat, if present
+rm -f branchsync.dat
+
+# populate srcid file
+echo "SRCID=$shorthash" > srcid
+
+# The following files should be executable.
+chmod +x configure install-sh mkinstalldirs bin/tests/system/ifconfig.sh
+# Fix up releases with libbind.
+if test -f lib/bind/configure
+then
+ chmod +x lib/bind/configure lib/bind/mkinstalldirs
+fi
+
+# Fix files which should be using DOS style newlines
+windirs=`find lib bin -type d -name win32`
+windirs="$windirs win32utils"
+winnames="-name *.mak -or -name *.dsp -or -name *.dsw -or -name *.txt -or -name *.bat"
+for f in `find $windirs -type f \( $winnames \) -print`
+do
+ awk '{sub("\r$", "", $0); printf("%s\r\n", $0);}' < $f > tmp
+ touch -r $f tmp
+ mv tmp $f
+done
+
+# check that documentation has been updated properly; issue a warning
+# if it hasn't
+ok=
+for f in doc/arm/*.html
+do
+ if test "$f" -nt doc/arm/Bv9ARM-book.xml
+ then
+ ok=ok
+ fi
+done
+
+if test "$ok" != ok
+then
+ echo "WARNING: ARM source is newer than the html version."
+fi
+
+if test doc/arm/Bv9ARM-book.xml -nt doc/arm/Bv9ARM.pdf
+then
+ echo "WARNING: ARM source is newer than the PDF version."
+fi
+
+for f in `find . -name "*.docbook" -print`
+do
+ docbookfile=$f
+ htmlfile=${f%.docbook}.html
+ if test $docbookfile -nt $htmlfile
+ then
+ echo "WARNING: $docbookfile is newer than the html version."
+ fi
+done
+
+# build the tarball
+cd .. || exit 1
+
+kit=$topdir.tar.gz
+tar -c -f - $topdir | gzip > $kit
+echo "done, kit is in `pwd`/$kit"
diff --git a/util/bind.sh b/util/bind.sh
index 1a7180c2..2f25b6fe 100644
--- a/util/bind.sh
+++ b/util/bind.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2009-2020 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2009-2022 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -73,7 +73,7 @@ case $# in
### For ease of use, this records the sticky tag of versions
### released with each point release.
###
- 4.4.2-P1) noSNAP=snapshot BINDTAG=v9_11_14 ;;
+ 4.4.3) noSNAP=snapshot BINDTAG=v9_11_36 ;;
4.4.2) noSNAP=snapshot BINDTAG=v9_11_14 ;;
4.4.2b1) noSNAP=snapshot BINDTAG=v9_11_14 ;;
4.4.2-dev) noSNAP=snapshot BINDTAG=v9_11_8 ;;
@@ -135,6 +135,7 @@ else
# Make and move to our directory for all things bind
mkdir $binddir
cp util/Makefile.bind.in bind/Makefile.in
+ cp util/bind-kit.sh bind/kit.sh
cd $binddir
# Get the bind version file and move it to version.tmp
@@ -152,19 +153,7 @@ else
fi
mv version version.tmp
- # Get the bind release kit shell script
- if type wget
- then
- wget https://$repo_host/$repo_path/raw/master/util/kit.sh ||
- { echo "Fetch of kit.sh file failed" ; exit -1; }
- elif type fetch
- then
- fetch https://$repo_host/$repo_path/raw/master/util/kit.sh ||
- { echo "Fetch of kit.sh failed" ; exit -1; }
- else
- echo "Fetch of kit.sh failed"
- exit 1
- fi
+ # Now the bind release kit shell script is distributed
# Create the bind tarball, which has the side effect of
# setting up the bind directory we will use for building