Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0ba9fb147b | ||
|
|
48478f0893 | ||
|
|
e20e465933 |
@@ -1,420 +1,3 @@
|
||||
--- 9.12.1 released ---
|
||||
--- 9.12.1rc2 released ---
|
||||
|
||||
4904. [bug] Temporarily revert change #4859. [GL #124]
|
||||
|
||||
--- 9.12.1rc1 released ---
|
||||
|
||||
4894. [bug] named could crash while rolling a dnstap output file.
|
||||
[RT #46942]
|
||||
|
||||
4893. [bug] Address various issues reported by cppcheck. [GL #51]
|
||||
|
||||
4892. [bug] named could leak memory when "rndc reload" was invoked
|
||||
before all zone loading actions triggered by a previous
|
||||
"rndc reload" command were completed. [RT #47076]
|
||||
|
||||
4889. [func] Warn about the use of old root keys without the new
|
||||
root key being present. Warn about dlv.isc.org's
|
||||
key being present. Warn about both managed and
|
||||
trusted root keys being present. [RT #43670]
|
||||
|
||||
--- 9.12.1b1 released ---
|
||||
|
||||
4888. [test] Initialize sockets correctly in sample-update so
|
||||
that the nsupdate system test will run on Windows.
|
||||
[RT #47097]
|
||||
|
||||
4887. [test] Enable the rpzrecurse test to run on Windows.
|
||||
[RT #47093]
|
||||
|
||||
4886. [doc] Document dig -u in manpage. [RT #47150]
|
||||
|
||||
4885. [security] update-policy rules that otherwise ignore the name
|
||||
field now require that it be set to "." to ensure
|
||||
that any type list present is properly interpreted.
|
||||
[RT #47126]
|
||||
|
||||
4884. [bug] named could crash on shutdown due to a race between
|
||||
shutdown_server() and ns__client_request(). [RT #47120]
|
||||
|
||||
4883. [cleanup] Improved debugging output from dnssec-cds. [RT #47026]
|
||||
|
||||
4882. [bug] Address potential memory leak in
|
||||
dns_update_signaturesinc. [RT #47084]
|
||||
|
||||
4881. [bug] Only include dst_openssl.h when OpenSSL is required.
|
||||
[RT #47068]
|
||||
|
||||
4880. [bug] Named wasn't returning the target of a cross-zone
|
||||
CNAME between two served zones when recursion was
|
||||
desired and available (RD=1, RA=1). (When this is
|
||||
not the case, the CNAME target is deliberately
|
||||
withheld to prevent accidental cache poisoning.)
|
||||
[RT #47078]
|
||||
|
||||
4879. [bug] dns_rdata_caa:value_len field was too small.
|
||||
[RT #47086]
|
||||
|
||||
4878. [bug] List 'ply' as a requirement for the 'isc' python
|
||||
package. [RT #47065]
|
||||
|
||||
4877. [bug] Address integer overflow when exponentially
|
||||
backing off retry intervals. [RT #47041]
|
||||
|
||||
4876. [bug] Address deadlock with accessing a keytable. [RT #47000]
|
||||
|
||||
4875. [bug] Address compile failures on older systems. [RT #47015]
|
||||
|
||||
4874. [bug] Wrong time display when reporting new keywarntime.
|
||||
[RT #47042]
|
||||
|
||||
4873. [doc] Grammars for named.conf included in the ARM are now
|
||||
automatically generated by the configuration parser
|
||||
itself. As a side effect of the work needed to
|
||||
separate zone type grammars from each other, this
|
||||
also makes checking of zone statements in
|
||||
named-checkconf more correct and consistent.
|
||||
[RT #36957]
|
||||
|
||||
4872. [bug] Don't permit loading meta RR types such as TKEY
|
||||
from master files. [RT #47009]
|
||||
|
||||
4871. [bug] Fix configure glitch in detecting stdatomic.h
|
||||
support on systems with multiple compilers.
|
||||
[RT #46959]
|
||||
|
||||
4870. [test] Update included ATF library to atf-0.21 preserving
|
||||
the ATF tool. [RT #46967]
|
||||
|
||||
4869. [bug] Address some cases where NULL with zero length could
|
||||
be passed to memmove which is undefined behavior and
|
||||
can lead to bad optimization. [RT #46888]
|
||||
|
||||
4867. [cleanup] Normalize rndc on/off commands (validation,
|
||||
querylog, serve-stale) so they all accept the
|
||||
same synonyms for on/off (yes/no, true/false,
|
||||
enable/disable). Thanks to Tony Finch. [RT #47022]
|
||||
|
||||
4866. [port] DST library initialization verifies MD5 (when MD5
|
||||
was not disabled) and SHA-1 hash and HMAC support.
|
||||
[RT #46764]
|
||||
|
||||
4864. [bug] named acting as a slave for a catalog zone crashed if
|
||||
the latter contained a master definition without an IP
|
||||
address. [RT #45999]
|
||||
|
||||
4861. [bug] The isc_crc64 unit test was not endian independent.
|
||||
[RT #46973]
|
||||
|
||||
4860. [bug] isc_int8_t should be signed char. [RT #46973]
|
||||
|
||||
|
||||
4857. [bug] Maintain attach/detach semantics for event->db,
|
||||
event->node, event->rdataset and event->sigrdataset
|
||||
in query.c. [RT #46891]
|
||||
|
||||
4856. [bug] 'rndc zonestatus' reported the wrong underlying type
|
||||
for a inline slave zone. [RT #46875]
|
||||
|
||||
4855. [bug] isc_time_formatshorttimestamp produced incorrect
|
||||
output. [RT #46938]
|
||||
|
||||
4854. [bug] query_synthcnamewildcard should stop generating the
|
||||
response if query_synthwildcard fails. [RT #46939]
|
||||
|
||||
4853. [bug] Add REQUIRE's and INSIST's to isc_time_formatISO8601L
|
||||
and isc_time_formatISO8601Lms. [RT #46916]
|
||||
|
||||
4852. [bug] Handle strftime() failing in isc_time_formatISO8601ms.
|
||||
Add REQUIRE's and INSIST's to isc_time_formattimestamp,
|
||||
isc_time_formathttptimestamp, isc_time_formatISO8601,
|
||||
isc_time_formatISO8601ms. [RT #46892]
|
||||
|
||||
4851. [port] Support using kyua as well as atf-run to run the unit
|
||||
tests. [RT #46853]
|
||||
|
||||
4847. [bug] dnssec-dnskey-kskonly was not being honored for
|
||||
CDS and CDNSKEY. [RT #46755]
|
||||
|
||||
4846. [test] Adjust timing values in runtime system test. Address
|
||||
named.pid removal races in runtime system test.
|
||||
[RT #46800]
|
||||
|
||||
4845. [bug] Dig (non iOS) should exit on malformed names.
|
||||
[RT #46806]
|
||||
|
||||
4844. [test] Address memory leaks in libatf-c. [RT #46798]
|
||||
|
||||
4843. [bug] dnssec-signzone free hashlist on exit. [RT #46791]
|
||||
|
||||
4842. [bug] Conditionally compile opensslecdsa_link.c to avoid
|
||||
warnings about unused function. [RT #46790]
|
||||
|
||||
--- 9.12.0 released ---
|
||||
|
||||
--- 9.12.0rc3 released ---
|
||||
|
||||
4863. [bug] Fix various other bugs reported by Valgrind's
|
||||
memcheck tool. [RT #46978]
|
||||
|
||||
4862. [bug] The rdata flags for RRSIG were not being properly set
|
||||
when constructing a rdataslab. [RT #46978]
|
||||
|
||||
--- 9.12.0rc2 released ---
|
||||
|
||||
4859. [bug] A loop was possible when attempting to validate
|
||||
unsigned CNAME responses from secure zones;
|
||||
this caused a delay in returning SERVFAIL and
|
||||
also increased the chances of encountering
|
||||
CVE-2017-3145. [RT #46839]
|
||||
|
||||
4858. [security] Addresses could be referenced after being freed
|
||||
in resolver.c, causing an assertion failure.
|
||||
(CVE-2017-3145) [RT #46839]
|
||||
|
||||
4850. [bug] Named failed to restart with multiple added zones in
|
||||
lmdb database. [RT #46889]
|
||||
|
||||
4849. [bug] Duplicate zones could appear in the .nzf file if
|
||||
addzone failed. [RT #46435]
|
||||
|
||||
--- 9.12.0rc1 released ---
|
||||
|
||||
4841. [bug] Address -fsanitize=undefined warnings. [RT #46786]
|
||||
|
||||
4840. [test] Add tests to cover fallback to using ZSK on inactive
|
||||
KSK. [RT #46787]
|
||||
|
||||
4839. [bug] zone.c:zone_sign was not properly determining
|
||||
if there were active KSK and ZSK keys for
|
||||
a algorithm when update-check-ksk is true
|
||||
(default) leaving records unsigned with one or
|
||||
more DNSKEY algorithms. [RT #46774]
|
||||
|
||||
4838. [bug] zone.c:add_sigs was not properly determining
|
||||
if there were active KSK and ZSK keys for
|
||||
a algorithm when update-check-ksk is true
|
||||
(default) leaving records unsigned with one or
|
||||
more DNSKEY algorithms. [RT #46754]
|
||||
|
||||
4837. [bug] dns_update_signatures{inc} (add_sigs) was not
|
||||
properly determining if there were active KSK and
|
||||
ZSK keys for a algorithm when update-check-ksk is
|
||||
true (default) leaving records unsigned when there
|
||||
were multiple DNSKEY algorithms for the zone.
|
||||
[RT #46743]
|
||||
|
||||
4836. [bug] Zones created using "rndc addzone" could
|
||||
temporarily fail to inherit an "allow-transfer"
|
||||
ACL that had been configured in the options
|
||||
statement. [RT #46603]
|
||||
|
||||
4835. [cleanup] Clean up and refactor LMDB-related code. [RT #46718]
|
||||
|
||||
4834. [port] Fix LMDB support on OpenBSD. [RT #46718]
|
||||
|
||||
4833. [bug] isc_event_free should check that the event is not
|
||||
linked when called. [RT #46725]
|
||||
|
||||
4832. [bug] Events were not being removed from zone->rss_events.
|
||||
[RT #46725]
|
||||
|
||||
4831. [bug] Convert the RRSIG expirytime to 64 bits for
|
||||
comparisions in diff.c:resign. [RT #46710]
|
||||
|
||||
4830. [bug] Failure to configure ATF when requested did not cause
|
||||
an error in top-level configure script. [RT #46655]
|
||||
|
||||
4829. [bug] isc_heap_delete did not zero the index value when
|
||||
the heap was created with a callback to do that.
|
||||
[RT #46709]
|
||||
|
||||
4828. [bug] Do not use thread-local storage for storing LMDB reader
|
||||
locktable slots. [RT #46556]
|
||||
|
||||
4827. [misc] Add a precommit check script util/checklibs.sh
|
||||
[RT #46215]
|
||||
|
||||
4826. [cleanup] Prevent potential build failures in bin/confgen/ and
|
||||
bin/named/ when using parallel make. [RT #46648]
|
||||
|
||||
4825. [bug] Prevent a bogus "error during managed-keys processing
|
||||
(no more)" warning from being logged. [RT #46645]
|
||||
|
||||
4824. [port] Add iOS hooks to dig. [RT #42011]
|
||||
|
||||
4823. [test] Refactor reclimit system test to improve its
|
||||
reliability and speed. [RT #46632]
|
||||
|
||||
4822. [bug] Use resign_sooner in dns_db_setsigningtime. [RT #46473]
|
||||
|
||||
4821. [bug] When resigning ensure that the SOA's expire time is
|
||||
always later that the resigning time of other records.
|
||||
[RT #46473]
|
||||
|
||||
4820. [bug] dns_db_subtractrdataset should transfer the resigning
|
||||
information to the new header. [RT #46473]
|
||||
|
||||
4819. [bug] Fully backout the transaction when adding a RRset
|
||||
to the resigning / removal heaps fails. [RT #46473]
|
||||
|
||||
4818. [test] The logfileconfig system test could intermittently
|
||||
report false negatives on some platforms. [RT #46615]
|
||||
|
||||
4817. [cleanup] Use DNS_NAME_INITABSOLUTE and DNS_NAME_INITNONABSOLUTE.
|
||||
[RT #45433]
|
||||
|
||||
4816. [bug] Don't use a common array for storing EDNS options
|
||||
in DiG as it could fill up. [RT #45611]
|
||||
|
||||
4815. [bug] rbt_test.c:insert_and_delete needed to call
|
||||
dns_rbt_addnode instead of dns_rbt_addname. [RT #46553]
|
||||
|
||||
4814. [cleanup] Use AS_HELP_STRING for consistent help text. [RT #46521]
|
||||
|
||||
4813. [bug] Address potential read after free errors from
|
||||
query_synthnodata, query_synthwildcard and
|
||||
query_synthnxdomain. [RT #46547]
|
||||
|
||||
4812. [bug] Minor improvements to stability and consistency of code
|
||||
handling managed keys. [RT #46468]
|
||||
|
||||
4811. [bug] Revert api changes to use <isc/buffer.h> inline
|
||||
macros. Provide a alternative mechanism to turn
|
||||
on the use of inline macros when building BIND.
|
||||
[RT #46520]
|
||||
|
||||
4810. [test] The chain system test failed if the IPv6 interfaces
|
||||
were not configured. [RT #46508]
|
||||
|
||||
--- 9.12.0b2 released ---
|
||||
|
||||
4809. [port] Check at configure time whether -latomic is needed
|
||||
for stdatomic.h. [RT #46324]
|
||||
|
||||
4808. [bug] Properly test for zlib.h. [RT #46504]
|
||||
|
||||
4807. [cleanup] isc_rng_randombytes() returns a specified number of
|
||||
bytes from the PRNG; this is now used instead of
|
||||
calling isc_rng_random() multiple times. [RT #46230]
|
||||
|
||||
4806. [func] Log messages related to loading of zones are now
|
||||
directed to the "zoneload" logging category.
|
||||
[RT #41640]
|
||||
|
||||
4805. [bug] TCP4Active and TCP6Active weren't being updated
|
||||
correctly. [RT #46454]
|
||||
|
||||
4804. [port] win32: access() does not work on directories as
|
||||
required by POSIX. Supply a alternative in
|
||||
isc_file_isdirwritable. [RT #46394]
|
||||
|
||||
4803. [placeholder]
|
||||
|
||||
4802. [test] Refactor mkeys system test to make it quicker and more
|
||||
reliable. [RT #45293]
|
||||
|
||||
4801. [func] 'dnssec-lookaside auto;' and 'dnssec-lookaside .
|
||||
trust-anchor dlv.isc.org;' now elicit warnings rather
|
||||
than being fatal configuration errors. [RT #46410]
|
||||
|
||||
4800. [bug] When processing delzone, write one zone config per
|
||||
line to the NZF. [RT #46323]
|
||||
|
||||
4799. [cleanup] Improve clarity of keytable unit tests. [RT #46407]
|
||||
|
||||
4798. [func] Keys specified in "managed-keys" statements
|
||||
are tagged as "initializing" until they have been
|
||||
updated by a key refresh query. If initialization
|
||||
fails it will be visible from "rndc secroots".
|
||||
[RT #46267]
|
||||
|
||||
4797. [func] Removed "isc-hmac-fixup", as the versions of BIND that
|
||||
had the bug it worked around are long past end of
|
||||
life. [RT #46411]
|
||||
|
||||
4796. [bug] Increase the maximum configurable TCP keepalive
|
||||
timeout to 65535. [RT #44710]
|
||||
|
||||
4795. [func] A new statistics counter has been added to track
|
||||
priming queries. [RT #46313]
|
||||
|
||||
4794. [func] "dnssec-checkds -s" specifies a file from which
|
||||
to read a DS set rather than querying the parent.
|
||||
[RT #44667]
|
||||
|
||||
4793. [bug] nsupdate -[46] could overflow the array of server
|
||||
addresses. [RT #46402]
|
||||
|
||||
4792. [bug] Fix map file header correctness check. [RT #38418]
|
||||
|
||||
4791. [doc] Fixed outdated documentation about export libraries.
|
||||
[RT #46341]
|
||||
|
||||
4790. [bug] nsupdate could trigger a require when sending a
|
||||
update to the second address of the server.
|
||||
[RT #45731]
|
||||
|
||||
4789. [cleanup] Check writability of new-zones-directory. [RT #46308]
|
||||
|
||||
4788. [cleanup] When using "update-policy local", log a warning
|
||||
when an update matching the session key is received
|
||||
from a remote host. [RT #46213]
|
||||
|
||||
4787. [cleanup] Turn nsec3param_salt_totext() into a public function,
|
||||
dns_nsec3param_salttotext(), and add unit tests for it.
|
||||
[RT #46289]
|
||||
|
||||
4786. [func] The "filter-aaaa-on-v4" and "filter-aaaa-on-v6"
|
||||
options are no longer conditionally compiled.
|
||||
[RT #46340]
|
||||
|
||||
4785. [func] The hmac-md5 algorithm is no longer recommended for
|
||||
use with RNDC keys. The default in rndc-confgen
|
||||
is now hmac-sha256. [RT #42272]
|
||||
|
||||
4784. [func] The use of dnssec-keygen to generate HMAC keys is
|
||||
deprecated in favor of tsig-keygen. dnssec-keygen
|
||||
will print a warning when used for this purpose.
|
||||
All HMAC algorithms will be removed from
|
||||
dnssec-keygen in a future release. [RT #42272]
|
||||
|
||||
4783. [test] dnssec: 'check that NOTIFY is sent at the end of
|
||||
NSEC3 chain generation failed' required more time
|
||||
on some machines for the IXFR to complete. [RT #46388]
|
||||
|
||||
4782. [test] dnssec: 'checking positive and negative validation
|
||||
with negative trust anchors' required more time to
|
||||
complete on some machines. [RT #46386]
|
||||
|
||||
4781. [maint] B.ROOT-SERVERS.NET is now 199.9.14.201. [RT #45889]
|
||||
|
||||
4780. [bug] When answering ANY queries, don't include the NS
|
||||
RRset in the authority section if it was already
|
||||
in the answer section. [RT #44543]
|
||||
|
||||
4779. [bug] Expire NTA at the start of the second. Don't update
|
||||
the expiry value if the record has already expired
|
||||
after a successful check. [RT #46368]
|
||||
|
||||
4778. [test] Improve synth-from-dnssec testing. [RT #46352]
|
||||
|
||||
4777. [cleanup] Removed a redundant call to configure_view_acl().
|
||||
[RT #46369]
|
||||
|
||||
4776. [bug] Improve portability of ht_test. [RT #46333]
|
||||
|
||||
4775. [bug] Address Coverity warnings in ht_test.c and mem_test.c
|
||||
[RT #46281]
|
||||
|
||||
4774. [bug] <isc/util.h> was incorrectly included in several
|
||||
header files. [RT #46311]
|
||||
|
||||
4773. [doc] Fixed generating Doxygen documentation for functions
|
||||
annotated using certain macros. Miscellaneous
|
||||
Doxygen-related cleanups. [RT #46276]
|
||||
|
||||
--- 9.12.0b1 released ---
|
||||
|
||||
4772. [test] Expanded unit testing framework for libns, using
|
||||
@@ -521,7 +104,7 @@
|
||||
- Removed DLV key from bind.keys
|
||||
- No longer use ISC DLV by default in delv
|
||||
- "dnssec-lookaside auto" and configuration of
|
||||
"dnssec-lookaide" with dlv.isc.org as the trust
|
||||
"dnssec-lookaide" with dlv.isc.org as trust
|
||||
anchor are both now fatal errors.
|
||||
[RT #46155]
|
||||
|
||||
@@ -661,8 +244,8 @@
|
||||
4713. [func] Added support for the DNS Response Policy Service
|
||||
(DNSRPS) API, which allows named to use an external
|
||||
response policy daemon when built with
|
||||
"configure --enable-dnsrps". Thanks to Farsight
|
||||
Security. [RT #43376]
|
||||
"configure --enable-dnsrps". Thanks to Vernon
|
||||
Schryver and Farsight Security. [RT #43376]
|
||||
|
||||
4712. [bug] "dig +domain" and "dig +search" didn't retain the
|
||||
search domain when retrying with TCP. [RT #45547]
|
||||
|
||||
-186
@@ -1,186 +0,0 @@
|
||||
BIND Source Access and Contributor Guidelines
|
||||
|
||||
Feb 22, 2018
|
||||
|
||||
Contents
|
||||
|
||||
1. Access to source code
|
||||
2. Reporting bugs
|
||||
3. Contributing code
|
||||
|
||||
Introduction
|
||||
|
||||
Thank you for using BIND!
|
||||
|
||||
BIND is open source software that implements the Domain Name System (DNS)
|
||||
protocols for the Internet. It is a reference implementation of those
|
||||
protocols, but it is also production-grade software, suitable for use in
|
||||
high-volume and high-reliability applications. It is by far the most
|
||||
widely used DNS software, providing a robust and stable platform on top of
|
||||
which organizations can build distributed computing systems with the
|
||||
knowledge that those systems are fully compliant with published DNS
|
||||
standards.
|
||||
|
||||
BIND is and will always remain free and openly available. It can be used
|
||||
and modified in any way by anyone.
|
||||
|
||||
BIND is maintained by the Internet Systems Consortium, a public-benefit
|
||||
501(c)(3) nonprofit, using a "managed open source" approach: anyone can
|
||||
see the source, but only ISC employees have commit access. Until recently,
|
||||
the source could only be seen once ISC had published a release: read
|
||||
access to the source repository was restricted just as commit access was.
|
||||
That's now changing, with the opening of a public git mirror to the BIND
|
||||
source tree (see below).
|
||||
|
||||
Access to source code
|
||||
|
||||
Public BIND releases are always available from the ISC FTP site.
|
||||
|
||||
A public-access GIT repository is also available at https://gitlab.isc.org
|
||||
. This repository is a mirror, updated several times per day, of the
|
||||
source repository maintained by ISC. It contains all the public release
|
||||
branches; upcoming releases can be viewed in their current state at any
|
||||
time. It does not contain development branches or unreviewed work in
|
||||
progress. Commits which address security vulnerablilities are withheld
|
||||
until after public disclosure.
|
||||
|
||||
You can browse the source online via https://gitlab.isc.org/isc-projects/
|
||||
bind9
|
||||
|
||||
To clone the repository, use:
|
||||
|
||||
$ git clone https://gitlab.isc.org/isc-projects/bind9.git
|
||||
|
||||
Release branch names are of the form v9_X, where X represents the second
|
||||
number in the BIND 9 version number. So, to check out the BIND 9.12
|
||||
branch, use:
|
||||
|
||||
$ git checkout v9_12
|
||||
|
||||
Whenever a branch is ready for publication, a tag will be placed of the
|
||||
form v9_X_Y. The 9.12.0 release, for instance, is tagged as v9_12_0.
|
||||
|
||||
The branch in which the next major release is being developed is called
|
||||
master.
|
||||
|
||||
Reporting bugs
|
||||
|
||||
Reports of flaws in the BIND package, including software bugs, errors in
|
||||
the documentation, missing files in the tarball, suggested changes or
|
||||
requests for new features, etc, can be filed using https://gitlab.isc.org/
|
||||
isc-projects/bind9/issues.
|
||||
|
||||
Due to a large ticket backlog, we are sometimes slow to respond,
|
||||
especially if a bug is cosmetic or if a feature request is vague or low in
|
||||
priority, but we will try at least to acknowledge legitimate bug reports
|
||||
within a week.
|
||||
|
||||
ISC's ticketing system is publicly readable; however, you must have an
|
||||
account to file a new issue. You can either register locally or use
|
||||
credentials from an existing account at GitHub, GitLab, Google, Twitter,
|
||||
or Facebook.
|
||||
|
||||
Reporting possible security issues
|
||||
|
||||
If you think you may be seeing a potential security vulnerability in BIND
|
||||
(for example, a crash with REQUIRE, INSIST, or ASSERT failure), please
|
||||
report it immediately by emailing to security-officer@isc.org. Plain-text
|
||||
e-mail is not a secure choice for communications concerning undisclosed
|
||||
security issues so please encrypt your communications to us if possible,
|
||||
using the ISC Security Officer public key.
|
||||
|
||||
Do not discuss undisclosed security vulnerabilites on any public mailing
|
||||
list. ISC has a long history of handling reported vulnerabilities promptly
|
||||
and effectively and we respect and acknowledge responsible reporters.
|
||||
|
||||
ISC's Security Vulnerability Disclosure Policy is documented at https://
|
||||
kb.isc.org/article/AA-00861/0.
|
||||
|
||||
If you have a crash, you may want to consult ?What to do if your BIND or
|
||||
DHCP server has crashed.?
|
||||
|
||||
Contributing code
|
||||
|
||||
BIND is licensed under the Mozilla Public License 2.0. Earier versions
|
||||
(BIND 9.10 and earlier) were licensed under the ISC License
|
||||
|
||||
ISC does not require an explicit copyright assignment for patch
|
||||
contributions. However, by submitting a patch to ISC, you implicitly
|
||||
certify that you are the author of the code, that you intend to reliquish
|
||||
exclusive copyright, and that you grant permission to publish your work
|
||||
under the open source license used for the BIND version(s) to which your
|
||||
patch will be applied.
|
||||
|
||||
BIND code
|
||||
|
||||
Patches for BIND may be submitted directly via merge requests in ISC's
|
||||
Gitlab source repository for BIND.
|
||||
|
||||
Patches can also be submitted as diffs against a specific version of BIND
|
||||
-- preferably the current top of the master branch. Diffs may be generated
|
||||
using either git format-patch or git diff.
|
||||
|
||||
Those wanting to write code for BIND may be interested in the developer
|
||||
information page, which includes information about BIND design and coding
|
||||
practices, including discussion of internal APIs and overall system
|
||||
architecture. (This is a work in progress, and still quite preliminary.)
|
||||
|
||||
Every patch submitted will be reviewed by ISC engineers following our code
|
||||
review process before it is merged.
|
||||
|
||||
It may take considerable time to review patch submissions, especially if
|
||||
they don't meet ISC style and quality guidelines. If a patch is a good
|
||||
idea, we can and will do additional work to bring it up to par, but if
|
||||
we're busy with other work, it may take us a long time to get to it.
|
||||
|
||||
To ensure your patch is acted on as promptly as possible, please:
|
||||
|
||||
* Try to adhere to the BIND 9 coding style.
|
||||
* Run make check to ensure your change hasn't caused any functional
|
||||
regressions.
|
||||
* Document your work, both in the patch itself and in the accompanying
|
||||
email.
|
||||
* In patches that make non-trivial functional changes, include system
|
||||
tests if possible; when introducing or substantially altering a
|
||||
library API, include unit tests. See Testing for more information.
|
||||
|
||||
Changes to configure
|
||||
|
||||
If you need to make changes to configure, you should not edit it directly;
|
||||
instead, edit configure.in, then run autoconf. Similarly, instead of
|
||||
editing config.h.in directly, edit configure.in and run autoheader.
|
||||
|
||||
When submitting a patch as a diff, it's fine to omit the configure diffs
|
||||
to save space. Just send the configure.in diffs and we'll generate the new
|
||||
configure during the review process.
|
||||
|
||||
Documentation
|
||||
|
||||
All functional changes should be documented. There are three types of
|
||||
documentation in the BIND source tree:
|
||||
|
||||
* Man pages are kept alongside the source code for the commands they
|
||||
document, in files ending in .docbook; for example, the named man page
|
||||
is bin/named/named.docbook.
|
||||
* The BIND 9 Administrator Reference Manual is mostly in doc/arm/
|
||||
Bv9ARM-book.xml, plus a few other XML files that are included in it.
|
||||
* API documentation is in the header file describing the API, in
|
||||
Doxygen-formatted comments.
|
||||
|
||||
It is not necessary to edit any documentation files other than these; all
|
||||
PDF, HTML, and nroff-format man page files will be updated automatically
|
||||
from the docbook and XML files after merging.
|
||||
|
||||
Patches to improve existing documentation are also very welcome!
|
||||
|
||||
Tests
|
||||
|
||||
BIND is a large and complex project. We rely heavily on continuous
|
||||
automated testing and cannot merge new code without adequate test
|
||||
coverage. Please see the 'Testing' section of doc/dev/dev.md for more
|
||||
information.
|
||||
|
||||
Thanks
|
||||
|
||||
Thank you for your interest in contributing to the ongoing development of
|
||||
BIND.
|
||||
-201
@@ -1,201 +0,0 @@
|
||||
<!--
|
||||
- Copyright (C) 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/.
|
||||
-
|
||||
- See the COPYRIGHT file distributed with this work for additional
|
||||
- information regarding copyright ownership.
|
||||
-->
|
||||
## BIND Source Access and Contributor Guidelines
|
||||
*Feb 22, 2018*
|
||||
|
||||
### Contents
|
||||
|
||||
1. [Access to source code](#access)
|
||||
1. [Reporting bugs](#bugs)
|
||||
1. [Contributing code](#contrib)
|
||||
|
||||
### Introduction
|
||||
|
||||
Thank you for using BIND!
|
||||
|
||||
BIND is open source software that implements the Domain Name System (DNS)
|
||||
protocols for the Internet. It is a reference implementation of those
|
||||
protocols, but it is also production-grade software, suitable for use in
|
||||
high-volume and high-reliability applications. It is by far the most
|
||||
widely used DNS software, providing a robust and stable platform on top of
|
||||
which organizations can build distributed computing systems with the
|
||||
knowledge that those systems are fully compliant with published DNS
|
||||
standards.
|
||||
|
||||
BIND is and will always remain free and openly available. It can be
|
||||
used and modified in any way by anyone.
|
||||
|
||||
BIND is maintained by the [Internet Systems Consortium](https://www.isc.org),
|
||||
a public-benefit 501(c)(3) nonprofit, using a "managed open source" approach:
|
||||
anyone can see the source, but only ISC employees have commit access.
|
||||
Until recently, the source could only be seen once ISC had published
|
||||
a release: read access to the source repository was restricted just
|
||||
as commit access was. That's now changing, with the opening of a
|
||||
public git mirror to the BIND source tree (see below).
|
||||
|
||||
### <a name="access"></a>Access to source code
|
||||
|
||||
Public BIND releases are always available from the
|
||||
[ISC FTP site](ftp://ftp.isc.org/isc/bind9).
|
||||
|
||||
A public-access GIT repository is also available at
|
||||
[https://gitlab.isc.org](https://gitlab.isc.org).
|
||||
This repository is a mirror, updated several times per day, of the
|
||||
source repository maintained by ISC. It contains all the public release
|
||||
branches; upcoming releases can be viewed in their current state at any
|
||||
time. It does *not* contain development branches or unreviewed work in
|
||||
progress. Commits which address security vulnerablilities are withheld
|
||||
until after public disclosure.
|
||||
|
||||
You can browse the source online via
|
||||
[https://gitlab.isc.org/isc-projects/bind9](https://gitlab.isc.org/isc-projects/bind9)
|
||||
|
||||
To clone the repository, use:
|
||||
|
||||
> $ git clone https://gitlab.isc.org/isc-projects/bind9.git
|
||||
|
||||
Release branch names are of the form `v9_X`, where X represents the second
|
||||
number in the BIND 9 version number. So, to check out the BIND 9.12
|
||||
branch, use:
|
||||
|
||||
> $ git checkout v9_12
|
||||
|
||||
Whenever a branch is ready for publication, a tag will be placed of the
|
||||
form `v9_X_Y`. The 9.12.0 release, for instance, is tagged as `v9_12_0`.
|
||||
|
||||
The branch in which the next major release is being developed is called
|
||||
`master`.
|
||||
|
||||
### <a name="bugs"></a>Reporting bugs
|
||||
|
||||
Reports of flaws in the BIND package, including software bugs, errors
|
||||
in the documentation, missing files in the tarball, suggested changes
|
||||
or requests for new features, etc, can be filed using
|
||||
[https://gitlab.isc.org/isc-projects/bind9/issues](https://gitlab.isc.org/isc-projects/bind9/issues).
|
||||
|
||||
Due to a large ticket backlog, we are sometimes slow to respond,
|
||||
especially if a bug is cosmetic or if a feature request is vague or
|
||||
low in priority, but we will try at least to acknowledge legitimate
|
||||
bug reports within a week.
|
||||
|
||||
ISC's ticketing system is publicly readable; however, you must have
|
||||
an account to file a new issue. You can either register locally or
|
||||
use credentials from an existing account at GitHub, GitLab, Google,
|
||||
Twitter, or Facebook.
|
||||
|
||||
### Reporting possible security issues
|
||||
If you think you may be seeing a potential security vulnerability in BIND
|
||||
(for example, a crash with REQUIRE, INSIST, or ASSERT failure), please
|
||||
report it immediately by emailing to security-officer@isc.org. Plain-text
|
||||
e-mail is not a secure choice for communications concerning undisclosed
|
||||
security issues so please encrypt your communications to us if possible,
|
||||
using the [ISC Security Officer public key](https://www.isc.org/downloads/software-support-policy/openpgp-key/).
|
||||
|
||||
Do not discuss undisclosed security vulnerabilites on any public mailing list.
|
||||
ISC has a long history of handling reported vulnerabilities promptly and
|
||||
effectively and we respect and acknowledge responsible reporters.
|
||||
|
||||
ISC's Security Vulnerability Disclosure Policy is documented at [https://kb.isc.org/article/AA-00861/0](https://kb.isc.org/article/AA-00861/0).
|
||||
|
||||
If you have a crash, you may want to consult
|
||||
[‘What to do if your BIND or DHCP server has crashed.’](https://kb.isc.org/article/AA-00340/89/What-to-do-if-your-BIND-or-DHCP-server-has-crashed.html)
|
||||
|
||||
### <a name="bugs"></a>Contributing code
|
||||
|
||||
BIND is licensed under the
|
||||
[Mozilla Public License 2.0](http://www.isc.org/downloads/software-support-policy/isc-license/).
|
||||
Earier versions (BIND 9.10 and earlier) were licensed under the [ISC License](http://www.isc.org/downloads/software-support-policy/isc-license/)
|
||||
|
||||
ISC does not require an explicit copyright assignment for patch
|
||||
contributions. However, by submitting a patch to ISC, you implicitly
|
||||
certify that you are the author of the code, that you intend to reliquish
|
||||
exclusive copyright, and that you grant permission to publish your work
|
||||
under the open source license used for the BIND version(s) to which your
|
||||
patch will be applied.
|
||||
|
||||
#### <a name="bind"></a>BIND code
|
||||
|
||||
Patches for BIND may be submitted directly via merge requests in
|
||||
[ISC's Gitlab](https://gitlab.isc.org/isc-projects/bind9/) source
|
||||
repository for BIND.
|
||||
|
||||
Patches can also be submitted as diffs against a specific version of
|
||||
BIND -- preferably the current top of the `master` branch. Diffs may
|
||||
be generated using either `git format-patch` or `git diff`.
|
||||
|
||||
Those wanting to write code for BIND may be interested in the
|
||||
[developer information](doc/dev/dev.md) page, which includes information
|
||||
about BIND design and coding practices, including discussion of internal
|
||||
APIs and overall system architecture. (This is a work in progress, and
|
||||
still quite preliminary.)
|
||||
|
||||
Every patch submitted will be reviewed by ISC engineers following our
|
||||
[code review process](doc/dev/dev.md#reviews) before it is merged.
|
||||
|
||||
It may take considerable time to review patch submissions, especially if
|
||||
they don't meet ISC style and quality guidelines. If a patch is a good
|
||||
idea, we can and will do additional work to bring it up to par, but if
|
||||
we're busy with other work, it may take us a long time to get to it.
|
||||
|
||||
To ensure your patch is acted on as promptly as possible, please:
|
||||
|
||||
* Try to adhere to the [BIND 9 coding style](doc/dev/style.md).
|
||||
* Run `make` `check` to ensure your change hasn't caused any
|
||||
functional regressions.
|
||||
* Document your work, both in the patch itself and in the
|
||||
accompanying email.
|
||||
* In patches that make non-trivial functional changes, include system
|
||||
tests if possible; when introducing or substantially altering a
|
||||
library API, include unit tests. See [Testing](doc/dev/dev.md#testing)
|
||||
for more information.
|
||||
|
||||
##### Changes to `configure`
|
||||
|
||||
If you need to make changes to `configure`, you should not edit it
|
||||
directly; instead, edit `configure.in`, then run `autoconf`. Similarly,
|
||||
instead of editing `config.h.in` directly, edit `configure.in` and run
|
||||
`autoheader`.
|
||||
|
||||
When submitting a patch as a diff, it's fine to omit the `configure`
|
||||
diffs to save space. Just send the `configure.in` diffs and we'll
|
||||
generate the new `configure` during the review process.
|
||||
|
||||
##### Documentation
|
||||
|
||||
All functional changes should be documented. There are three types
|
||||
of documentation in the BIND source tree:
|
||||
|
||||
* Man pages are kept alongside the source code for the commands
|
||||
they document, in files ending in `.docbook`; for example, the
|
||||
`named` man page is `bin/named/named.docbook`.
|
||||
* The *BIND 9 Administrator Reference Manual* is mostly in
|
||||
`doc/arm/Bv9ARM-book.xml`, plus a few other XML files that are included
|
||||
in it.
|
||||
* API documentation is in the header file describing the API, in
|
||||
Doxygen-formatted comments.
|
||||
|
||||
It is not necessary to edit any documentation files other than these;
|
||||
all PDF, HTML, and `nroff`-format man page files will be updated
|
||||
automatically from the `docbook` and `XML` files after merging.
|
||||
|
||||
Patches to improve existing documentation are also very welcome!
|
||||
|
||||
##### Tests
|
||||
|
||||
BIND is a large and complex project. We rely heavily on continuous
|
||||
automated testing and cannot merge new code without adequate test coverage.
|
||||
Please see [the 'Testing' section of doc/dev/dev.md](doc/dev/dev.md#testing)
|
||||
for more information.
|
||||
|
||||
#### Thanks
|
||||
|
||||
Thank you for your interest in contributing to the ongoing development
|
||||
of BIND.
|
||||
@@ -1,4 +1,4 @@
|
||||
Copyright (C) 1996-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
Copyright (C) 1996-2017 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
|
||||
|
||||
+3
-11
@@ -91,23 +91,15 @@ test-force:
|
||||
|
||||
README: README.md
|
||||
${PANDOC} --email-obfuscation=none -s -t html README.md | \
|
||||
${W3M} -dump -cols 75 -O ascii -T text/html | \
|
||||
sed -e '$${/^$$/d;}' > $@
|
||||
${W3M} -dump -cols 75 -O ascii -T text/html > $@
|
||||
|
||||
HISTORY: HISTORY.md
|
||||
${PANDOC} --email-obfuscation=none -s -t html HISTORY.md | \
|
||||
${W3M} -dump -cols 75 -O ascii -T text/html | \
|
||||
sed -e '$${/^$$/d;}' > $@
|
||||
${W3M} -dump -cols 75 -O ascii -T text/html > $@
|
||||
|
||||
OPTIONS: OPTIONS.md
|
||||
${PANDOC} --email-obfuscation=none -s -t html OPTIONS.md | \
|
||||
${W3M} -dump -cols 75 -O ascii -T text/html | \
|
||||
sed -e '$${/^$$/d;}' > $@
|
||||
|
||||
CONTRIBUTING: CONTRIBUTING.md
|
||||
${PANDOC} --email-obfuscation=none -s -t html CONTRIBUTING.md | \
|
||||
${W3M} -dump -cols 75 -O ascii -T text/html | \
|
||||
sed -e '$${/^$$/d;}' > $@
|
||||
${W3M} -dump -cols 75 -O ascii -T text/html > $@
|
||||
|
||||
unit::
|
||||
sh ${top_srcdir}/unit/unittest.sh
|
||||
|
||||
@@ -19,12 +19,4 @@ Setting Description
|
||||
named-checkzone
|
||||
-DNS_RUN_PID_DIR=0 Create default PID files in ${localstatedir}/run
|
||||
rather than ${localstatedir}/run/named/
|
||||
Increase the maximum number of configurable
|
||||
-DNS_RPZ_MAX_ZONES=64 response policy zones from 32 to 64; this is the
|
||||
highest possible setting
|
||||
Disable the use of inline functions to implement
|
||||
-DISC_BUFFER_USEINLINE=0 the isc_buffer API: this reduces performance but
|
||||
may be useful when debugging
|
||||
-DISC_HEAP_CHECK Test heap consistency after every heap
|
||||
operation; used when debugging
|
||||
|
||||
|
||||
@@ -20,6 +20,3 @@ Some of these settings are:
|
||||
|`-DCHECK_SIBLING=0`|Don't check sibling glue in `named-checkzone`|
|
||||
|`-DCHECK_LOCAL=0`|Don't check out-of-zone addresses in `named-checkzone`|
|
||||
|`-DNS_RUN_PID_DIR=0`|Create default PID files in `${localstatedir}/run` rather than `${localstatedir}/run/named/`|
|
||||
|`-DNS_RPZ_MAX_ZONES=64`|Increase the maximum number of configurable response policy zones from 32 to 64; this is the highest possible setting|
|
||||
|`-DISC_BUFFER_USEINLINE=0`|Disable the use of inline functions to implement the `isc_buffer` API: this reduces performance but may be useful when debugging |
|
||||
|`-DISC_HEAP_CHECK`|Test heap consistency after every heap operation; used when debugging|
|
||||
|
||||
@@ -7,12 +7,11 @@ Contents
|
||||
3. Contributing to BIND
|
||||
4. BIND 9.12 features
|
||||
5. Building BIND
|
||||
6. macOS
|
||||
7. Compile-time options
|
||||
8. Automated testing
|
||||
9. Documentation
|
||||
10. Change log
|
||||
11. Acknowledgments
|
||||
6. Compile-time options
|
||||
7. Automated testing
|
||||
8. Documentation
|
||||
9. Change log
|
||||
10. Acknowledgments
|
||||
|
||||
Introduction
|
||||
|
||||
@@ -50,22 +49,20 @@ bind9/releasenotes
|
||||
|
||||
Reporting bugs and getting help
|
||||
|
||||
To report non-security-sensitive bugs or request new features, you may
|
||||
open an Issue in the BIND 9 project on the ISC GitLab server at https://
|
||||
gitlab.isc.org/isc-projects/bind9.
|
||||
Please report assertion failure errors and suspected security issues to
|
||||
security-officer@isc.org.
|
||||
|
||||
Please note that, unless you explicitly mark the newly created Issue as
|
||||
"confidential", it will be publicly readable. Please do not include any
|
||||
information in bug reports that you consider to be confidential unless the
|
||||
issue has been marked as such. In particular, if submitting the contents
|
||||
of your configuration file in a non-confidential Issue, it is advisable to
|
||||
obscure key secrets: this can be done automatically by using
|
||||
General bug reports can be sent to bind9-bugs@isc.org.
|
||||
|
||||
Feature requests can be sent to bind-suggest@isc.org.
|
||||
|
||||
Please note that, while ISC's ticketing system is not currently publicly
|
||||
readable, this may change in the future. Please do not include information
|
||||
in bug reports that you consider to be confidential. For example, when
|
||||
sending the contents of your configuration file, it is advisable to
|
||||
obscure key secrets; this can be done automatically by using
|
||||
named-checkconf -px.
|
||||
|
||||
If the bug you are reporting is a potential security issue, such as an
|
||||
assertion failure or other crash in named, please do NOT use GitLab to
|
||||
report it. Instead, please send mail to security-officer@isc.org.
|
||||
|
||||
Professional support and training for BIND are available from ISC at
|
||||
https://www.isc.org/support.
|
||||
|
||||
@@ -78,24 +75,18 @@ mailman/listinfo/bind-workers.
|
||||
|
||||
Contributing to BIND
|
||||
|
||||
ISC maintains a public git repository for BIND; details can be found at
|
||||
http://www.isc.org/git/.
|
||||
A public git repository for BIND is maintained at http://www.isc.org/git/,
|
||||
and also on Github at https://github.com/isc-projects.
|
||||
|
||||
Information for BIND contributors can be found in the following files: -
|
||||
General information: doc/dev/contrib.md - BIND 9 code style: doc/dev/
|
||||
style.md - BIND architecture and developer guide: doc/dev/dev.md
|
||||
|
||||
Patches for BIND may be submitted as Merge Requests in the ISC GitLab
|
||||
server at at https://gitlab.isc.org/isc-projects/bind9/merge_requests.
|
||||
|
||||
By default, external contributors don't have ability to fork BIND in the
|
||||
GitLab server, but if you wish to contribute code to BIND, you may request
|
||||
permission to do so. Thereafter, you can create git branches and directly
|
||||
submit requests that they be reviewed and merged.
|
||||
|
||||
If you prefer, you may also submit code by opening a GitLab Issue and
|
||||
including your patch as an attachment, preferably generated by git
|
||||
format-patch.
|
||||
Patches for BIND may be submitted either as Github pull requests or via
|
||||
email. When submitting a patch via email, please prepend the subject
|
||||
header with "[PATCH]" so it will be easier for us to find. If your patch
|
||||
introduces a new feature in BIND, please submit it to bind-suggest@isc.org
|
||||
; if it fixes a bug, please submit it to bind9-bugs@isc.org.
|
||||
|
||||
BIND 9.12 features
|
||||
|
||||
@@ -112,8 +103,10 @@ include:
|
||||
* Cached, validated NSEC and other records can now be used to synthesize
|
||||
NXDOMAIN responses.
|
||||
* The DNS Response Policy Service API (DNSRPS) is now supported.
|
||||
* Setting 'max-journal-size default' now limits the size of journal
|
||||
files to twice the size of the zone.
|
||||
* Setting max-journal-size default now limits the size of journal files
|
||||
to twice the size of the zone.
|
||||
* The query handling code has been substantially refactored for improved
|
||||
readability, maintainability and testability .
|
||||
* dnstap-read -x prints a hex dump of the wire format of each logged DNS
|
||||
message.
|
||||
* dnstap output files can now be configured to roll automatically when
|
||||
@@ -122,18 +115,10 @@ include:
|
||||
ISO 8601 (UTC) formats.
|
||||
* Logging channels and dnstap output files can now be configured to use
|
||||
a timestamp as the suffix when rolling to a new file.
|
||||
* 'named-checkconf -l' lists zones found in named.conf.
|
||||
* named-checkconf -l lists zones found in named.conf.
|
||||
* Added support for the EDNS Padding and Keepalive options.
|
||||
* 'new-zones-directory' option sets the location where the configuration
|
||||
data for zones added by rndc addzone is stored.
|
||||
* The default key algorithm in rndc-confgen is now hmac-sha256.
|
||||
* filter-aaaa-on-v4 and filter-aaaa-on-v6 options are now available by
|
||||
default without a configure option.
|
||||
* The obsolete isc-hmac-fixup command has been removed.
|
||||
|
||||
BIND 9.12.1
|
||||
|
||||
BIND 9.12.1 is a maintenance release.
|
||||
data for zones added by rndc addzone is stored
|
||||
|
||||
Building BIND
|
||||
|
||||
@@ -143,8 +128,8 @@ on many versions of Linux and UNIX, including RedHat, Fedora, Debian,
|
||||
Ubuntu, SuSE, Slackware, FreeBSD, NetBSD, OpenBSD, Mac OS X, Solaris,
|
||||
HP-UX, AIX, SCO OpenServer, and OpenWRT.
|
||||
|
||||
BIND is also available for Windows 2008 and higher. See win32utils/
|
||||
readme1st.txt for details on building for Windows systems.
|
||||
BIND is also available for Windows XP, 2003, 2008, and higher. See
|
||||
win32utils/readme1st.txt for details on building for Windows systems.
|
||||
|
||||
To build on a UNIX or Linux system, use:
|
||||
|
||||
@@ -177,14 +162,6 @@ BUILD_CPPFLAGS
|
||||
BUILD_LDFLAGS
|
||||
BUILD_LIBS
|
||||
|
||||
macOS
|
||||
|
||||
Building on macOS assumes that the "Command Tools for Xcode" is installed.
|
||||
This can be downloaded from https://developer.apple.com/download/more/ or
|
||||
if you have Xcode already installed you can run "xcode-select --install".
|
||||
This will add /usr/include to the system and install the compiler and
|
||||
other tools so that they can be easily found.
|
||||
|
||||
Compile-time options
|
||||
|
||||
To see a full list of configuration options, run configure --help.
|
||||
@@ -212,11 +189,10 @@ smaller systems.
|
||||
For the server to support DNSSEC, you need to build it with crypto
|
||||
support. To use OpenSSL, you should have OpenSSL 1.0.2e or newer
|
||||
installed. If the OpenSSL library is installed in a nonstandard location,
|
||||
specify the prefix using "--with-openssl=<PREFIX>" on the configure
|
||||
command line. To use a PKCS#11 hardware service module for cryptographic
|
||||
specify the prefix using "--with-openssl=/prefix" on the configure command
|
||||
line. To use a PKCS#11 hardware service module for cryptographic
|
||||
operations, specify the path to the PKCS#11 provider library using
|
||||
"--with-pkcs11=<PREFIX>", and configure BIND with
|
||||
"--enable-native-pkcs11".
|
||||
"--with-pkcs11=/prefix", and configure BIND with "--enable-native-pkcs11".
|
||||
|
||||
To support the HTTP statistics channel, the server must be linked with at
|
||||
least one of the following: libxml2 http://xmlsoft.org or json-c https://
|
||||
@@ -236,16 +212,13 @@ libGeoIP. This is not turned on by default; BIND must be configured with
|
||||
"--with-geoip". If the library is installed in a nonstandard location, use
|
||||
specify the prefix using "--with-geoip=/prefix".
|
||||
|
||||
For DNSTAP packet logging, you must have installed libfstrm https://
|
||||
github.com/farsightsec/fstrm and libprotobuf-c https://
|
||||
developers.google.com/protocol-buffers, and BIND must be configured with
|
||||
"--enable-dnstap".
|
||||
For DNSTAP packet logging, you must have libfstrm https://github.com/
|
||||
farsightsec/fstrm and libprotobuf-c https://developers.google.com/
|
||||
protocol-buffers, and BIND must be configured with "--enable-dnstap".
|
||||
|
||||
Portions of BIND that are written in Python, including dnssec-keymgr,
|
||||
dnssec-coverage, dnssec-checkds, and some of the system tests, require the
|
||||
'argparse' and 'ply' modules to be available. 'argparse' is a standard
|
||||
module as of Python 2.7 and Python 3.2. 'ply' is available from https://
|
||||
pypi.python.org/pypi/ply.
|
||||
Python requires the 'argparse' and 'ply' modules to be available.
|
||||
'argparse' is a standard module as of Python 2.7 and Python 3.2. 'ply' is
|
||||
available from https://pypi.python.org/pypi/ply.
|
||||
|
||||
On some platforms it is necessary to explicitly request large file support
|
||||
to handle files bigger than 2GB. This can be done by using
|
||||
@@ -277,7 +250,7 @@ Automated testing
|
||||
A system test suite can be run with make test. The system tests require
|
||||
you to configure a set of virtual IP addresses on your system (this allows
|
||||
multiple servers to run locally and communicate with one another). These
|
||||
IP addresses can be configured by running the command bin/tests/system/
|
||||
IP addresses can be configured by by running the script bin/tests/system/
|
||||
ifconfig.sh up as root.
|
||||
|
||||
Some tests require Perl and the Net::DNS and/or IO::Socket::INET6 modules,
|
||||
@@ -362,3 +335,4 @@ Acknowledgments
|
||||
(eay@cryptsoft.com)
|
||||
* This product includes software written by Tim Hudson
|
||||
(tjh@cryptsoft.com)
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
- Copyright (C) 2017, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2017 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,7 +14,6 @@
|
||||
1. [Contributing to BIND](#contrib)
|
||||
1. [BIND 9.12 features](#features)
|
||||
1. [Building BIND](#build)
|
||||
1. [macOS](#macos)
|
||||
1. [Compile-time options](#opts)
|
||||
1. [Automated testing](#testing)
|
||||
1. [Documentation](#doc)
|
||||
@@ -58,24 +57,22 @@ For up-to-date release notes and errata, see
|
||||
|
||||
### <a name="help"/> Reporting bugs and getting help
|
||||
|
||||
To report non-security-sensitive bugs or request new features, you may
|
||||
open an Issue in the BIND 9 project on the
|
||||
[ISC GitLab server](https://gitlab.isc.org) at
|
||||
[https://gitlab.isc.org/isc-projects/bind9](https://gitlab.isc.org/isc-projects/bind9).
|
||||
|
||||
Please note that, unless you explicitly mark the newly created Issue as
|
||||
"confidential", it will be publicly readable. Please do not include any
|
||||
information in bug reports that you consider to be confidential unless
|
||||
the issue has been marked as such. In particular, if submitting the
|
||||
contents of your configuration file in a non-confidential Issue, it is
|
||||
advisable to obscure key secrets: this can be done automatically by
|
||||
using `named-checkconf -px`.
|
||||
|
||||
If the bug you are reporting is a potential security issue, such as an
|
||||
assertion failure or other crash in `named`, please do *NOT* use GitLab to
|
||||
report it. Instead, please send mail to
|
||||
Please report assertion failure errors and suspected security issues to
|
||||
[security-officer@isc.org](mailto:security-officer@isc.org).
|
||||
|
||||
General bug reports can be sent to
|
||||
[bind9-bugs@isc.org](mailto:bind9-bugs@isc.org).
|
||||
|
||||
Feature requests can be sent to
|
||||
[bind-suggest@isc.org](mailto:bind-suggest@isc.org).
|
||||
|
||||
Please note that, while ISC's ticketing system is not currently publicly
|
||||
readable, this may change in the future. Please do not include information
|
||||
in bug reports that you consider to be confidential. For example, when
|
||||
sending the contents of your configuration file, it is advisable to obscure
|
||||
key secrets; this can be done automatically by using `named-checkconf
|
||||
-px`.
|
||||
|
||||
Professional support and training for BIND are available from
|
||||
ISC at [https://www.isc.org/support](https://www.isc.org/support).
|
||||
|
||||
@@ -88,28 +85,21 @@ may also want to join the __BIND Workers__ mailing list, at
|
||||
|
||||
### <a name="contrib"/> Contributing to BIND
|
||||
|
||||
ISC maintains a public git repository for BIND; details can be found
|
||||
at [http://www.isc.org/git/](http://www.isc.org/git/).
|
||||
A public git repository for BIND is maintained at
|
||||
[http://www.isc.org/git/](http://www.isc.org/git/), and also on Github
|
||||
at [https://github.com/isc-projects](https://github.com/isc-projects).
|
||||
|
||||
Information for BIND contributors can be found in the following files:
|
||||
- General information: [doc/dev/contrib.md](doc/dev/contrib.md)
|
||||
- BIND 9 code style: [doc/dev/style.md](doc/dev/style.md)
|
||||
- BIND architecture and developer guide: [doc/dev/dev.md](doc/dev/dev.md)
|
||||
|
||||
Patches for BIND may be submitted as
|
||||
[Merge Requests](https://gitlab.isc.org/isc-projects/bind9/merge_requests)
|
||||
in the [ISC GitLab server](https://gitlab.isc.org) at
|
||||
at [https://gitlab.isc.org/isc-projects/bind9/merge_requests](https://gitlab.isc.org/isc-projects/bind9/merge_requests).
|
||||
|
||||
By default, external contributors don't have ability to fork BIND in the
|
||||
GitLab server, but if you wish to contribute code to BIND, you may request
|
||||
permission to do so. Thereafter, you can create git branches and directly
|
||||
submit requests that they be reviewed and merged.
|
||||
|
||||
If you prefer, you may also submit code by opening a
|
||||
[GitLab Issue](https://gitlab.isc.org/isc-projects/bind9/issues) and
|
||||
including your patch as an attachment, preferably generated by
|
||||
`git format-patch`.
|
||||
Patches for BIND may be submitted either as Github pull requests
|
||||
or via email. When submitting a patch via email, please prepend the
|
||||
subject header with "`[PATCH]`" so it will be easier for us to find.
|
||||
If your patch introduces a new feature in BIND, please submit it to
|
||||
[bind-suggest@isc.org](mailto:bind-suggest@isc.org); if it fixes a bug,
|
||||
please submit it to [bind9-bugs@isc.org](mailto:bind9-bugs@isc.org).
|
||||
|
||||
### <a name="features"/> BIND 9.12 features
|
||||
|
||||
@@ -126,8 +116,10 @@ include:
|
||||
* Cached, validated NSEC and other records can now be used to synthesize
|
||||
NXDOMAIN responses.
|
||||
* The DNS Response Policy Service API (DNSRPS) is now supported.
|
||||
* Setting `'max-journal-size default'` now limits the size of journal files
|
||||
* Setting `max-journal-size default` now limits the size of journal files
|
||||
to twice the size of the zone.
|
||||
* The query handling code has been substantially refactored for improved
|
||||
readability, maintainability and testability .
|
||||
* `dnstap-read -x` prints a hex dump of the wire format of each logged
|
||||
DNS message.
|
||||
* `dnstap` output files can now be configured to roll automatically when
|
||||
@@ -136,18 +128,10 @@ include:
|
||||
8601 (UTC) formats.
|
||||
* Logging channels and `dnstap` output files can now be configured to use a
|
||||
timestamp as the suffix when rolling to a new file.
|
||||
* `'named-checkconf -l'` lists zones found in `named.conf`.
|
||||
* `named-checkconf -l` lists zones found in `named.conf`.
|
||||
* Added support for the EDNS Padding and Keepalive options.
|
||||
* 'new-zones-directory' option sets the location where the configuration
|
||||
data for zones added by rndc addzone is stored.
|
||||
* The default key algorithm in `rndc-confgen` is now hmac-sha256.
|
||||
* `filter-aaaa-on-v4` and `filter-aaaa-on-v6` options are now available
|
||||
by default without a configure option.
|
||||
* The obsolete `isc-hmac-fixup` command has been removed.
|
||||
|
||||
#### BIND 9.12.1
|
||||
|
||||
BIND 9.12.1 is a maintenance release.
|
||||
data for zones added by rndc addzone is stored
|
||||
|
||||
### <a name="build"/> Building BIND
|
||||
|
||||
@@ -157,9 +141,8 @@ many versions of Linux and UNIX, including RedHat, Fedora, Debian, Ubuntu,
|
||||
SuSE, Slackware, FreeBSD, NetBSD, OpenBSD, Mac OS X, Solaris, HP-UX, AIX,
|
||||
SCO OpenServer, and OpenWRT.
|
||||
|
||||
BIND is also available for Windows 2008 and higher. See
|
||||
`win32utils/readme1st.txt` for details on building for Windows
|
||||
systems.
|
||||
BIND is also available for Windows XP, 2003, 2008, and higher. See
|
||||
`win32utils/readme1st.txt` for details on building for Windows systems.
|
||||
|
||||
To build on a UNIX or Linux system, use:
|
||||
|
||||
@@ -185,15 +168,6 @@ affect compilation:
|
||||
|`BUILD_LDFLAGS`||
|
||||
|`BUILD_LIBS`||
|
||||
|
||||
#### <a name="macos"> macOS
|
||||
|
||||
Building on macOS assumes that the "Command Tools for Xcode" is installed.
|
||||
This can be downloaded from https://developer.apple.com/download/more/
|
||||
or if you have Xcode already installed you can run "xcode-select --install".
|
||||
This will add /usr/include to the system and install the compiler and other
|
||||
tools so that they can be easily found.
|
||||
|
||||
|
||||
#### <a name="opts"/> Compile-time options
|
||||
|
||||
To see a full list of configuration options, run `configure --help`.
|
||||
@@ -221,9 +195,9 @@ performance on smaller systems.
|
||||
For the server to support DNSSEC, you need to build it with crypto support.
|
||||
To use OpenSSL, you should have OpenSSL 1.0.2e or newer installed. If the
|
||||
OpenSSL library is installed in a nonstandard location, specify the prefix
|
||||
using "--with-openssl=<PREFIX>" on the configure command line. To use a
|
||||
using "--with-openssl=/prefix" on the configure command line. To use a
|
||||
PKCS#11 hardware service module for cryptographic operations, specify the
|
||||
path to the PKCS#11 provider library using "--with-pkcs11=<PREFIX>", and
|
||||
path to the PKCS#11 provider library using "--with-pkcs11=/prefix", and
|
||||
configure BIND with "--enable-native-pkcs11".
|
||||
|
||||
To support the HTTP statistics channel, the server must be linked with at
|
||||
@@ -246,15 +220,13 @@ libGeoIP. This is not turned on by default; BIND must be configured with
|
||||
"--with-geoip". If the library is installed in a nonstandard location, use
|
||||
specify the prefix using "--with-geoip=/prefix".
|
||||
|
||||
For DNSTAP packet logging, you must have installed libfstrm
|
||||
For DNSTAP packet logging, you must have libfstrm
|
||||
[https://github.com/farsightsec/fstrm](https://github.com/farsightsec/fstrm)
|
||||
and libprotobuf-c
|
||||
[https://developers.google.com/protocol-buffers](https://developers.google.com/protocol-buffers),
|
||||
and BIND must be configured with "--enable-dnstap".
|
||||
|
||||
Portions of BIND that are written in Python, including
|
||||
`dnssec-keymgr`, `dnssec-coverage`, `dnssec-checkds`, and some of the
|
||||
system tests, require the 'argparse' and 'ply' modules to be available.
|
||||
Python requires the 'argparse' and 'ply' modules to be available.
|
||||
'argparse' is a standard module as of Python 2.7 and Python 3.2.
|
||||
'ply' is available from [https://pypi.python.org/pypi/ply](https://pypi.python.org/pypi/ply).
|
||||
|
||||
@@ -288,7 +260,7 @@ localstatedir defaults to `$prefix/var`.
|
||||
A system test suite can be run with `make test`. The system tests require
|
||||
you to configure a set of virtual IP addresses on your system (this allows
|
||||
multiple servers to run locally and communicate with one another). These
|
||||
IP addresses can be configured by running the command
|
||||
IP addresses can be configured by by running the script
|
||||
`bin/tests/system/ifconfig.sh up` as root.
|
||||
|
||||
Some tests require Perl and the Net::DNS and/or IO::Socket::INET6 modules,
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
/* $Id: acconfig.h,v 1.53 2008/12/01 23:47:44 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
/***
|
||||
|
||||
@@ -8,10 +8,6 @@ srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
|
||||
# Attempt to disable parallel processing.
|
||||
.NOTPARALLEL:
|
||||
.NO_PARALLEL:
|
||||
|
||||
VERSION=@BIND9_VERSION@
|
||||
|
||||
@BIND9_MAKE_INCLUDES@
|
||||
@@ -68,11 +64,11 @@ rndc-confgen.@O@: rndc-confgen.c
|
||||
ddns-confgen.@O@: ddns-confgen.c
|
||||
${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} -c ${srcdir}/ddns-confgen.c
|
||||
|
||||
rndc-confgen@EXEEXT@: rndc-confgen.@O@ util.@O@ keygen.@O@ ${CONFDEPLIBS}
|
||||
rndc-confgen@EXEEXT@: rndc-confgen.@O@ util.@O@ keygen.@O@ ${UOBJS} ${CONFDEPLIBS}
|
||||
export BASEOBJS="rndc-confgen.@O@ util.@O@ keygen.@O@ ${UOBJS}"; \
|
||||
${FINALBUILDCMD}
|
||||
|
||||
ddns-confgen@EXEEXT@: ddns-confgen.@O@ util.@O@ keygen.@O@ ${CONFDEPLIBS}
|
||||
ddns-confgen@EXEEXT@: ddns-confgen.@O@ util.@O@ keygen.@O@ ${UOBJS} ${CONFDEPLIBS}
|
||||
export BASEOBJS="ddns-confgen.@O@ util.@O@ keygen.@O@ ${UOBJS}"; \
|
||||
${FINALBUILDCMD}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.\" Copyright (C) 2001, 2003-2005, 2007, 2009, 2013-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\" Copyright (C) 2001, 2003-2005, 2007, 2009, 2013-2016 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
|
||||
@@ -111,7 +111,7 @@ as directed\&.
|
||||
.PP
|
||||
\-A \fIalgorithm\fR
|
||||
.RS 4
|
||||
Specifies the algorithm to use for the TSIG key\&. Available choices are: hmac\-md5, hmac\-sha1, hmac\-sha224, hmac\-sha256, hmac\-sha384 and hmac\-sha512\&. The default is hmac\-sha256\&.
|
||||
Specifies the algorithm to use for the TSIG key\&. Available choices are: hmac\-md5, hmac\-sha1, hmac\-sha224, hmac\-sha256, hmac\-sha384 and hmac\-sha512\&. The default is hmac\-md5 or if MD5 was disabled hmac\-sha256\&.
|
||||
.RE
|
||||
.PP
|
||||
\-b \fIkeysize\fR
|
||||
@@ -217,5 +217,5 @@ BIND 9 Administrator Reference Manual\&.
|
||||
\fBInternet Systems Consortium, Inc\&.\fR
|
||||
.SH "COPYRIGHT"
|
||||
.br
|
||||
Copyright \(co 2001, 2003-2005, 2007, 2009, 2013-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
Copyright \(co 2001, 2003-2005, 2007, 2009, 2013-2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
.br
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
/*
|
||||
* Copyright (C) 2001, 2003-2005, 2007-2009, 2011, 2013, 2014, 2016, 2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2001, 2003-2005, 2007-2009, 2011, 2013, 2014, 2016 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/.
|
||||
*/
|
||||
|
||||
/* $Id: rndc-confgen.c,v 1.7 2011/03/12 04:59:46 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
/**
|
||||
@@ -65,6 +67,23 @@ usage(int status) ISC_PLATFORM_NORETURN_POST;
|
||||
static void
|
||||
usage(int status) {
|
||||
|
||||
#ifndef PK11_MD5_DISABLE
|
||||
fprintf(stderr, "\
|
||||
Usage:\n\
|
||||
%s [-a] [-b bits] [-c keyfile] [-k keyname] [-p port] [-r randomfile] \
|
||||
[-s addr] [-t chrootdir] [-u user]\n\
|
||||
-a: generate just the key clause and write it to keyfile (%s)\n\
|
||||
-A alg: algorithm (default hmac-md5)\n\
|
||||
-b bits: from 1 through 512, default 256; total length of the secret\n\
|
||||
-c keyfile: specify an alternate key file (requires -a)\n\
|
||||
-k keyname: the name as it will be used in named.conf and rndc.conf\n\
|
||||
-p port: the port named will listen on and rndc will connect to\n\
|
||||
-r randomfile: source of random data (use \"keyboard\" for key timing)\n\
|
||||
-s addr: the address to which rndc should connect\n\
|
||||
-t chrootdir: write a keyfile in chrootdir as well (requires -a)\n\
|
||||
-u user: set the keyfile owner to \"user\" (requires -a)\n",
|
||||
progname, keydef);
|
||||
#else
|
||||
fprintf(stderr, "\
|
||||
Usage:\n\
|
||||
%s [-a] [-b bits] [-c keyfile] [-k keyname] [-p port] [-r randomfile] \
|
||||
@@ -80,6 +99,7 @@ Usage:\n\
|
||||
-t chrootdir: write a keyfile in chrootdir as well (requires -a)\n\
|
||||
-u user: set the keyfile owner to \"user\" (requires -a)\n",
|
||||
progname, keydef);
|
||||
#endif
|
||||
|
||||
exit (status);
|
||||
}
|
||||
@@ -115,7 +135,11 @@ main(int argc, char **argv) {
|
||||
progname = program;
|
||||
|
||||
keyname = DEFAULT_KEYNAME;
|
||||
#ifndef PK11_MD5_DISABLE
|
||||
alg = DST_ALG_HMACMD5;
|
||||
#else
|
||||
alg = DST_ALG_HMACSHA256;
|
||||
#endif
|
||||
serveraddr = DEFAULT_SERVER;
|
||||
port = DEFAULT_PORT;
|
||||
|
||||
@@ -201,12 +225,6 @@ main(int argc, char **argv) {
|
||||
if (argc > 0)
|
||||
usage(1);
|
||||
|
||||
if (alg == DST_ALG_HMACMD5) {
|
||||
fprintf(stderr,
|
||||
"warning: use of hmac-md5 for RNDC keys "
|
||||
"is deprecated; hmac-sha256 is now recommended.\n");
|
||||
}
|
||||
|
||||
if (keysize < 0)
|
||||
keysize = alg_bits(alg);
|
||||
algname = alg_totext(alg);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
- Copyright (C) 2001, 2003-2005, 2007, 2009, 2013-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2001, 2003-2005, 2007, 2009, 2013-2016 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
|
||||
@@ -39,7 +39,6 @@
|
||||
<year>2014</year>
|
||||
<year>2015</year>
|
||||
<year>2016</year>
|
||||
<year>2017</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
</docinfo>
|
||||
@@ -129,7 +128,8 @@
|
||||
<para>
|
||||
Specifies the algorithm to use for the TSIG key. Available
|
||||
choices are: hmac-md5, hmac-sha1, hmac-sha224, hmac-sha256,
|
||||
hmac-sha384 and hmac-sha512. The default is hmac-sha256.
|
||||
hmac-sha384 and hmac-sha512. The default is hmac-md5 or
|
||||
if MD5 was disabled hmac-sha256.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!--
|
||||
- Copyright (C) 2001, 2003-2005, 2007, 2009, 2013-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2001, 2003-2005, 2007, 2009, 2013-2016 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
|
||||
@@ -113,7 +113,8 @@
|
||||
<p>
|
||||
Specifies the algorithm to use for the TSIG key. Available
|
||||
choices are: hmac-md5, hmac-sha1, hmac-sha224, hmac-sha256,
|
||||
hmac-sha384 and hmac-sha512. The default is hmac-sha256.
|
||||
hmac-sha384 and hmac-sha512. The default is hmac-md5 or
|
||||
if MD5 was disabled hmac-sha256.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term">-b <em class="replaceable"><code>keysize</code></em></span></dt>
|
||||
|
||||
+2
-12
@@ -1,4 +1,4 @@
|
||||
.\" Copyright (C) 2000-2011, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\" Copyright (C) 2000-2011, 2013-2017 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
|
||||
@@ -219,11 +219,6 @@ ixfr=N\&. The incremental zone transfer will contain the changes made to the zon
|
||||
\fIN\fR\&.
|
||||
.RE
|
||||
.PP
|
||||
\-u
|
||||
.RS 4
|
||||
Print query times in microseconds instead of milliseconds\&.
|
||||
.RE
|
||||
.PP
|
||||
\-v
|
||||
.RS 4
|
||||
Print the version number and exit\&.
|
||||
@@ -474,11 +469,6 @@ Convert [do not convert] puny code on output\&. This requires IDN SUPPORT to hav
|
||||
Ignore truncation in UDP responses instead of retrying with TCP\&. By default, TCP retries are performed\&.
|
||||
.RE
|
||||
.PP
|
||||
\fB+[no]keepalive\fR
|
||||
.RS 4
|
||||
Send [or do not send] an EDNS Keepalive option\&.
|
||||
.RE
|
||||
.PP
|
||||
\fB+[no]keepopen\fR
|
||||
.RS 4
|
||||
Keep the TCP socket open between queries and reuse it rather than creating a new TCP socket for each lookup\&. The default is
|
||||
@@ -800,5 +790,5 @@ There are probably too many query options\&.
|
||||
\fBInternet Systems Consortium, Inc\&.\fR
|
||||
.SH "COPYRIGHT"
|
||||
.br
|
||||
Copyright \(co 2000-2011, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
Copyright \(co 2000-2011, 2013-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
.br
|
||||
|
||||
+46
-81
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2000-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2000-2017 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
|
||||
@@ -109,11 +109,6 @@ print_usage(FILE *fp) {
|
||||
" [ host [@local-server] {local-d-opt} [...]]\n", fp);
|
||||
}
|
||||
|
||||
#if TARGET_OS_IPHONE
|
||||
static void usage(void) {
|
||||
fprintf(stderr, "Press <Help> for complete list of options\n");
|
||||
}
|
||||
#else
|
||||
ISC_PLATFORM_NORETURN_PRE static void
|
||||
usage(void) ISC_PLATFORM_NORETURN_POST;
|
||||
|
||||
@@ -124,7 +119,6 @@ usage(void) {
|
||||
"for complete list of options\n", stderr);
|
||||
exit(1);
|
||||
}
|
||||
#endif
|
||||
|
||||
/*% version */
|
||||
static void
|
||||
@@ -233,7 +227,7 @@ help(void) {
|
||||
* Callback from dighost.c to print the received message.
|
||||
*/
|
||||
static void
|
||||
received(unsigned int bytes, isc_sockaddr_t *from, dig_query_t *query) {
|
||||
received(int bytes, isc_sockaddr_t *from, dig_query_t *query) {
|
||||
isc_uint64_t diff;
|
||||
time_t tnow;
|
||||
struct tm tmnow;
|
||||
@@ -420,8 +414,14 @@ isdotlocal(dns_message_t *msg) {
|
||||
isc_result_t result;
|
||||
static unsigned char local_ndata[] = { "\005local\0" };
|
||||
static unsigned char local_offsets[] = { 0, 6 };
|
||||
static dns_name_t local =
|
||||
DNS_NAME_INITABSOLUTE(local_ndata, local_offsets);
|
||||
static dns_name_t local = {
|
||||
DNS_NAME_MAGIC,
|
||||
local_ndata, 7, 2,
|
||||
DNS_NAMEATTR_READONLY | DNS_NAMEATTR_ABSOLUTE,
|
||||
local_offsets, NULL,
|
||||
{(void *)-1, (void *)-1},
|
||||
{NULL, NULL}
|
||||
};
|
||||
|
||||
for (result = dns_message_firstname(msg, DNS_SECTION_QUESTION);
|
||||
result == ISC_R_SUCCESS;
|
||||
@@ -824,10 +824,8 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
|
||||
goto invalid_option;
|
||||
result = parse_uint(&num, value, COMMSIZE,
|
||||
"buffer size");
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
warn("Couldn't parse buffer size");
|
||||
goto exit_or_usage;
|
||||
}
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("Couldn't parse buffer size");
|
||||
lookup->udpsize = num;
|
||||
break;
|
||||
default:
|
||||
@@ -872,10 +870,8 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
|
||||
if (value != NULL) {
|
||||
n = strlcpy(hexcookie, value,
|
||||
sizeof(hexcookie));
|
||||
if (n >= sizeof(hexcookie)) {
|
||||
warn("COOKIE data too large");
|
||||
goto exit_or_usage;
|
||||
}
|
||||
if (n >= sizeof(hexcookie))
|
||||
fatal("COOKIE data too large");
|
||||
lookup->cookie = hexcookie;
|
||||
} else
|
||||
lookup->cookie = NULL;
|
||||
@@ -926,10 +922,8 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
|
||||
if (value == NULL)
|
||||
goto need_value;
|
||||
result = parse_uint(&num, value, 0x3f, "DSCP");
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
warn("Couldn't parse DSCP value");
|
||||
goto exit_or_usage;
|
||||
}
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("Couldn't parse DSCP value");
|
||||
lookup->dscp = num;
|
||||
break;
|
||||
default:
|
||||
@@ -958,11 +952,9 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
|
||||
value,
|
||||
255,
|
||||
"edns");
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
warn("Couldn't parse "
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("Couldn't parse "
|
||||
"edns");
|
||||
goto exit_or_usage;
|
||||
}
|
||||
lookup->edns = num;
|
||||
break;
|
||||
case 'f':
|
||||
@@ -979,11 +971,9 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
|
||||
value,
|
||||
0xffff,
|
||||
"ednsflags");
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
warn("Couldn't parse "
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("Couldn't parse "
|
||||
"ednsflags");
|
||||
goto exit_or_usage;
|
||||
}
|
||||
lookup->ednsflags = num;
|
||||
break;
|
||||
case 'n':
|
||||
@@ -996,12 +986,10 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
|
||||
lookup->ednsoptscnt = 0;
|
||||
break;
|
||||
}
|
||||
if (value == NULL) {
|
||||
warn("ednsopt no "
|
||||
"code point "
|
||||
"specified");
|
||||
goto exit_or_usage;
|
||||
}
|
||||
if (value == NULL)
|
||||
fatal("ednsopt no "
|
||||
"code point "
|
||||
"specified");
|
||||
code = next_token(&value, ":");
|
||||
save_opt(lookup, code, value);
|
||||
break;
|
||||
@@ -1116,10 +1104,8 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
|
||||
if (!state)
|
||||
goto invalid_option;
|
||||
result = parse_uint(&num, value, MAXNDOTS, "ndots");
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
warn("Couldn't parse ndots");
|
||||
goto exit_or_usage;
|
||||
}
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("Couldn't parse ndots");
|
||||
ndots = num;
|
||||
break;
|
||||
case 's':
|
||||
@@ -1181,10 +1167,8 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
|
||||
break;
|
||||
}
|
||||
result = parse_uint(&num, value, 15, "opcode");
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
warn("Couldn't parse opcode");
|
||||
goto exit_or_usage;
|
||||
}
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("Couldn't parse opcode");
|
||||
lookup->opcode = (dns_opcode_t)num;
|
||||
break;
|
||||
default:
|
||||
@@ -1198,10 +1182,8 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
|
||||
if (value == NULL)
|
||||
goto need_value;
|
||||
result = parse_uint(&num, value, 512, "padding");
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
warn("Couldn't parse padding");
|
||||
goto exit_or_usage;
|
||||
}
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("Couldn't parse padding");
|
||||
lookup->padding = (isc_uint16_t)num;
|
||||
break;
|
||||
case 'q':
|
||||
@@ -1240,10 +1222,8 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
|
||||
goto invalid_option;
|
||||
result = parse_uint(&lookup->retries, value,
|
||||
MAXTRIES - 1, "retries");
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
warn("Couldn't parse retries");
|
||||
goto exit_or_usage;
|
||||
}
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("Couldn't parse retries");
|
||||
lookup->retries++;
|
||||
break;
|
||||
default:
|
||||
@@ -1311,11 +1291,11 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
|
||||
|
||||
result = parse_uint(&splitwidth, value,
|
||||
1023, "split");
|
||||
if ((splitwidth % 4) != 0U) {
|
||||
if (splitwidth % 4 != 0) {
|
||||
splitwidth = ((splitwidth + 3) / 4) * 4;
|
||||
fprintf(stderr, ";; Warning, split must be "
|
||||
"a multiple of 4; adjusting "
|
||||
"to %u\n", splitwidth);
|
||||
"to %d\n", splitwidth);
|
||||
}
|
||||
/*
|
||||
* There is an adjustment done in the
|
||||
@@ -1326,10 +1306,8 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
|
||||
*/
|
||||
if (splitwidth)
|
||||
splitwidth += 3;
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
warn("Couldn't parse split");
|
||||
goto exit_or_usage;
|
||||
}
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("Couldn't parse split");
|
||||
break;
|
||||
case 't': /* stats */
|
||||
FULLCHECK("stats");
|
||||
@@ -1353,10 +1331,8 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
|
||||
lookup->ecs_addr = NULL;
|
||||
}
|
||||
result = parse_netprefix(&lookup->ecs_addr, value);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
warn("Couldn't parse client");
|
||||
goto exit_or_usage;
|
||||
}
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("Couldn't parse client");
|
||||
break;
|
||||
default:
|
||||
goto invalid_option;
|
||||
@@ -1379,10 +1355,8 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
|
||||
goto invalid_option;
|
||||
result = parse_uint(&timeout, value, MAXTIMEOUT,
|
||||
"timeout");
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
warn("Couldn't parse timeout");
|
||||
goto exit_or_usage;
|
||||
}
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("Couldn't parse timeout");
|
||||
if (timeout == 0)
|
||||
timeout = 1;
|
||||
break;
|
||||
@@ -1418,10 +1392,8 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
|
||||
goto invalid_option;
|
||||
result = parse_uint(&lookup->retries, value,
|
||||
MAXTRIES, "tries");
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
warn("Couldn't parse tries");
|
||||
goto exit_or_usage;
|
||||
}
|
||||
if (result != ISC_R_SUCCESS)
|
||||
fatal("Couldn't parse tries");
|
||||
if (lookup->retries == 0)
|
||||
lookup->retries = 1;
|
||||
break;
|
||||
@@ -1478,19 +1450,11 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
|
||||
default:
|
||||
invalid_option:
|
||||
need_value:
|
||||
#if TARGET_OS_IPHONE
|
||||
exit_or_usage:
|
||||
#endif
|
||||
fprintf(stderr, "Invalid option: +%s\n",
|
||||
option);
|
||||
usage();
|
||||
}
|
||||
return;
|
||||
|
||||
#if ! TARGET_OS_IPHONE
|
||||
exit_or_usage:
|
||||
digexit();
|
||||
#endif
|
||||
}
|
||||
|
||||
/*%
|
||||
@@ -1884,7 +1848,8 @@ parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only,
|
||||
bargc = 1;
|
||||
input = batchline;
|
||||
bargv[bargc] = next_token(&input, " \t\r\n");
|
||||
while ((bargc < 62) && (bargv[bargc] != NULL)) {
|
||||
while ((bargv[bargc] != NULL) &&
|
||||
(bargc < 62)) {
|
||||
bargc++;
|
||||
bargv[bargc] =
|
||||
next_token(&input, " \t\r\n");
|
||||
@@ -2083,7 +2048,7 @@ parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only,
|
||||
goto next_line;
|
||||
input = batchline;
|
||||
bargv[bargc] = next_token(&input, " \t\r\n");
|
||||
while ((bargc < 14) && (bargv[bargc] != NULL)) {
|
||||
while ((bargv[bargc] != NULL) && (bargc < 14)) {
|
||||
bargc++;
|
||||
bargv[bargc] = next_token(&input, " \t\r\n");
|
||||
}
|
||||
@@ -2153,7 +2118,7 @@ query_finished(void) {
|
||||
bargc = 1;
|
||||
input = batchline;
|
||||
bargv[bargc] = next_token(&input, " \t\r\n");
|
||||
while ((bargc < 14) && (bargv[bargc] != NULL)) {
|
||||
while ((bargv[bargc] != NULL) && (bargc < 14)) {
|
||||
bargc++;
|
||||
bargv[bargc] = next_token(&input, " \t\r\n");
|
||||
}
|
||||
|
||||
+1
-20
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE book [
|
||||
<!ENTITY mdash "—">]>
|
||||
<!--
|
||||
- Copyright (C) 2000-2011, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2000-2011, 2013-2017 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
|
||||
@@ -48,7 +48,6 @@
|
||||
<year>2015</year>
|
||||
<year>2016</year>
|
||||
<year>2017</year>
|
||||
<year>2018</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
</docinfo>
|
||||
@@ -350,15 +349,6 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-u</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Print query times in microseconds instead of milliseconds.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-v</term>
|
||||
<listitem>
|
||||
@@ -794,15 +784,6 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>+[no]keepalive</option></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Send [or do not send] an EDNS Keepalive option.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>+[no]keepopen</option></term>
|
||||
<listitem>
|
||||
|
||||
+1
-13
@@ -1,6 +1,6 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!--
|
||||
- Copyright (C) 2000-2011, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2000-2011, 2013-2017 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
|
||||
@@ -290,12 +290,6 @@
|
||||
<em class="parameter"><code>N</code></em>.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term">-u</span></dt>
|
||||
<dd>
|
||||
<p>
|
||||
Print query times in microseconds instead of milliseconds.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term">-v</span></dt>
|
||||
<dd>
|
||||
<p>
|
||||
@@ -634,12 +628,6 @@
|
||||
with TCP. By default, TCP retries are performed.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term"><code class="option">+[no]keepalive</code></span></dt>
|
||||
<dd>
|
||||
<p>
|
||||
Send [or do not send] an EDNS Keepalive option.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term"><code class="option">+[no]keepopen</code></span></dt>
|
||||
<dd>
|
||||
<p>
|
||||
|
||||
+36
-119
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2000-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2000-2017 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
|
||||
@@ -202,7 +202,7 @@ isc_result_t
|
||||
isc_boolean_t headers);
|
||||
|
||||
void
|
||||
(*dighost_received)(unsigned int bytes, isc_sockaddr_t *from, dig_query_t *query);
|
||||
(*dighost_received)(int bytes, isc_sockaddr_t *from, dig_query_t *query);
|
||||
|
||||
void
|
||||
(*dighost_trying)(char *frm, dig_lookup_t *lookup);
|
||||
@@ -266,7 +266,7 @@ hex_dump(isc_buffer_t *b) {
|
||||
|
||||
isc_buffer_usedregion(b, &r);
|
||||
|
||||
printf("%u bytes\n", r.length);
|
||||
printf("%d bytes\n", r.length);
|
||||
for (len = 0; len < r.length; len++) {
|
||||
printf("%02x ", r.base[len]);
|
||||
if (len % 16 == 15) {
|
||||
@@ -375,46 +375,6 @@ get_reverse(char *reverse, size_t len, char *value, isc_boolean_t ip6_int,
|
||||
}
|
||||
}
|
||||
|
||||
void (*dighost_pre_exit_hook)(void) = NULL;
|
||||
|
||||
#if TARGET_OS_IPHONE
|
||||
void
|
||||
warn(const char *format, ...) {
|
||||
va_list args;
|
||||
|
||||
fflush(stdout);
|
||||
fprintf(stderr, ";; Warning: ");
|
||||
va_start(args, format);
|
||||
vfprintf(stderr, format, args);
|
||||
va_end(args);
|
||||
fprintf(stderr, "\n");
|
||||
}
|
||||
#else
|
||||
void
|
||||
warn(const char *format, ...) {
|
||||
va_list args;
|
||||
|
||||
fflush(stdout);
|
||||
fprintf(stderr, "%s: ", progname);
|
||||
va_start(args, format);
|
||||
vfprintf(stderr, format, args);
|
||||
va_end(args);
|
||||
fprintf(stderr, "\n");
|
||||
}
|
||||
#endif
|
||||
|
||||
void
|
||||
digexit(void) {
|
||||
if (exitcode < 10)
|
||||
exitcode = 10;
|
||||
if (fatalexit != 0)
|
||||
exitcode = fatalexit;
|
||||
if (dighost_pre_exit_hook != NULL) {
|
||||
dighost_pre_exit_hook();
|
||||
}
|
||||
exit(exitcode);
|
||||
}
|
||||
|
||||
void
|
||||
fatal(const char *format, ...) {
|
||||
va_list args;
|
||||
@@ -425,7 +385,11 @@ fatal(const char *format, ...) {
|
||||
vfprintf(stderr, format, args);
|
||||
va_end(args);
|
||||
fprintf(stderr, "\n");
|
||||
digexit();
|
||||
if (exitcode < 10)
|
||||
exitcode = 10;
|
||||
if (fatalexit != 0)
|
||||
exitcode = fatalexit;
|
||||
exit(exitcode);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -437,7 +401,7 @@ debug(const char *format, ...) {
|
||||
fflush(stdout);
|
||||
if (debugtiming) {
|
||||
TIME_NOW(&t);
|
||||
fprintf(stderr, "%u.%06u: ", isc_time_seconds(&t),
|
||||
fprintf(stderr, "%d.%06d: ", isc_time_seconds(&t),
|
||||
isc_time_nanoseconds(&t) / 1000);
|
||||
}
|
||||
va_start(args, format);
|
||||
@@ -691,41 +655,6 @@ make_empty_lookup(void) {
|
||||
return (looknew);
|
||||
}
|
||||
|
||||
#define EDNSOPT_OPTIONS 100U
|
||||
|
||||
static void
|
||||
cloneopts(dig_lookup_t *looknew, dig_lookup_t *lookold) {
|
||||
size_t len = sizeof(looknew->ednsopts[0]) * EDNSOPT_OPTIONS;
|
||||
size_t i;
|
||||
looknew->ednsopts = isc_mem_allocate(mctx, len);
|
||||
if (looknew->ednsopts == NULL)
|
||||
fatal("out of memory");
|
||||
for (i = 0; i < EDNSOPT_OPTIONS; i++) {
|
||||
looknew->ednsopts[i].code = 0;
|
||||
looknew->ednsopts[i].length = 0;
|
||||
looknew->ednsopts[i].value = NULL;
|
||||
}
|
||||
looknew->ednsoptscnt = 0;
|
||||
if (lookold == NULL || lookold->ednsopts == NULL)
|
||||
return;
|
||||
|
||||
for (i = 0; i < lookold->ednsoptscnt; i++) {
|
||||
len = lookold->ednsopts[i].length;
|
||||
if (len != 0) {
|
||||
INSIST(lookold->ednsopts[i].value != NULL);
|
||||
looknew->ednsopts[i].value =
|
||||
isc_mem_allocate(mctx, len);
|
||||
if (looknew->ednsopts[i].value == NULL)
|
||||
fatal("out of memory");
|
||||
memmove(looknew->ednsopts[i].value,
|
||||
lookold->ednsopts[i].value, len);
|
||||
}
|
||||
looknew->ednsopts[i].code = lookold->ednsopts[i].code;
|
||||
looknew->ednsopts[i].length = len;
|
||||
}
|
||||
looknew->ednsoptscnt = lookold->ednsoptscnt;
|
||||
}
|
||||
|
||||
/*%
|
||||
* Clone a lookup, perhaps copying the server list. This does not clone
|
||||
* the query list, since it will be regenerated by the setup_lookup()
|
||||
@@ -771,12 +700,8 @@ clone_lookup(dig_lookup_t *lookold, isc_boolean_t servers) {
|
||||
looknew->seenbadcookie = lookold->seenbadcookie;
|
||||
looknew->badcookie = lookold->badcookie;
|
||||
looknew->cookie = lookold->cookie;
|
||||
if (lookold->ednsopts != NULL) {
|
||||
cloneopts(looknew, lookold);
|
||||
} else {
|
||||
looknew->ednsopts = NULL;
|
||||
looknew->ednsoptscnt = 0;
|
||||
}
|
||||
looknew->ednsopts = lookold->ednsopts;
|
||||
looknew->ednsoptscnt = lookold->ednsoptscnt;
|
||||
looknew->ednsneg = lookold->ednsneg;
|
||||
looknew->padding = lookold->padding;
|
||||
looknew->mapped = lookold->mapped;
|
||||
@@ -1392,6 +1317,13 @@ setup_libs(void) {
|
||||
check_result(result, "isc_mutex_init");
|
||||
}
|
||||
|
||||
/*
|
||||
* Array of up to 100 options configured by +ednsopt
|
||||
*/
|
||||
#define EDNSOPT_OPTIONS 100U
|
||||
static dns_ednsopt_t ednsopts[EDNSOPT_OPTIONS];
|
||||
static unsigned char ednsoptscnt = 0;
|
||||
|
||||
typedef struct dig_ednsoptname {
|
||||
isc_uint32_t code;
|
||||
const char *name;
|
||||
@@ -1418,12 +1350,12 @@ dig_ednsoptname_t optnames[] = {
|
||||
void
|
||||
save_opt(dig_lookup_t *lookup, char *code, char *value) {
|
||||
isc_result_t result;
|
||||
isc_uint32_t num = 0;
|
||||
isc_uint32_t num;
|
||||
isc_buffer_t b;
|
||||
isc_boolean_t found = ISC_FALSE;
|
||||
unsigned int i;
|
||||
|
||||
if (lookup->ednsoptscnt >= EDNSOPT_OPTIONS)
|
||||
if (ednsoptscnt == EDNSOPT_OPTIONS)
|
||||
fatal("too many ednsopts");
|
||||
|
||||
for (i = 0; i < N_EDNS_OPTNAMES; i++) {
|
||||
@@ -1440,16 +1372,9 @@ save_opt(dig_lookup_t *lookup, char *code, char *value) {
|
||||
fatal("bad edns code point: %s", code);
|
||||
}
|
||||
|
||||
if (lookup->ednsopts == NULL) {
|
||||
cloneopts(lookup, NULL);
|
||||
}
|
||||
|
||||
if (lookup->ednsopts[lookup->ednsoptscnt].value != NULL)
|
||||
isc_mem_free(mctx, lookup->ednsopts[lookup->ednsoptscnt].value);
|
||||
|
||||
lookup->ednsopts[lookup->ednsoptscnt].code = num;
|
||||
lookup->ednsopts[lookup->ednsoptscnt].length = 0;
|
||||
lookup->ednsopts[lookup->ednsoptscnt].value = NULL;
|
||||
ednsopts[ednsoptscnt].code = num;
|
||||
ednsopts[ednsoptscnt].length = 0;
|
||||
ednsopts[ednsoptscnt].value = NULL;
|
||||
|
||||
if (value != NULL) {
|
||||
char *buf;
|
||||
@@ -1459,13 +1384,14 @@ save_opt(dig_lookup_t *lookup, char *code, char *value) {
|
||||
isc_buffer_init(&b, buf, (unsigned int) strlen(value)/2 + 1);
|
||||
result = isc_hex_decodestring(value, &b);
|
||||
check_result(result, "isc_hex_decodestring");
|
||||
lookup->ednsopts[lookup->ednsoptscnt].value =
|
||||
isc_buffer_base(&b);
|
||||
lookup->ednsopts[lookup->ednsoptscnt].length =
|
||||
isc_buffer_usedlength(&b);
|
||||
ednsopts[ednsoptscnt].value = isc_buffer_base(&b);
|
||||
ednsopts[ednsoptscnt].length = isc_buffer_usedlength(&b);
|
||||
}
|
||||
|
||||
if (lookup->ednsoptscnt == 0)
|
||||
lookup->ednsopts = &ednsopts[ednsoptscnt];
|
||||
lookup->ednsoptscnt++;
|
||||
ednsoptscnt++;
|
||||
}
|
||||
|
||||
/*%
|
||||
@@ -1644,15 +1570,6 @@ destroy_lookup(dig_lookup_t *lookup) {
|
||||
if (lookup->ecs_addr != NULL)
|
||||
isc_mem_free(mctx, lookup->ecs_addr);
|
||||
|
||||
if (lookup->ednsopts != NULL) {
|
||||
size_t i;
|
||||
for (i = 0; i < EDNSOPT_OPTIONS; i++) {
|
||||
if (lookup->ednsopts[i].value != NULL)
|
||||
isc_mem_free(mctx, lookup->ednsopts[i].value);
|
||||
}
|
||||
isc_mem_free(mctx, lookup->ednsopts);
|
||||
}
|
||||
|
||||
isc_mem_free(mctx, lookup);
|
||||
}
|
||||
|
||||
@@ -2197,15 +2114,9 @@ setup_lookup(dig_lookup_t *lookup) {
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
dns_message_puttempname(lookup->sendmsg,
|
||||
&lookup->name);
|
||||
warn("'%s' is not a legal name "
|
||||
fatal("'%s' is not a legal name "
|
||||
"(%s)", lookup->textname,
|
||||
isc_result_totext(result));
|
||||
#if TARGET_OS_IPHONE
|
||||
check_next_lookup(current_lookup);
|
||||
return (ISC_FALSE);
|
||||
#else
|
||||
digexit();
|
||||
#endif
|
||||
}
|
||||
}
|
||||
dns_name_format(lookup->name, store, sizeof(store));
|
||||
@@ -3738,7 +3649,7 @@ recv_done(isc_task_t *task, isc_event_t *event) {
|
||||
*/
|
||||
if (l->comments)
|
||||
printf(";; BADVERS, retrying with EDNS version %u.\n",
|
||||
(unsigned int)newedns);
|
||||
newedns);
|
||||
l->edns = newedns;
|
||||
n = requeue_lookup(l, ISC_TRUE);
|
||||
if (l->trace && l->trace_root)
|
||||
@@ -4216,6 +4127,12 @@ destroy_libs(void) {
|
||||
debug("Removing log context");
|
||||
isc_log_destroy(&lctx);
|
||||
|
||||
while (ednsoptscnt > 0U) {
|
||||
ednsoptscnt--;
|
||||
if (ednsopts[ednsoptscnt].value != NULL)
|
||||
isc_mem_free(mctx, ednsopts[ednsoptscnt].value);
|
||||
}
|
||||
|
||||
debug("Destroy memory");
|
||||
if (memdebugging != 0)
|
||||
isc_mem_stats(mctx, stderr);
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2000-2007, 2009-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2000-2007, 2009-2017 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
|
||||
@@ -169,7 +169,7 @@ host_shutdown(void) {
|
||||
}
|
||||
|
||||
static void
|
||||
received(unsigned int bytes, isc_sockaddr_t *from, dig_query_t *query) {
|
||||
received(int bytes, isc_sockaddr_t *from, dig_query_t *query) {
|
||||
isc_time_t now;
|
||||
int diff;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2000-2009, 2011-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2000-2009, 2011-2017 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
|
||||
@@ -26,10 +26,6 @@
|
||||
#include <isc/sockaddr.h>
|
||||
#include <isc/socket.h>
|
||||
|
||||
#ifdef __APPLE__
|
||||
#include <TargetConditionals.h>
|
||||
#endif
|
||||
|
||||
#define MXSERV 20
|
||||
#define MXNAME (DNS_NAME_MAXTEXT+1)
|
||||
#define MXRD 32
|
||||
@@ -286,13 +282,6 @@ ISC_PLATFORM_NORETURN_PRE void
|
||||
fatal(const char *format, ...)
|
||||
ISC_FORMAT_PRINTF(1, 2) ISC_PLATFORM_NORETURN_POST;
|
||||
|
||||
void
|
||||
warn(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
|
||||
|
||||
ISC_PLATFORM_NORETURN_PRE void
|
||||
digexit(void)
|
||||
ISC_PLATFORM_NORETURN_POST;
|
||||
|
||||
void
|
||||
debug(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
|
||||
|
||||
@@ -382,7 +371,7 @@ extern isc_result_t
|
||||
*/
|
||||
|
||||
extern void
|
||||
(*dighost_received)(unsigned int bytes, isc_sockaddr_t *from, dig_query_t *query);
|
||||
(*dighost_received)(int bytes, isc_sockaddr_t *from, dig_query_t *query);
|
||||
/*%<
|
||||
* Print a message about where and when the response
|
||||
* was received from, like the final comment in the
|
||||
@@ -395,9 +384,6 @@ extern void
|
||||
extern void
|
||||
(*dighost_shutdown)(void);
|
||||
|
||||
extern void
|
||||
(*dighost_pre_exit_hook)(void);
|
||||
|
||||
void save_opt(dig_lookup_t *lookup, char *code, char *value);
|
||||
|
||||
void setup_file_key(void);
|
||||
|
||||
+3
-3
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2000-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2000-2017 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
|
||||
@@ -387,7 +387,7 @@ detailsection(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers,
|
||||
}
|
||||
|
||||
static void
|
||||
received(unsigned int bytes, isc_sockaddr_t *from, dig_query_t *query)
|
||||
received(int bytes, isc_sockaddr_t *from, dig_query_t *query)
|
||||
{
|
||||
UNUSED(bytes);
|
||||
UNUSED(from);
|
||||
@@ -549,7 +549,7 @@ show_settings(isc_boolean_t full, isc_boolean_t serv_only) {
|
||||
printf(" %s\t\t%s\n",
|
||||
usesearch ? "search" : "nosearch",
|
||||
recurse ? "recurse" : "norecurse");
|
||||
printf(" timeout = %u\t\tretry = %d\tport = %u\tndots = %d\n",
|
||||
printf(" timeout = %d\t\tretry = %d\tport = %d\tndots = %d\n",
|
||||
timeout, tries, port, ndots);
|
||||
printf(" querytype = %-8s\tclass = %s\n", deftype, defclass);
|
||||
printf(" srchlist = ");
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.\" Copyright (C) 2017, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\" Copyright (C) 2017 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
|
||||
@@ -44,8 +44,7 @@ dnssec-cds \- change DS records for a child zone based on CDS/CDNSKEY
|
||||
.PP
|
||||
The
|
||||
\fBdnssec\-cds\fR
|
||||
command changes DS records at a delegation point based on CDS or CDNSKEY records published in the child zone\&. If both CDS and CDNSKEY records are present in the child zone, the CDS is preferred\&. This enables a child zone to inform its parent of upcoming changes to its key\-signing keys; by polling periodically with
|
||||
\fBdnssec\-cds\fR, the parent can keep the DS records up to date and enable automatic rolling of KSKs\&.
|
||||
command changes DS records at a delegation point based on CDS or CDNSKEY records published in the child zone\&. If both CDS and CDNSKEY records are present in the child zone, the CDS is preferred\&.
|
||||
.PP
|
||||
Two input files are required\&. The
|
||||
\fB\-f \fR\fB\fIchild\-file\fR\fR
|
||||
@@ -58,10 +57,6 @@ file generated by
|
||||
\fBdnssec\-dsfromkey\fR, or the output of a previous run of
|
||||
\fBdnssec\-cds\fR\&.
|
||||
.PP
|
||||
The
|
||||
\fBdnssec\-cds\fR
|
||||
command uses special DNSSEC validation logic specified by RFC 7344\&. It requires that the CDS and/or CDNSKEY records are validly signed by a key represented in the existing DS records\&. This will typicially be the pre\-existing key\-signing key (KSK)\&.
|
||||
.PP
|
||||
For protection against replay attacks, the signatures on the child records must not be older than they were on a previous run of
|
||||
\fBdnssec\-cds\fR\&. This time is obtained from the modification time of the
|
||||
dsset\-
|
||||
@@ -293,5 +288,5 @@ RFC 7344\&.
|
||||
.RE
|
||||
.SH "COPYRIGHT"
|
||||
.br
|
||||
Copyright \(co 2017, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
Copyright \(co 2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
.br
|
||||
|
||||
+4
-19
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2017, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2017 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
|
||||
@@ -85,7 +85,7 @@ static dns_rdataclass_t rdclass = dns_rdataclass_in;
|
||||
*/
|
||||
static isc_uint8_t dtype[8];
|
||||
|
||||
static const char *startstr = NULL; /* from which we derive notbefore */
|
||||
static const char *startstr = NULL; /* from which we derive notbefore */
|
||||
static isc_stdtime_t notbefore = 0; /* restrict sig inception times */
|
||||
static dns_rdata_rrsig_t oldestsig; /* for recording inception time */
|
||||
|
||||
@@ -521,13 +521,6 @@ match_key_dsset(keyinfo_t *ki, dns_rdataset_t *dsset, strictness_t strictness)
|
||||
}
|
||||
}
|
||||
|
||||
vbprintf(1, "no matching %s for %s %d %d\n",
|
||||
dsset->type == dns_rdatatype_cds
|
||||
? "CDS" : "DS",
|
||||
ki->rdata.type == dns_rdatatype_cdnskey
|
||||
? "CDNSKEY" : "DNSKEY",
|
||||
ki->tag, ki->algo);
|
||||
|
||||
return (ISC_FALSE);
|
||||
}
|
||||
|
||||
@@ -654,25 +647,17 @@ matching_sigs(keyinfo_t *keytbl, dns_rdataset_t *rdataset,
|
||||
|
||||
for (i = 0; i < nkey; i++) {
|
||||
keyinfo_t *ki = &keytbl[i];
|
||||
if (sig.keyid != ki->tag ||
|
||||
if (ki->dst == NULL ||
|
||||
sig.keyid != ki->tag ||
|
||||
sig.algorithm != ki->algo ||
|
||||
!dns_name_equal(&sig.signer, name))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
if (ki->dst == NULL) {
|
||||
vbprintf(1, "skip RRSIG by key %d:"
|
||||
" no matching (C)DS\n",
|
||||
sig.keyid);
|
||||
continue;
|
||||
}
|
||||
|
||||
result = dns_dnssec_verify(name, rdataset, ki->dst,
|
||||
ISC_FALSE, mctx, &sigrdata);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
vbprintf(1, "skip RRSIG by key %d:"
|
||||
" verification failed: %s\n",
|
||||
sig.keyid, isc_result_totext(result));
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
- Copyright (C) 2017, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2017 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
|
||||
@@ -36,7 +36,6 @@
|
||||
<docinfo>
|
||||
<copyright>
|
||||
<year>2017</year>
|
||||
<year>2018</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
</docinfo>
|
||||
@@ -65,11 +64,7 @@
|
||||
The <command>dnssec-cds</command> command changes DS records at
|
||||
a delegation point based on CDS or CDNSKEY records published in
|
||||
the child zone. If both CDS and CDNSKEY records are present in
|
||||
the child zone, the CDS is preferred. This enables a child zone
|
||||
to inform its parent of upcoming changes to its key-signing keys;
|
||||
by polling periodically with <command>dnssec-cds</command>, the
|
||||
parent can keep the DS records up to date and enable automatic
|
||||
rolling of KSKs.
|
||||
the child zone, the CDS is preferred.
|
||||
</para>
|
||||
<para>
|
||||
Two input files are required. The
|
||||
@@ -84,13 +79,6 @@
|
||||
<command>dnssec-dsfromkey</command>, or the output of a previous
|
||||
run of <command>dnssec-cds</command>.
|
||||
</para>
|
||||
<para>
|
||||
The <command>dnssec-cds</command> command uses special DNSSEC
|
||||
validation logic specified by RFC 7344. It requires that the CDS
|
||||
and/or CDNSKEY records are validly signed by a key represented in the
|
||||
existing DS records. This will typicially be the pre-existing
|
||||
key-signing key (KSK).
|
||||
</para>
|
||||
<para>
|
||||
For protection against replay attacks, the signatures on the
|
||||
child records must not be older than they were on a previous run
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!--
|
||||
- Copyright (C) 2017, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2017 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
|
||||
@@ -55,11 +55,7 @@
|
||||
The <span class="command"><strong>dnssec-cds</strong></span> command changes DS records at
|
||||
a delegation point based on CDS or CDNSKEY records published in
|
||||
the child zone. If both CDS and CDNSKEY records are present in
|
||||
the child zone, the CDS is preferred. This enables a child zone
|
||||
to inform its parent of upcoming changes to its key-signing keys;
|
||||
by polling periodically with <span class="command"><strong>dnssec-cds</strong></span>, the
|
||||
parent can keep the DS records up to date and enable automatic
|
||||
rolling of KSKs.
|
||||
the child zone, the CDS is preferred.
|
||||
</p>
|
||||
<p>
|
||||
Two input files are required. The
|
||||
@@ -74,13 +70,6 @@
|
||||
<span class="command"><strong>dnssec-dsfromkey</strong></span>, or the output of a previous
|
||||
run of <span class="command"><strong>dnssec-cds</strong></span>.
|
||||
</p>
|
||||
<p>
|
||||
The <span class="command"><strong>dnssec-cds</strong></span> command uses special DNSSEC
|
||||
validation logic specified by RFC 7344. It requires that the CDS
|
||||
and/or CDNSKEY records are validly signed by a key represented in the
|
||||
existing DS records. This will typicially be the pre-existing
|
||||
key-signing key (KSK).
|
||||
</p>
|
||||
<p>
|
||||
For protection against replay attacks, the signatures on the
|
||||
child records must not be older than they were on a previous run
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2007-2012, 2014-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2007-2012, 2014-2017 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
|
||||
@@ -609,13 +609,8 @@ main(int argc, char **argv) {
|
||||
isc_buffer_init(&buf, filename, sizeof(filename) - 1);
|
||||
|
||||
/* associate the key */
|
||||
ret = dst_key_fromlabel(name, alg, flags, protocol, rdclass,
|
||||
#ifdef PKCS11CRYPTO
|
||||
"pkcs11",
|
||||
#else
|
||||
engine,
|
||||
#endif
|
||||
label, NULL, mctx, &key);
|
||||
ret = dst_key_fromlabel(name, alg, flags, protocol,
|
||||
rdclass, "pkcs11", label, NULL, mctx, &key);
|
||||
isc_entropy_stopcallbacksources(ectx);
|
||||
|
||||
if (ret != ISC_R_SUCCESS) {
|
||||
|
||||
@@ -62,15 +62,12 @@ may be preferable to direct use of
|
||||
.RS 4
|
||||
Selects the cryptographic algorithm\&. For DNSSEC keys, the value of
|
||||
\fBalgorithm\fR
|
||||
must be one of RSAMD5, RSASHA1, DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512, ECCGOST, ECDSAP256SHA256, ECDSAP384SHA384, ED25519 or ED448\&. For TKEY, the value must be DH (Diffie Hellman); specifying his value will automatically set the
|
||||
must be one of RSAMD5, RSASHA1, DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512, ECCGOST, ECDSAP256SHA256, ECDSAP384SHA384, ED25519 or ED448\&. For TSIG/TKEY keys, the value must be one of DH (Diffie Hellman), HMAC\-MD5, HMAC\-SHA1, HMAC\-SHA224, HMAC\-SHA256, HMAC\-SHA384, or HMAC\-SHA512; specifying any of these algorithms will automatically set the
|
||||
\fB\-T KEY\fR
|
||||
option as well\&.
|
||||
.sp
|
||||
TSIG keys can also be generated by setting the value to one of HMAC\-MD5, HMAC\-SHA1, HMAC\-SHA224, HMAC\-SHA256, HMAC\-SHA384, or HMAC\-SHA512\&. As with DH, specifying these values will automatically set
|
||||
\fB\-T KEY\fR\&. Note, however, that
|
||||
option as well\&. (Note:
|
||||
\fBtsig\-keygen\fR
|
||||
produces TSIG keys in a more useful format\&. These algorithms have been deprecated in
|
||||
\fBdnssec\-keygen\fR, and will be removed in a future release\&.
|
||||
produces TSIG keys in a more useful format than
|
||||
\fBdnssec\-keygen\fR\&.)
|
||||
.sp
|
||||
These values are case insensitive\&. In some cases, abbreviations are supported, such as ECDSA256 for ECDSAP256SHA256 and ECDSA384 for ECDSAP384SHA384\&. If RSASHA1 or DSA is specified along with the
|
||||
\fB\-3\fR
|
||||
@@ -78,7 +75,7 @@ option, then NSEC3RSASHA1 or NSEC3DSA will be used instead\&.
|
||||
.sp
|
||||
As of BIND 9\&.12\&.0, this option is mandatory except when using the
|
||||
\fB\-S\fR
|
||||
option, which copies the algorithm from the predecessor key\&. Previously, the default for newly generated keys was RSASHA1\&.
|
||||
option (which copies the algorithm from the predecessor key)\&. Previously, the default for newly generated keys was RSASHA1\&.
|
||||
.RE
|
||||
.PP
|
||||
\-b \fIkeysize\fR
|
||||
|
||||
@@ -582,16 +582,6 @@ main(int argc, char **argv) {
|
||||
INSIST((alg != DNS_KEYALG_RSAMD5) && (alg != DST_ALG_HMACMD5));
|
||||
#endif
|
||||
|
||||
|
||||
if (alg == DST_ALG_HMACMD5 || alg == DST_ALG_HMACSHA1 ||
|
||||
alg == DST_ALG_HMACSHA224 || alg == DST_ALG_HMACSHA256 ||
|
||||
alg == DST_ALG_HMACSHA384 || alg == DST_ALG_HMACSHA512)
|
||||
{
|
||||
fprintf(stderr,
|
||||
"Use of dnssec-keygen for HMAC keys is "
|
||||
"deprecated: use tsig-keygen\n");
|
||||
}
|
||||
|
||||
if (!dst_algorithm_supported(alg))
|
||||
fatal("unsupported algorithm: %d", alg);
|
||||
|
||||
|
||||
@@ -122,19 +122,12 @@
|
||||
of <option>algorithm</option> must be one of RSAMD5, RSASHA1,
|
||||
DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512, ECCGOST,
|
||||
ECDSAP256SHA256, ECDSAP384SHA384, ED25519 or ED448. For
|
||||
TKEY, the value must be DH (Diffie Hellman); specifying
|
||||
his value will automatically set the <option>-T KEY</option>
|
||||
option as well.
|
||||
</para>
|
||||
<para>
|
||||
TSIG keys can also be generated by setting the value to
|
||||
one of HMAC-MD5, HMAC-SHA1, HMAC-SHA224, HMAC-SHA256,
|
||||
HMAC-SHA384, or HMAC-SHA512. As with DH, specifying these
|
||||
values will automatically set <option>-T KEY</option>. Note,
|
||||
however, that <command>tsig-keygen</command> produces TSIG keys
|
||||
in a more useful format. These algorithms have been deprecated
|
||||
in <command>dnssec-keygen</command>, and will be removed in a
|
||||
future release.
|
||||
TSIG/TKEY keys, the value must be one of DH (Diffie Hellman),
|
||||
HMAC-MD5, HMAC-SHA1, HMAC-SHA224, HMAC-SHA256, HMAC-SHA384,
|
||||
or HMAC-SHA512; specifying any of these algorithms will
|
||||
automatically set the <option>-T KEY</option> option as well.
|
||||
(Note: <command>tsig-keygen</command> produces TSIG keys in a
|
||||
more useful format than <command>dnssec-keygen</command>.)
|
||||
</para>
|
||||
<para>
|
||||
These values are case insensitive. In some cases, abbreviations
|
||||
@@ -145,8 +138,8 @@
|
||||
</para>
|
||||
<para>
|
||||
As of BIND 9.12.0, this option is mandatory except when using
|
||||
the <option>-S</option> option, which copies the algorithm from
|
||||
the predecessor key. Previously, the default for newly
|
||||
the <option>-S</option> option (which copies the algorithm from
|
||||
the predecessor key). Previously, the default for newly
|
||||
generated keys was RSASHA1.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
@@ -103,19 +103,12 @@
|
||||
of <code class="option">algorithm</code> must be one of RSAMD5, RSASHA1,
|
||||
DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512, ECCGOST,
|
||||
ECDSAP256SHA256, ECDSAP384SHA384, ED25519 or ED448. For
|
||||
TKEY, the value must be DH (Diffie Hellman); specifying
|
||||
his value will automatically set the <code class="option">-T KEY</code>
|
||||
option as well.
|
||||
</p>
|
||||
<p>
|
||||
TSIG keys can also be generated by setting the value to
|
||||
one of HMAC-MD5, HMAC-SHA1, HMAC-SHA224, HMAC-SHA256,
|
||||
HMAC-SHA384, or HMAC-SHA512. As with DH, specifying these
|
||||
values will automatically set <code class="option">-T KEY</code>. Note,
|
||||
however, that <span class="command"><strong>tsig-keygen</strong></span> produces TSIG keys
|
||||
in a more useful format. These algorithms have been deprecated
|
||||
in <span class="command"><strong>dnssec-keygen</strong></span>, and will be removed in a
|
||||
future release.
|
||||
TSIG/TKEY keys, the value must be one of DH (Diffie Hellman),
|
||||
HMAC-MD5, HMAC-SHA1, HMAC-SHA224, HMAC-SHA256, HMAC-SHA384,
|
||||
or HMAC-SHA512; specifying any of these algorithms will
|
||||
automatically set the <code class="option">-T KEY</code> option as well.
|
||||
(Note: <span class="command"><strong>tsig-keygen</strong></span> produces TSIG keys in a
|
||||
more useful format than <span class="command"><strong>dnssec-keygen</strong></span>.)
|
||||
</p>
|
||||
<p>
|
||||
These values are case insensitive. In some cases, abbreviations
|
||||
@@ -126,8 +119,8 @@
|
||||
</p>
|
||||
<p>
|
||||
As of BIND 9.12.0, this option is mandatory except when using
|
||||
the <code class="option">-S</code> option, which copies the algorithm from
|
||||
the predecessor key. Previously, the default for newly
|
||||
the <code class="option">-S</code> option (which copies the algorithm from
|
||||
the predecessor key). Previously, the default for newly
|
||||
generated keys was RSASHA1.
|
||||
</p>
|
||||
</dd>
|
||||
|
||||
@@ -349,14 +349,6 @@ If the key\*(Aqs revocation date is set and in the past, and the key is publishe
|
||||
.RS 4
|
||||
If either of the key\*(Aqs unpublication or deletion dates are set and in the past, the key is NOT published or used to sign the zone, regardless of any other metadata\&.
|
||||
.RE
|
||||
.PP
|
||||
.RS 4
|
||||
If key\*(Aqs sync publication date is set and in the past, synchronization records (type CDS and/or CDNSKEY) are created\&.
|
||||
.RE
|
||||
.PP
|
||||
.RS 4
|
||||
If key\*(Aqs sync deletion date is set and in the past, synchronization records (type CDS and/or CDNSKEY) are removed\&.
|
||||
.RE
|
||||
.RE
|
||||
.PP
|
||||
\-T \fIttl\fR
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Portions Copyright (C) 1999-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Portions Copyright (C) 1999-2017 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
|
||||
@@ -716,17 +716,6 @@ hashlist_init(hashlist_t *l, unsigned int nodes, unsigned int length) {
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
hashlist_free(hashlist_t *l) {
|
||||
if (l->hashbuf) {
|
||||
free(l->hashbuf);
|
||||
l->hashbuf = NULL;
|
||||
l->entries = 0;
|
||||
l->length = 0;
|
||||
l->size = 0;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
hashlist_add(hashlist_t *l, const unsigned char *hash, size_t len)
|
||||
{
|
||||
@@ -2513,11 +2502,11 @@ loadzonekeys(isc_boolean_t preserve_keys, isc_boolean_t load_public) {
|
||||
goto cleanup;
|
||||
|
||||
if (set_keyttl && keyttl != rdataset.ttl) {
|
||||
fprintf(stderr, "User-specified TTL %u conflicts "
|
||||
fprintf(stderr, "User-specified TTL %d conflicts "
|
||||
"with existing DNSKEY RRset TTL.\n",
|
||||
keyttl);
|
||||
fprintf(stderr, "Imported keys will use the RRSet "
|
||||
"TTL %u instead.\n",
|
||||
"TTL %d instead.\n",
|
||||
rdataset.ttl);
|
||||
}
|
||||
keyttl = rdataset.ttl;
|
||||
@@ -3128,12 +3117,12 @@ print_stats(isc_time_t *timer_start, isc_time_t *timer_finish,
|
||||
isc_uint64_t sig_ms; /* Signatures per millisecond */
|
||||
FILE *out = output_stdout ? stderr : stdout;
|
||||
|
||||
fprintf(out, "Signatures generated: %10u\n", nsigned);
|
||||
fprintf(out, "Signatures retained: %10u\n", nretained);
|
||||
fprintf(out, "Signatures dropped: %10u\n", ndropped);
|
||||
fprintf(out, "Signatures successfully verified: %10u\n", nverified);
|
||||
fprintf(out, "Signatures generated: %10d\n", nsigned);
|
||||
fprintf(out, "Signatures retained: %10d\n", nretained);
|
||||
fprintf(out, "Signatures dropped: %10d\n", ndropped);
|
||||
fprintf(out, "Signatures successfully verified: %10d\n", nverified);
|
||||
fprintf(out, "Signatures unsuccessfully "
|
||||
"verified: %10u\n", nverifyfailed);
|
||||
"verified: %10d\n", nverifyfailed);
|
||||
|
||||
time_us = isc_time_microdiff(sign_finish, sign_start);
|
||||
time_ms = time_us / 1000;
|
||||
@@ -3646,8 +3635,8 @@ main(int argc, char *argv[]) {
|
||||
get_soa_ttls();
|
||||
|
||||
if (set_maxttl && set_keyttl && keyttl > maxttl) {
|
||||
fprintf(stderr, "%s: warning: Specified key TTL %u "
|
||||
"exceeds maximum zone TTL; reducing to %u\n",
|
||||
fprintf(stderr, "%s: warning: Specified key TTL %d "
|
||||
"exceeds maximum zone TTL; reducing to %d\n",
|
||||
program, keyttl, maxttl);
|
||||
keyttl = maxttl;
|
||||
}
|
||||
@@ -3742,8 +3731,6 @@ main(int argc, char *argv[]) {
|
||||
if (nsec3iter > max)
|
||||
fatal("NSEC3 iterations too big for weakest DNSKEY "
|
||||
"strength. Maximum iterations allowed %u.", max);
|
||||
} else {
|
||||
hashlist_init(&hashlist, 0, 0); /* silence clang */
|
||||
}
|
||||
|
||||
gversion = NULL;
|
||||
@@ -3905,8 +3892,6 @@ main(int argc, char *argv[]) {
|
||||
dns_db_closeversion(gdb, &gversion, ISC_FALSE);
|
||||
dns_db_detach(&gdb);
|
||||
|
||||
hashlist_free(&hashlist);
|
||||
|
||||
while (!ISC_LIST_EMPTY(keylist)) {
|
||||
key = ISC_LIST_HEAD(keylist);
|
||||
ISC_LIST_UNLINK(keylist, key, link);
|
||||
|
||||
@@ -646,26 +646,6 @@
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<listitem>
|
||||
<para>
|
||||
If key's sync publication date is set and in the past,
|
||||
synchronization records (type CDS and/or CDNSKEY) are
|
||||
created.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<listitem>
|
||||
<para>
|
||||
If key's sync deletion date is set and in the past,
|
||||
synchronization records (type CDS and/or CDNSKEY) are
|
||||
removed.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
@@ -519,22 +519,6 @@
|
||||
zone, regardless of any other metadata.
|
||||
</p>
|
||||
</dd>
|
||||
<dt></dt>
|
||||
<dd>
|
||||
<p>
|
||||
If key's sync publication date is set and in the past,
|
||||
synchronization records (type CDS and/or CDNSKEY) are
|
||||
created.
|
||||
</p>
|
||||
</dd>
|
||||
<dt></dt>
|
||||
<dd>
|
||||
<p>
|
||||
If key's sync deletion date is set and in the past,
|
||||
synchronization records (type CDS and/or CDNSKEY) are
|
||||
removed.
|
||||
</p>
|
||||
</dd>
|
||||
</dl></div>
|
||||
</dd>
|
||||
<dt><span class="term">-T <em class="replaceable"><code>ttl</code></em></span></dt>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2000, 2001, 2003-2005, 2007, 2009-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2000, 2001, 2003-2005, 2007, 2009-2017 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
|
||||
@@ -209,14 +209,12 @@ cleanup_logging(isc_log_t **logp) {
|
||||
REQUIRE(logp != NULL);
|
||||
|
||||
log = *logp;
|
||||
*logp = NULL;
|
||||
|
||||
if (log == NULL)
|
||||
return;
|
||||
|
||||
isc_log_destroy(&log);
|
||||
isc_log_setcontext(NULL);
|
||||
dns_log_setcontext(NULL);
|
||||
logp = NULL;
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
@@ -8,10 +8,6 @@ srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
|
||||
# Attempt to disable parallel processing.
|
||||
.NOTPARALLEL:
|
||||
.NO_PARALLEL:
|
||||
|
||||
VERSION=@BIND9_VERSION@
|
||||
|
||||
@BIND9_PRODUCT@
|
||||
@@ -134,7 +130,7 @@ server.@O@: server.c
|
||||
-DPRODUCT=\"${PRODUCT}\" \
|
||||
-DVERSION=\"${VERSION}\" -c ${srcdir}/server.c
|
||||
|
||||
named@EXEEXT@: ${OBJS} ${DEPLIBS}
|
||||
named@EXEEXT@: ${OBJS} ${UOBJS} ${DEPLIBS}
|
||||
export MAKE_SYMTABLE="yes"; \
|
||||
export BASEOBJS="${OBJS} ${UOBJS}"; \
|
||||
${FINALBUILDCMD}
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@
|
||||
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="1.0">
|
||||
<xsl:output method="html" indent="yes" version="4.0"/>
|
||||
<xsl:template match="statistics[@version="3.11"]">
|
||||
<xsl:template match="statistics[@version="3.10"]">
|
||||
<html>
|
||||
<head>
|
||||
<xsl:if test="system-property('xsl:vendor')!='Transformiix'">
|
||||
|
||||
@@ -14,7 +14,7 @@ static char xslmsg[] =
|
||||
"\n"
|
||||
"<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns=\"http://www.w3.org/1999/xhtml\" version=\"1.0\">\n"
|
||||
" <xsl:output method=\"html\" indent=\"yes\" version=\"4.0\"/>\n"
|
||||
" <xsl:template match=\"statistics[@version="3.11"]\">\n"
|
||||
" <xsl:template match=\"statistics[@version="3.10"]\">\n"
|
||||
" <html>\n"
|
||||
" <head>\n"
|
||||
" <xsl:if test=\"system-property('xsl:vendor')!='Transformiix'\">\n"
|
||||
|
||||
+4
-2
@@ -156,10 +156,12 @@ options {\n\
|
||||
# fetch-glue <obsolete>;\n\
|
||||
fetch-quota-params 100 0.1 0.3 0.7;\n\
|
||||
fetches-per-server 0;\n\
|
||||
fetches-per-zone 0;\n\
|
||||
filter-aaaa-on-v4 no;\n\
|
||||
fetches-per-zone 0;\n"
|
||||
#ifdef ALLOW_FILTER_AAAA
|
||||
" filter-aaaa-on-v4 no;\n\
|
||||
filter-aaaa-on-v6 no;\n\
|
||||
filter-aaaa { any; };\n"
|
||||
#endif
|
||||
#ifdef HAVE_GEOIP
|
||||
" geoip-use-ecs yes;\n"
|
||||
#endif
|
||||
|
||||
+2
-3
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2001-2007, 2009-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2001-2007, 2009-2017 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
|
||||
@@ -114,8 +114,7 @@ named_control_docommand(isccc_sexpr_t *message, isc_boolean_t readonly,
|
||||
/*
|
||||
* Compare the 'command' parameter against all known control commands.
|
||||
*/
|
||||
if ((command_compare(command, NAMED_COMMAND_NULL) &&
|
||||
strlen(cmdline) == 4) ||
|
||||
if (command_compare(command, NAMED_COMMAND_NULL) ||
|
||||
command_compare(command, NAMED_COMMAND_STATUS))
|
||||
{
|
||||
log_level = ISC_LOG_DEBUG(1);
|
||||
|
||||
@@ -456,8 +456,9 @@ control_recvmessage(isc_task_t *task, isc_event_t *event) {
|
||||
*/
|
||||
if (conn->nonce == 0) {
|
||||
while (conn->nonce == 0) {
|
||||
isc_rng_randombytes(server->sctx->rngctx, &conn->nonce,
|
||||
sizeof(conn->nonce));
|
||||
isc_uint16_t r1 = isc_rng_random(server->sctx->rngctx);
|
||||
isc_uint16_t r2 = isc_rng_random(server->sctx->rngctx);
|
||||
conn->nonce = (r1 << 16) | r2;
|
||||
}
|
||||
eresult = ISC_R_SUCCESS;
|
||||
} else
|
||||
|
||||
@@ -26,8 +26,6 @@
|
||||
int scmp_syscalls[] = {
|
||||
SCMP_SYS(access),
|
||||
SCMP_SYS(open),
|
||||
SCMP_SYS(openat),
|
||||
SCMP_SYS(lseek),
|
||||
SCMP_SYS(clock_gettime),
|
||||
SCMP_SYS(time),
|
||||
SCMP_SYS(read),
|
||||
@@ -56,7 +54,6 @@ int scmp_syscalls[] = {
|
||||
#ifdef HAVE_GETRANDOM
|
||||
SCMP_SYS(getrandom),
|
||||
#endif
|
||||
SCMP_SYS(rename),
|
||||
SCMP_SYS(unlink),
|
||||
SCMP_SYS(socket),
|
||||
SCMP_SYS(sendto),
|
||||
@@ -75,6 +72,7 @@ int scmp_syscalls[] = {
|
||||
SCMP_SYS(getsockopt),
|
||||
SCMP_SYS(getsockname),
|
||||
SCMP_SYS(lstat),
|
||||
SCMP_SYS(lseek),
|
||||
SCMP_SYS(getgid),
|
||||
SCMP_SYS(getegid),
|
||||
SCMP_SYS(getuid),
|
||||
@@ -85,7 +83,9 @@ int scmp_syscalls[] = {
|
||||
SCMP_SYS(setuid),
|
||||
SCMP_SYS(prctl),
|
||||
SCMP_SYS(epoll_wait),
|
||||
SCMP_SYS(openat),
|
||||
SCMP_SYS(getdents),
|
||||
SCMP_SYS(rename),
|
||||
SCMP_SYS(utimes),
|
||||
SCMP_SYS(dup),
|
||||
#endif
|
||||
@@ -93,8 +93,6 @@ int scmp_syscalls[] = {
|
||||
const char *scmp_syscall_names[] = {
|
||||
"access",
|
||||
"open",
|
||||
"openat",
|
||||
"lseek",
|
||||
"clock_gettime",
|
||||
"time",
|
||||
"read",
|
||||
@@ -123,7 +121,6 @@ const char *scmp_syscall_names[] = {
|
||||
#ifdef HAVE_GETRANDOM
|
||||
"getrandom",
|
||||
#endif
|
||||
"rename",
|
||||
"unlink",
|
||||
"socket",
|
||||
"sendto",
|
||||
@@ -142,6 +139,7 @@ const char *scmp_syscall_names[] = {
|
||||
"getsockopt",
|
||||
"getsockname",
|
||||
"lstat",
|
||||
"lseek",
|
||||
"getgid",
|
||||
"getegid",
|
||||
"getuid",
|
||||
@@ -152,7 +150,9 @@ const char *scmp_syscall_names[] = {
|
||||
"setuid",
|
||||
"prctl",
|
||||
"epoll_wait",
|
||||
"openat",
|
||||
"getdents",
|
||||
"rename",
|
||||
"utimes",
|
||||
"dup",
|
||||
#endif
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
#include <isc/stdio.h>
|
||||
#include <isc/string.h>
|
||||
#include <isc/syslog.h>
|
||||
#include <isc/util.h>
|
||||
|
||||
#include <isccfg/cfg.h>
|
||||
#include <isccfg/log.h>
|
||||
|
||||
+28
-40
@@ -1,4 +1,4 @@
|
||||
.\" Copyright (C) 2004-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\" Copyright (C) 2004-2017 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
|
||||
@@ -10,12 +10,12 @@
|
||||
.\" Title: named.conf
|
||||
.\" Author:
|
||||
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
|
||||
.\" Date: 2017-10-26
|
||||
.\" Date: 2017-04-25
|
||||
.\" Manual: BIND9
|
||||
.\" Source: ISC
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NAMED\&.CONF" "5" "2017\-10\-26" "ISC" "BIND9"
|
||||
.TH "NAMED\&.CONF" "5" "2017\-04\-25" "ISC" "BIND9"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
@@ -181,6 +181,10 @@ masters \fIstring\fR [ port \fIinteger\fR ] [ dscp
|
||||
.\}
|
||||
.nf
|
||||
options {
|
||||
acache\-cleaning\-interval \fIinteger\fR;
|
||||
acache\-enable \fIboolean\fR;
|
||||
additional\-from\-auth \fIboolean\fR;
|
||||
additional\-from\-cache \fIboolean\fR;
|
||||
allow\-new\-zones \fIboolean\fR;
|
||||
allow\-notify { \fIaddress_match_element\fR; \&.\&.\&. };
|
||||
allow\-query { \fIaddress_match_element\fR; \&.\&.\&. };
|
||||
@@ -250,8 +254,6 @@ options {
|
||||
};
|
||||
dns64\-contact \fIstring\fR;
|
||||
dns64\-server \fIstring\fR;
|
||||
dnsrps\-enable \fIboolean\fR;
|
||||
dnsrps\-options { \fIunspecified\-text\fR };
|
||||
dnssec\-accept\-expired \fIboolean\fR;
|
||||
dnssec\-dnskey\-kskonly \fIboolean\fR;
|
||||
dnssec\-enable \fIboolean\fR;
|
||||
@@ -300,8 +302,7 @@ options {
|
||||
fstrm\-set\-output\-queue\-size \fIinteger\fR;
|
||||
fstrm\-set\-reopen\-interval \fIinteger\fR;
|
||||
geoip\-directory ( \fIquoted_string\fR | none );
|
||||
geoip\-use\-ecs \fIboolean\fR;
|
||||
glue\-cache \fIboolean\fR;
|
||||
geoip\-use\-ecs ( \fIquoted_string\fR | none );
|
||||
heartbeat\-interval \fIinteger\fR;
|
||||
hostname ( \fIquoted_string\fR | none );
|
||||
inline\-signing \fIboolean\fR;
|
||||
@@ -322,10 +323,11 @@ options {
|
||||
masterfile\-format ( map | raw | text );
|
||||
masterfile\-style ( full | relative );
|
||||
match\-mapped\-addresses \fIboolean\fR;
|
||||
max\-acache\-size ( unlimited | \fIsizeval\fR );
|
||||
max\-cache\-size ( default | unlimited | \fIsizeval\fR | \fIpercentage\fR );
|
||||
max\-cache\-ttl \fIinteger\fR;
|
||||
max\-clients\-per\-query \fIinteger\fR;
|
||||
max\-journal\-size ( default | unlimited | \fIsizeval\fR );
|
||||
max\-journal\-size ( unlimited | \fIsizeval\fR );
|
||||
max\-ncache\-ttl \fIinteger\fR;
|
||||
max\-records \fIinteger\fR;
|
||||
max\-recursion\-depth \fIinteger\fR;
|
||||
@@ -333,7 +335,6 @@ options {
|
||||
max\-refresh\-time \fIinteger\fR;
|
||||
max\-retry\-time \fIinteger\fR;
|
||||
max\-rsa\-exponent\-size \fIinteger\fR;
|
||||
max\-stale\-ttl \fIttlval\fR;
|
||||
max\-transfer\-idle\-in \fIinteger\fR;
|
||||
max\-transfer\-idle\-out \fIinteger\fR;
|
||||
max\-transfer\-time\-in \fIinteger\fR;
|
||||
@@ -348,7 +349,6 @@ options {
|
||||
minimal\-any \fIboolean\fR;
|
||||
minimal\-responses ( no\-auth | no\-auth\-recursive | \fIboolean\fR );
|
||||
multi\-master \fIboolean\fR;
|
||||
new\-zones\-directory \fIquoted_string\fR;
|
||||
no\-case\-compress { \fIaddress_match_element\fR; \&.\&.\&. };
|
||||
nocookie\-udp\-size \fIinteger\fR;
|
||||
notify ( explicit | master\-only | \fIboolean\fR );
|
||||
@@ -359,6 +359,7 @@ options {
|
||||
notify\-source\-v6 ( \fIipv6_address\fR | * ) [ port ( \fIinteger\fR | * ) ]
|
||||
[ dscp \fIinteger\fR ];
|
||||
notify\-to\-soa \fIboolean\fR;
|
||||
nsec3\-test\-zone \fIboolean\fR; // test only
|
||||
nta\-lifetime \fIttlval\fR;
|
||||
nta\-recheck \fIttlval\fR;
|
||||
nxdomain\-redirect \fIstring\fR;
|
||||
@@ -374,7 +375,7 @@ options {
|
||||
\fIinteger\fR | * ) ] ) | ( [ [ address ] ( \fIipv6_address\fR | * ) ]
|
||||
port ( \fIinteger\fR | * ) ) ) [ dscp \fIinteger\fR ];
|
||||
querylog \fIboolean\fR;
|
||||
random\-device ( \fIquoted_string\fR | none );
|
||||
random\-device \fIquoted_string\fR;
|
||||
rate\-limit {
|
||||
all\-per\-second \fIinteger\fR;
|
||||
errors\-per\-second \fIinteger\fR;
|
||||
@@ -400,23 +401,17 @@ options {
|
||||
request\-nsid \fIboolean\fR;
|
||||
require\-server\-cookie \fIboolean\fR;
|
||||
reserved\-sockets \fIinteger\fR;
|
||||
resolver\-nonbackoff\-tries \fIinteger\fR;
|
||||
resolver\-query\-timeout \fIinteger\fR;
|
||||
resolver\-retry\-interval \fIinteger\fR;
|
||||
response\-padding { \fIaddress_match_element\fR; \&.\&.\&. } block\-size
|
||||
\fIinteger\fR;
|
||||
response\-policy { zone \fIquoted_string\fR [ log \fIboolean\fR ] [
|
||||
max\-policy\-ttl \fIinteger\fR ] [ min\-update\-interval \fIinteger\fR ] [
|
||||
policy ( cname | disabled | drop | given | no\-op | nodata |
|
||||
nxdomain | passthru | tcp\-only \fIquoted_string\fR ) ] [
|
||||
recursive\-only \fIboolean\fR ] [ nsip\-enable \fIboolean\fR ] [
|
||||
nsdname\-enable \fIboolean\fR ]; \&.\&.\&. } [ break\-dnssec \fIboolean\fR ] [
|
||||
recursive\-only \fIboolean\fR ]; \&.\&.\&. } [ break\-dnssec \fIboolean\fR ] [
|
||||
max\-policy\-ttl \fIinteger\fR ] [ min\-update\-interval \fIinteger\fR ] [
|
||||
min\-ns\-dots \fIinteger\fR ] [ nsip\-wait\-recurse \fIboolean\fR ] [
|
||||
qname\-wait\-recurse \fIboolean\fR ] [ recursive\-only \fIboolean\fR ] [
|
||||
nsip\-enable \fIboolean\fR ] [ nsdname\-enable \fIboolean\fR ] [
|
||||
dnsrps\-enable \fIboolean\fR ] [ dnsrps\-options { \fIunspecified\-text\fR
|
||||
} ];
|
||||
qname\-wait\-recurse \fIboolean\fR ] [ recursive\-only \fIboolean\fR ];
|
||||
root\-delegation\-only [ exclude { \fIquoted_string\fR; \&.\&.\&. } ];
|
||||
rrset\-order { [ class \fIstring\fR ] [ type \fIstring\fR ] [ name
|
||||
\fIquoted_string\fR ] \fIstring\fR \fIstring\fR; \&.\&.\&. };
|
||||
@@ -435,8 +430,6 @@ options {
|
||||
sig\-validity\-interval \fIinteger\fR [ \fIinteger\fR ];
|
||||
sortlist { \fIaddress_match_element\fR; \&.\&.\&. };
|
||||
stacksize ( default | unlimited | \fIsizeval\fR );
|
||||
stale\-answer\-enable \fIboolean\fR;
|
||||
stale\-answer\-ttl \fIttlval\fR;
|
||||
startup\-notify\-rate \fIinteger\fR;
|
||||
statistics\-file \fIquoted_string\fR;
|
||||
synth\-from\-dnssec \fIboolean\fR;
|
||||
@@ -552,6 +545,10 @@ trusted\-keys { \fIstring\fR \fIinteger\fR \fIinteger\fR
|
||||
.\}
|
||||
.nf
|
||||
view \fIstring\fR [ \fIclass\fR ] {
|
||||
acache\-cleaning\-interval \fIinteger\fR;
|
||||
acache\-enable \fIboolean\fR;
|
||||
additional\-from\-auth \fIboolean\fR;
|
||||
additional\-from\-cache \fIboolean\fR;
|
||||
allow\-new\-zones \fIboolean\fR;
|
||||
allow\-notify { \fIaddress_match_element\fR; \&.\&.\&. };
|
||||
allow\-query { \fIaddress_match_element\fR; \&.\&.\&. };
|
||||
@@ -615,8 +612,6 @@ view \fIstring\fR [ \fIclass\fR ] {
|
||||
};
|
||||
dns64\-contact \fIstring\fR;
|
||||
dns64\-server \fIstring\fR;
|
||||
dnsrps\-enable \fIboolean\fR;
|
||||
dnsrps\-options { \fIunspecified\-text\fR };
|
||||
dnssec\-accept\-expired \fIboolean\fR;
|
||||
dnssec\-dnskey\-kskonly \fIboolean\fR;
|
||||
dnssec\-enable \fIboolean\fR;
|
||||
@@ -648,7 +643,6 @@ view \fIstring\fR [ \fIclass\fR ] {
|
||||
forward ( first | only );
|
||||
forwarders [ port \fIinteger\fR ] [ dscp \fIinteger\fR ] { ( \fIipv4_address\fR
|
||||
| \fIipv6_address\fR ) [ port \fIinteger\fR ] [ dscp \fIinteger\fR ]; \&.\&.\&. };
|
||||
glue\-cache \fIboolean\fR;
|
||||
inline\-signing \fIboolean\fR;
|
||||
ixfr\-from\-differences ( master | slave | \fIboolean\fR );
|
||||
key \fIstring\fR {
|
||||
@@ -666,17 +660,17 @@ view \fIstring\fR [ \fIclass\fR ] {
|
||||
match\-clients { \fIaddress_match_element\fR; \&.\&.\&. };
|
||||
match\-destinations { \fIaddress_match_element\fR; \&.\&.\&. };
|
||||
match\-recursive\-only \fIboolean\fR;
|
||||
max\-acache\-size ( unlimited | \fIsizeval\fR );
|
||||
max\-cache\-size ( default | unlimited | \fIsizeval\fR | \fIpercentage\fR );
|
||||
max\-cache\-ttl \fIinteger\fR;
|
||||
max\-clients\-per\-query \fIinteger\fR;
|
||||
max\-journal\-size ( default | unlimited | \fIsizeval\fR );
|
||||
max\-journal\-size ( unlimited | \fIsizeval\fR );
|
||||
max\-ncache\-ttl \fIinteger\fR;
|
||||
max\-records \fIinteger\fR;
|
||||
max\-recursion\-depth \fIinteger\fR;
|
||||
max\-recursion\-queries \fIinteger\fR;
|
||||
max\-refresh\-time \fIinteger\fR;
|
||||
max\-retry\-time \fIinteger\fR;
|
||||
max\-stale\-ttl \fIttlval\fR;
|
||||
max\-transfer\-idle\-in \fIinteger\fR;
|
||||
max\-transfer\-idle\-out \fIinteger\fR;
|
||||
max\-transfer\-time\-in \fIinteger\fR;
|
||||
@@ -689,7 +683,6 @@ view \fIstring\fR [ \fIclass\fR ] {
|
||||
minimal\-any \fIboolean\fR;
|
||||
minimal\-responses ( no\-auth | no\-auth\-recursive | \fIboolean\fR );
|
||||
multi\-master \fIboolean\fR;
|
||||
new\-zones\-directory \fIquoted_string\fR;
|
||||
no\-case\-compress { \fIaddress_match_element\fR; \&.\&.\&. };
|
||||
nocookie\-udp\-size \fIinteger\fR;
|
||||
notify ( explicit | master\-only | \fIboolean\fR );
|
||||
@@ -699,6 +692,7 @@ view \fIstring\fR [ \fIclass\fR ] {
|
||||
notify\-source\-v6 ( \fIipv6_address\fR | * ) [ port ( \fIinteger\fR | * ) ]
|
||||
[ dscp \fIinteger\fR ];
|
||||
notify\-to\-soa \fIboolean\fR;
|
||||
nsec3\-test\-zone \fIboolean\fR; // test only
|
||||
nta\-lifetime \fIttlval\fR;
|
||||
nta\-recheck \fIttlval\fR;
|
||||
nxdomain\-redirect \fIstring\fR;
|
||||
@@ -733,23 +727,17 @@ view \fIstring\fR [ \fIclass\fR ] {
|
||||
request\-ixfr \fIboolean\fR;
|
||||
request\-nsid \fIboolean\fR;
|
||||
require\-server\-cookie \fIboolean\fR;
|
||||
resolver\-nonbackoff\-tries \fIinteger\fR;
|
||||
resolver\-query\-timeout \fIinteger\fR;
|
||||
resolver\-retry\-interval \fIinteger\fR;
|
||||
response\-padding { \fIaddress_match_element\fR; \&.\&.\&. } block\-size
|
||||
\fIinteger\fR;
|
||||
response\-policy { zone \fIquoted_string\fR [ log \fIboolean\fR ] [
|
||||
max\-policy\-ttl \fIinteger\fR ] [ min\-update\-interval \fIinteger\fR ] [
|
||||
policy ( cname | disabled | drop | given | no\-op | nodata |
|
||||
nxdomain | passthru | tcp\-only \fIquoted_string\fR ) ] [
|
||||
recursive\-only \fIboolean\fR ] [ nsip\-enable \fIboolean\fR ] [
|
||||
nsdname\-enable \fIboolean\fR ]; \&.\&.\&. } [ break\-dnssec \fIboolean\fR ] [
|
||||
recursive\-only \fIboolean\fR ]; \&.\&.\&. } [ break\-dnssec \fIboolean\fR ] [
|
||||
max\-policy\-ttl \fIinteger\fR ] [ min\-update\-interval \fIinteger\fR ] [
|
||||
min\-ns\-dots \fIinteger\fR ] [ nsip\-wait\-recurse \fIboolean\fR ] [
|
||||
qname\-wait\-recurse \fIboolean\fR ] [ recursive\-only \fIboolean\fR ] [
|
||||
nsip\-enable \fIboolean\fR ] [ nsdname\-enable \fIboolean\fR ] [
|
||||
dnsrps\-enable \fIboolean\fR ] [ dnsrps\-options { \fIunspecified\-text\fR
|
||||
} ];
|
||||
qname\-wait\-recurse \fIboolean\fR ] [ recursive\-only \fIboolean\fR ];
|
||||
root\-delegation\-only [ exclude { \fIquoted_string\fR; \&.\&.\&. } ];
|
||||
rrset\-order { [ class \fIstring\fR ] [ type \fIstring\fR ] [ name
|
||||
\fIquoted_string\fR ] \fIstring\fR \fIstring\fR; \&.\&.\&. };
|
||||
@@ -795,8 +783,6 @@ view \fIstring\fR [ \fIclass\fR ] {
|
||||
sig\-signing\-type \fIinteger\fR;
|
||||
sig\-validity\-interval \fIinteger\fR [ \fIinteger\fR ];
|
||||
sortlist { \fIaddress_match_element\fR; \&.\&.\&. };
|
||||
stale\-answer\-enable \fIboolean\fR;
|
||||
stale\-answer\-ttl \fIttlval\fR;
|
||||
synth\-from\-dnssec \fIboolean\fR;
|
||||
transfer\-format ( many\-answers | one\-answer );
|
||||
transfer\-source ( \fIipv4_address\fR | * ) [ port ( \fIinteger\fR | * ) ] [
|
||||
@@ -863,7 +849,7 @@ view \fIstring\fR [ \fIclass\fR ] {
|
||||
| \fIipv4_address\fR [ port \fIinteger\fR ] | \fIipv6_address\fR [
|
||||
port \fIinteger\fR ] ) [ key \fIstring\fR ]; \&.\&.\&. };
|
||||
max\-ixfr\-log\-size ( default | unlimited |
|
||||
max\-journal\-size ( default | unlimited | \fIsizeval\fR );
|
||||
max\-journal\-size ( unlimited | \fIsizeval\fR );
|
||||
max\-records \fIinteger\fR;
|
||||
max\-refresh\-time \fIinteger\fR;
|
||||
max\-retry\-time \fIinteger\fR;
|
||||
@@ -882,6 +868,7 @@ view \fIstring\fR [ \fIclass\fR ] {
|
||||
notify\-source\-v6 ( \fIipv6_address\fR | * ) [ port ( \fIinteger\fR
|
||||
| * ) ] [ dscp \fIinteger\fR ];
|
||||
notify\-to\-soa \fIboolean\fR;
|
||||
nsec3\-test\-zone \fIboolean\fR; // test only
|
||||
pubkey \fIinteger\fR
|
||||
\fIinteger\fR
|
||||
\fIinteger\fR
|
||||
@@ -970,7 +957,7 @@ zone \fIstring\fR [ \fIclass\fR ] {
|
||||
masters [ port \fIinteger\fR ] [ dscp \fIinteger\fR ] { ( \fImasters\fR |
|
||||
\fIipv4_address\fR [ port \fIinteger\fR ] | \fIipv6_address\fR [ port
|
||||
\fIinteger\fR ] ) [ key \fIstring\fR ]; \&.\&.\&. };
|
||||
max\-journal\-size ( default | unlimited | \fIsizeval\fR );
|
||||
max\-journal\-size ( unlimited | \fIsizeval\fR );
|
||||
max\-records \fIinteger\fR;
|
||||
max\-refresh\-time \fIinteger\fR;
|
||||
max\-retry\-time \fIinteger\fR;
|
||||
@@ -989,6 +976,7 @@ zone \fIstring\fR [ \fIclass\fR ] {
|
||||
notify\-source\-v6 ( \fIipv6_address\fR | * ) [ port ( \fIinteger\fR | * ) ]
|
||||
[ dscp \fIinteger\fR ];
|
||||
notify\-to\-soa \fIboolean\fR;
|
||||
nsec3\-test\-zone \fIboolean\fR; // test only
|
||||
pubkey \fIinteger\fR \fIinteger\fR
|
||||
request\-expire \fIboolean\fR;
|
||||
request\-ixfr \fIboolean\fR;
|
||||
@@ -1036,5 +1024,5 @@ BIND 9 Administrator Reference Manual\&.
|
||||
\fBInternet Systems Consortium, Inc\&.\fR
|
||||
.SH "COPYRIGHT"
|
||||
.br
|
||||
Copyright \(co 2004-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
Copyright \(co 2004-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
.br
|
||||
|
||||
+230
-244
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
- Copyright (C) 2004-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2004-2017 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
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
<refentry xmlns:db="http://docbook.org/ns/docbook" version="5.0" xml:id="man.named.conf">
|
||||
<info>
|
||||
<date>2017-10-26</date>
|
||||
<date>2017-04-25</date>
|
||||
</info>
|
||||
<refentryinfo>
|
||||
<corpname>ISC</corpname>
|
||||
@@ -44,7 +44,6 @@
|
||||
<year>2015</year>
|
||||
<year>2016</year>
|
||||
<year>2017</year>
|
||||
<year>2018</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
</docinfo>
|
||||
@@ -87,14 +86,14 @@ acl <replaceable>string</replaceable> { <replaceable>address_match_element</repl
|
||||
<literallayout class="normal">
|
||||
controls {
|
||||
inet ( <replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> |
|
||||
* ) [ port ( <replaceable>integer</replaceable> | * ) ] allow
|
||||
{ <replaceable>address_match_element</replaceable>; ... } [
|
||||
keys { <replaceable>string</replaceable>; ... } ] [ read-only
|
||||
<replaceable>boolean</replaceable> ];
|
||||
* ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional> allow
|
||||
{ <replaceable>address_match_element</replaceable>; ... } <optional>
|
||||
keys { <replaceable>string</replaceable>; ... } </optional> <optional> read-only
|
||||
<replaceable>boolean</replaceable> </optional>;
|
||||
unix <replaceable>quoted_string</replaceable> perm <replaceable>integer</replaceable>
|
||||
owner <replaceable>integer</replaceable> group <replaceable>integer</replaceable> [
|
||||
keys { <replaceable>string</replaceable>; ... } ] [ read-only
|
||||
<replaceable>boolean</replaceable> ];
|
||||
owner <replaceable>integer</replaceable> group <replaceable>integer</replaceable> <optional>
|
||||
keys { <replaceable>string</replaceable>; ... } </optional> <optional> read-only
|
||||
<replaceable>boolean</replaceable> </optional>;
|
||||
};
|
||||
</literallayout>
|
||||
</refsection>
|
||||
@@ -134,21 +133,20 @@ logging {
|
||||
category <replaceable>string</replaceable> { <replaceable>string</replaceable>; ... };
|
||||
channel <replaceable>string</replaceable> {
|
||||
buffered <replaceable>boolean</replaceable>;
|
||||
file <replaceable>quoted_string</replaceable> [ versions ( unlimited | <replaceable>integer</replaceable> ) ]
|
||||
[ size <replaceable>size</replaceable> ] [ suffix ( increment | timestamp ) ];
|
||||
file <replaceable>quoted_string</replaceable> <optional> versions ( unlimited | <replaceable>integer</replaceable> ) </optional>
|
||||
<optional> size <replaceable>size</replaceable> </optional> <optional> suffix ( increment | timestamp ) </optional>;
|
||||
null;
|
||||
print-category <replaceable>boolean</replaceable>;
|
||||
print-severity <replaceable>boolean</replaceable>;
|
||||
print-time ( iso8601 | iso8601-utc | local | <replaceable>boolean</replaceable> );
|
||||
severity <replaceable>log_severity</replaceable>;
|
||||
stderr;
|
||||
syslog [ <replaceable>syslog_facility</replaceable> ];
|
||||
syslog <optional> <replaceable>syslog_facility</replaceable> </optional>;
|
||||
};
|
||||
};
|
||||
</literallayout>
|
||||
</refsection>
|
||||
|
||||
|
||||
<refsection><info><title>MANAGED-KEYS</title></info>
|
||||
|
||||
<literallayout class="normal">
|
||||
@@ -160,10 +158,10 @@ managed-keys { <replaceable>string</replaceable> <replaceable>string</replaceabl
|
||||
<refsection><info><title>MASTERS</title></info>
|
||||
|
||||
<literallayout class="normal">
|
||||
masters <replaceable>string</replaceable> [ port <replaceable>integer</replaceable> ] [ dscp
|
||||
<replaceable>integer</replaceable> ] { ( <replaceable>masters</replaceable> | <replaceable>ipv4_address</replaceable> [
|
||||
port <replaceable>integer</replaceable> ] | <replaceable>ipv6_address</replaceable> [ port
|
||||
<replaceable>integer</replaceable> ] ) [ key <replaceable>string</replaceable> ]; ... };
|
||||
masters <replaceable>string</replaceable> <optional> port <replaceable>integer</replaceable> </optional> <optional> dscp
|
||||
<replaceable>integer</replaceable> </optional> { ( <replaceable>masters</replaceable> | <replaceable>ipv4_address</replaceable> <optional>
|
||||
port <replaceable>integer</replaceable> </optional> | <replaceable>ipv6_address</replaceable> <optional> port
|
||||
<replaceable>integer</replaceable> </optional> ) <optional> key <replaceable>string</replaceable> </optional>; ... };
|
||||
</literallayout>
|
||||
</refsection>
|
||||
|
||||
@@ -171,6 +169,10 @@ masters <replaceable>string</replaceable> [ port <replaceable>integer</replaceab
|
||||
|
||||
<literallayout class="normal">
|
||||
options {
|
||||
acache-cleaning-interval <replaceable>integer</replaceable>;
|
||||
acache-enable <replaceable>boolean</replaceable>;
|
||||
additional-from-auth <replaceable>boolean</replaceable>;
|
||||
additional-from-cache <replaceable>boolean</replaceable>;
|
||||
allow-new-zones <replaceable>boolean</replaceable>;
|
||||
allow-notify { <replaceable>address_match_element</replaceable>; ... };
|
||||
allow-query { <replaceable>address_match_element</replaceable>; ... };
|
||||
@@ -182,13 +184,13 @@ options {
|
||||
allow-transfer { <replaceable>address_match_element</replaceable>; ... };
|
||||
allow-update { <replaceable>address_match_element</replaceable>; ... };
|
||||
allow-update-forwarding { <replaceable>address_match_element</replaceable>; ... };
|
||||
also-notify [ port <replaceable>integer</replaceable> ] [ dscp <replaceable>integer</replaceable> ] { ( <replaceable>masters</replaceable> |
|
||||
<replaceable>ipv4_address</replaceable> [ port <replaceable>integer</replaceable> ] | <replaceable>ipv6_address</replaceable> [ port
|
||||
<replaceable>integer</replaceable> ] ) [ key <replaceable>string</replaceable> ]; ... };
|
||||
alt-transfer-source ( <replaceable>ipv4_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> | * )
|
||||
] [ dscp <replaceable>integer</replaceable> ];
|
||||
alt-transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> |
|
||||
* ) ] [ dscp <replaceable>integer</replaceable> ];
|
||||
also-notify <optional> port <replaceable>integer</replaceable> </optional> <optional> dscp <replaceable>integer</replaceable> </optional> { ( <replaceable>masters</replaceable> |
|
||||
<replaceable>ipv4_address</replaceable> <optional> port <replaceable>integer</replaceable> </optional> | <replaceable>ipv6_address</replaceable> <optional> port
|
||||
<replaceable>integer</replaceable> </optional> ) <optional> key <replaceable>string</replaceable> </optional>; ... };
|
||||
alt-transfer-source ( <replaceable>ipv4_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * )
|
||||
</optional> <optional> dscp <replaceable>integer</replaceable> </optional>;
|
||||
alt-transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> |
|
||||
* ) </optional> <optional> dscp <replaceable>integer</replaceable> </optional>;
|
||||
attach-cache <replaceable>string</replaceable>;
|
||||
auth-nxdomain <replaceable>boolean</replaceable>; // default changed
|
||||
auto-dnssec ( allow | maintain | off );
|
||||
@@ -198,11 +200,11 @@ options {
|
||||
bindkeys-file <replaceable>quoted_string</replaceable>;
|
||||
blackhole { <replaceable>address_match_element</replaceable>; ... };
|
||||
cache-file <replaceable>quoted_string</replaceable>;
|
||||
catalog-zones { zone <replaceable>quoted_string</replaceable> [ default-masters [ port
|
||||
<replaceable>integer</replaceable> ] [ dscp <replaceable>integer</replaceable> ] { ( <replaceable>masters</replaceable> | <replaceable>ipv4_address</replaceable> [
|
||||
port <replaceable>integer</replaceable> ] | <replaceable>ipv6_address</replaceable> [ port <replaceable>integer</replaceable> ] ) [ key
|
||||
<replaceable>string</replaceable> ]; ... } ] [ zone-directory <replaceable>quoted_string</replaceable> ] [
|
||||
in-memory <replaceable>boolean</replaceable> ] [ min-update-interval <replaceable>integer</replaceable> ]; ... };
|
||||
catalog-zones { zone <replaceable>quoted_string</replaceable> <optional> default-masters <optional> port
|
||||
<replaceable>integer</replaceable> </optional> <optional> dscp <replaceable>integer</replaceable> </optional> { ( <replaceable>masters</replaceable> | <replaceable>ipv4_address</replaceable> <optional>
|
||||
port <replaceable>integer</replaceable> </optional> | <replaceable>ipv6_address</replaceable> <optional> port <replaceable>integer</replaceable> </optional> ) <optional> key
|
||||
<replaceable>string</replaceable> </optional>; ... } </optional> <optional> zone-directory <replaceable>quoted_string</replaceable> </optional> <optional>
|
||||
in-memory <replaceable>boolean</replaceable> </optional> <optional> min-update-interval <replaceable>integer</replaceable> </optional>; ... };
|
||||
check-dup-records ( fail | warn | ignore );
|
||||
check-integrity <replaceable>boolean</replaceable>;
|
||||
check-mx ( fail | warn | ignore );
|
||||
@@ -219,10 +221,10 @@ options {
|
||||
cookie-secret <replaceable>string</replaceable>;
|
||||
coresize ( default | unlimited | <replaceable>sizeval</replaceable> );
|
||||
datasize ( default | unlimited | <replaceable>sizeval</replaceable> );
|
||||
deny-answer-addresses { <replaceable>address_match_element</replaceable>; ... } [
|
||||
except-from { <replaceable>quoted_string</replaceable>; ... } ];
|
||||
deny-answer-aliases { <replaceable>quoted_string</replaceable>; ... } [ except-from {
|
||||
<replaceable>quoted_string</replaceable>; ... } ];
|
||||
deny-answer-addresses { <replaceable>address_match_element</replaceable>; ... } <optional>
|
||||
except-from { <replaceable>quoted_string</replaceable>; ... } </optional>;
|
||||
deny-answer-aliases { <replaceable>quoted_string</replaceable>; ... } <optional> except-from {
|
||||
<replaceable>quoted_string</replaceable>; ... } </optional>;
|
||||
dialup ( notify | notify-passive | passive | refresh | <replaceable>boolean</replaceable> );
|
||||
directory <replaceable>quoted_string</replaceable>;
|
||||
disable-algorithms <replaceable>string</replaceable> { <replaceable>string</replaceable>;
|
||||
@@ -240,8 +242,6 @@ options {
|
||||
};
|
||||
dns64-contact <replaceable>string</replaceable>;
|
||||
dns64-server <replaceable>string</replaceable>;
|
||||
dnsrps-enable <replaceable>boolean</replaceable>;
|
||||
dnsrps-options { <replaceable>unspecified-text</replaceable> };
|
||||
dnssec-accept-expired <replaceable>boolean</replaceable>;
|
||||
dnssec-dnskey-kskonly <replaceable>boolean</replaceable>;
|
||||
dnssec-enable <replaceable>boolean</replaceable>;
|
||||
@@ -253,35 +253,35 @@ options {
|
||||
dnssec-update-mode ( maintain | no-resign );
|
||||
dnssec-validation ( yes | no | auto );
|
||||
dnstap { ( all | auth | client | forwarder |
|
||||
resolver ) [ ( query | response ) ]; ... };
|
||||
resolver ) <optional> ( query | response ) </optional>; ... };
|
||||
dnstap-identity ( <replaceable>quoted_string</replaceable> | none |
|
||||
hostname );
|
||||
dnstap-output ( file | unix ) <replaceable>quoted_string</replaceable> [
|
||||
size ( unlimited | <replaceable>size</replaceable> ) ] [ versions (
|
||||
unlimited | <replaceable>integer</replaceable> ) ] [ suffix ( increment
|
||||
| timestamp ) ];
|
||||
dnstap-output ( file | unix ) <replaceable>quoted_string</replaceable> <optional>
|
||||
size ( unlimited | <replaceable>size</replaceable> ) </optional> <optional> versions (
|
||||
unlimited | <replaceable>integer</replaceable> ) </optional> <optional> suffix ( increment
|
||||
| timestamp ) </optional>;
|
||||
dnstap-version ( <replaceable>quoted_string</replaceable> | none );
|
||||
dscp <replaceable>integer</replaceable>;
|
||||
dual-stack-servers [ port <replaceable>integer</replaceable> ] { ( <replaceable>quoted_string</replaceable> [ port
|
||||
<replaceable>integer</replaceable> ] [ dscp <replaceable>integer</replaceable> ] | <replaceable>ipv4_address</replaceable> [ port
|
||||
<replaceable>integer</replaceable> ] [ dscp <replaceable>integer</replaceable> ] | <replaceable>ipv6_address</replaceable> [ port
|
||||
<replaceable>integer</replaceable> ] [ dscp <replaceable>integer</replaceable> ] ); ... };
|
||||
dual-stack-servers <optional> port <replaceable>integer</replaceable> </optional> { ( <replaceable>quoted_string</replaceable> <optional> port
|
||||
<replaceable>integer</replaceable> </optional> <optional> dscp <replaceable>integer</replaceable> </optional> | <replaceable>ipv4_address</replaceable> <optional> port
|
||||
<replaceable>integer</replaceable> </optional> <optional> dscp <replaceable>integer</replaceable> </optional> | <replaceable>ipv6_address</replaceable> <optional> port
|
||||
<replaceable>integer</replaceable> </optional> <optional> dscp <replaceable>integer</replaceable> </optional> ); ... };
|
||||
dump-file <replaceable>quoted_string</replaceable>;
|
||||
edns-udp-size <replaceable>integer</replaceable>;
|
||||
empty-contact <replaceable>string</replaceable>;
|
||||
empty-server <replaceable>string</replaceable>;
|
||||
empty-zones-enable <replaceable>boolean</replaceable>;
|
||||
fetch-quota-params <replaceable>integer</replaceable> <replaceable>fixedpoint</replaceable> <replaceable>fixedpoint</replaceable> <replaceable>fixedpoint</replaceable>;
|
||||
fetches-per-server <replaceable>integer</replaceable> [ ( drop | fail ) ];
|
||||
fetches-per-zone <replaceable>integer</replaceable> [ ( drop | fail ) ];
|
||||
fetches-per-server <replaceable>integer</replaceable> <optional> ( drop | fail ) </optional>;
|
||||
fetches-per-zone <replaceable>integer</replaceable> <optional> ( drop | fail ) </optional>;
|
||||
files ( default | unlimited | <replaceable>sizeval</replaceable> );
|
||||
filter-aaaa { <replaceable>address_match_element</replaceable>; ... };
|
||||
filter-aaaa-on-v4 ( break-dnssec | <replaceable>boolean</replaceable> );
|
||||
filter-aaaa-on-v6 ( break-dnssec | <replaceable>boolean</replaceable> );
|
||||
flush-zones-on-shutdown <replaceable>boolean</replaceable>;
|
||||
forward ( first | only );
|
||||
forwarders [ port <replaceable>integer</replaceable> ] [ dscp <replaceable>integer</replaceable> ] { ( <replaceable>ipv4_address</replaceable>
|
||||
| <replaceable>ipv6_address</replaceable> ) [ port <replaceable>integer</replaceable> ] [ dscp <replaceable>integer</replaceable> ]; ... };
|
||||
forwarders <optional> port <replaceable>integer</replaceable> </optional> <optional> dscp <replaceable>integer</replaceable> </optional> { ( <replaceable>ipv4_address</replaceable>
|
||||
| <replaceable>ipv6_address</replaceable> ) <optional> port <replaceable>integer</replaceable> </optional> <optional> dscp <replaceable>integer</replaceable> </optional>; ... };
|
||||
fstrm-set-buffer-hint <replaceable>integer</replaceable>;
|
||||
fstrm-set-flush-timeout <replaceable>integer</replaceable>;
|
||||
fstrm-set-input-queue-size <replaceable>integer</replaceable>;
|
||||
@@ -290,8 +290,7 @@ options {
|
||||
fstrm-set-output-queue-size <replaceable>integer</replaceable>;
|
||||
fstrm-set-reopen-interval <replaceable>integer</replaceable>;
|
||||
geoip-directory ( <replaceable>quoted_string</replaceable> | none );
|
||||
geoip-use-ecs <replaceable>boolean</replaceable>;
|
||||
glue-cache <replaceable>boolean</replaceable>;
|
||||
geoip-use-ecs ( <replaceable>quoted_string</replaceable> | none );
|
||||
heartbeat-interval <replaceable>integer</replaceable>;
|
||||
hostname ( <replaceable>quoted_string</replaceable> | none );
|
||||
inline-signing <replaceable>boolean</replaceable>;
|
||||
@@ -300,11 +299,11 @@ options {
|
||||
keep-response-order { <replaceable>address_match_element</replaceable>; ... };
|
||||
key-directory <replaceable>quoted_string</replaceable>;
|
||||
lame-ttl <replaceable>ttlval</replaceable>;
|
||||
listen-on [ port <replaceable>integer</replaceable> ] [ dscp
|
||||
<replaceable>integer</replaceable> ] {
|
||||
listen-on <optional> port <replaceable>integer</replaceable> </optional> <optional> dscp
|
||||
<replaceable>integer</replaceable> </optional> {
|
||||
<replaceable>address_match_element</replaceable>; ... };
|
||||
listen-on-v6 [ port <replaceable>integer</replaceable> ] [ dscp
|
||||
<replaceable>integer</replaceable> ] {
|
||||
listen-on-v6 <optional> port <replaceable>integer</replaceable> </optional> <optional> dscp
|
||||
<replaceable>integer</replaceable> </optional> {
|
||||
<replaceable>address_match_element</replaceable>; ... };
|
||||
lmdb-mapsize <replaceable>sizeval</replaceable>;
|
||||
lock-file ( <replaceable>quoted_string</replaceable> | none );
|
||||
@@ -312,10 +311,11 @@ options {
|
||||
masterfile-format ( map | raw | text );
|
||||
masterfile-style ( full | relative );
|
||||
match-mapped-addresses <replaceable>boolean</replaceable>;
|
||||
max-acache-size ( unlimited | <replaceable>sizeval</replaceable> );
|
||||
max-cache-size ( default | unlimited | <replaceable>sizeval</replaceable> | <replaceable>percentage</replaceable> );
|
||||
max-cache-ttl <replaceable>integer</replaceable>;
|
||||
max-clients-per-query <replaceable>integer</replaceable>;
|
||||
max-journal-size ( default | unlimited | <replaceable>sizeval</replaceable> );
|
||||
max-journal-size ( unlimited | <replaceable>sizeval</replaceable> );
|
||||
max-ncache-ttl <replaceable>integer</replaceable>;
|
||||
max-records <replaceable>integer</replaceable>;
|
||||
max-recursion-depth <replaceable>integer</replaceable>;
|
||||
@@ -323,7 +323,6 @@ options {
|
||||
max-refresh-time <replaceable>integer</replaceable>;
|
||||
max-retry-time <replaceable>integer</replaceable>;
|
||||
max-rsa-exponent-size <replaceable>integer</replaceable>;
|
||||
max-stale-ttl <replaceable>ttlval</replaceable>;
|
||||
max-transfer-idle-in <replaceable>integer</replaceable>;
|
||||
max-transfer-idle-out <replaceable>integer</replaceable>;
|
||||
max-transfer-time-in <replaceable>integer</replaceable>;
|
||||
@@ -338,33 +337,33 @@ options {
|
||||
minimal-any <replaceable>boolean</replaceable>;
|
||||
minimal-responses ( no-auth | no-auth-recursive | <replaceable>boolean</replaceable> );
|
||||
multi-master <replaceable>boolean</replaceable>;
|
||||
new-zones-directory <replaceable>quoted_string</replaceable>;
|
||||
no-case-compress { <replaceable>address_match_element</replaceable>; ... };
|
||||
nocookie-udp-size <replaceable>integer</replaceable>;
|
||||
notify ( explicit | master-only | <replaceable>boolean</replaceable> );
|
||||
notify-delay <replaceable>integer</replaceable>;
|
||||
notify-rate <replaceable>integer</replaceable>;
|
||||
notify-source ( <replaceable>ipv4_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> | * ) ] [
|
||||
dscp <replaceable>integer</replaceable> ];
|
||||
notify-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> | * ) ]
|
||||
[ dscp <replaceable>integer</replaceable> ];
|
||||
notify-source ( <replaceable>ipv4_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional> <optional>
|
||||
dscp <replaceable>integer</replaceable> </optional>;
|
||||
notify-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional>
|
||||
<optional> dscp <replaceable>integer</replaceable> </optional>;
|
||||
notify-to-soa <replaceable>boolean</replaceable>;
|
||||
nsec3-test-zone <replaceable>boolean</replaceable>; // test only
|
||||
nta-lifetime <replaceable>ttlval</replaceable>;
|
||||
nta-recheck <replaceable>ttlval</replaceable>;
|
||||
nxdomain-redirect <replaceable>string</replaceable>;
|
||||
pid-file ( <replaceable>quoted_string</replaceable> | none );
|
||||
port <replaceable>integer</replaceable>;
|
||||
preferred-glue <replaceable>string</replaceable>;
|
||||
prefetch <replaceable>integer</replaceable> [ <replaceable>integer</replaceable> ];
|
||||
prefetch <replaceable>integer</replaceable> <optional> <replaceable>integer</replaceable> </optional>;
|
||||
provide-ixfr <replaceable>boolean</replaceable>;
|
||||
query-source ( ( [ address ] ( <replaceable>ipv4_address</replaceable> | * ) [ port (
|
||||
<replaceable>integer</replaceable> | * ) ] ) | ( [ [ address ] ( <replaceable>ipv4_address</replaceable> | * ) ]
|
||||
port ( <replaceable>integer</replaceable> | * ) ) ) [ dscp <replaceable>integer</replaceable> ];
|
||||
query-source-v6 ( ( [ address ] ( <replaceable>ipv6_address</replaceable> | * ) [ port (
|
||||
<replaceable>integer</replaceable> | * ) ] ) | ( [ [ address ] ( <replaceable>ipv6_address</replaceable> | * ) ]
|
||||
port ( <replaceable>integer</replaceable> | * ) ) ) [ dscp <replaceable>integer</replaceable> ];
|
||||
query-source ( ( <optional> address </optional> ( <replaceable>ipv4_address</replaceable> | * ) <optional> port (
|
||||
<replaceable>integer</replaceable> | * ) </optional> ) | ( <optional> <optional> address </optional> ( <replaceable>ipv4_address</replaceable> | * ) </optional>
|
||||
port ( <replaceable>integer</replaceable> | * ) ) ) <optional> dscp <replaceable>integer</replaceable> </optional>;
|
||||
query-source-v6 ( ( <optional> address </optional> ( <replaceable>ipv6_address</replaceable> | * ) <optional> port (
|
||||
<replaceable>integer</replaceable> | * ) </optional> ) | ( <optional> <optional> address </optional> ( <replaceable>ipv6_address</replaceable> | * ) </optional>
|
||||
port ( <replaceable>integer</replaceable> | * ) ) ) <optional> dscp <replaceable>integer</replaceable> </optional>;
|
||||
querylog <replaceable>boolean</replaceable>;
|
||||
random-device ( <replaceable>quoted_string</replaceable> | none );
|
||||
random-device <replaceable>quoted_string</replaceable>;
|
||||
rate-limit {
|
||||
all-per-second <replaceable>integer</replaceable>;
|
||||
errors-per-second <replaceable>integer</replaceable>;
|
||||
@@ -390,26 +389,20 @@ options {
|
||||
request-nsid <replaceable>boolean</replaceable>;
|
||||
require-server-cookie <replaceable>boolean</replaceable>;
|
||||
reserved-sockets <replaceable>integer</replaceable>;
|
||||
resolver-nonbackoff-tries <replaceable>integer</replaceable>;
|
||||
resolver-query-timeout <replaceable>integer</replaceable>;
|
||||
resolver-retry-interval <replaceable>integer</replaceable>;
|
||||
response-padding { <replaceable>address_match_element</replaceable>; ... } block-size
|
||||
<replaceable>integer</replaceable>;
|
||||
response-policy { zone <replaceable>quoted_string</replaceable> [ log <replaceable>boolean</replaceable> ] [
|
||||
max-policy-ttl <replaceable>integer</replaceable> ] [ min-update-interval <replaceable>integer</replaceable> ] [
|
||||
response-policy { zone <replaceable>quoted_string</replaceable> <optional> log <replaceable>boolean</replaceable> </optional> <optional>
|
||||
max-policy-ttl <replaceable>integer</replaceable> </optional> <optional> min-update-interval <replaceable>integer</replaceable> </optional> <optional>
|
||||
policy ( cname | disabled | drop | given | no-op | nodata |
|
||||
nxdomain | passthru | tcp-only <replaceable>quoted_string</replaceable> ) ] [
|
||||
recursive-only <replaceable>boolean</replaceable> ] [ nsip-enable <replaceable>boolean</replaceable> ] [
|
||||
nsdname-enable <replaceable>boolean</replaceable> ]; ... } [ break-dnssec <replaceable>boolean</replaceable> ] [
|
||||
max-policy-ttl <replaceable>integer</replaceable> ] [ min-update-interval <replaceable>integer</replaceable> ] [
|
||||
min-ns-dots <replaceable>integer</replaceable> ] [ nsip-wait-recurse <replaceable>boolean</replaceable> ] [
|
||||
qname-wait-recurse <replaceable>boolean</replaceable> ] [ recursive-only <replaceable>boolean</replaceable> ] [
|
||||
nsip-enable <replaceable>boolean</replaceable> ] [ nsdname-enable <replaceable>boolean</replaceable> ] [
|
||||
dnsrps-enable <replaceable>boolean</replaceable> ] [ dnsrps-options { <replaceable>unspecified-text</replaceable>
|
||||
} ];
|
||||
root-delegation-only [ exclude { <replaceable>quoted_string</replaceable>; ... } ];
|
||||
rrset-order { [ class <replaceable>string</replaceable> ] [ type <replaceable>string</replaceable> ] [ name
|
||||
<replaceable>quoted_string</replaceable> ] <replaceable>string</replaceable> <replaceable>string</replaceable>; ... };
|
||||
nxdomain | passthru | tcp-only <replaceable>quoted_string</replaceable> ) </optional> <optional>
|
||||
recursive-only <replaceable>boolean</replaceable> </optional>; ... } <optional> break-dnssec <replaceable>boolean</replaceable> </optional> <optional>
|
||||
max-policy-ttl <replaceable>integer</replaceable> </optional> <optional> min-update-interval <replaceable>integer</replaceable> </optional> <optional>
|
||||
min-ns-dots <replaceable>integer</replaceable> </optional> <optional> nsip-wait-recurse <replaceable>boolean</replaceable> </optional> <optional>
|
||||
qname-wait-recurse <replaceable>boolean</replaceable> </optional> <optional> recursive-only <replaceable>boolean</replaceable> </optional>;
|
||||
root-delegation-only <optional> exclude { <replaceable>quoted_string</replaceable>; ... } </optional>;
|
||||
rrset-order { <optional> class <replaceable>string</replaceable> </optional> <optional> type <replaceable>string</replaceable> </optional> <optional> name
|
||||
<replaceable>quoted_string</replaceable> </optional> <replaceable>string</replaceable> <replaceable>string</replaceable>; ... };
|
||||
secroots-file <replaceable>quoted_string</replaceable>;
|
||||
send-cookie <replaceable>boolean</replaceable>;
|
||||
serial-query-rate <replaceable>integer</replaceable>;
|
||||
@@ -422,11 +415,9 @@ options {
|
||||
sig-signing-nodes <replaceable>integer</replaceable>;
|
||||
sig-signing-signatures <replaceable>integer</replaceable>;
|
||||
sig-signing-type <replaceable>integer</replaceable>;
|
||||
sig-validity-interval <replaceable>integer</replaceable> [ <replaceable>integer</replaceable> ];
|
||||
sig-validity-interval <replaceable>integer</replaceable> <optional> <replaceable>integer</replaceable> </optional>;
|
||||
sortlist { <replaceable>address_match_element</replaceable>; ... };
|
||||
stacksize ( default | unlimited | <replaceable>sizeval</replaceable> );
|
||||
stale-answer-enable <replaceable>boolean</replaceable>;
|
||||
stale-answer-ttl <replaceable>ttlval</replaceable>;
|
||||
startup-notify-rate <replaceable>integer</replaceable>;
|
||||
statistics-file <replaceable>quoted_string</replaceable>;
|
||||
synth-from-dnssec <replaceable>boolean</replaceable>;
|
||||
@@ -442,10 +433,10 @@ options {
|
||||
tkey-gssapi-keytab <replaceable>quoted_string</replaceable>;
|
||||
transfer-format ( many-answers | one-answer );
|
||||
transfer-message-size <replaceable>integer</replaceable>;
|
||||
transfer-source ( <replaceable>ipv4_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> | * ) ] [
|
||||
dscp <replaceable>integer</replaceable> ];
|
||||
transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> | * )
|
||||
] [ dscp <replaceable>integer</replaceable> ];
|
||||
transfer-source ( <replaceable>ipv4_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional> <optional>
|
||||
dscp <replaceable>integer</replaceable> </optional>;
|
||||
transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * )
|
||||
</optional> <optional> dscp <replaceable>integer</replaceable> </optional>;
|
||||
transfers-in <replaceable>integer</replaceable>;
|
||||
transfers-out <replaceable>integer</replaceable>;
|
||||
transfers-per-ns <replaceable>integer</replaceable>;
|
||||
@@ -474,18 +465,18 @@ server <replaceable>netprefix</replaceable> {
|
||||
edns-version <replaceable>integer</replaceable>;
|
||||
keys <replaceable>server_key</replaceable>;
|
||||
max-udp-size <replaceable>integer</replaceable>;
|
||||
notify-source ( <replaceable>ipv4_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> | * ) ] [
|
||||
dscp <replaceable>integer</replaceable> ];
|
||||
notify-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> | * ) ]
|
||||
[ dscp <replaceable>integer</replaceable> ];
|
||||
notify-source ( <replaceable>ipv4_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional> <optional>
|
||||
dscp <replaceable>integer</replaceable> </optional>;
|
||||
notify-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional>
|
||||
<optional> dscp <replaceable>integer</replaceable> </optional>;
|
||||
padding <replaceable>integer</replaceable>;
|
||||
provide-ixfr <replaceable>boolean</replaceable>;
|
||||
query-source ( ( [ address ] ( <replaceable>ipv4_address</replaceable> | * ) [ port (
|
||||
<replaceable>integer</replaceable> | * ) ] ) | ( [ [ address ] ( <replaceable>ipv4_address</replaceable> | * ) ]
|
||||
port ( <replaceable>integer</replaceable> | * ) ) ) [ dscp <replaceable>integer</replaceable> ];
|
||||
query-source-v6 ( ( [ address ] ( <replaceable>ipv6_address</replaceable> | * ) [ port (
|
||||
<replaceable>integer</replaceable> | * ) ] ) | ( [ [ address ] ( <replaceable>ipv6_address</replaceable> | * ) ]
|
||||
port ( <replaceable>integer</replaceable> | * ) ) ) [ dscp <replaceable>integer</replaceable> ];
|
||||
query-source ( ( <optional> address </optional> ( <replaceable>ipv4_address</replaceable> | * ) <optional> port (
|
||||
<replaceable>integer</replaceable> | * ) </optional> ) | ( <optional> <optional> address </optional> ( <replaceable>ipv4_address</replaceable> | * ) </optional>
|
||||
port ( <replaceable>integer</replaceable> | * ) ) ) <optional> dscp <replaceable>integer</replaceable> </optional>;
|
||||
query-source-v6 ( ( <optional> address </optional> ( <replaceable>ipv6_address</replaceable> | * ) <optional> port (
|
||||
<replaceable>integer</replaceable> | * ) </optional> ) | ( <optional> <optional> address </optional> ( <replaceable>ipv6_address</replaceable> | * ) </optional>
|
||||
port ( <replaceable>integer</replaceable> | * ) ) ) <optional> dscp <replaceable>integer</replaceable> </optional>;
|
||||
request-expire <replaceable>boolean</replaceable>;
|
||||
request-ixfr <replaceable>boolean</replaceable>;
|
||||
request-nsid <replaceable>boolean</replaceable>;
|
||||
@@ -493,10 +484,10 @@ server <replaceable>netprefix</replaceable> {
|
||||
tcp-keepalive <replaceable>boolean</replaceable>;
|
||||
tcp-only <replaceable>boolean</replaceable>;
|
||||
transfer-format ( many-answers | one-answer );
|
||||
transfer-source ( <replaceable>ipv4_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> | * ) ] [
|
||||
dscp <replaceable>integer</replaceable> ];
|
||||
transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> | * )
|
||||
] [ dscp <replaceable>integer</replaceable> ];
|
||||
transfer-source ( <replaceable>ipv4_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional> <optional>
|
||||
dscp <replaceable>integer</replaceable> </optional>;
|
||||
transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * )
|
||||
</optional> <optional> dscp <replaceable>integer</replaceable> </optional>;
|
||||
transfers <replaceable>integer</replaceable>;
|
||||
};
|
||||
</literallayout>
|
||||
@@ -507,9 +498,9 @@ server <replaceable>netprefix</replaceable> {
|
||||
<literallayout class="normal">
|
||||
statistics-channels {
|
||||
inet ( <replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> |
|
||||
* ) [ port ( <replaceable>integer</replaceable> | * ) ] [
|
||||
* ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional> <optional>
|
||||
allow { <replaceable>address_match_element</replaceable>; ...
|
||||
} ];
|
||||
} </optional>;
|
||||
};
|
||||
</literallayout>
|
||||
</refsection>
|
||||
@@ -525,7 +516,11 @@ trusted-keys { <replaceable>string</replaceable> <replaceable>integer</replaceab
|
||||
<refsection><info><title>VIEW</title></info>
|
||||
|
||||
<literallayout class="normal">
|
||||
view <replaceable>string</replaceable> [ <replaceable>class</replaceable> ] {
|
||||
view <replaceable>string</replaceable> <optional> <replaceable>class</replaceable> </optional> {
|
||||
acache-cleaning-interval <replaceable>integer</replaceable>;
|
||||
acache-enable <replaceable>boolean</replaceable>;
|
||||
additional-from-auth <replaceable>boolean</replaceable>;
|
||||
additional-from-cache <replaceable>boolean</replaceable>;
|
||||
allow-new-zones <replaceable>boolean</replaceable>;
|
||||
allow-notify { <replaceable>address_match_element</replaceable>; ... };
|
||||
allow-query { <replaceable>address_match_element</replaceable>; ... };
|
||||
@@ -537,22 +532,22 @@ view <replaceable>string</replaceable> [ <replaceable>class</replaceable> ] {
|
||||
allow-transfer { <replaceable>address_match_element</replaceable>; ... };
|
||||
allow-update { <replaceable>address_match_element</replaceable>; ... };
|
||||
allow-update-forwarding { <replaceable>address_match_element</replaceable>; ... };
|
||||
also-notify [ port <replaceable>integer</replaceable> ] [ dscp <replaceable>integer</replaceable> ] { ( <replaceable>masters</replaceable> |
|
||||
<replaceable>ipv4_address</replaceable> [ port <replaceable>integer</replaceable> ] | <replaceable>ipv6_address</replaceable> [ port
|
||||
<replaceable>integer</replaceable> ] ) [ key <replaceable>string</replaceable> ]; ... };
|
||||
alt-transfer-source ( <replaceable>ipv4_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> | * )
|
||||
] [ dscp <replaceable>integer</replaceable> ];
|
||||
alt-transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> |
|
||||
* ) ] [ dscp <replaceable>integer</replaceable> ];
|
||||
also-notify <optional> port <replaceable>integer</replaceable> </optional> <optional> dscp <replaceable>integer</replaceable> </optional> { ( <replaceable>masters</replaceable> |
|
||||
<replaceable>ipv4_address</replaceable> <optional> port <replaceable>integer</replaceable> </optional> | <replaceable>ipv6_address</replaceable> <optional> port
|
||||
<replaceable>integer</replaceable> </optional> ) <optional> key <replaceable>string</replaceable> </optional>; ... };
|
||||
alt-transfer-source ( <replaceable>ipv4_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * )
|
||||
</optional> <optional> dscp <replaceable>integer</replaceable> </optional>;
|
||||
alt-transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> |
|
||||
* ) </optional> <optional> dscp <replaceable>integer</replaceable> </optional>;
|
||||
attach-cache <replaceable>string</replaceable>;
|
||||
auth-nxdomain <replaceable>boolean</replaceable>; // default changed
|
||||
auto-dnssec ( allow | maintain | off );
|
||||
cache-file <replaceable>quoted_string</replaceable>;
|
||||
catalog-zones { zone <replaceable>quoted_string</replaceable> [ default-masters [ port
|
||||
<replaceable>integer</replaceable> ] [ dscp <replaceable>integer</replaceable> ] { ( <replaceable>masters</replaceable> | <replaceable>ipv4_address</replaceable> [
|
||||
port <replaceable>integer</replaceable> ] | <replaceable>ipv6_address</replaceable> [ port <replaceable>integer</replaceable> ] ) [ key
|
||||
<replaceable>string</replaceable> ]; ... } ] [ zone-directory <replaceable>quoted_string</replaceable> ] [
|
||||
in-memory <replaceable>boolean</replaceable> ] [ min-update-interval <replaceable>integer</replaceable> ]; ... };
|
||||
catalog-zones { zone <replaceable>quoted_string</replaceable> <optional> default-masters <optional> port
|
||||
<replaceable>integer</replaceable> </optional> <optional> dscp <replaceable>integer</replaceable> </optional> { ( <replaceable>masters</replaceable> | <replaceable>ipv4_address</replaceable> <optional>
|
||||
port <replaceable>integer</replaceable> </optional> | <replaceable>ipv6_address</replaceable> <optional> port <replaceable>integer</replaceable> </optional> ) <optional> key
|
||||
<replaceable>string</replaceable> </optional>; ... } </optional> <optional> zone-directory <replaceable>quoted_string</replaceable> </optional> <optional>
|
||||
in-memory <replaceable>boolean</replaceable> </optional> <optional> min-update-interval <replaceable>integer</replaceable> </optional>; ... };
|
||||
check-dup-records ( fail | warn | ignore );
|
||||
check-integrity <replaceable>boolean</replaceable>;
|
||||
check-mx ( fail | warn | ignore );
|
||||
@@ -565,10 +560,10 @@ view <replaceable>string</replaceable> [ <replaceable>class</replaceable> ] {
|
||||
check-wildcard <replaceable>boolean</replaceable>;
|
||||
cleaning-interval <replaceable>integer</replaceable>;
|
||||
clients-per-query <replaceable>integer</replaceable>;
|
||||
deny-answer-addresses { <replaceable>address_match_element</replaceable>; ... } [
|
||||
except-from { <replaceable>quoted_string</replaceable>; ... } ];
|
||||
deny-answer-aliases { <replaceable>quoted_string</replaceable>; ... } [ except-from {
|
||||
<replaceable>quoted_string</replaceable>; ... } ];
|
||||
deny-answer-addresses { <replaceable>address_match_element</replaceable>; ... } <optional>
|
||||
except-from { <replaceable>quoted_string</replaceable>; ... } </optional>;
|
||||
deny-answer-aliases { <replaceable>quoted_string</replaceable>; ... } <optional> except-from {
|
||||
<replaceable>quoted_string</replaceable>; ... } </optional>;
|
||||
dialup ( notify | notify-passive | passive | refresh | <replaceable>boolean</replaceable> );
|
||||
disable-algorithms <replaceable>string</replaceable> { <replaceable>string</replaceable>;
|
||||
... };
|
||||
@@ -589,8 +584,6 @@ view <replaceable>string</replaceable> [ <replaceable>class</replaceable> ] {
|
||||
};
|
||||
dns64-contact <replaceable>string</replaceable>;
|
||||
dns64-server <replaceable>string</replaceable>;
|
||||
dnsrps-enable <replaceable>boolean</replaceable>;
|
||||
dnsrps-options { <replaceable>unspecified-text</replaceable> };
|
||||
dnssec-accept-expired <replaceable>boolean</replaceable>;
|
||||
dnssec-dnskey-kskonly <replaceable>boolean</replaceable>;
|
||||
dnssec-enable <replaceable>boolean</replaceable>;
|
||||
@@ -602,11 +595,11 @@ view <replaceable>string</replaceable> [ <replaceable>class</replaceable> ] {
|
||||
dnssec-update-mode ( maintain | no-resign );
|
||||
dnssec-validation ( yes | no | auto );
|
||||
dnstap { ( all | auth | client | forwarder |
|
||||
resolver ) [ ( query | response ) ]; ... };
|
||||
dual-stack-servers [ port <replaceable>integer</replaceable> ] { ( <replaceable>quoted_string</replaceable> [ port
|
||||
<replaceable>integer</replaceable> ] [ dscp <replaceable>integer</replaceable> ] | <replaceable>ipv4_address</replaceable> [ port
|
||||
<replaceable>integer</replaceable> ] [ dscp <replaceable>integer</replaceable> ] | <replaceable>ipv6_address</replaceable> [ port
|
||||
<replaceable>integer</replaceable> ] [ dscp <replaceable>integer</replaceable> ] ); ... };
|
||||
resolver ) <optional> ( query | response ) </optional>; ... };
|
||||
dual-stack-servers <optional> port <replaceable>integer</replaceable> </optional> { ( <replaceable>quoted_string</replaceable> <optional> port
|
||||
<replaceable>integer</replaceable> </optional> <optional> dscp <replaceable>integer</replaceable> </optional> | <replaceable>ipv4_address</replaceable> <optional> port
|
||||
<replaceable>integer</replaceable> </optional> <optional> dscp <replaceable>integer</replaceable> </optional> | <replaceable>ipv6_address</replaceable> <optional> port
|
||||
<replaceable>integer</replaceable> </optional> <optional> dscp <replaceable>integer</replaceable> </optional> ); ... };
|
||||
dyndb <replaceable>string</replaceable> <replaceable>quoted_string</replaceable> {
|
||||
<replaceable>unspecified-text</replaceable> };
|
||||
edns-udp-size <replaceable>integer</replaceable>;
|
||||
@@ -614,15 +607,14 @@ view <replaceable>string</replaceable> [ <replaceable>class</replaceable> ] {
|
||||
empty-server <replaceable>string</replaceable>;
|
||||
empty-zones-enable <replaceable>boolean</replaceable>;
|
||||
fetch-quota-params <replaceable>integer</replaceable> <replaceable>fixedpoint</replaceable> <replaceable>fixedpoint</replaceable> <replaceable>fixedpoint</replaceable>;
|
||||
fetches-per-server <replaceable>integer</replaceable> [ ( drop | fail ) ];
|
||||
fetches-per-zone <replaceable>integer</replaceable> [ ( drop | fail ) ];
|
||||
fetches-per-server <replaceable>integer</replaceable> <optional> ( drop | fail ) </optional>;
|
||||
fetches-per-zone <replaceable>integer</replaceable> <optional> ( drop | fail ) </optional>;
|
||||
filter-aaaa { <replaceable>address_match_element</replaceable>; ... };
|
||||
filter-aaaa-on-v4 ( break-dnssec | <replaceable>boolean</replaceable> );
|
||||
filter-aaaa-on-v6 ( break-dnssec | <replaceable>boolean</replaceable> );
|
||||
forward ( first | only );
|
||||
forwarders [ port <replaceable>integer</replaceable> ] [ dscp <replaceable>integer</replaceable> ] { ( <replaceable>ipv4_address</replaceable>
|
||||
| <replaceable>ipv6_address</replaceable> ) [ port <replaceable>integer</replaceable> ] [ dscp <replaceable>integer</replaceable> ]; ... };
|
||||
glue-cache <replaceable>boolean</replaceable>;
|
||||
forwarders <optional> port <replaceable>integer</replaceable> </optional> <optional> dscp <replaceable>integer</replaceable> </optional> { ( <replaceable>ipv4_address</replaceable>
|
||||
| <replaceable>ipv6_address</replaceable> ) <optional> port <replaceable>integer</replaceable> </optional> <optional> dscp <replaceable>integer</replaceable> </optional>; ... };
|
||||
inline-signing <replaceable>boolean</replaceable>;
|
||||
ixfr-from-differences ( master | slave | <replaceable>boolean</replaceable> );
|
||||
key <replaceable>string</replaceable> {
|
||||
@@ -640,17 +632,17 @@ view <replaceable>string</replaceable> [ <replaceable>class</replaceable> ] {
|
||||
match-clients { <replaceable>address_match_element</replaceable>; ... };
|
||||
match-destinations { <replaceable>address_match_element</replaceable>; ... };
|
||||
match-recursive-only <replaceable>boolean</replaceable>;
|
||||
max-acache-size ( unlimited | <replaceable>sizeval</replaceable> );
|
||||
max-cache-size ( default | unlimited | <replaceable>sizeval</replaceable> | <replaceable>percentage</replaceable> );
|
||||
max-cache-ttl <replaceable>integer</replaceable>;
|
||||
max-clients-per-query <replaceable>integer</replaceable>;
|
||||
max-journal-size ( default | unlimited | <replaceable>sizeval</replaceable> );
|
||||
max-journal-size ( unlimited | <replaceable>sizeval</replaceable> );
|
||||
max-ncache-ttl <replaceable>integer</replaceable>;
|
||||
max-records <replaceable>integer</replaceable>;
|
||||
max-recursion-depth <replaceable>integer</replaceable>;
|
||||
max-recursion-queries <replaceable>integer</replaceable>;
|
||||
max-refresh-time <replaceable>integer</replaceable>;
|
||||
max-retry-time <replaceable>integer</replaceable>;
|
||||
max-stale-ttl <replaceable>ttlval</replaceable>;
|
||||
max-transfer-idle-in <replaceable>integer</replaceable>;
|
||||
max-transfer-idle-out <replaceable>integer</replaceable>;
|
||||
max-transfer-time-in <replaceable>integer</replaceable>;
|
||||
@@ -663,28 +655,28 @@ view <replaceable>string</replaceable> [ <replaceable>class</replaceable> ] {
|
||||
minimal-any <replaceable>boolean</replaceable>;
|
||||
minimal-responses ( no-auth | no-auth-recursive | <replaceable>boolean</replaceable> );
|
||||
multi-master <replaceable>boolean</replaceable>;
|
||||
new-zones-directory <replaceable>quoted_string</replaceable>;
|
||||
no-case-compress { <replaceable>address_match_element</replaceable>; ... };
|
||||
nocookie-udp-size <replaceable>integer</replaceable>;
|
||||
notify ( explicit | master-only | <replaceable>boolean</replaceable> );
|
||||
notify-delay <replaceable>integer</replaceable>;
|
||||
notify-source ( <replaceable>ipv4_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> | * ) ] [
|
||||
dscp <replaceable>integer</replaceable> ];
|
||||
notify-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> | * ) ]
|
||||
[ dscp <replaceable>integer</replaceable> ];
|
||||
notify-source ( <replaceable>ipv4_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional> <optional>
|
||||
dscp <replaceable>integer</replaceable> </optional>;
|
||||
notify-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional>
|
||||
<optional> dscp <replaceable>integer</replaceable> </optional>;
|
||||
notify-to-soa <replaceable>boolean</replaceable>;
|
||||
nsec3-test-zone <replaceable>boolean</replaceable>; // test only
|
||||
nta-lifetime <replaceable>ttlval</replaceable>;
|
||||
nta-recheck <replaceable>ttlval</replaceable>;
|
||||
nxdomain-redirect <replaceable>string</replaceable>;
|
||||
preferred-glue <replaceable>string</replaceable>;
|
||||
prefetch <replaceable>integer</replaceable> [ <replaceable>integer</replaceable> ];
|
||||
prefetch <replaceable>integer</replaceable> <optional> <replaceable>integer</replaceable> </optional>;
|
||||
provide-ixfr <replaceable>boolean</replaceable>;
|
||||
query-source ( ( [ address ] ( <replaceable>ipv4_address</replaceable> | * ) [ port (
|
||||
<replaceable>integer</replaceable> | * ) ] ) | ( [ [ address ] ( <replaceable>ipv4_address</replaceable> | * ) ]
|
||||
port ( <replaceable>integer</replaceable> | * ) ) ) [ dscp <replaceable>integer</replaceable> ];
|
||||
query-source-v6 ( ( [ address ] ( <replaceable>ipv6_address</replaceable> | * ) [ port (
|
||||
<replaceable>integer</replaceable> | * ) ] ) | ( [ [ address ] ( <replaceable>ipv6_address</replaceable> | * ) ]
|
||||
port ( <replaceable>integer</replaceable> | * ) ) ) [ dscp <replaceable>integer</replaceable> ];
|
||||
query-source ( ( <optional> address </optional> ( <replaceable>ipv4_address</replaceable> | * ) <optional> port (
|
||||
<replaceable>integer</replaceable> | * ) </optional> ) | ( <optional> <optional> address </optional> ( <replaceable>ipv4_address</replaceable> | * ) </optional>
|
||||
port ( <replaceable>integer</replaceable> | * ) ) ) <optional> dscp <replaceable>integer</replaceable> </optional>;
|
||||
query-source-v6 ( ( <optional> address </optional> ( <replaceable>ipv6_address</replaceable> | * ) <optional> port (
|
||||
<replaceable>integer</replaceable> | * ) </optional> ) | ( <optional> <optional> address </optional> ( <replaceable>ipv6_address</replaceable> | * ) </optional>
|
||||
port ( <replaceable>integer</replaceable> | * ) ) ) <optional> dscp <replaceable>integer</replaceable> </optional>;
|
||||
rate-limit {
|
||||
all-per-second <replaceable>integer</replaceable>;
|
||||
errors-per-second <replaceable>integer</replaceable>;
|
||||
@@ -707,26 +699,20 @@ view <replaceable>string</replaceable> [ <replaceable>class</replaceable> ] {
|
||||
request-ixfr <replaceable>boolean</replaceable>;
|
||||
request-nsid <replaceable>boolean</replaceable>;
|
||||
require-server-cookie <replaceable>boolean</replaceable>;
|
||||
resolver-nonbackoff-tries <replaceable>integer</replaceable>;
|
||||
resolver-query-timeout <replaceable>integer</replaceable>;
|
||||
resolver-retry-interval <replaceable>integer</replaceable>;
|
||||
response-padding { <replaceable>address_match_element</replaceable>; ... } block-size
|
||||
<replaceable>integer</replaceable>;
|
||||
response-policy { zone <replaceable>quoted_string</replaceable> [ log <replaceable>boolean</replaceable> ] [
|
||||
max-policy-ttl <replaceable>integer</replaceable> ] [ min-update-interval <replaceable>integer</replaceable> ] [
|
||||
response-policy { zone <replaceable>quoted_string</replaceable> <optional> log <replaceable>boolean</replaceable> </optional> <optional>
|
||||
max-policy-ttl <replaceable>integer</replaceable> </optional> <optional> min-update-interval <replaceable>integer</replaceable> </optional> <optional>
|
||||
policy ( cname | disabled | drop | given | no-op | nodata |
|
||||
nxdomain | passthru | tcp-only <replaceable>quoted_string</replaceable> ) ] [
|
||||
recursive-only <replaceable>boolean</replaceable> ] [ nsip-enable <replaceable>boolean</replaceable> ] [
|
||||
nsdname-enable <replaceable>boolean</replaceable> ]; ... } [ break-dnssec <replaceable>boolean</replaceable> ] [
|
||||
max-policy-ttl <replaceable>integer</replaceable> ] [ min-update-interval <replaceable>integer</replaceable> ] [
|
||||
min-ns-dots <replaceable>integer</replaceable> ] [ nsip-wait-recurse <replaceable>boolean</replaceable> ] [
|
||||
qname-wait-recurse <replaceable>boolean</replaceable> ] [ recursive-only <replaceable>boolean</replaceable> ] [
|
||||
nsip-enable <replaceable>boolean</replaceable> ] [ nsdname-enable <replaceable>boolean</replaceable> ] [
|
||||
dnsrps-enable <replaceable>boolean</replaceable> ] [ dnsrps-options { <replaceable>unspecified-text</replaceable>
|
||||
} ];
|
||||
root-delegation-only [ exclude { <replaceable>quoted_string</replaceable>; ... } ];
|
||||
rrset-order { [ class <replaceable>string</replaceable> ] [ type <replaceable>string</replaceable> ] [ name
|
||||
<replaceable>quoted_string</replaceable> ] <replaceable>string</replaceable> <replaceable>string</replaceable>; ... };
|
||||
nxdomain | passthru | tcp-only <replaceable>quoted_string</replaceable> ) </optional> <optional>
|
||||
recursive-only <replaceable>boolean</replaceable> </optional>; ... } <optional> break-dnssec <replaceable>boolean</replaceable> </optional> <optional>
|
||||
max-policy-ttl <replaceable>integer</replaceable> </optional> <optional> min-update-interval <replaceable>integer</replaceable> </optional> <optional>
|
||||
min-ns-dots <replaceable>integer</replaceable> </optional> <optional> nsip-wait-recurse <replaceable>boolean</replaceable> </optional> <optional>
|
||||
qname-wait-recurse <replaceable>boolean</replaceable> </optional> <optional> recursive-only <replaceable>boolean</replaceable> </optional>;
|
||||
root-delegation-only <optional> exclude { <replaceable>quoted_string</replaceable>; ... } </optional>;
|
||||
rrset-order { <optional> class <replaceable>string</replaceable> </optional> <optional> type <replaceable>string</replaceable> </optional> <optional> name
|
||||
<replaceable>quoted_string</replaceable> </optional> <replaceable>string</replaceable> <replaceable>string</replaceable>; ... };
|
||||
send-cookie <replaceable>boolean</replaceable>;
|
||||
serial-update-method ( date | increment | unixtime );
|
||||
server <replaceable>netprefix</replaceable> {
|
||||
@@ -736,20 +722,20 @@ view <replaceable>string</replaceable> [ <replaceable>class</replaceable> ] {
|
||||
edns-version <replaceable>integer</replaceable>;
|
||||
keys <replaceable>server_key</replaceable>;
|
||||
max-udp-size <replaceable>integer</replaceable>;
|
||||
notify-source ( <replaceable>ipv4_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> | *
|
||||
) ] [ dscp <replaceable>integer</replaceable> ];
|
||||
notify-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable>
|
||||
| * ) ] [ dscp <replaceable>integer</replaceable> ];
|
||||
notify-source ( <replaceable>ipv4_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | *
|
||||
) </optional> <optional> dscp <replaceable>integer</replaceable> </optional>;
|
||||
notify-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable>
|
||||
| * ) </optional> <optional> dscp <replaceable>integer</replaceable> </optional>;
|
||||
padding <replaceable>integer</replaceable>;
|
||||
provide-ixfr <replaceable>boolean</replaceable>;
|
||||
query-source ( ( [ address ] ( <replaceable>ipv4_address</replaceable> | * ) [ port
|
||||
( <replaceable>integer</replaceable> | * ) ] ) | ( [ [ address ] (
|
||||
<replaceable>ipv4_address</replaceable> | * ) ] port ( <replaceable>integer</replaceable> | * ) ) ) [
|
||||
dscp <replaceable>integer</replaceable> ];
|
||||
query-source-v6 ( ( [ address ] ( <replaceable>ipv6_address</replaceable> | * ) [
|
||||
port ( <replaceable>integer</replaceable> | * ) ] ) | ( [ [ address ] (
|
||||
<replaceable>ipv6_address</replaceable> | * ) ] port ( <replaceable>integer</replaceable> | * ) ) ) [
|
||||
dscp <replaceable>integer</replaceable> ];
|
||||
query-source ( ( <optional> address </optional> ( <replaceable>ipv4_address</replaceable> | * ) <optional> port
|
||||
( <replaceable>integer</replaceable> | * ) </optional> ) | ( <optional> <optional> address </optional> (
|
||||
<replaceable>ipv4_address</replaceable> | * ) </optional> port ( <replaceable>integer</replaceable> | * ) ) ) <optional>
|
||||
dscp <replaceable>integer</replaceable> </optional>;
|
||||
query-source-v6 ( ( <optional> address </optional> ( <replaceable>ipv6_address</replaceable> | * ) <optional>
|
||||
port ( <replaceable>integer</replaceable> | * ) </optional> ) | ( <optional> <optional> address </optional> (
|
||||
<replaceable>ipv6_address</replaceable> | * ) </optional> port ( <replaceable>integer</replaceable> | * ) ) ) <optional>
|
||||
dscp <replaceable>integer</replaceable> </optional>;
|
||||
request-expire <replaceable>boolean</replaceable>;
|
||||
request-ixfr <replaceable>boolean</replaceable>;
|
||||
request-nsid <replaceable>boolean</replaceable>;
|
||||
@@ -757,26 +743,24 @@ view <replaceable>string</replaceable> [ <replaceable>class</replaceable> ] {
|
||||
tcp-keepalive <replaceable>boolean</replaceable>;
|
||||
tcp-only <replaceable>boolean</replaceable>;
|
||||
transfer-format ( many-answers | one-answer );
|
||||
transfer-source ( <replaceable>ipv4_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> |
|
||||
* ) ] [ dscp <replaceable>integer</replaceable> ];
|
||||
transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) [ port (
|
||||
<replaceable>integer</replaceable> | * ) ] [ dscp <replaceable>integer</replaceable> ];
|
||||
transfer-source ( <replaceable>ipv4_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> |
|
||||
* ) </optional> <optional> dscp <replaceable>integer</replaceable> </optional>;
|
||||
transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) <optional> port (
|
||||
<replaceable>integer</replaceable> | * ) </optional> <optional> dscp <replaceable>integer</replaceable> </optional>;
|
||||
transfers <replaceable>integer</replaceable>;
|
||||
};
|
||||
servfail-ttl <replaceable>ttlval</replaceable>;
|
||||
sig-signing-nodes <replaceable>integer</replaceable>;
|
||||
sig-signing-signatures <replaceable>integer</replaceable>;
|
||||
sig-signing-type <replaceable>integer</replaceable>;
|
||||
sig-validity-interval <replaceable>integer</replaceable> [ <replaceable>integer</replaceable> ];
|
||||
sig-validity-interval <replaceable>integer</replaceable> <optional> <replaceable>integer</replaceable> </optional>;
|
||||
sortlist { <replaceable>address_match_element</replaceable>; ... };
|
||||
stale-answer-enable <replaceable>boolean</replaceable>;
|
||||
stale-answer-ttl <replaceable>ttlval</replaceable>;
|
||||
synth-from-dnssec <replaceable>boolean</replaceable>;
|
||||
transfer-format ( many-answers | one-answer );
|
||||
transfer-source ( <replaceable>ipv4_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> | * ) ] [
|
||||
dscp <replaceable>integer</replaceable> ];
|
||||
transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> | * )
|
||||
] [ dscp <replaceable>integer</replaceable> ];
|
||||
transfer-source ( <replaceable>ipv4_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional> <optional>
|
||||
dscp <replaceable>integer</replaceable> </optional>;
|
||||
transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * )
|
||||
</optional> <optional> dscp <replaceable>integer</replaceable> </optional>;
|
||||
trust-anchor-telemetry <replaceable>boolean</replaceable>; // experimental
|
||||
trusted-keys { <replaceable>string</replaceable> <replaceable>integer</replaceable>
|
||||
<replaceable>integer</replaceable> <replaceable>integer</replaceable> <replaceable>quoted_string</replaceable>;
|
||||
@@ -787,21 +771,21 @@ view <replaceable>string</replaceable> [ <replaceable>class</replaceable> ] {
|
||||
v6-bias <replaceable>integer</replaceable>;
|
||||
zero-no-soa-ttl <replaceable>boolean</replaceable>;
|
||||
zero-no-soa-ttl-cache <replaceable>boolean</replaceable>;
|
||||
zone <replaceable>string</replaceable> [ <replaceable>class</replaceable> ] {
|
||||
zone <replaceable>string</replaceable> <optional> <replaceable>class</replaceable> </optional> {
|
||||
allow-notify { <replaceable>address_match_element</replaceable>; ... };
|
||||
allow-query { <replaceable>address_match_element</replaceable>; ... };
|
||||
allow-query-on { <replaceable>address_match_element</replaceable>; ... };
|
||||
allow-transfer { <replaceable>address_match_element</replaceable>; ... };
|
||||
allow-update { <replaceable>address_match_element</replaceable>; ... };
|
||||
allow-update-forwarding { <replaceable>address_match_element</replaceable>; ... };
|
||||
also-notify [ port <replaceable>integer</replaceable> ] [ dscp <replaceable>integer</replaceable> ] { (
|
||||
<replaceable>masters</replaceable> | <replaceable>ipv4_address</replaceable> [ port <replaceable>integer</replaceable> ] |
|
||||
<replaceable>ipv6_address</replaceable> [ port <replaceable>integer</replaceable> ] ) [ key <replaceable>string</replaceable> ];
|
||||
also-notify <optional> port <replaceable>integer</replaceable> </optional> <optional> dscp <replaceable>integer</replaceable> </optional> { (
|
||||
<replaceable>masters</replaceable> | <replaceable>ipv4_address</replaceable> <optional> port <replaceable>integer</replaceable> </optional> |
|
||||
<replaceable>ipv6_address</replaceable> <optional> port <replaceable>integer</replaceable> </optional> ) <optional> key <replaceable>string</replaceable> </optional>;
|
||||
... };
|
||||
alt-transfer-source ( <replaceable>ipv4_address</replaceable> | * ) [ port (
|
||||
<replaceable>integer</replaceable> | * ) ] [ dscp <replaceable>integer</replaceable> ];
|
||||
alt-transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) [ port (
|
||||
<replaceable>integer</replaceable> | * ) ] [ dscp <replaceable>integer</replaceable> ];
|
||||
alt-transfer-source ( <replaceable>ipv4_address</replaceable> | * ) <optional> port (
|
||||
<replaceable>integer</replaceable> | * ) </optional> <optional> dscp <replaceable>integer</replaceable> </optional>;
|
||||
alt-transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) <optional> port (
|
||||
<replaceable>integer</replaceable> | * ) </optional> <optional> dscp <replaceable>integer</replaceable> </optional>;
|
||||
auto-dnssec ( allow | maintain | off );
|
||||
check-dup-records ( fail | warn | ignore );
|
||||
check-integrity <replaceable>boolean</replaceable>;
|
||||
@@ -823,9 +807,9 @@ view <replaceable>string</replaceable> [ <replaceable>class</replaceable> ] {
|
||||
dnssec-update-mode ( maintain | no-resign );
|
||||
file <replaceable>quoted_string</replaceable>;
|
||||
forward ( first | only );
|
||||
forwarders [ port <replaceable>integer</replaceable> ] [ dscp <replaceable>integer</replaceable> ] { (
|
||||
<replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> ) [ port <replaceable>integer</replaceable> ] [
|
||||
dscp <replaceable>integer</replaceable> ]; ... };
|
||||
forwarders <optional> port <replaceable>integer</replaceable> </optional> <optional> dscp <replaceable>integer</replaceable> </optional> { (
|
||||
<replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> ) <optional> port <replaceable>integer</replaceable> </optional> <optional>
|
||||
dscp <replaceable>integer</replaceable> </optional>; ... };
|
||||
in-view <replaceable>string</replaceable>;
|
||||
inline-signing <replaceable>boolean</replaceable>;
|
||||
ixfr-from-differences <replaceable>boolean</replaceable>;
|
||||
@@ -833,11 +817,11 @@ view <replaceable>string</replaceable> [ <replaceable>class</replaceable> ] {
|
||||
key-directory <replaceable>quoted_string</replaceable>;
|
||||
masterfile-format ( map | raw | text );
|
||||
masterfile-style ( full | relative );
|
||||
masters [ port <replaceable>integer</replaceable> ] [ dscp <replaceable>integer</replaceable> ] { ( <replaceable>masters</replaceable>
|
||||
| <replaceable>ipv4_address</replaceable> [ port <replaceable>integer</replaceable> ] | <replaceable>ipv6_address</replaceable> [
|
||||
port <replaceable>integer</replaceable> ] ) [ key <replaceable>string</replaceable> ]; ... };
|
||||
masters <optional> port <replaceable>integer</replaceable> </optional> <optional> dscp <replaceable>integer</replaceable> </optional> { ( <replaceable>masters</replaceable>
|
||||
| <replaceable>ipv4_address</replaceable> <optional> port <replaceable>integer</replaceable> </optional> | <replaceable>ipv6_address</replaceable> <optional>
|
||||
port <replaceable>integer</replaceable> </optional> ) <optional> key <replaceable>string</replaceable> </optional>; ... };
|
||||
max-ixfr-log-size ( default | unlimited |
|
||||
max-journal-size ( default | unlimited | <replaceable>sizeval</replaceable> );
|
||||
max-journal-size ( unlimited | <replaceable>sizeval</replaceable> );
|
||||
max-records <replaceable>integer</replaceable>;
|
||||
max-refresh-time <replaceable>integer</replaceable>;
|
||||
max-retry-time <replaceable>integer</replaceable>;
|
||||
@@ -851,28 +835,29 @@ view <replaceable>string</replaceable> [ <replaceable>class</replaceable> ] {
|
||||
multi-master <replaceable>boolean</replaceable>;
|
||||
notify ( explicit | master-only | <replaceable>boolean</replaceable> );
|
||||
notify-delay <replaceable>integer</replaceable>;
|
||||
notify-source ( <replaceable>ipv4_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> | *
|
||||
) ] [ dscp <replaceable>integer</replaceable> ];
|
||||
notify-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable>
|
||||
| * ) ] [ dscp <replaceable>integer</replaceable> ];
|
||||
notify-source ( <replaceable>ipv4_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | *
|
||||
) </optional> <optional> dscp <replaceable>integer</replaceable> </optional>;
|
||||
notify-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable>
|
||||
| * ) </optional> <optional> dscp <replaceable>integer</replaceable> </optional>;
|
||||
notify-to-soa <replaceable>boolean</replaceable>;
|
||||
nsec3-test-zone <replaceable>boolean</replaceable>; // test only
|
||||
pubkey <replaceable>integer</replaceable>
|
||||
<replaceable>integer</replaceable>
|
||||
<replaceable>integer</replaceable>
|
||||
request-expire <replaceable>boolean</replaceable>;
|
||||
request-ixfr <replaceable>boolean</replaceable>;
|
||||
serial-update-method ( date | increment | unixtime );
|
||||
server-addresses { ( <replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> ) [
|
||||
port <replaceable>integer</replaceable> ]; ... };
|
||||
server-addresses { ( <replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> ) <optional>
|
||||
port <replaceable>integer</replaceable> </optional>; ... };
|
||||
server-names { <replaceable>quoted_string</replaceable>; ... };
|
||||
sig-signing-nodes <replaceable>integer</replaceable>;
|
||||
sig-signing-signatures <replaceable>integer</replaceable>;
|
||||
sig-signing-type <replaceable>integer</replaceable>;
|
||||
sig-validity-interval <replaceable>integer</replaceable> [ <replaceable>integer</replaceable> ];
|
||||
transfer-source ( <replaceable>ipv4_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> |
|
||||
* ) ] [ dscp <replaceable>integer</replaceable> ];
|
||||
transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) [ port (
|
||||
<replaceable>integer</replaceable> | * ) ] [ dscp <replaceable>integer</replaceable> ];
|
||||
sig-validity-interval <replaceable>integer</replaceable> <optional> <replaceable>integer</replaceable> </optional>;
|
||||
transfer-source ( <replaceable>ipv4_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> |
|
||||
* ) </optional> <optional> dscp <replaceable>integer</replaceable> </optional>;
|
||||
transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) <optional> port (
|
||||
<replaceable>integer</replaceable> | * ) </optional> <optional> dscp <replaceable>integer</replaceable> </optional>;
|
||||
try-tcp-refresh <replaceable>boolean</replaceable>;
|
||||
type ( delegation-only | forward | hint | master | redirect
|
||||
| slave | static-stub | stub );
|
||||
@@ -881,7 +866,7 @@ view <replaceable>string</replaceable> [ <replaceable>class</replaceable> ] {
|
||||
6to4-self | external | krb5-self | krb5-subdomain |
|
||||
ms-self | ms-subdomain | name | self | selfsub |
|
||||
selfwild | subdomain | tcp-self | wildcard | zonesub )
|
||||
[ <replaceable>string</replaceable> ] <replaceable>rrtypelist</replaceable>; ... };
|
||||
<optional> <replaceable>string</replaceable> </optional> <replaceable>rrtypelist</replaceable>; ... };
|
||||
use-alt-transfer-source <replaceable>boolean</replaceable>;
|
||||
zero-no-soa-ttl <replaceable>boolean</replaceable>;
|
||||
zone-statistics ( full | terse | none | <replaceable>boolean</replaceable> );
|
||||
@@ -894,20 +879,20 @@ view <replaceable>string</replaceable> [ <replaceable>class</replaceable> ] {
|
||||
<refsection><info><title>ZONE</title></info>
|
||||
|
||||
<literallayout class="normal">
|
||||
zone <replaceable>string</replaceable> [ <replaceable>class</replaceable> ] {
|
||||
zone <replaceable>string</replaceable> <optional> <replaceable>class</replaceable> </optional> {
|
||||
allow-notify { <replaceable>address_match_element</replaceable>; ... };
|
||||
allow-query { <replaceable>address_match_element</replaceable>; ... };
|
||||
allow-query-on { <replaceable>address_match_element</replaceable>; ... };
|
||||
allow-transfer { <replaceable>address_match_element</replaceable>; ... };
|
||||
allow-update { <replaceable>address_match_element</replaceable>; ... };
|
||||
allow-update-forwarding { <replaceable>address_match_element</replaceable>; ... };
|
||||
also-notify [ port <replaceable>integer</replaceable> ] [ dscp <replaceable>integer</replaceable> ] { ( <replaceable>masters</replaceable> |
|
||||
<replaceable>ipv4_address</replaceable> [ port <replaceable>integer</replaceable> ] | <replaceable>ipv6_address</replaceable> [ port
|
||||
<replaceable>integer</replaceable> ] ) [ key <replaceable>string</replaceable> ]; ... };
|
||||
alt-transfer-source ( <replaceable>ipv4_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> | * )
|
||||
] [ dscp <replaceable>integer</replaceable> ];
|
||||
alt-transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> |
|
||||
* ) ] [ dscp <replaceable>integer</replaceable> ];
|
||||
also-notify <optional> port <replaceable>integer</replaceable> </optional> <optional> dscp <replaceable>integer</replaceable> </optional> { ( <replaceable>masters</replaceable> |
|
||||
<replaceable>ipv4_address</replaceable> <optional> port <replaceable>integer</replaceable> </optional> | <replaceable>ipv6_address</replaceable> <optional> port
|
||||
<replaceable>integer</replaceable> </optional> ) <optional> key <replaceable>string</replaceable> </optional>; ... };
|
||||
alt-transfer-source ( <replaceable>ipv4_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * )
|
||||
</optional> <optional> dscp <replaceable>integer</replaceable> </optional>;
|
||||
alt-transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> |
|
||||
* ) </optional> <optional> dscp <replaceable>integer</replaceable> </optional>;
|
||||
auto-dnssec ( allow | maintain | off );
|
||||
check-dup-records ( fail | warn | ignore );
|
||||
check-integrity <replaceable>boolean</replaceable>;
|
||||
@@ -928,8 +913,8 @@ zone <replaceable>string</replaceable> [ <replaceable>class</replaceable> ] {
|
||||
dnssec-update-mode ( maintain | no-resign );
|
||||
file <replaceable>quoted_string</replaceable>;
|
||||
forward ( first | only );
|
||||
forwarders [ port <replaceable>integer</replaceable> ] [ dscp <replaceable>integer</replaceable> ] { ( <replaceable>ipv4_address</replaceable>
|
||||
| <replaceable>ipv6_address</replaceable> ) [ port <replaceable>integer</replaceable> ] [ dscp <replaceable>integer</replaceable> ]; ... };
|
||||
forwarders <optional> port <replaceable>integer</replaceable> </optional> <optional> dscp <replaceable>integer</replaceable> </optional> { ( <replaceable>ipv4_address</replaceable>
|
||||
| <replaceable>ipv6_address</replaceable> ) <optional> port <replaceable>integer</replaceable> </optional> <optional> dscp <replaceable>integer</replaceable> </optional>; ... };
|
||||
in-view <replaceable>string</replaceable>;
|
||||
inline-signing <replaceable>boolean</replaceable>;
|
||||
ixfr-from-differences <replaceable>boolean</replaceable>;
|
||||
@@ -937,10 +922,10 @@ zone <replaceable>string</replaceable> [ <replaceable>class</replaceable> ] {
|
||||
key-directory <replaceable>quoted_string</replaceable>;
|
||||
masterfile-format ( map | raw | text );
|
||||
masterfile-style ( full | relative );
|
||||
masters [ port <replaceable>integer</replaceable> ] [ dscp <replaceable>integer</replaceable> ] { ( <replaceable>masters</replaceable> |
|
||||
<replaceable>ipv4_address</replaceable> [ port <replaceable>integer</replaceable> ] | <replaceable>ipv6_address</replaceable> [ port
|
||||
<replaceable>integer</replaceable> ] ) [ key <replaceable>string</replaceable> ]; ... };
|
||||
max-journal-size ( default | unlimited | <replaceable>sizeval</replaceable> );
|
||||
masters <optional> port <replaceable>integer</replaceable> </optional> <optional> dscp <replaceable>integer</replaceable> </optional> { ( <replaceable>masters</replaceable> |
|
||||
<replaceable>ipv4_address</replaceable> <optional> port <replaceable>integer</replaceable> </optional> | <replaceable>ipv6_address</replaceable> <optional> port
|
||||
<replaceable>integer</replaceable> </optional> ) <optional> key <replaceable>string</replaceable> </optional>; ... };
|
||||
max-journal-size ( unlimited | <replaceable>sizeval</replaceable> );
|
||||
max-records <replaceable>integer</replaceable>;
|
||||
max-refresh-time <replaceable>integer</replaceable>;
|
||||
max-retry-time <replaceable>integer</replaceable>;
|
||||
@@ -954,26 +939,27 @@ zone <replaceable>string</replaceable> [ <replaceable>class</replaceable> ] {
|
||||
multi-master <replaceable>boolean</replaceable>;
|
||||
notify ( explicit | master-only | <replaceable>boolean</replaceable> );
|
||||
notify-delay <replaceable>integer</replaceable>;
|
||||
notify-source ( <replaceable>ipv4_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> | * ) ] [
|
||||
dscp <replaceable>integer</replaceable> ];
|
||||
notify-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> | * ) ]
|
||||
[ dscp <replaceable>integer</replaceable> ];
|
||||
notify-source ( <replaceable>ipv4_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional> <optional>
|
||||
dscp <replaceable>integer</replaceable> </optional>;
|
||||
notify-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional>
|
||||
<optional> dscp <replaceable>integer</replaceable> </optional>;
|
||||
notify-to-soa <replaceable>boolean</replaceable>;
|
||||
nsec3-test-zone <replaceable>boolean</replaceable>; // test only
|
||||
pubkey <replaceable>integer</replaceable> <replaceable>integer</replaceable>
|
||||
request-expire <replaceable>boolean</replaceable>;
|
||||
request-ixfr <replaceable>boolean</replaceable>;
|
||||
serial-update-method ( date | increment | unixtime );
|
||||
server-addresses { ( <replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> ) [ port
|
||||
<replaceable>integer</replaceable> ]; ... };
|
||||
server-addresses { ( <replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> ) <optional> port
|
||||
<replaceable>integer</replaceable> </optional>; ... };
|
||||
server-names { <replaceable>quoted_string</replaceable>; ... };
|
||||
sig-signing-nodes <replaceable>integer</replaceable>;
|
||||
sig-signing-signatures <replaceable>integer</replaceable>;
|
||||
sig-signing-type <replaceable>integer</replaceable>;
|
||||
sig-validity-interval <replaceable>integer</replaceable> [ <replaceable>integer</replaceable> ];
|
||||
transfer-source ( <replaceable>ipv4_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> | * ) ] [
|
||||
dscp <replaceable>integer</replaceable> ];
|
||||
transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> | * )
|
||||
] [ dscp <replaceable>integer</replaceable> ];
|
||||
sig-validity-interval <replaceable>integer</replaceable> <optional> <replaceable>integer</replaceable> </optional>;
|
||||
transfer-source ( <replaceable>ipv4_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional> <optional>
|
||||
dscp <replaceable>integer</replaceable> </optional>;
|
||||
transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * )
|
||||
</optional> <optional> dscp <replaceable>integer</replaceable> </optional>;
|
||||
try-tcp-refresh <replaceable>boolean</replaceable>;
|
||||
type ( delegation-only | forward | hint | master | redirect | slave
|
||||
| static-stub | stub );
|
||||
@@ -981,7 +967,7 @@ zone <replaceable>string</replaceable> [ <replaceable>class</replaceable> ] {
|
||||
update-policy ( local | { ( deny | grant ) <replaceable>string</replaceable> ( 6to4-self |
|
||||
external | krb5-self | krb5-subdomain | ms-self | ms-subdomain
|
||||
| name | self | selfsub | selfwild | subdomain | tcp-self |
|
||||
wildcard | zonesub ) [ <replaceable>string</replaceable> ] <replaceable>rrtypelist</replaceable>; ... };
|
||||
wildcard | zonesub ) <optional> <replaceable>string</replaceable> </optional> <replaceable>rrtypelist</replaceable>; ... };
|
||||
use-alt-transfer-source <replaceable>boolean</replaceable>;
|
||||
zero-no-soa-ttl <replaceable>boolean</replaceable>;
|
||||
zone-statistics ( full | terse | none | <replaceable>boolean</replaceable> );
|
||||
|
||||
+229
-242
@@ -1,6 +1,6 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!--
|
||||
- Copyright (C) 2004-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2004-2017 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
|
||||
@@ -71,14 +71,14 @@ acl
|
||||
<div class="literallayout"><p><br>
|
||||
controls {<br>
|
||||
inet ( <em class="replaceable"><code>ipv4_address</code></em> | <em class="replaceable"><code>ipv6_address</code></em> |<br>
|
||||
* ) [ port ( <em class="replaceable"><code>integer</code></em> | * ) ] allow<br>
|
||||
{ <em class="replaceable"><code>address_match_element</code></em>; ... } [<br>
|
||||
keys { <em class="replaceable"><code>string</code></em>; ... } ] [ read-only<br>
|
||||
<em class="replaceable"><code>boolean</code></em> ];<br>
|
||||
* ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> | * ) </span>] allow<br>
|
||||
{ <em class="replaceable"><code>address_match_element</code></em>; ... } [<span class="optional"><br>
|
||||
keys { <em class="replaceable"><code>string</code></em>; ... } </span>] [<span class="optional"> read-only<br>
|
||||
<em class="replaceable"><code>boolean</code></em> </span>];<br>
|
||||
unix <em class="replaceable"><code>quoted_string</code></em> perm <em class="replaceable"><code>integer</code></em><br>
|
||||
owner <em class="replaceable"><code>integer</code></em> group <em class="replaceable"><code>integer</code></em> [<br>
|
||||
keys { <em class="replaceable"><code>string</code></em>; ... } ] [ read-only<br>
|
||||
<em class="replaceable"><code>boolean</code></em> ];<br>
|
||||
owner <em class="replaceable"><code>integer</code></em> group <em class="replaceable"><code>integer</code></em> [<span class="optional"><br>
|
||||
keys { <em class="replaceable"><code>string</code></em>; ... } </span>] [<span class="optional"> read-only<br>
|
||||
<em class="replaceable"><code>boolean</code></em> </span>];<br>
|
||||
};<br>
|
||||
</p></div>
|
||||
</div>
|
||||
@@ -122,21 +122,20 @@ logging
|
||||
category <em class="replaceable"><code>string</code></em> { <em class="replaceable"><code>string</code></em>; ... };<br>
|
||||
channel <em class="replaceable"><code>string</code></em> {<br>
|
||||
buffered <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
file <em class="replaceable"><code>quoted_string</code></em> [ versions ( unlimited | <em class="replaceable"><code>integer</code></em> ) ]<br>
|
||||
[ size <em class="replaceable"><code>size</code></em> ] [ suffix ( increment | timestamp ) ];<br>
|
||||
file <em class="replaceable"><code>quoted_string</code></em> [<span class="optional"> versions ( unlimited | <em class="replaceable"><code>integer</code></em> ) </span>]<br>
|
||||
[<span class="optional"> size <em class="replaceable"><code>size</code></em> </span>] [<span class="optional"> suffix ( increment | timestamp ) </span>];<br>
|
||||
null;<br>
|
||||
print-category <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
print-severity <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
print-time ( iso8601 | iso8601-utc | local | <em class="replaceable"><code>boolean</code></em> );<br>
|
||||
severity <em class="replaceable"><code>log_severity</code></em>;<br>
|
||||
stderr;<br>
|
||||
syslog [ <em class="replaceable"><code>syslog_facility</code></em> ];<br>
|
||||
syslog [<span class="optional"> <em class="replaceable"><code>syslog_facility</code></em> </span>];<br>
|
||||
};<br>
|
||||
};<br>
|
||||
</p></div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="refsection">
|
||||
<a name="id-1.14"></a><h2>MANAGED-KEYS</h2>
|
||||
|
||||
@@ -150,10 +149,10 @@ managed-keys
|
||||
<a name="id-1.15"></a><h2>MASTERS</h2>
|
||||
|
||||
<div class="literallayout"><p><br>
|
||||
masters <em class="replaceable"><code>string</code></em> [ port <em class="replaceable"><code>integer</code></em> ] [ dscp<br>
|
||||
<em class="replaceable"><code>integer</code></em> ] { ( <em class="replaceable"><code>masters</code></em> | <em class="replaceable"><code>ipv4_address</code></em> [<br>
|
||||
port <em class="replaceable"><code>integer</code></em> ] | <em class="replaceable"><code>ipv6_address</code></em> [ port<br>
|
||||
<em class="replaceable"><code>integer</code></em> ] ) [ key <em class="replaceable"><code>string</code></em> ]; ... };<br>
|
||||
masters <em class="replaceable"><code>string</code></em> [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp<br>
|
||||
<em class="replaceable"><code>integer</code></em> </span>] { ( <em class="replaceable"><code>masters</code></em> | <em class="replaceable"><code>ipv4_address</code></em> [<span class="optional"><br>
|
||||
port <em class="replaceable"><code>integer</code></em> </span>] | <em class="replaceable"><code>ipv6_address</code></em> [<span class="optional"> port<br>
|
||||
<em class="replaceable"><code>integer</code></em> </span>] ) [<span class="optional"> key <em class="replaceable"><code>string</code></em> </span>]; ... };<br>
|
||||
</p></div>
|
||||
</div>
|
||||
|
||||
@@ -162,6 +161,10 @@ masters
|
||||
|
||||
<div class="literallayout"><p><br>
|
||||
options {<br>
|
||||
acache-cleaning-interval <em class="replaceable"><code>integer</code></em>;<br>
|
||||
acache-enable <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
additional-from-auth <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
additional-from-cache <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
allow-new-zones <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
allow-notify { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||
allow-query { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||
@@ -173,13 +176,13 @@ options
|
||||
allow-transfer { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||
allow-update { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||
allow-update-forwarding { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||
also-notify [ port <em class="replaceable"><code>integer</code></em> ] [ dscp <em class="replaceable"><code>integer</code></em> ] { ( <em class="replaceable"><code>masters</code></em> |<br>
|
||||
<em class="replaceable"><code>ipv4_address</code></em> [ port <em class="replaceable"><code>integer</code></em> ] | <em class="replaceable"><code>ipv6_address</code></em> [ port<br>
|
||||
<em class="replaceable"><code>integer</code></em> ] ) [ key <em class="replaceable"><code>string</code></em> ]; ... };<br>
|
||||
alt-transfer-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> | * )<br>
|
||||
] [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||
alt-transfer-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> |<br>
|
||||
* ) ] [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||
also-notify [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>] { ( <em class="replaceable"><code>masters</code></em> |<br>
|
||||
<em class="replaceable"><code>ipv4_address</code></em> [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] | <em class="replaceable"><code>ipv6_address</code></em> [<span class="optional"> port<br>
|
||||
<em class="replaceable"><code>integer</code></em> </span>] ) [<span class="optional"> key <em class="replaceable"><code>string</code></em> </span>]; ... };<br>
|
||||
alt-transfer-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> | * )<br>
|
||||
</span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
||||
alt-transfer-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> |<br>
|
||||
* ) </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
||||
attach-cache <em class="replaceable"><code>string</code></em>;<br>
|
||||
auth-nxdomain <em class="replaceable"><code>boolean</code></em>; // default changed<br>
|
||||
auto-dnssec ( allow | maintain | off );<br>
|
||||
@@ -189,11 +192,11 @@ options
|
||||
bindkeys-file <em class="replaceable"><code>quoted_string</code></em>;<br>
|
||||
blackhole { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||
cache-file <em class="replaceable"><code>quoted_string</code></em>;<br>
|
||||
catalog-zones { zone <em class="replaceable"><code>quoted_string</code></em> [ default-masters [ port<br>
|
||||
<em class="replaceable"><code>integer</code></em> ] [ dscp <em class="replaceable"><code>integer</code></em> ] { ( <em class="replaceable"><code>masters</code></em> | <em class="replaceable"><code>ipv4_address</code></em> [<br>
|
||||
port <em class="replaceable"><code>integer</code></em> ] | <em class="replaceable"><code>ipv6_address</code></em> [ port <em class="replaceable"><code>integer</code></em> ] ) [ key<br>
|
||||
<em class="replaceable"><code>string</code></em> ]; ... } ] [ zone-directory <em class="replaceable"><code>quoted_string</code></em> ] [<br>
|
||||
in-memory <em class="replaceable"><code>boolean</code></em> ] [ min-update-interval <em class="replaceable"><code>integer</code></em> ]; ... };<br>
|
||||
catalog-zones { zone <em class="replaceable"><code>quoted_string</code></em> [<span class="optional"> default-masters [<span class="optional"> port<br>
|
||||
<em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>] { ( <em class="replaceable"><code>masters</code></em> | <em class="replaceable"><code>ipv4_address</code></em> [<span class="optional"><br>
|
||||
port <em class="replaceable"><code>integer</code></em> </span>] | <em class="replaceable"><code>ipv6_address</code></em> [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] ) [<span class="optional"> key<br>
|
||||
<em class="replaceable"><code>string</code></em> </span>]; ... } </span>] [<span class="optional"> zone-directory <em class="replaceable"><code>quoted_string</code></em> </span>] [<span class="optional"><br>
|
||||
in-memory <em class="replaceable"><code>boolean</code></em> </span>] [<span class="optional"> min-update-interval <em class="replaceable"><code>integer</code></em> </span>]; ... };<br>
|
||||
check-dup-records ( fail | warn | ignore );<br>
|
||||
check-integrity <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
check-mx ( fail | warn | ignore );<br>
|
||||
@@ -210,10 +213,10 @@ options
|
||||
cookie-secret <em class="replaceable"><code>string</code></em>;<br>
|
||||
coresize ( default | unlimited | <em class="replaceable"><code>sizeval</code></em> );<br>
|
||||
datasize ( default | unlimited | <em class="replaceable"><code>sizeval</code></em> );<br>
|
||||
deny-answer-addresses { <em class="replaceable"><code>address_match_element</code></em>; ... } [<br>
|
||||
except-from { <em class="replaceable"><code>quoted_string</code></em>; ... } ];<br>
|
||||
deny-answer-aliases { <em class="replaceable"><code>quoted_string</code></em>; ... } [ except-from {<br>
|
||||
<em class="replaceable"><code>quoted_string</code></em>; ... } ];<br>
|
||||
deny-answer-addresses { <em class="replaceable"><code>address_match_element</code></em>; ... } [<span class="optional"><br>
|
||||
except-from { <em class="replaceable"><code>quoted_string</code></em>; ... } </span>];<br>
|
||||
deny-answer-aliases { <em class="replaceable"><code>quoted_string</code></em>; ... } [<span class="optional"> except-from {<br>
|
||||
<em class="replaceable"><code>quoted_string</code></em>; ... } </span>];<br>
|
||||
dialup ( notify | notify-passive | passive | refresh | <em class="replaceable"><code>boolean</code></em> );<br>
|
||||
directory <em class="replaceable"><code>quoted_string</code></em>;<br>
|
||||
disable-algorithms <em class="replaceable"><code>string</code></em> { <em class="replaceable"><code>string</code></em>;<br>
|
||||
@@ -231,8 +234,6 @@ options
|
||||
};<br>
|
||||
dns64-contact <em class="replaceable"><code>string</code></em>;<br>
|
||||
dns64-server <em class="replaceable"><code>string</code></em>;<br>
|
||||
dnsrps-enable <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
dnsrps-options { <em class="replaceable"><code>unspecified-text</code></em> };<br>
|
||||
dnssec-accept-expired <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
dnssec-dnskey-kskonly <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
dnssec-enable <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
@@ -244,35 +245,35 @@ options
|
||||
dnssec-update-mode ( maintain | no-resign );<br>
|
||||
dnssec-validation ( yes | no | auto );<br>
|
||||
dnstap { ( all | auth | client | forwarder |<br>
|
||||
resolver ) [ ( query | response ) ]; ... };<br>
|
||||
resolver ) [<span class="optional"> ( query | response ) </span>]; ... };<br>
|
||||
dnstap-identity ( <em class="replaceable"><code>quoted_string</code></em> | none |<br>
|
||||
hostname );<br>
|
||||
dnstap-output ( file | unix ) <em class="replaceable"><code>quoted_string</code></em> [<br>
|
||||
size ( unlimited | <em class="replaceable"><code>size</code></em> ) ] [ versions (<br>
|
||||
unlimited | <em class="replaceable"><code>integer</code></em> ) ] [ suffix ( increment<br>
|
||||
| timestamp ) ];<br>
|
||||
dnstap-output ( file | unix ) <em class="replaceable"><code>quoted_string</code></em> [<span class="optional"><br>
|
||||
size ( unlimited | <em class="replaceable"><code>size</code></em> ) </span>] [<span class="optional"> versions (<br>
|
||||
unlimited | <em class="replaceable"><code>integer</code></em> ) </span>] [<span class="optional"> suffix ( increment<br>
|
||||
| timestamp ) </span>];<br>
|
||||
dnstap-version ( <em class="replaceable"><code>quoted_string</code></em> | none );<br>
|
||||
dscp <em class="replaceable"><code>integer</code></em>;<br>
|
||||
dual-stack-servers [ port <em class="replaceable"><code>integer</code></em> ] { ( <em class="replaceable"><code>quoted_string</code></em> [ port<br>
|
||||
<em class="replaceable"><code>integer</code></em> ] [ dscp <em class="replaceable"><code>integer</code></em> ] | <em class="replaceable"><code>ipv4_address</code></em> [ port<br>
|
||||
<em class="replaceable"><code>integer</code></em> ] [ dscp <em class="replaceable"><code>integer</code></em> ] | <em class="replaceable"><code>ipv6_address</code></em> [ port<br>
|
||||
<em class="replaceable"><code>integer</code></em> ] [ dscp <em class="replaceable"><code>integer</code></em> ] ); ... };<br>
|
||||
dual-stack-servers [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] { ( <em class="replaceable"><code>quoted_string</code></em> [<span class="optional"> port<br>
|
||||
<em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>] | <em class="replaceable"><code>ipv4_address</code></em> [<span class="optional"> port<br>
|
||||
<em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>] | <em class="replaceable"><code>ipv6_address</code></em> [<span class="optional"> port<br>
|
||||
<em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>] ); ... };<br>
|
||||
dump-file <em class="replaceable"><code>quoted_string</code></em>;<br>
|
||||
edns-udp-size <em class="replaceable"><code>integer</code></em>;<br>
|
||||
empty-contact <em class="replaceable"><code>string</code></em>;<br>
|
||||
empty-server <em class="replaceable"><code>string</code></em>;<br>
|
||||
empty-zones-enable <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
fetch-quota-params <em class="replaceable"><code>integer</code></em> <em class="replaceable"><code>fixedpoint</code></em> <em class="replaceable"><code>fixedpoint</code></em> <em class="replaceable"><code>fixedpoint</code></em>;<br>
|
||||
fetches-per-server <em class="replaceable"><code>integer</code></em> [ ( drop | fail ) ];<br>
|
||||
fetches-per-zone <em class="replaceable"><code>integer</code></em> [ ( drop | fail ) ];<br>
|
||||
fetches-per-server <em class="replaceable"><code>integer</code></em> [<span class="optional"> ( drop | fail ) </span>];<br>
|
||||
fetches-per-zone <em class="replaceable"><code>integer</code></em> [<span class="optional"> ( drop | fail ) </span>];<br>
|
||||
files ( default | unlimited | <em class="replaceable"><code>sizeval</code></em> );<br>
|
||||
filter-aaaa { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||
filter-aaaa-on-v4 ( break-dnssec | <em class="replaceable"><code>boolean</code></em> );<br>
|
||||
filter-aaaa-on-v6 ( break-dnssec | <em class="replaceable"><code>boolean</code></em> );<br>
|
||||
flush-zones-on-shutdown <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
forward ( first | only );<br>
|
||||
forwarders [ port <em class="replaceable"><code>integer</code></em> ] [ dscp <em class="replaceable"><code>integer</code></em> ] { ( <em class="replaceable"><code>ipv4_address</code></em><br>
|
||||
| <em class="replaceable"><code>ipv6_address</code></em> ) [ port <em class="replaceable"><code>integer</code></em> ] [ dscp <em class="replaceable"><code>integer</code></em> ]; ... };<br>
|
||||
forwarders [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>] { ( <em class="replaceable"><code>ipv4_address</code></em><br>
|
||||
| <em class="replaceable"><code>ipv6_address</code></em> ) [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>]; ... };<br>
|
||||
fstrm-set-buffer-hint <em class="replaceable"><code>integer</code></em>;<br>
|
||||
fstrm-set-flush-timeout <em class="replaceable"><code>integer</code></em>;<br>
|
||||
fstrm-set-input-queue-size <em class="replaceable"><code>integer</code></em>;<br>
|
||||
@@ -281,8 +282,7 @@ options
|
||||
fstrm-set-output-queue-size <em class="replaceable"><code>integer</code></em>;<br>
|
||||
fstrm-set-reopen-interval <em class="replaceable"><code>integer</code></em>;<br>
|
||||
geoip-directory ( <em class="replaceable"><code>quoted_string</code></em> | none );<br>
|
||||
geoip-use-ecs <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
glue-cache <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
geoip-use-ecs ( <em class="replaceable"><code>quoted_string</code></em> | none );<br>
|
||||
heartbeat-interval <em class="replaceable"><code>integer</code></em>;<br>
|
||||
hostname ( <em class="replaceable"><code>quoted_string</code></em> | none );<br>
|
||||
inline-signing <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
@@ -291,11 +291,11 @@ options
|
||||
keep-response-order { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||
key-directory <em class="replaceable"><code>quoted_string</code></em>;<br>
|
||||
lame-ttl <em class="replaceable"><code>ttlval</code></em>;<br>
|
||||
listen-on [ port <em class="replaceable"><code>integer</code></em> ] [ dscp<br>
|
||||
<em class="replaceable"><code>integer</code></em> ] {<br>
|
||||
listen-on [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp<br>
|
||||
<em class="replaceable"><code>integer</code></em> </span>] {<br>
|
||||
<em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||
listen-on-v6 [ port <em class="replaceable"><code>integer</code></em> ] [ dscp<br>
|
||||
<em class="replaceable"><code>integer</code></em> ] {<br>
|
||||
listen-on-v6 [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp<br>
|
||||
<em class="replaceable"><code>integer</code></em> </span>] {<br>
|
||||
<em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||
lmdb-mapsize <em class="replaceable"><code>sizeval</code></em>;<br>
|
||||
lock-file ( <em class="replaceable"><code>quoted_string</code></em> | none );<br>
|
||||
@@ -303,10 +303,11 @@ options
|
||||
masterfile-format ( map | raw | text );<br>
|
||||
masterfile-style ( full | relative );<br>
|
||||
match-mapped-addresses <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
max-acache-size ( unlimited | <em class="replaceable"><code>sizeval</code></em> );<br>
|
||||
max-cache-size ( default | unlimited | <em class="replaceable"><code>sizeval</code></em> | <em class="replaceable"><code>percentage</code></em> );<br>
|
||||
max-cache-ttl <em class="replaceable"><code>integer</code></em>;<br>
|
||||
max-clients-per-query <em class="replaceable"><code>integer</code></em>;<br>
|
||||
max-journal-size ( default | unlimited | <em class="replaceable"><code>sizeval</code></em> );<br>
|
||||
max-journal-size ( unlimited | <em class="replaceable"><code>sizeval</code></em> );<br>
|
||||
max-ncache-ttl <em class="replaceable"><code>integer</code></em>;<br>
|
||||
max-records <em class="replaceable"><code>integer</code></em>;<br>
|
||||
max-recursion-depth <em class="replaceable"><code>integer</code></em>;<br>
|
||||
@@ -314,7 +315,6 @@ options
|
||||
max-refresh-time <em class="replaceable"><code>integer</code></em>;<br>
|
||||
max-retry-time <em class="replaceable"><code>integer</code></em>;<br>
|
||||
max-rsa-exponent-size <em class="replaceable"><code>integer</code></em>;<br>
|
||||
max-stale-ttl <em class="replaceable"><code>ttlval</code></em>;<br>
|
||||
max-transfer-idle-in <em class="replaceable"><code>integer</code></em>;<br>
|
||||
max-transfer-idle-out <em class="replaceable"><code>integer</code></em>;<br>
|
||||
max-transfer-time-in <em class="replaceable"><code>integer</code></em>;<br>
|
||||
@@ -329,33 +329,33 @@ options
|
||||
minimal-any <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
minimal-responses ( no-auth | no-auth-recursive | <em class="replaceable"><code>boolean</code></em> );<br>
|
||||
multi-master <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
new-zones-directory <em class="replaceable"><code>quoted_string</code></em>;<br>
|
||||
no-case-compress { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||
nocookie-udp-size <em class="replaceable"><code>integer</code></em>;<br>
|
||||
notify ( explicit | master-only | <em class="replaceable"><code>boolean</code></em> );<br>
|
||||
notify-delay <em class="replaceable"><code>integer</code></em>;<br>
|
||||
notify-rate <em class="replaceable"><code>integer</code></em>;<br>
|
||||
notify-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> | * ) ] [<br>
|
||||
dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||
notify-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> | * ) ]<br>
|
||||
[ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||
notify-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> | * ) </span>] [<span class="optional"><br>
|
||||
dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
||||
notify-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> | * ) </span>]<br>
|
||||
[<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
||||
notify-to-soa <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
nsec3-test-zone <em class="replaceable"><code>boolean</code></em>; // test only<br>
|
||||
nta-lifetime <em class="replaceable"><code>ttlval</code></em>;<br>
|
||||
nta-recheck <em class="replaceable"><code>ttlval</code></em>;<br>
|
||||
nxdomain-redirect <em class="replaceable"><code>string</code></em>;<br>
|
||||
pid-file ( <em class="replaceable"><code>quoted_string</code></em> | none );<br>
|
||||
port <em class="replaceable"><code>integer</code></em>;<br>
|
||||
preferred-glue <em class="replaceable"><code>string</code></em>;<br>
|
||||
prefetch <em class="replaceable"><code>integer</code></em> [ <em class="replaceable"><code>integer</code></em> ];<br>
|
||||
prefetch <em class="replaceable"><code>integer</code></em> [<span class="optional"> <em class="replaceable"><code>integer</code></em> </span>];<br>
|
||||
provide-ixfr <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
query-source ( ( [ address ] ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [ port (<br>
|
||||
<em class="replaceable"><code>integer</code></em> | * ) ] ) | ( [ [ address ] ( <em class="replaceable"><code>ipv4_address</code></em> | * ) ]<br>
|
||||
port ( <em class="replaceable"><code>integer</code></em> | * ) ) ) [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||
query-source-v6 ( ( [ address ] ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [ port (<br>
|
||||
<em class="replaceable"><code>integer</code></em> | * ) ] ) | ( [ [ address ] ( <em class="replaceable"><code>ipv6_address</code></em> | * ) ]<br>
|
||||
port ( <em class="replaceable"><code>integer</code></em> | * ) ) ) [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||
query-source ( ( [<span class="optional"> address </span>] ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [<span class="optional"> port (<br>
|
||||
<em class="replaceable"><code>integer</code></em> | * ) </span>] ) | ( [<span class="optional"> [<span class="optional"> address </span>] ( <em class="replaceable"><code>ipv4_address</code></em> | * ) </span>]<br>
|
||||
port ( <em class="replaceable"><code>integer</code></em> | * ) ) ) [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
||||
query-source-v6 ( ( [<span class="optional"> address </span>] ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [<span class="optional"> port (<br>
|
||||
<em class="replaceable"><code>integer</code></em> | * ) </span>] ) | ( [<span class="optional"> [<span class="optional"> address </span>] ( <em class="replaceable"><code>ipv6_address</code></em> | * ) </span>]<br>
|
||||
port ( <em class="replaceable"><code>integer</code></em> | * ) ) ) [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
||||
querylog <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
random-device ( <em class="replaceable"><code>quoted_string</code></em> | none );<br>
|
||||
random-device <em class="replaceable"><code>quoted_string</code></em>;<br>
|
||||
rate-limit {<br>
|
||||
all-per-second <em class="replaceable"><code>integer</code></em>;<br>
|
||||
errors-per-second <em class="replaceable"><code>integer</code></em>;<br>
|
||||
@@ -381,26 +381,20 @@ options
|
||||
request-nsid <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
require-server-cookie <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
reserved-sockets <em class="replaceable"><code>integer</code></em>;<br>
|
||||
resolver-nonbackoff-tries <em class="replaceable"><code>integer</code></em>;<br>
|
||||
resolver-query-timeout <em class="replaceable"><code>integer</code></em>;<br>
|
||||
resolver-retry-interval <em class="replaceable"><code>integer</code></em>;<br>
|
||||
response-padding { <em class="replaceable"><code>address_match_element</code></em>; ... } block-size<br>
|
||||
<em class="replaceable"><code>integer</code></em>;<br>
|
||||
response-policy { zone <em class="replaceable"><code>quoted_string</code></em> [ log <em class="replaceable"><code>boolean</code></em> ] [<br>
|
||||
max-policy-ttl <em class="replaceable"><code>integer</code></em> ] [ min-update-interval <em class="replaceable"><code>integer</code></em> ] [<br>
|
||||
response-policy { zone <em class="replaceable"><code>quoted_string</code></em> [<span class="optional"> log <em class="replaceable"><code>boolean</code></em> </span>] [<span class="optional"><br>
|
||||
max-policy-ttl <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> min-update-interval <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"><br>
|
||||
policy ( cname | disabled | drop | given | no-op | nodata |<br>
|
||||
nxdomain | passthru | tcp-only <em class="replaceable"><code>quoted_string</code></em> ) ] [<br>
|
||||
recursive-only <em class="replaceable"><code>boolean</code></em> ] [ nsip-enable <em class="replaceable"><code>boolean</code></em> ] [<br>
|
||||
nsdname-enable <em class="replaceable"><code>boolean</code></em> ]; ... } [ break-dnssec <em class="replaceable"><code>boolean</code></em> ] [<br>
|
||||
max-policy-ttl <em class="replaceable"><code>integer</code></em> ] [ min-update-interval <em class="replaceable"><code>integer</code></em> ] [<br>
|
||||
min-ns-dots <em class="replaceable"><code>integer</code></em> ] [ nsip-wait-recurse <em class="replaceable"><code>boolean</code></em> ] [<br>
|
||||
qname-wait-recurse <em class="replaceable"><code>boolean</code></em> ] [ recursive-only <em class="replaceable"><code>boolean</code></em> ] [<br>
|
||||
nsip-enable <em class="replaceable"><code>boolean</code></em> ] [ nsdname-enable <em class="replaceable"><code>boolean</code></em> ] [<br>
|
||||
dnsrps-enable <em class="replaceable"><code>boolean</code></em> ] [ dnsrps-options { <em class="replaceable"><code>unspecified-text</code></em><br>
|
||||
} ];<br>
|
||||
root-delegation-only [ exclude { <em class="replaceable"><code>quoted_string</code></em>; ... } ];<br>
|
||||
rrset-order { [ class <em class="replaceable"><code>string</code></em> ] [ type <em class="replaceable"><code>string</code></em> ] [ name<br>
|
||||
<em class="replaceable"><code>quoted_string</code></em> ] <em class="replaceable"><code>string</code></em> <em class="replaceable"><code>string</code></em>; ... };<br>
|
||||
nxdomain | passthru | tcp-only <em class="replaceable"><code>quoted_string</code></em> ) </span>] [<span class="optional"><br>
|
||||
recursive-only <em class="replaceable"><code>boolean</code></em> </span>]; ... } [<span class="optional"> break-dnssec <em class="replaceable"><code>boolean</code></em> </span>] [<span class="optional"><br>
|
||||
max-policy-ttl <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> min-update-interval <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"><br>
|
||||
min-ns-dots <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> nsip-wait-recurse <em class="replaceable"><code>boolean</code></em> </span>] [<span class="optional"><br>
|
||||
qname-wait-recurse <em class="replaceable"><code>boolean</code></em> </span>] [<span class="optional"> recursive-only <em class="replaceable"><code>boolean</code></em> </span>];<br>
|
||||
root-delegation-only [<span class="optional"> exclude { <em class="replaceable"><code>quoted_string</code></em>; ... } </span>];<br>
|
||||
rrset-order { [<span class="optional"> class <em class="replaceable"><code>string</code></em> </span>] [<span class="optional"> type <em class="replaceable"><code>string</code></em> </span>] [<span class="optional"> name<br>
|
||||
<em class="replaceable"><code>quoted_string</code></em> </span>] <em class="replaceable"><code>string</code></em> <em class="replaceable"><code>string</code></em>; ... };<br>
|
||||
secroots-file <em class="replaceable"><code>quoted_string</code></em>;<br>
|
||||
send-cookie <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
serial-query-rate <em class="replaceable"><code>integer</code></em>;<br>
|
||||
@@ -413,11 +407,9 @@ options
|
||||
sig-signing-nodes <em class="replaceable"><code>integer</code></em>;<br>
|
||||
sig-signing-signatures <em class="replaceable"><code>integer</code></em>;<br>
|
||||
sig-signing-type <em class="replaceable"><code>integer</code></em>;<br>
|
||||
sig-validity-interval <em class="replaceable"><code>integer</code></em> [ <em class="replaceable"><code>integer</code></em> ];<br>
|
||||
sig-validity-interval <em class="replaceable"><code>integer</code></em> [<span class="optional"> <em class="replaceable"><code>integer</code></em> </span>];<br>
|
||||
sortlist { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||
stacksize ( default | unlimited | <em class="replaceable"><code>sizeval</code></em> );<br>
|
||||
stale-answer-enable <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
stale-answer-ttl <em class="replaceable"><code>ttlval</code></em>;<br>
|
||||
startup-notify-rate <em class="replaceable"><code>integer</code></em>;<br>
|
||||
statistics-file <em class="replaceable"><code>quoted_string</code></em>;<br>
|
||||
synth-from-dnssec <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
@@ -433,10 +425,10 @@ options
|
||||
tkey-gssapi-keytab <em class="replaceable"><code>quoted_string</code></em>;<br>
|
||||
transfer-format ( many-answers | one-answer );<br>
|
||||
transfer-message-size <em class="replaceable"><code>integer</code></em>;<br>
|
||||
transfer-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> | * ) ] [<br>
|
||||
dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||
transfer-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> | * )<br>
|
||||
] [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||
transfer-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> | * ) </span>] [<span class="optional"><br>
|
||||
dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
||||
transfer-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> | * )<br>
|
||||
</span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
||||
transfers-in <em class="replaceable"><code>integer</code></em>;<br>
|
||||
transfers-out <em class="replaceable"><code>integer</code></em>;<br>
|
||||
transfers-per-ns <em class="replaceable"><code>integer</code></em>;<br>
|
||||
@@ -466,18 +458,18 @@ server
|
||||
edns-version <em class="replaceable"><code>integer</code></em>;<br>
|
||||
keys <em class="replaceable"><code>server_key</code></em>;<br>
|
||||
max-udp-size <em class="replaceable"><code>integer</code></em>;<br>
|
||||
notify-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> | * ) ] [<br>
|
||||
dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||
notify-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> | * ) ]<br>
|
||||
[ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||
notify-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> | * ) </span>] [<span class="optional"><br>
|
||||
dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
||||
notify-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> | * ) </span>]<br>
|
||||
[<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
||||
padding <em class="replaceable"><code>integer</code></em>;<br>
|
||||
provide-ixfr <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
query-source ( ( [ address ] ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [ port (<br>
|
||||
<em class="replaceable"><code>integer</code></em> | * ) ] ) | ( [ [ address ] ( <em class="replaceable"><code>ipv4_address</code></em> | * ) ]<br>
|
||||
port ( <em class="replaceable"><code>integer</code></em> | * ) ) ) [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||
query-source-v6 ( ( [ address ] ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [ port (<br>
|
||||
<em class="replaceable"><code>integer</code></em> | * ) ] ) | ( [ [ address ] ( <em class="replaceable"><code>ipv6_address</code></em> | * ) ]<br>
|
||||
port ( <em class="replaceable"><code>integer</code></em> | * ) ) ) [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||
query-source ( ( [<span class="optional"> address </span>] ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [<span class="optional"> port (<br>
|
||||
<em class="replaceable"><code>integer</code></em> | * ) </span>] ) | ( [<span class="optional"> [<span class="optional"> address </span>] ( <em class="replaceable"><code>ipv4_address</code></em> | * ) </span>]<br>
|
||||
port ( <em class="replaceable"><code>integer</code></em> | * ) ) ) [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
||||
query-source-v6 ( ( [<span class="optional"> address </span>] ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [<span class="optional"> port (<br>
|
||||
<em class="replaceable"><code>integer</code></em> | * ) </span>] ) | ( [<span class="optional"> [<span class="optional"> address </span>] ( <em class="replaceable"><code>ipv6_address</code></em> | * ) </span>]<br>
|
||||
port ( <em class="replaceable"><code>integer</code></em> | * ) ) ) [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
||||
request-expire <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
request-ixfr <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
request-nsid <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
@@ -485,10 +477,10 @@ server
|
||||
tcp-keepalive <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
tcp-only <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
transfer-format ( many-answers | one-answer );<br>
|
||||
transfer-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> | * ) ] [<br>
|
||||
dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||
transfer-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> | * )<br>
|
||||
] [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||
transfer-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> | * ) </span>] [<span class="optional"><br>
|
||||
dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
||||
transfer-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> | * )<br>
|
||||
</span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
||||
transfers <em class="replaceable"><code>integer</code></em>;<br>
|
||||
};<br>
|
||||
</p></div>
|
||||
@@ -500,9 +492,9 @@ server
|
||||
<div class="literallayout"><p><br>
|
||||
statistics-channels {<br>
|
||||
inet ( <em class="replaceable"><code>ipv4_address</code></em> | <em class="replaceable"><code>ipv6_address</code></em> |<br>
|
||||
* ) [ port ( <em class="replaceable"><code>integer</code></em> | * ) ] [<br>
|
||||
* ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> | * ) </span>] [<span class="optional"><br>
|
||||
allow { <em class="replaceable"><code>address_match_element</code></em>; ...<br>
|
||||
} ];<br>
|
||||
} </span>];<br>
|
||||
};<br>
|
||||
</p></div>
|
||||
</div>
|
||||
@@ -520,7 +512,11 @@ trusted-keys
|
||||
<a name="id-1.20"></a><h2>VIEW</h2>
|
||||
|
||||
<div class="literallayout"><p><br>
|
||||
view <em class="replaceable"><code>string</code></em> [ <em class="replaceable"><code>class</code></em> ] {<br>
|
||||
view <em class="replaceable"><code>string</code></em> [<span class="optional"> <em class="replaceable"><code>class</code></em> </span>] {<br>
|
||||
acache-cleaning-interval <em class="replaceable"><code>integer</code></em>;<br>
|
||||
acache-enable <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
additional-from-auth <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
additional-from-cache <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
allow-new-zones <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
allow-notify { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||
allow-query { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||
@@ -532,22 +528,22 @@ view
|
||||
allow-transfer { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||
allow-update { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||
allow-update-forwarding { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||
also-notify [ port <em class="replaceable"><code>integer</code></em> ] [ dscp <em class="replaceable"><code>integer</code></em> ] { ( <em class="replaceable"><code>masters</code></em> |<br>
|
||||
<em class="replaceable"><code>ipv4_address</code></em> [ port <em class="replaceable"><code>integer</code></em> ] | <em class="replaceable"><code>ipv6_address</code></em> [ port<br>
|
||||
<em class="replaceable"><code>integer</code></em> ] ) [ key <em class="replaceable"><code>string</code></em> ]; ... };<br>
|
||||
alt-transfer-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> | * )<br>
|
||||
] [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||
alt-transfer-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> |<br>
|
||||
* ) ] [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||
also-notify [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>] { ( <em class="replaceable"><code>masters</code></em> |<br>
|
||||
<em class="replaceable"><code>ipv4_address</code></em> [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] | <em class="replaceable"><code>ipv6_address</code></em> [<span class="optional"> port<br>
|
||||
<em class="replaceable"><code>integer</code></em> </span>] ) [<span class="optional"> key <em class="replaceable"><code>string</code></em> </span>]; ... };<br>
|
||||
alt-transfer-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> | * )<br>
|
||||
</span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
||||
alt-transfer-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> |<br>
|
||||
* ) </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
||||
attach-cache <em class="replaceable"><code>string</code></em>;<br>
|
||||
auth-nxdomain <em class="replaceable"><code>boolean</code></em>; // default changed<br>
|
||||
auto-dnssec ( allow | maintain | off );<br>
|
||||
cache-file <em class="replaceable"><code>quoted_string</code></em>;<br>
|
||||
catalog-zones { zone <em class="replaceable"><code>quoted_string</code></em> [ default-masters [ port<br>
|
||||
<em class="replaceable"><code>integer</code></em> ] [ dscp <em class="replaceable"><code>integer</code></em> ] { ( <em class="replaceable"><code>masters</code></em> | <em class="replaceable"><code>ipv4_address</code></em> [<br>
|
||||
port <em class="replaceable"><code>integer</code></em> ] | <em class="replaceable"><code>ipv6_address</code></em> [ port <em class="replaceable"><code>integer</code></em> ] ) [ key<br>
|
||||
<em class="replaceable"><code>string</code></em> ]; ... } ] [ zone-directory <em class="replaceable"><code>quoted_string</code></em> ] [<br>
|
||||
in-memory <em class="replaceable"><code>boolean</code></em> ] [ min-update-interval <em class="replaceable"><code>integer</code></em> ]; ... };<br>
|
||||
catalog-zones { zone <em class="replaceable"><code>quoted_string</code></em> [<span class="optional"> default-masters [<span class="optional"> port<br>
|
||||
<em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>] { ( <em class="replaceable"><code>masters</code></em> | <em class="replaceable"><code>ipv4_address</code></em> [<span class="optional"><br>
|
||||
port <em class="replaceable"><code>integer</code></em> </span>] | <em class="replaceable"><code>ipv6_address</code></em> [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] ) [<span class="optional"> key<br>
|
||||
<em class="replaceable"><code>string</code></em> </span>]; ... } </span>] [<span class="optional"> zone-directory <em class="replaceable"><code>quoted_string</code></em> </span>] [<span class="optional"><br>
|
||||
in-memory <em class="replaceable"><code>boolean</code></em> </span>] [<span class="optional"> min-update-interval <em class="replaceable"><code>integer</code></em> </span>]; ... };<br>
|
||||
check-dup-records ( fail | warn | ignore );<br>
|
||||
check-integrity <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
check-mx ( fail | warn | ignore );<br>
|
||||
@@ -560,10 +556,10 @@ view
|
||||
check-wildcard <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
cleaning-interval <em class="replaceable"><code>integer</code></em>;<br>
|
||||
clients-per-query <em class="replaceable"><code>integer</code></em>;<br>
|
||||
deny-answer-addresses { <em class="replaceable"><code>address_match_element</code></em>; ... } [<br>
|
||||
except-from { <em class="replaceable"><code>quoted_string</code></em>; ... } ];<br>
|
||||
deny-answer-aliases { <em class="replaceable"><code>quoted_string</code></em>; ... } [ except-from {<br>
|
||||
<em class="replaceable"><code>quoted_string</code></em>; ... } ];<br>
|
||||
deny-answer-addresses { <em class="replaceable"><code>address_match_element</code></em>; ... } [<span class="optional"><br>
|
||||
except-from { <em class="replaceable"><code>quoted_string</code></em>; ... } </span>];<br>
|
||||
deny-answer-aliases { <em class="replaceable"><code>quoted_string</code></em>; ... } [<span class="optional"> except-from {<br>
|
||||
<em class="replaceable"><code>quoted_string</code></em>; ... } </span>];<br>
|
||||
dialup ( notify | notify-passive | passive | refresh | <em class="replaceable"><code>boolean</code></em> );<br>
|
||||
disable-algorithms <em class="replaceable"><code>string</code></em> { <em class="replaceable"><code>string</code></em>;<br>
|
||||
... };<br>
|
||||
@@ -584,8 +580,6 @@ view
|
||||
};<br>
|
||||
dns64-contact <em class="replaceable"><code>string</code></em>;<br>
|
||||
dns64-server <em class="replaceable"><code>string</code></em>;<br>
|
||||
dnsrps-enable <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
dnsrps-options { <em class="replaceable"><code>unspecified-text</code></em> };<br>
|
||||
dnssec-accept-expired <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
dnssec-dnskey-kskonly <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
dnssec-enable <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
@@ -597,11 +591,11 @@ view
|
||||
dnssec-update-mode ( maintain | no-resign );<br>
|
||||
dnssec-validation ( yes | no | auto );<br>
|
||||
dnstap { ( all | auth | client | forwarder |<br>
|
||||
resolver ) [ ( query | response ) ]; ... };<br>
|
||||
dual-stack-servers [ port <em class="replaceable"><code>integer</code></em> ] { ( <em class="replaceable"><code>quoted_string</code></em> [ port<br>
|
||||
<em class="replaceable"><code>integer</code></em> ] [ dscp <em class="replaceable"><code>integer</code></em> ] | <em class="replaceable"><code>ipv4_address</code></em> [ port<br>
|
||||
<em class="replaceable"><code>integer</code></em> ] [ dscp <em class="replaceable"><code>integer</code></em> ] | <em class="replaceable"><code>ipv6_address</code></em> [ port<br>
|
||||
<em class="replaceable"><code>integer</code></em> ] [ dscp <em class="replaceable"><code>integer</code></em> ] ); ... };<br>
|
||||
resolver ) [<span class="optional"> ( query | response ) </span>]; ... };<br>
|
||||
dual-stack-servers [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] { ( <em class="replaceable"><code>quoted_string</code></em> [<span class="optional"> port<br>
|
||||
<em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>] | <em class="replaceable"><code>ipv4_address</code></em> [<span class="optional"> port<br>
|
||||
<em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>] | <em class="replaceable"><code>ipv6_address</code></em> [<span class="optional"> port<br>
|
||||
<em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>] ); ... };<br>
|
||||
dyndb <em class="replaceable"><code>string</code></em> <em class="replaceable"><code>quoted_string</code></em> {<br>
|
||||
<em class="replaceable"><code>unspecified-text</code></em> };<br>
|
||||
edns-udp-size <em class="replaceable"><code>integer</code></em>;<br>
|
||||
@@ -609,15 +603,14 @@ view
|
||||
empty-server <em class="replaceable"><code>string</code></em>;<br>
|
||||
empty-zones-enable <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
fetch-quota-params <em class="replaceable"><code>integer</code></em> <em class="replaceable"><code>fixedpoint</code></em> <em class="replaceable"><code>fixedpoint</code></em> <em class="replaceable"><code>fixedpoint</code></em>;<br>
|
||||
fetches-per-server <em class="replaceable"><code>integer</code></em> [ ( drop | fail ) ];<br>
|
||||
fetches-per-zone <em class="replaceable"><code>integer</code></em> [ ( drop | fail ) ];<br>
|
||||
fetches-per-server <em class="replaceable"><code>integer</code></em> [<span class="optional"> ( drop | fail ) </span>];<br>
|
||||
fetches-per-zone <em class="replaceable"><code>integer</code></em> [<span class="optional"> ( drop | fail ) </span>];<br>
|
||||
filter-aaaa { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||
filter-aaaa-on-v4 ( break-dnssec | <em class="replaceable"><code>boolean</code></em> );<br>
|
||||
filter-aaaa-on-v6 ( break-dnssec | <em class="replaceable"><code>boolean</code></em> );<br>
|
||||
forward ( first | only );<br>
|
||||
forwarders [ port <em class="replaceable"><code>integer</code></em> ] [ dscp <em class="replaceable"><code>integer</code></em> ] { ( <em class="replaceable"><code>ipv4_address</code></em><br>
|
||||
| <em class="replaceable"><code>ipv6_address</code></em> ) [ port <em class="replaceable"><code>integer</code></em> ] [ dscp <em class="replaceable"><code>integer</code></em> ]; ... };<br>
|
||||
glue-cache <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
forwarders [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>] { ( <em class="replaceable"><code>ipv4_address</code></em><br>
|
||||
| <em class="replaceable"><code>ipv6_address</code></em> ) [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>]; ... };<br>
|
||||
inline-signing <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
ixfr-from-differences ( master | slave | <em class="replaceable"><code>boolean</code></em> );<br>
|
||||
key <em class="replaceable"><code>string</code></em> {<br>
|
||||
@@ -635,17 +628,17 @@ view
|
||||
match-clients { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||
match-destinations { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||
match-recursive-only <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
max-acache-size ( unlimited | <em class="replaceable"><code>sizeval</code></em> );<br>
|
||||
max-cache-size ( default | unlimited | <em class="replaceable"><code>sizeval</code></em> | <em class="replaceable"><code>percentage</code></em> );<br>
|
||||
max-cache-ttl <em class="replaceable"><code>integer</code></em>;<br>
|
||||
max-clients-per-query <em class="replaceable"><code>integer</code></em>;<br>
|
||||
max-journal-size ( default | unlimited | <em class="replaceable"><code>sizeval</code></em> );<br>
|
||||
max-journal-size ( unlimited | <em class="replaceable"><code>sizeval</code></em> );<br>
|
||||
max-ncache-ttl <em class="replaceable"><code>integer</code></em>;<br>
|
||||
max-records <em class="replaceable"><code>integer</code></em>;<br>
|
||||
max-recursion-depth <em class="replaceable"><code>integer</code></em>;<br>
|
||||
max-recursion-queries <em class="replaceable"><code>integer</code></em>;<br>
|
||||
max-refresh-time <em class="replaceable"><code>integer</code></em>;<br>
|
||||
max-retry-time <em class="replaceable"><code>integer</code></em>;<br>
|
||||
max-stale-ttl <em class="replaceable"><code>ttlval</code></em>;<br>
|
||||
max-transfer-idle-in <em class="replaceable"><code>integer</code></em>;<br>
|
||||
max-transfer-idle-out <em class="replaceable"><code>integer</code></em>;<br>
|
||||
max-transfer-time-in <em class="replaceable"><code>integer</code></em>;<br>
|
||||
@@ -658,28 +651,28 @@ view
|
||||
minimal-any <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
minimal-responses ( no-auth | no-auth-recursive | <em class="replaceable"><code>boolean</code></em> );<br>
|
||||
multi-master <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
new-zones-directory <em class="replaceable"><code>quoted_string</code></em>;<br>
|
||||
no-case-compress { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||
nocookie-udp-size <em class="replaceable"><code>integer</code></em>;<br>
|
||||
notify ( explicit | master-only | <em class="replaceable"><code>boolean</code></em> );<br>
|
||||
notify-delay <em class="replaceable"><code>integer</code></em>;<br>
|
||||
notify-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> | * ) ] [<br>
|
||||
dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||
notify-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> | * ) ]<br>
|
||||
[ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||
notify-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> | * ) </span>] [<span class="optional"><br>
|
||||
dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
||||
notify-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> | * ) </span>]<br>
|
||||
[<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
||||
notify-to-soa <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
nsec3-test-zone <em class="replaceable"><code>boolean</code></em>; // test only<br>
|
||||
nta-lifetime <em class="replaceable"><code>ttlval</code></em>;<br>
|
||||
nta-recheck <em class="replaceable"><code>ttlval</code></em>;<br>
|
||||
nxdomain-redirect <em class="replaceable"><code>string</code></em>;<br>
|
||||
preferred-glue <em class="replaceable"><code>string</code></em>;<br>
|
||||
prefetch <em class="replaceable"><code>integer</code></em> [ <em class="replaceable"><code>integer</code></em> ];<br>
|
||||
prefetch <em class="replaceable"><code>integer</code></em> [<span class="optional"> <em class="replaceable"><code>integer</code></em> </span>];<br>
|
||||
provide-ixfr <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
query-source ( ( [ address ] ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [ port (<br>
|
||||
<em class="replaceable"><code>integer</code></em> | * ) ] ) | ( [ [ address ] ( <em class="replaceable"><code>ipv4_address</code></em> | * ) ]<br>
|
||||
port ( <em class="replaceable"><code>integer</code></em> | * ) ) ) [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||
query-source-v6 ( ( [ address ] ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [ port (<br>
|
||||
<em class="replaceable"><code>integer</code></em> | * ) ] ) | ( [ [ address ] ( <em class="replaceable"><code>ipv6_address</code></em> | * ) ]<br>
|
||||
port ( <em class="replaceable"><code>integer</code></em> | * ) ) ) [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||
query-source ( ( [<span class="optional"> address </span>] ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [<span class="optional"> port (<br>
|
||||
<em class="replaceable"><code>integer</code></em> | * ) </span>] ) | ( [<span class="optional"> [<span class="optional"> address </span>] ( <em class="replaceable"><code>ipv4_address</code></em> | * ) </span>]<br>
|
||||
port ( <em class="replaceable"><code>integer</code></em> | * ) ) ) [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
||||
query-source-v6 ( ( [<span class="optional"> address </span>] ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [<span class="optional"> port (<br>
|
||||
<em class="replaceable"><code>integer</code></em> | * ) </span>] ) | ( [<span class="optional"> [<span class="optional"> address </span>] ( <em class="replaceable"><code>ipv6_address</code></em> | * ) </span>]<br>
|
||||
port ( <em class="replaceable"><code>integer</code></em> | * ) ) ) [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
||||
rate-limit {<br>
|
||||
all-per-second <em class="replaceable"><code>integer</code></em>;<br>
|
||||
errors-per-second <em class="replaceable"><code>integer</code></em>;<br>
|
||||
@@ -702,26 +695,20 @@ view
|
||||
request-ixfr <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
request-nsid <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
require-server-cookie <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
resolver-nonbackoff-tries <em class="replaceable"><code>integer</code></em>;<br>
|
||||
resolver-query-timeout <em class="replaceable"><code>integer</code></em>;<br>
|
||||
resolver-retry-interval <em class="replaceable"><code>integer</code></em>;<br>
|
||||
response-padding { <em class="replaceable"><code>address_match_element</code></em>; ... } block-size<br>
|
||||
<em class="replaceable"><code>integer</code></em>;<br>
|
||||
response-policy { zone <em class="replaceable"><code>quoted_string</code></em> [ log <em class="replaceable"><code>boolean</code></em> ] [<br>
|
||||
max-policy-ttl <em class="replaceable"><code>integer</code></em> ] [ min-update-interval <em class="replaceable"><code>integer</code></em> ] [<br>
|
||||
response-policy { zone <em class="replaceable"><code>quoted_string</code></em> [<span class="optional"> log <em class="replaceable"><code>boolean</code></em> </span>] [<span class="optional"><br>
|
||||
max-policy-ttl <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> min-update-interval <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"><br>
|
||||
policy ( cname | disabled | drop | given | no-op | nodata |<br>
|
||||
nxdomain | passthru | tcp-only <em class="replaceable"><code>quoted_string</code></em> ) ] [<br>
|
||||
recursive-only <em class="replaceable"><code>boolean</code></em> ] [ nsip-enable <em class="replaceable"><code>boolean</code></em> ] [<br>
|
||||
nsdname-enable <em class="replaceable"><code>boolean</code></em> ]; ... } [ break-dnssec <em class="replaceable"><code>boolean</code></em> ] [<br>
|
||||
max-policy-ttl <em class="replaceable"><code>integer</code></em> ] [ min-update-interval <em class="replaceable"><code>integer</code></em> ] [<br>
|
||||
min-ns-dots <em class="replaceable"><code>integer</code></em> ] [ nsip-wait-recurse <em class="replaceable"><code>boolean</code></em> ] [<br>
|
||||
qname-wait-recurse <em class="replaceable"><code>boolean</code></em> ] [ recursive-only <em class="replaceable"><code>boolean</code></em> ] [<br>
|
||||
nsip-enable <em class="replaceable"><code>boolean</code></em> ] [ nsdname-enable <em class="replaceable"><code>boolean</code></em> ] [<br>
|
||||
dnsrps-enable <em class="replaceable"><code>boolean</code></em> ] [ dnsrps-options { <em class="replaceable"><code>unspecified-text</code></em><br>
|
||||
} ];<br>
|
||||
root-delegation-only [ exclude { <em class="replaceable"><code>quoted_string</code></em>; ... } ];<br>
|
||||
rrset-order { [ class <em class="replaceable"><code>string</code></em> ] [ type <em class="replaceable"><code>string</code></em> ] [ name<br>
|
||||
<em class="replaceable"><code>quoted_string</code></em> ] <em class="replaceable"><code>string</code></em> <em class="replaceable"><code>string</code></em>; ... };<br>
|
||||
nxdomain | passthru | tcp-only <em class="replaceable"><code>quoted_string</code></em> ) </span>] [<span class="optional"><br>
|
||||
recursive-only <em class="replaceable"><code>boolean</code></em> </span>]; ... } [<span class="optional"> break-dnssec <em class="replaceable"><code>boolean</code></em> </span>] [<span class="optional"><br>
|
||||
max-policy-ttl <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> min-update-interval <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"><br>
|
||||
min-ns-dots <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> nsip-wait-recurse <em class="replaceable"><code>boolean</code></em> </span>] [<span class="optional"><br>
|
||||
qname-wait-recurse <em class="replaceable"><code>boolean</code></em> </span>] [<span class="optional"> recursive-only <em class="replaceable"><code>boolean</code></em> </span>];<br>
|
||||
root-delegation-only [<span class="optional"> exclude { <em class="replaceable"><code>quoted_string</code></em>; ... } </span>];<br>
|
||||
rrset-order { [<span class="optional"> class <em class="replaceable"><code>string</code></em> </span>] [<span class="optional"> type <em class="replaceable"><code>string</code></em> </span>] [<span class="optional"> name<br>
|
||||
<em class="replaceable"><code>quoted_string</code></em> </span>] <em class="replaceable"><code>string</code></em> <em class="replaceable"><code>string</code></em>; ... };<br>
|
||||
send-cookie <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
serial-update-method ( date | increment | unixtime );<br>
|
||||
server <em class="replaceable"><code>netprefix</code></em> {<br>
|
||||
@@ -731,20 +718,20 @@ view
|
||||
edns-version <em class="replaceable"><code>integer</code></em>;<br>
|
||||
keys <em class="replaceable"><code>server_key</code></em>;<br>
|
||||
max-udp-size <em class="replaceable"><code>integer</code></em>;<br>
|
||||
notify-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> | *<br>
|
||||
) ] [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||
notify-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em><br>
|
||||
| * ) ] [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||
notify-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> | *<br>
|
||||
) </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
||||
notify-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em><br>
|
||||
| * ) </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
||||
padding <em class="replaceable"><code>integer</code></em>;<br>
|
||||
provide-ixfr <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
query-source ( ( [ address ] ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [ port<br>
|
||||
( <em class="replaceable"><code>integer</code></em> | * ) ] ) | ( [ [ address ] (<br>
|
||||
<em class="replaceable"><code>ipv4_address</code></em> | * ) ] port ( <em class="replaceable"><code>integer</code></em> | * ) ) ) [<br>
|
||||
dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||
query-source-v6 ( ( [ address ] ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [<br>
|
||||
port ( <em class="replaceable"><code>integer</code></em> | * ) ] ) | ( [ [ address ] (<br>
|
||||
<em class="replaceable"><code>ipv6_address</code></em> | * ) ] port ( <em class="replaceable"><code>integer</code></em> | * ) ) ) [<br>
|
||||
dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||
query-source ( ( [<span class="optional"> address </span>] ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [<span class="optional"> port<br>
|
||||
( <em class="replaceable"><code>integer</code></em> | * ) </span>] ) | ( [<span class="optional"> [<span class="optional"> address </span>] (<br>
|
||||
<em class="replaceable"><code>ipv4_address</code></em> | * ) </span>] port ( <em class="replaceable"><code>integer</code></em> | * ) ) ) [<span class="optional"><br>
|
||||
dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
||||
query-source-v6 ( ( [<span class="optional"> address </span>] ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [<span class="optional"><br>
|
||||
port ( <em class="replaceable"><code>integer</code></em> | * ) </span>] ) | ( [<span class="optional"> [<span class="optional"> address </span>] (<br>
|
||||
<em class="replaceable"><code>ipv6_address</code></em> | * ) </span>] port ( <em class="replaceable"><code>integer</code></em> | * ) ) ) [<span class="optional"><br>
|
||||
dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
||||
request-expire <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
request-ixfr <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
request-nsid <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
@@ -752,26 +739,24 @@ view
|
||||
tcp-keepalive <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
tcp-only <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
transfer-format ( many-answers | one-answer );<br>
|
||||
transfer-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> |<br>
|
||||
* ) ] [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||
transfer-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [ port (<br>
|
||||
<em class="replaceable"><code>integer</code></em> | * ) ] [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||
transfer-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> |<br>
|
||||
* ) </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
||||
transfer-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [<span class="optional"> port (<br>
|
||||
<em class="replaceable"><code>integer</code></em> | * ) </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
||||
transfers <em class="replaceable"><code>integer</code></em>;<br>
|
||||
};<br>
|
||||
servfail-ttl <em class="replaceable"><code>ttlval</code></em>;<br>
|
||||
sig-signing-nodes <em class="replaceable"><code>integer</code></em>;<br>
|
||||
sig-signing-signatures <em class="replaceable"><code>integer</code></em>;<br>
|
||||
sig-signing-type <em class="replaceable"><code>integer</code></em>;<br>
|
||||
sig-validity-interval <em class="replaceable"><code>integer</code></em> [ <em class="replaceable"><code>integer</code></em> ];<br>
|
||||
sig-validity-interval <em class="replaceable"><code>integer</code></em> [<span class="optional"> <em class="replaceable"><code>integer</code></em> </span>];<br>
|
||||
sortlist { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||
stale-answer-enable <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
stale-answer-ttl <em class="replaceable"><code>ttlval</code></em>;<br>
|
||||
synth-from-dnssec <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
transfer-format ( many-answers | one-answer );<br>
|
||||
transfer-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> | * ) ] [<br>
|
||||
dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||
transfer-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> | * )<br>
|
||||
] [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||
transfer-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> | * ) </span>] [<span class="optional"><br>
|
||||
dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
||||
transfer-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> | * )<br>
|
||||
</span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
||||
trust-anchor-telemetry <em class="replaceable"><code>boolean</code></em>; // experimental<br>
|
||||
trusted-keys { <em class="replaceable"><code>string</code></em> <em class="replaceable"><code>integer</code></em><br>
|
||||
<em class="replaceable"><code>integer</code></em> <em class="replaceable"><code>integer</code></em> <em class="replaceable"><code>quoted_string</code></em>;<br>
|
||||
@@ -782,21 +767,21 @@ view
|
||||
v6-bias <em class="replaceable"><code>integer</code></em>;<br>
|
||||
zero-no-soa-ttl <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
zero-no-soa-ttl-cache <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
zone <em class="replaceable"><code>string</code></em> [ <em class="replaceable"><code>class</code></em> ] {<br>
|
||||
zone <em class="replaceable"><code>string</code></em> [<span class="optional"> <em class="replaceable"><code>class</code></em> </span>] {<br>
|
||||
allow-notify { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||
allow-query { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||
allow-query-on { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||
allow-transfer { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||
allow-update { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||
allow-update-forwarding { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||
also-notify [ port <em class="replaceable"><code>integer</code></em> ] [ dscp <em class="replaceable"><code>integer</code></em> ] { (<br>
|
||||
<em class="replaceable"><code>masters</code></em> | <em class="replaceable"><code>ipv4_address</code></em> [ port <em class="replaceable"><code>integer</code></em> ] |<br>
|
||||
<em class="replaceable"><code>ipv6_address</code></em> [ port <em class="replaceable"><code>integer</code></em> ] ) [ key <em class="replaceable"><code>string</code></em> ];<br>
|
||||
also-notify [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>] { (<br>
|
||||
<em class="replaceable"><code>masters</code></em> | <em class="replaceable"><code>ipv4_address</code></em> [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] |<br>
|
||||
<em class="replaceable"><code>ipv6_address</code></em> [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] ) [<span class="optional"> key <em class="replaceable"><code>string</code></em> </span>];<br>
|
||||
... };<br>
|
||||
alt-transfer-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [ port (<br>
|
||||
<em class="replaceable"><code>integer</code></em> | * ) ] [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||
alt-transfer-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [ port (<br>
|
||||
<em class="replaceable"><code>integer</code></em> | * ) ] [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||
alt-transfer-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [<span class="optional"> port (<br>
|
||||
<em class="replaceable"><code>integer</code></em> | * ) </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
||||
alt-transfer-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [<span class="optional"> port (<br>
|
||||
<em class="replaceable"><code>integer</code></em> | * ) </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
||||
auto-dnssec ( allow | maintain | off );<br>
|
||||
check-dup-records ( fail | warn | ignore );<br>
|
||||
check-integrity <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
@@ -818,9 +803,9 @@ view
|
||||
dnssec-update-mode ( maintain | no-resign );<br>
|
||||
file <em class="replaceable"><code>quoted_string</code></em>;<br>
|
||||
forward ( first | only );<br>
|
||||
forwarders [ port <em class="replaceable"><code>integer</code></em> ] [ dscp <em class="replaceable"><code>integer</code></em> ] { (<br>
|
||||
<em class="replaceable"><code>ipv4_address</code></em> | <em class="replaceable"><code>ipv6_address</code></em> ) [ port <em class="replaceable"><code>integer</code></em> ] [<br>
|
||||
dscp <em class="replaceable"><code>integer</code></em> ]; ... };<br>
|
||||
forwarders [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>] { (<br>
|
||||
<em class="replaceable"><code>ipv4_address</code></em> | <em class="replaceable"><code>ipv6_address</code></em> ) [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"><br>
|
||||
dscp <em class="replaceable"><code>integer</code></em> </span>]; ... };<br>
|
||||
in-view <em class="replaceable"><code>string</code></em>;<br>
|
||||
inline-signing <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
ixfr-from-differences <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
@@ -828,11 +813,11 @@ view
|
||||
key-directory <em class="replaceable"><code>quoted_string</code></em>;<br>
|
||||
masterfile-format ( map | raw | text );<br>
|
||||
masterfile-style ( full | relative );<br>
|
||||
masters [ port <em class="replaceable"><code>integer</code></em> ] [ dscp <em class="replaceable"><code>integer</code></em> ] { ( <em class="replaceable"><code>masters</code></em><br>
|
||||
| <em class="replaceable"><code>ipv4_address</code></em> [ port <em class="replaceable"><code>integer</code></em> ] | <em class="replaceable"><code>ipv6_address</code></em> [<br>
|
||||
port <em class="replaceable"><code>integer</code></em> ] ) [ key <em class="replaceable"><code>string</code></em> ]; ... };<br>
|
||||
masters [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>] { ( <em class="replaceable"><code>masters</code></em><br>
|
||||
| <em class="replaceable"><code>ipv4_address</code></em> [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] | <em class="replaceable"><code>ipv6_address</code></em> [<span class="optional"><br>
|
||||
port <em class="replaceable"><code>integer</code></em> </span>] ) [<span class="optional"> key <em class="replaceable"><code>string</code></em> </span>]; ... };<br>
|
||||
max-ixfr-log-size ( default | unlimited |<br>
|
||||
max-journal-size ( default | unlimited | <em class="replaceable"><code>sizeval</code></em> );<br>
|
||||
max-journal-size ( unlimited | <em class="replaceable"><code>sizeval</code></em> );<br>
|
||||
max-records <em class="replaceable"><code>integer</code></em>;<br>
|
||||
max-refresh-time <em class="replaceable"><code>integer</code></em>;<br>
|
||||
max-retry-time <em class="replaceable"><code>integer</code></em>;<br>
|
||||
@@ -846,28 +831,29 @@ view
|
||||
multi-master <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
notify ( explicit | master-only | <em class="replaceable"><code>boolean</code></em> );<br>
|
||||
notify-delay <em class="replaceable"><code>integer</code></em>;<br>
|
||||
notify-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> | *<br>
|
||||
) ] [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||
notify-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em><br>
|
||||
| * ) ] [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||
notify-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> | *<br>
|
||||
) </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
||||
notify-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em><br>
|
||||
| * ) </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
||||
notify-to-soa <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
nsec3-test-zone <em class="replaceable"><code>boolean</code></em>; // test only<br>
|
||||
pubkey <em class="replaceable"><code>integer</code></em><br>
|
||||
<em class="replaceable"><code>integer</code></em><br>
|
||||
<em class="replaceable"><code>integer</code></em><br>
|
||||
request-expire <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
request-ixfr <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
serial-update-method ( date | increment | unixtime );<br>
|
||||
server-addresses { ( <em class="replaceable"><code>ipv4_address</code></em> | <em class="replaceable"><code>ipv6_address</code></em> ) [<br>
|
||||
port <em class="replaceable"><code>integer</code></em> ]; ... };<br>
|
||||
server-addresses { ( <em class="replaceable"><code>ipv4_address</code></em> | <em class="replaceable"><code>ipv6_address</code></em> ) [<span class="optional"><br>
|
||||
port <em class="replaceable"><code>integer</code></em> </span>]; ... };<br>
|
||||
server-names { <em class="replaceable"><code>quoted_string</code></em>; ... };<br>
|
||||
sig-signing-nodes <em class="replaceable"><code>integer</code></em>;<br>
|
||||
sig-signing-signatures <em class="replaceable"><code>integer</code></em>;<br>
|
||||
sig-signing-type <em class="replaceable"><code>integer</code></em>;<br>
|
||||
sig-validity-interval <em class="replaceable"><code>integer</code></em> [ <em class="replaceable"><code>integer</code></em> ];<br>
|
||||
transfer-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> |<br>
|
||||
* ) ] [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||
transfer-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [ port (<br>
|
||||
<em class="replaceable"><code>integer</code></em> | * ) ] [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||
sig-validity-interval <em class="replaceable"><code>integer</code></em> [<span class="optional"> <em class="replaceable"><code>integer</code></em> </span>];<br>
|
||||
transfer-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> |<br>
|
||||
* ) </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
||||
transfer-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [<span class="optional"> port (<br>
|
||||
<em class="replaceable"><code>integer</code></em> | * ) </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
||||
try-tcp-refresh <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
type ( delegation-only | forward | hint | master | redirect<br>
|
||||
| slave | static-stub | stub );<br>
|
||||
@@ -876,7 +862,7 @@ view
|
||||
6to4-self | external | krb5-self | krb5-subdomain |<br>
|
||||
ms-self | ms-subdomain | name | self | selfsub |<br>
|
||||
selfwild | subdomain | tcp-self | wildcard | zonesub )<br>
|
||||
[ <em class="replaceable"><code>string</code></em> ] <em class="replaceable"><code>rrtypelist</code></em>; ... };<br>
|
||||
[<span class="optional"> <em class="replaceable"><code>string</code></em> </span>] <em class="replaceable"><code>rrtypelist</code></em>; ... };<br>
|
||||
use-alt-transfer-source <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
zero-no-soa-ttl <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
zone-statistics ( full | terse | none | <em class="replaceable"><code>boolean</code></em> );<br>
|
||||
@@ -890,20 +876,20 @@ view
|
||||
<a name="id-1.21"></a><h2>ZONE</h2>
|
||||
|
||||
<div class="literallayout"><p><br>
|
||||
zone <em class="replaceable"><code>string</code></em> [ <em class="replaceable"><code>class</code></em> ] {<br>
|
||||
zone <em class="replaceable"><code>string</code></em> [<span class="optional"> <em class="replaceable"><code>class</code></em> </span>] {<br>
|
||||
allow-notify { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||
allow-query { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||
allow-query-on { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||
allow-transfer { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||
allow-update { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||
allow-update-forwarding { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||
also-notify [ port <em class="replaceable"><code>integer</code></em> ] [ dscp <em class="replaceable"><code>integer</code></em> ] { ( <em class="replaceable"><code>masters</code></em> |<br>
|
||||
<em class="replaceable"><code>ipv4_address</code></em> [ port <em class="replaceable"><code>integer</code></em> ] | <em class="replaceable"><code>ipv6_address</code></em> [ port<br>
|
||||
<em class="replaceable"><code>integer</code></em> ] ) [ key <em class="replaceable"><code>string</code></em> ]; ... };<br>
|
||||
alt-transfer-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> | * )<br>
|
||||
] [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||
alt-transfer-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> |<br>
|
||||
* ) ] [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||
also-notify [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>] { ( <em class="replaceable"><code>masters</code></em> |<br>
|
||||
<em class="replaceable"><code>ipv4_address</code></em> [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] | <em class="replaceable"><code>ipv6_address</code></em> [<span class="optional"> port<br>
|
||||
<em class="replaceable"><code>integer</code></em> </span>] ) [<span class="optional"> key <em class="replaceable"><code>string</code></em> </span>]; ... };<br>
|
||||
alt-transfer-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> | * )<br>
|
||||
</span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
||||
alt-transfer-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> |<br>
|
||||
* ) </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
||||
auto-dnssec ( allow | maintain | off );<br>
|
||||
check-dup-records ( fail | warn | ignore );<br>
|
||||
check-integrity <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
@@ -924,8 +910,8 @@ zone
|
||||
dnssec-update-mode ( maintain | no-resign );<br>
|
||||
file <em class="replaceable"><code>quoted_string</code></em>;<br>
|
||||
forward ( first | only );<br>
|
||||
forwarders [ port <em class="replaceable"><code>integer</code></em> ] [ dscp <em class="replaceable"><code>integer</code></em> ] { ( <em class="replaceable"><code>ipv4_address</code></em><br>
|
||||
| <em class="replaceable"><code>ipv6_address</code></em> ) [ port <em class="replaceable"><code>integer</code></em> ] [ dscp <em class="replaceable"><code>integer</code></em> ]; ... };<br>
|
||||
forwarders [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>] { ( <em class="replaceable"><code>ipv4_address</code></em><br>
|
||||
| <em class="replaceable"><code>ipv6_address</code></em> ) [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>]; ... };<br>
|
||||
in-view <em class="replaceable"><code>string</code></em>;<br>
|
||||
inline-signing <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
ixfr-from-differences <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
@@ -933,10 +919,10 @@ zone
|
||||
key-directory <em class="replaceable"><code>quoted_string</code></em>;<br>
|
||||
masterfile-format ( map | raw | text );<br>
|
||||
masterfile-style ( full | relative );<br>
|
||||
masters [ port <em class="replaceable"><code>integer</code></em> ] [ dscp <em class="replaceable"><code>integer</code></em> ] { ( <em class="replaceable"><code>masters</code></em> |<br>
|
||||
<em class="replaceable"><code>ipv4_address</code></em> [ port <em class="replaceable"><code>integer</code></em> ] | <em class="replaceable"><code>ipv6_address</code></em> [ port<br>
|
||||
<em class="replaceable"><code>integer</code></em> ] ) [ key <em class="replaceable"><code>string</code></em> ]; ... };<br>
|
||||
max-journal-size ( default | unlimited | <em class="replaceable"><code>sizeval</code></em> );<br>
|
||||
masters [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>] { ( <em class="replaceable"><code>masters</code></em> |<br>
|
||||
<em class="replaceable"><code>ipv4_address</code></em> [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] | <em class="replaceable"><code>ipv6_address</code></em> [<span class="optional"> port<br>
|
||||
<em class="replaceable"><code>integer</code></em> </span>] ) [<span class="optional"> key <em class="replaceable"><code>string</code></em> </span>]; ... };<br>
|
||||
max-journal-size ( unlimited | <em class="replaceable"><code>sizeval</code></em> );<br>
|
||||
max-records <em class="replaceable"><code>integer</code></em>;<br>
|
||||
max-refresh-time <em class="replaceable"><code>integer</code></em>;<br>
|
||||
max-retry-time <em class="replaceable"><code>integer</code></em>;<br>
|
||||
@@ -950,26 +936,27 @@ zone
|
||||
multi-master <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
notify ( explicit | master-only | <em class="replaceable"><code>boolean</code></em> );<br>
|
||||
notify-delay <em class="replaceable"><code>integer</code></em>;<br>
|
||||
notify-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> | * ) ] [<br>
|
||||
dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||
notify-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> | * ) ]<br>
|
||||
[ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||
notify-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> | * ) </span>] [<span class="optional"><br>
|
||||
dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
||||
notify-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> | * ) </span>]<br>
|
||||
[<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
||||
notify-to-soa <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
nsec3-test-zone <em class="replaceable"><code>boolean</code></em>; // test only<br>
|
||||
pubkey <em class="replaceable"><code>integer</code></em> <em class="replaceable"><code>integer</code></em><br>
|
||||
request-expire <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
request-ixfr <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
serial-update-method ( date | increment | unixtime );<br>
|
||||
server-addresses { ( <em class="replaceable"><code>ipv4_address</code></em> | <em class="replaceable"><code>ipv6_address</code></em> ) [ port<br>
|
||||
<em class="replaceable"><code>integer</code></em> ]; ... };<br>
|
||||
server-addresses { ( <em class="replaceable"><code>ipv4_address</code></em> | <em class="replaceable"><code>ipv6_address</code></em> ) [<span class="optional"> port<br>
|
||||
<em class="replaceable"><code>integer</code></em> </span>]; ... };<br>
|
||||
server-names { <em class="replaceable"><code>quoted_string</code></em>; ... };<br>
|
||||
sig-signing-nodes <em class="replaceable"><code>integer</code></em>;<br>
|
||||
sig-signing-signatures <em class="replaceable"><code>integer</code></em>;<br>
|
||||
sig-signing-type <em class="replaceable"><code>integer</code></em>;<br>
|
||||
sig-validity-interval <em class="replaceable"><code>integer</code></em> [ <em class="replaceable"><code>integer</code></em> ];<br>
|
||||
transfer-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> | * ) ] [<br>
|
||||
dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||
transfer-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> | * )<br>
|
||||
] [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||
sig-validity-interval <em class="replaceable"><code>integer</code></em> [<span class="optional"> <em class="replaceable"><code>integer</code></em> </span>];<br>
|
||||
transfer-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> | * ) </span>] [<span class="optional"><br>
|
||||
dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
||||
transfer-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> | * )<br>
|
||||
</span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
||||
try-tcp-refresh <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
type ( delegation-only | forward | hint | master | redirect | slave<br>
|
||||
| static-stub | stub );<br>
|
||||
@@ -977,7 +964,7 @@ zone
|
||||
update-policy ( local | { ( deny | grant ) <em class="replaceable"><code>string</code></em> ( 6to4-self |<br>
|
||||
external | krb5-self | krb5-subdomain | ms-self | ms-subdomain<br>
|
||||
| name | self | selfsub | selfwild | subdomain | tcp-self |<br>
|
||||
wildcard | zonesub ) [ <em class="replaceable"><code>string</code></em> ] <em class="replaceable"><code>rrtypelist</code></em>; ... };<br>
|
||||
wildcard | zonesub ) [<span class="optional"> <em class="replaceable"><code>string</code></em> </span>] <em class="replaceable"><code>rrtypelist</code></em>; ... };<br>
|
||||
use-alt-transfer-source <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
zero-no-soa-ttl <em class="replaceable"><code>boolean</code></em>;<br>
|
||||
zone-statistics ( full | terse | none | <em class="replaceable"><code>boolean</code></em> );<br>
|
||||
|
||||
+374
-552
File diff suppressed because it is too large
Load Diff
@@ -20,7 +20,6 @@
|
||||
#include <isc/stats.h>
|
||||
#include <isc/string.h>
|
||||
#include <isc/task.h>
|
||||
#include <isc/util.h>
|
||||
|
||||
#include <dns/cache.h>
|
||||
#include <dns/db.h>
|
||||
@@ -395,7 +394,6 @@ init_desc(void) {
|
||||
SET_RESSTATDESC(serverquota, "spilled due to server quota",
|
||||
"ServerQuota");
|
||||
SET_RESSTATDESC(nextitem, "waited for next item", "NextItem");
|
||||
SET_RESSTATDESC(priming, "priming queries", "Priming");
|
||||
|
||||
INSIST(i == dns_resstatscounter_max);
|
||||
|
||||
@@ -1616,7 +1614,7 @@ generatexml(named_server_t *server, isc_uint32_t flags,
|
||||
ISC_XMLCHAR "type=\"text/xsl\" href=\"/bind9.xsl\""));
|
||||
TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "statistics"));
|
||||
TRY0(xmlTextWriterWriteAttribute(writer, ISC_XMLCHAR "version",
|
||||
ISC_XMLCHAR "3.11"));
|
||||
ISC_XMLCHAR "3.10"));
|
||||
|
||||
/* Set common fields for statistics dump */
|
||||
dumparg.type = isc_statsformat_xml;
|
||||
@@ -2412,7 +2410,7 @@ generatejson(named_server_t *server, size_t *msglen,
|
||||
/*
|
||||
* These statistics are included no matter which URL we use.
|
||||
*/
|
||||
obj = json_object_new_string("1.5");
|
||||
obj = json_object_new_string("1.4");
|
||||
CHECKMEM(obj);
|
||||
json_object_object_add(bindstats, "json-stats-version", obj);
|
||||
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
#include <isc/buffer.h>
|
||||
#include <isc/mem.h>
|
||||
#include <isc/string.h>
|
||||
#include <isc/util.h>
|
||||
|
||||
#include <isccfg/cfg.h>
|
||||
|
||||
|
||||
+1
-3
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1999-2002, 2004-2011, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 1999-2002, 2004-2011, 2013-2017 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
|
||||
@@ -755,9 +755,7 @@ mkdirpath(char *filename, void (*report)(const char *, ...)) {
|
||||
|
||||
static void
|
||||
setperms(uid_t uid, gid_t gid) {
|
||||
#if defined(HAVE_SETEGID) || defined(HAVE_SETRESGID)
|
||||
char strbuf[ISC_STRERRORSIZE];
|
||||
#endif
|
||||
#if !defined(HAVE_SETEGID) && defined(HAVE_SETRESGID)
|
||||
gid_t oldgid, tmpg;
|
||||
#endif
|
||||
|
||||
+31
-5
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1999-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 1999-2017 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
|
||||
@@ -233,10 +233,37 @@ configure_zone_ssutable(const cfg_obj_t *zconfig, dns_zone_t *zone,
|
||||
INSIST(0);
|
||||
|
||||
str = cfg_obj_asstring(matchtype);
|
||||
CHECK(dns_ssu_mtypefromstring(str, &mtype));
|
||||
if (mtype == dns_ssumatchtype_subdomain) {
|
||||
if (strcasecmp(str, "name") == 0)
|
||||
mtype = dns_ssumatchtype_name;
|
||||
else if (strcasecmp(str, "subdomain") == 0)
|
||||
mtype = dns_ssumatchtype_subdomain;
|
||||
else if (strcasecmp(str, "wildcard") == 0)
|
||||
mtype = dns_ssumatchtype_wildcard;
|
||||
else if (strcasecmp(str, "self") == 0)
|
||||
mtype = dns_ssumatchtype_self;
|
||||
else if (strcasecmp(str, "selfsub") == 0)
|
||||
mtype = dns_ssumatchtype_selfsub;
|
||||
else if (strcasecmp(str, "selfwild") == 0)
|
||||
mtype = dns_ssumatchtype_selfwild;
|
||||
else if (strcasecmp(str, "ms-self") == 0)
|
||||
mtype = dns_ssumatchtype_selfms;
|
||||
else if (strcasecmp(str, "krb5-self") == 0)
|
||||
mtype = dns_ssumatchtype_selfkrb5;
|
||||
else if (strcasecmp(str, "ms-subdomain") == 0)
|
||||
mtype = dns_ssumatchtype_subdomainms;
|
||||
else if (strcasecmp(str, "krb5-subdomain") == 0)
|
||||
mtype = dns_ssumatchtype_subdomainkrb5;
|
||||
else if (strcasecmp(str, "tcp-self") == 0)
|
||||
mtype = dns_ssumatchtype_tcpself;
|
||||
else if (strcasecmp(str, "6to4-self") == 0)
|
||||
mtype = dns_ssumatchtype_6to4self;
|
||||
else if (strcasecmp(str, "zonesub") == 0) {
|
||||
mtype = dns_ssumatchtype_subdomain;
|
||||
usezone = ISC_TRUE;
|
||||
}
|
||||
} else if (strcasecmp(str, "external") == 0)
|
||||
mtype = dns_ssumatchtype_external;
|
||||
else
|
||||
INSIST(0);
|
||||
|
||||
dns_fixedname_init(&fident);
|
||||
str = cfg_obj_asstring(identity);
|
||||
@@ -1685,7 +1712,6 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
|
||||
ipkl.addrs,
|
||||
ipkl.keys,
|
||||
ipkl.count);
|
||||
count = ipkl.count;
|
||||
dns_ipkeylist_clear(mctx, &ipkl);
|
||||
RETERR(result);
|
||||
} else
|
||||
|
||||
+8
-18
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2000-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2000-2017 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
|
||||
@@ -150,7 +150,6 @@ static dns_dispatch_t *dispatchv4 = NULL;
|
||||
static dns_dispatch_t *dispatchv6 = NULL;
|
||||
static dns_message_t *updatemsg = NULL;
|
||||
static dns_fixedname_t fuserzone;
|
||||
static dns_fixedname_t fzname;
|
||||
static dns_name_t *userzone = NULL;
|
||||
static dns_name_t *zname = NULL;
|
||||
static dns_name_t tmpzonename;
|
||||
@@ -944,21 +943,16 @@ setup_system(void) {
|
||||
case AF_INET:
|
||||
if (have_ipv4) {
|
||||
sa->type.sin.sin_port = htons(dnsport);
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
case AF_INET6:
|
||||
if (have_ipv6) {
|
||||
sa->type.sin6.sin6_port = htons(dnsport);
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
fatal("bad family");
|
||||
}
|
||||
INSIST(i < ns_alloc);
|
||||
servers[i++] = *sa;
|
||||
}
|
||||
}
|
||||
@@ -2142,7 +2136,6 @@ show_message(FILE *stream, dns_message_t *msg, const char *description) {
|
||||
}
|
||||
fprintf(stream, "%s\n%.*s", description,
|
||||
(int)isc_buffer_usedlength(buf), (char*)isc_buffer_base(buf));
|
||||
fflush(stream);
|
||||
isc_buffer_free(&buf);
|
||||
}
|
||||
|
||||
@@ -2397,6 +2390,7 @@ update_completed(isc_task_t *task, isc_event_t *event) {
|
||||
dns_request_destroy(&request);
|
||||
dns_message_renderreset(updatemsg);
|
||||
dns_message_settsigkey(updatemsg, NULL);
|
||||
/* XXX MPA fix zonename is freed already */
|
||||
send_update(zname, &master_servers[master_inuse]);
|
||||
isc_event_free(&event);
|
||||
return;
|
||||
@@ -2699,17 +2693,13 @@ recvsoa(isc_task_t *task, isc_event_t *event) {
|
||||
dns_name_init(&master, NULL);
|
||||
dns_name_clone(&soa.origin, &master);
|
||||
|
||||
if (userzone != NULL) {
|
||||
/*
|
||||
* XXXMPA
|
||||
*/
|
||||
if (userzone != NULL)
|
||||
zname = userzone;
|
||||
} else {
|
||||
/*
|
||||
* Save the zone name in case we need to try a second
|
||||
* address.
|
||||
*/
|
||||
dns_fixedname_init(&fzname);
|
||||
zname = dns_fixedname_name(&fzname);
|
||||
dns_name_copy(name, zname, NULL);
|
||||
}
|
||||
else
|
||||
zname = name;
|
||||
|
||||
if (debugging) {
|
||||
char namestr[DNS_NAME_FORMATSIZE];
|
||||
|
||||
@@ -232,7 +232,7 @@ main(int argc, char *argv[]) {
|
||||
|
||||
if (wait != 0) {
|
||||
printf("WARNING: This action is irreversible! "
|
||||
"Destroying key objects in %u seconds\n ", wait);
|
||||
"Destroying key objects in %d seconds\n ", wait);
|
||||
for (i = 0; i < wait; i++) {
|
||||
printf(".");
|
||||
fflush(stdout);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2009, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2009, 2014-2016 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
|
||||
@@ -125,7 +125,7 @@ main(int argc, char *argv[]) {
|
||||
printf("slot %lu\n", slot);
|
||||
|
||||
if (id) {
|
||||
printf("id %u\n", id);
|
||||
printf("id %i\n", id);
|
||||
attr_id[0] = (id >> 8) & 0xff;
|
||||
attr_id[1] = id & 0xff;
|
||||
} else if (label != NULL) {
|
||||
|
||||
@@ -39,7 +39,9 @@
|
||||
dnssec-checkds \- DNSSEC delegation consistency checking tool
|
||||
.SH "SYNOPSIS"
|
||||
.HP \w'\fBdnssec\-checkds\fR\ 'u
|
||||
\fBdnssec\-checkds\fR [\fB\-d\ \fR\fB\fIdig\ path\fR\fR] [\fB\-D\ \fR\fB\fIdsfromkey\ path\fR\fR] [\fB\-f\ \fR\fB\fIfile\fR\fR] [\fB\-l\ \fR\fB\fIdomain\fR\fR] [\fB\-s\ \fR\fB\fIfile\fR\fR] {zone}
|
||||
\fBdnssec\-checkds\fR [\fB\-l\ \fR\fB\fIdomain\fR\fR] [\fB\-f\ \fR\fB\fIfile\fR\fR] [\fB\-d\ \fR\fB\fIdig\ path\fR\fR] [\fB\-D\ \fR\fB\fIdsfromkey\ path\fR\fR] {zone}
|
||||
.HP \w'\fBdnssec\-dsfromkey\fR\ 'u
|
||||
\fBdnssec\-dsfromkey\fR [\fB\-l\ \fR\fB\fIdomain\fR\fR] [\fB\-f\ \fR\fB\fIfile\fR\fR] [\fB\-d\ \fR\fB\fIdig\ path\fR\fR] [\fB\-D\ \fR\fB\fIdsfromkey\ path\fR\fR] {zone}
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBdnssec\-checkds\fR
|
||||
@@ -58,12 +60,6 @@ is specified, then the zone is read from that file to find the DNSKEY records\&.
|
||||
Check for a DLV record in the specified lookaside domain, instead of checking for a DS record in the zone\*(Aqs parent\&.
|
||||
.RE
|
||||
.PP
|
||||
\-s \fIfile\fR
|
||||
.RS 4
|
||||
Specifies a prepared dsset file, such as would be generated by
|
||||
\fBdnssec\-signzone\fR, to use as a source for the DS RRset instead of querying the parent\&.
|
||||
.RE
|
||||
.PP
|
||||
\-d \fIdig path\fR
|
||||
.RS 4
|
||||
Specifies a path to a
|
||||
|
||||
@@ -42,13 +42,20 @@
|
||||
<refsynopsisdiv>
|
||||
<cmdsynopsis sepchar=" ">
|
||||
<command>dnssec-checkds</command>
|
||||
<arg choice="opt" rep="norepeat"><option>-l <replaceable class="parameter">domain</replaceable></option></arg>
|
||||
<arg choice="opt" rep="norepeat"><option>-f <replaceable class="parameter">file</replaceable></option></arg>
|
||||
<arg choice="opt" rep="norepeat"><option>-d <replaceable class="parameter">dig path</replaceable></option></arg>
|
||||
<arg choice="opt" rep="norepeat"><option>-D <replaceable class="parameter">dsfromkey path</replaceable></option></arg>
|
||||
<arg choice="opt" rep="norepeat"><option>-f <replaceable class="parameter">file</replaceable></option></arg>
|
||||
<arg choice="opt" rep="norepeat"><option>-l <replaceable class="parameter">domain</replaceable></option></arg>
|
||||
<arg choice="opt" rep="norepeat"><option>-s <replaceable class="parameter">file</replaceable></option></arg>
|
||||
<arg choice="req" rep="norepeat">zone</arg>
|
||||
</cmdsynopsis>
|
||||
<cmdsynopsis sepchar=" ">
|
||||
<command>dnssec-dsfromkey</command>
|
||||
<arg choice="opt" rep="norepeat"><option>-l <replaceable class="parameter">domain</replaceable></option></arg>
|
||||
<arg choice="opt" rep="norepeat"><option>-f <replaceable class="parameter">file</replaceable></option></arg>
|
||||
<arg choice="opt" rep="norepeat"><option>-d <replaceable class="parameter">dig path</replaceable></option></arg>
|
||||
<arg choice="opt" rep="norepeat"><option>-D <replaceable class="parameter">dsfromkey path</replaceable></option></arg>
|
||||
<arg choice="req" rep="norepeat">zone</arg>
|
||||
</cmdsynopsis>
|
||||
</refsynopsisdiv>
|
||||
|
||||
<refsection><info><title>DESCRIPTION</title></info>
|
||||
@@ -85,17 +92,6 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-s <replaceable class="parameter">file</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies a prepared dsset file, such as would be generated
|
||||
by <command>dnssec-signzone</command>, to use as a source for
|
||||
the DS RRset instead of querying the parent.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-d <replaceable class="parameter">dig path</replaceable></term>
|
||||
<listitem>
|
||||
|
||||
@@ -33,13 +33,20 @@
|
||||
<h2>Synopsis</h2>
|
||||
<div class="cmdsynopsis"><p>
|
||||
<code class="command">dnssec-checkds</code>
|
||||
[<code class="option">-l <em class="replaceable"><code>domain</code></em></code>]
|
||||
[<code class="option">-f <em class="replaceable"><code>file</code></em></code>]
|
||||
[<code class="option">-d <em class="replaceable"><code>dig path</code></em></code>]
|
||||
[<code class="option">-D <em class="replaceable"><code>dsfromkey path</code></em></code>]
|
||||
[<code class="option">-f <em class="replaceable"><code>file</code></em></code>]
|
||||
[<code class="option">-l <em class="replaceable"><code>domain</code></em></code>]
|
||||
[<code class="option">-s <em class="replaceable"><code>file</code></em></code>]
|
||||
{zone}
|
||||
</p></div>
|
||||
<div class="cmdsynopsis"><p>
|
||||
<code class="command">dnssec-dsfromkey</code>
|
||||
[<code class="option">-l <em class="replaceable"><code>domain</code></em></code>]
|
||||
[<code class="option">-f <em class="replaceable"><code>file</code></em></code>]
|
||||
[<code class="option">-d <em class="replaceable"><code>dig path</code></em></code>]
|
||||
[<code class="option">-D <em class="replaceable"><code>dsfromkey path</code></em></code>]
|
||||
{zone}
|
||||
</p></div>
|
||||
</div>
|
||||
|
||||
<div class="refsection">
|
||||
@@ -72,14 +79,6 @@
|
||||
instead of checking for a DS record in the zone's parent.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term">-s <em class="replaceable"><code>file</code></em></span></dt>
|
||||
<dd>
|
||||
<p>
|
||||
Specifies a prepared dsset file, such as would be generated
|
||||
by <span class="command"><strong>dnssec-signzone</strong></span>, to use as a source for
|
||||
the DS RRset instead of querying the parent.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term">-d <em class="replaceable"><code>dig path</code></em></span></dt>
|
||||
<dd>
|
||||
<p>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
############################################################################
|
||||
# Copyright (C) 2012-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
# Copyright (C) 2012-2016 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
|
||||
@@ -34,11 +34,7 @@ class SECRR:
|
||||
if not rrtext:
|
||||
raise Exception
|
||||
|
||||
# 'str' does not have decode method in python3
|
||||
if type(rrtext) is not str:
|
||||
fields = rrtext.decode('ascii').split()
|
||||
else:
|
||||
fields = rrtext.split()
|
||||
fields = rrtext.decode('ascii').split()
|
||||
if len(fields) < 7:
|
||||
raise Exception
|
||||
|
||||
@@ -93,39 +89,35 @@ class SECRR:
|
||||
# Generate a set of expected DS/DLV records from the DNSKEY RRset,
|
||||
# and report on congruency.
|
||||
############################################################################
|
||||
def check(zone, args):
|
||||
def check(zone, args, masterfile=None, lookaside=None):
|
||||
rrlist = []
|
||||
if args.dssetfile:
|
||||
fp = open(args.dssetfile).read()
|
||||
else:
|
||||
cmd = [args.dig, "+noall", "+answer", "-t",
|
||||
"dlv" if args.lookaside else "ds", "-q",
|
||||
zone + "." + args.lookaside if args.lookaside else zone]
|
||||
fp, _ = Popen(cmd, stdout=PIPE).communicate()
|
||||
cmd = [args.dig, "+noall", "+answer", "-t", "dlv" if lookaside else "ds",
|
||||
"-q", zone + "." + lookaside if lookaside else zone]
|
||||
fp, _ = Popen(cmd, stdout=PIPE).communicate()
|
||||
|
||||
for line in fp.splitlines():
|
||||
rrlist.append(SECRR(line, args.lookaside))
|
||||
rrlist.append(SECRR(line, lookaside))
|
||||
rrlist = sorted(rrlist, key=lambda rr: (rr.keyid, rr.keyalg, rr.hashalg))
|
||||
|
||||
klist = []
|
||||
|
||||
if args.masterfile:
|
||||
cmd = [args.dsfromkey, "-f", args.masterfile]
|
||||
if args.lookaside:
|
||||
cmd += ["-l", args.lookaside]
|
||||
if masterfile:
|
||||
cmd = [args.dsfromkey, "-f", masterfile]
|
||||
if lookaside:
|
||||
cmd += ["-l", lookaside]
|
||||
cmd.append(zone)
|
||||
fp, _ = Popen(cmd, stdout=PIPE).communicate()
|
||||
else:
|
||||
intods, _ = Popen([args.dig, "+noall", "+answer", "-t", "dnskey",
|
||||
"-q", zone], stdout=PIPE).communicate()
|
||||
cmd = [args.dsfromkey, "-f", "-"]
|
||||
if args.lookaside:
|
||||
cmd += ["-l", args.lookaside]
|
||||
if lookaside:
|
||||
cmd += ["-l", lookaside]
|
||||
cmd.append(zone)
|
||||
fp, _ = Popen(cmd, stdin=PIPE, stdout=PIPE).communicate(intods)
|
||||
|
||||
for line in fp.splitlines():
|
||||
klist.append(SECRR(line, args.lookaside))
|
||||
klist.append(SECRR(line, lookaside))
|
||||
|
||||
if len(klist) < 1:
|
||||
print("No DNSKEY records found in zone apex")
|
||||
@@ -144,8 +136,7 @@ def check(zone, args):
|
||||
rr.keyid, SECRR.hashalgs[rr.hashalg]))
|
||||
|
||||
if not found:
|
||||
print("No %s records were found for any DNSKEY" %
|
||||
("DLV" if args.lookaside else "DS"))
|
||||
print("No %s records were found for any DNSKEY" % ("DLV" if lookaside else "DS"))
|
||||
|
||||
return found
|
||||
|
||||
@@ -160,6 +151,10 @@ def parse_args():
|
||||
sbindir = 'bin' if os.name == 'nt' else 'sbin'
|
||||
|
||||
parser.add_argument('zone', type=str, help='zone to check')
|
||||
parser.add_argument('-f', '--file', dest='masterfile', type=str,
|
||||
help='zone master file')
|
||||
parser.add_argument('-l', '--lookaside', dest='lookaside', type=str,
|
||||
help='DLV lookaside zone')
|
||||
parser.add_argument('-d', '--dig', dest='dig',
|
||||
default=os.path.join(prefix(bindir), 'dig'),
|
||||
type=str, help='path to \'dig\'')
|
||||
@@ -167,12 +162,6 @@ def parse_args():
|
||||
default=os.path.join(prefix(sbindir),
|
||||
'dnssec-dsfromkey'),
|
||||
type=str, help='path to \'dig\'')
|
||||
parser.add_argument('-f', '--file', dest='masterfile', type=str,
|
||||
help='zone master file')
|
||||
parser.add_argument('-l', '--lookaside', dest='lookaside', type=str,
|
||||
help='DLV lookaside zone')
|
||||
parser.add_argument('-s', '--dsset', dest='dssetfile', type=str,
|
||||
help='prepared DSset file')
|
||||
parser.add_argument('-v', '--version', action='version',
|
||||
version=version)
|
||||
args = parser.parse_args()
|
||||
@@ -189,5 +178,5 @@ def parse_args():
|
||||
############################################################################
|
||||
def main():
|
||||
args = parse_args()
|
||||
found = check(args.zone, args)
|
||||
found = check(args.zone, args, args.masterfile, args.lookaside)
|
||||
exit(0 if found else 1)
|
||||
|
||||
+3
-4
@@ -1,5 +1,5 @@
|
||||
############################################################################
|
||||
# Copyright (C) 2016, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
# Copyright (C) 2016 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
|
||||
@@ -12,7 +12,6 @@ setup(name='isc',
|
||||
description='Python functions to support BIND utilities',
|
||||
url='https://www.isc.org/bind',
|
||||
author='Internet Systems Consortium, Inc',
|
||||
author_email='info@isc.org',
|
||||
license='MPL',
|
||||
requires=['ply'],
|
||||
author_email='bind9-bugs@isc.org',
|
||||
license='ISC',
|
||||
packages=['isc'])
|
||||
|
||||
+14
-17
@@ -1,4 +1,4 @@
|
||||
.\" Copyright (C) 2000, 2001, 2004, 2005, 2007, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
.\" Copyright (C) 2000, 2001, 2004, 2005, 2007, 2013-2017 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
|
||||
@@ -437,7 +437,7 @@ All of these options can be shortened, i\&.e\&., to
|
||||
\fB\-f\fR\&.
|
||||
.RE
|
||||
.PP
|
||||
\fBquerylog\fR [ on | off ]
|
||||
\fBquerylog\fR [on|off]
|
||||
.RS 4
|
||||
Enable or disable query logging\&. (For backward compatibility, this command can also be used without an argument to toggle query logging on and off\&.)
|
||||
.sp
|
||||
@@ -505,12 +505,18 @@ or waiting for the
|
||||
timer\&.
|
||||
.RE
|
||||
.PP
|
||||
\fBserve\-stale ( on | off | reset | status) \fR\fB[\fIclass\fR [\fIview\fR]]\fR
|
||||
.RS 4
|
||||
Enable, disable, or reset the serving of stale answers as configured in named\&.conf\&. Serving of stale answers will remain disabled across
|
||||
named\&.conf
|
||||
reloads if disabled via rndc until it is reset via rndc\&.
|
||||
.sp
|
||||
Status will report whether serving of stale answers is currently enabled, disabled or not configured for a view\&. If serving of stale records is configured then the values of stale\-answer\-ttl and max\-stale\-ttl are reported\&.
|
||||
.RE
|
||||
.PP
|
||||
\fBsecroots \fR\fB[\-]\fR\fB \fR\fB[\fIview \&.\&.\&.\fR]\fR
|
||||
.RS 4
|
||||
Dump the security roots (i\&.e\&., trust anchors configured via
|
||||
\fBtrusted\-keys\fR,
|
||||
\fBmanaged\-keys\fR, or
|
||||
\fBdnssec\-validation auto\fR) and negative trust anchors for the specified views\&. If no view is specified, all views are dumped\&. Security roots will indicate whether they are configured as trusted keys, managed keys, or initializing managed keys (managed keys that have not yet been updated by a successful key refresh query)\&.
|
||||
Dump the server\*(Aqs security roots and negative trust anchors for the specified views\&. If no view is specified, all views are dumped\&.
|
||||
.sp
|
||||
If the first argument is "\-", then the output is returned via the
|
||||
\fBrndc\fR
|
||||
@@ -524,15 +530,6 @@ See also
|
||||
\fBrndc managed\-keys\fR\&.
|
||||
.RE
|
||||
.PP
|
||||
\fBserve\-stale ( on | off | status | reset ) \fR\fB[\fIclass\fR [\fIview\fR]]\fR
|
||||
.RS 4
|
||||
Enable, disable, or reset the serving of stale answers as configured in named\&.conf\&. Serving of stale answers will remain disabled across
|
||||
named\&.conf
|
||||
reloads if disabled via rndc until it is reset via rndc\&.
|
||||
.sp
|
||||
Status will report whether serving of stale answers is currently enabled, disabled or not configured for a view\&. If serving of stale records is configured then the values of stale\-answer\-ttl and max\-stale\-ttl are reported\&.
|
||||
.RE
|
||||
.PP
|
||||
\fBshowzone \fR\fB\fIzone\fR\fR\fB \fR\fB[\fIclass\fR [\fIview\fR]]\fR\fB \fR
|
||||
.RS 4
|
||||
Print the configuration of a running zone\&.
|
||||
@@ -681,7 +678,7 @@ List the names of all TSIG keys currently configured for use by
|
||||
in each view\&. The list both statically configured keys and dynamic TKEY\-negotiated keys\&.
|
||||
.RE
|
||||
.PP
|
||||
\fBvalidation ( on | off | status ) \fR\fB[\fIview \&.\&.\&.\fR]\fR\fB \fR
|
||||
\fBvalidation ( on | off | check ) \fR\fB[\fIview \&.\&.\&.\fR]\fR\fB \fR
|
||||
.RS 4
|
||||
Enable, disable, or check the current status of DNSSEC validation\&. Note
|
||||
\fBdnssec\-enable\fR
|
||||
@@ -730,5 +727,5 @@ BIND 9 Administrator Reference Manual\&.
|
||||
\fBInternet Systems Consortium, Inc\&.\fR
|
||||
.SH "COPYRIGHT"
|
||||
.br
|
||||
Copyright \(co 2000, 2001, 2004, 2005, 2007, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
Copyright \(co 2000, 2001, 2004, 2005, 2007, 2013-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
.br
|
||||
|
||||
+4
-6
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2000-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2000-2017 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
|
||||
@@ -144,7 +144,7 @@ command is one of the following:\n\
|
||||
nta -remove domain [view]\n\
|
||||
Remove a negative trust anchor, re-enabling validation\n\
|
||||
for the given domain.\n\
|
||||
querylog [ on | off ]\n\
|
||||
querylog newstate\n\
|
||||
Enable / disable query logging.\n\
|
||||
reconfig Reload configuration file and new zones only.\n\
|
||||
recursing Dump the queries that are currently recursing (named.recursing)\n\
|
||||
@@ -158,7 +158,7 @@ command is one of the following:\n\
|
||||
scan Scan available network interfaces for changes.\n\
|
||||
secroots [view ...]\n\
|
||||
Write security roots to the secroots file.\n\
|
||||
serve-stale [ yes | no | reset | status ] [class [view]]\n\
|
||||
serve-stale ( yes | no | reset ) [class [view]]\n\
|
||||
Control whether stale answers are returned\n\
|
||||
showzone zone [class [view]]\n\
|
||||
Print a zone's configuration.\n\
|
||||
@@ -202,7 +202,7 @@ command is one of the following:\n\
|
||||
Delete a TKEY-negotiated TSIG key.\n\
|
||||
tsig-list List all currently active TSIG keys, including both statically\n\
|
||||
configured and TKEY-negotiated keys.\n\
|
||||
validation [ yes | no | status ] [view]\n\
|
||||
validation newstate [view]\n\
|
||||
Enable / disable DNSSEC validation.\n\
|
||||
zonestatus zone [class [view]]\n\
|
||||
Display the current status of a zone.\n\
|
||||
@@ -433,7 +433,6 @@ rndc_recvnonce(isc_task_t *task, isc_event_t *event) {
|
||||
|
||||
isc_event_free(&event);
|
||||
isccc_sexpr_free(&response);
|
||||
isccc_sexpr_free(&request);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -499,7 +498,6 @@ rndc_connected(isc_task_t *task, isc_event_t *event) {
|
||||
NULL));
|
||||
sends++;
|
||||
isc_event_free(&event);
|
||||
isccc_sexpr_free(&request);
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
+33
-40
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
- Copyright (C) 2000, 2001, 2004, 2005, 2007, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2000, 2001, 2004, 2005, 2007, 2013-2017 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
|
||||
@@ -39,7 +39,6 @@
|
||||
<year>2015</year>
|
||||
<year>2016</year>
|
||||
<year>2017</year>
|
||||
<year>2018</year>
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
</docinfo>
|
||||
@@ -646,7 +645,7 @@
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><userinput>querylog</userinput> <optional> on | off </optional> </term>
|
||||
<term><userinput>querylog</userinput> <optional>on|off</optional> </term>
|
||||
<listitem>
|
||||
<para>
|
||||
Enable or disable query logging. (For backward
|
||||
@@ -753,36 +752,7 @@
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><userinput>secroots <optional>-</optional> <optional><replaceable>view ...</replaceable></optional></userinput></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Dump the security roots (i.e., trust anchors
|
||||
configured via <command>trusted-keys</command>,
|
||||
<command>managed-keys</command>, or
|
||||
<command>dnssec-validation auto</command>) and negative trust
|
||||
anchors for the specified views. If no view is specified, all
|
||||
views are dumped. Security roots will indicate whether
|
||||
they are configured as trusted keys, managed keys, or
|
||||
initializing managed keys (managed keys that have not yet
|
||||
been updated by a successful key refresh query).
|
||||
</para>
|
||||
<para>
|
||||
If the first argument is "-", then the output is
|
||||
returned via the <command>rndc</command> response channel
|
||||
and printed to the standard output.
|
||||
Otherwise, it is written to the secroots dump file, which
|
||||
defaults to <filename>named.secroots</filename>, but can be
|
||||
overridden via the <option>secroots-file</option> option in
|
||||
<filename>named.conf</filename>.
|
||||
</para>
|
||||
<para>
|
||||
See also <command>rndc managed-keys</command>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><userinput>serve-stale ( on | off | status | reset ) <optional><replaceable>class</replaceable> <optional><replaceable>view</replaceable></optional></optional></userinput></term>
|
||||
<term><userinput>serve-stale ( on | off | reset | status) <optional><replaceable>class</replaceable> <optional><replaceable>view</replaceable></optional></optional></userinput></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Enable, disable, or reset the serving of stale answers
|
||||
@@ -800,6 +770,29 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><userinput>secroots <optional>-</optional> <optional><replaceable>view ...</replaceable></optional></userinput></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Dump the server's security roots and negative trust anchors
|
||||
for the specified views. If no view is specified, all views
|
||||
are dumped.
|
||||
</para>
|
||||
<para>
|
||||
If the first argument is "-", then the output is
|
||||
returned via the <command>rndc</command> response channel
|
||||
and printed to the standard output.
|
||||
Otherwise, it is written to the secroots dump file, which
|
||||
defaults to <filename>named.secroots</filename>, but can be
|
||||
overridden via the <option>secroots-file</option> option in
|
||||
<filename>named.conf</filename>.
|
||||
</para>
|
||||
<para>
|
||||
See also <command>rndc managed-keys</command>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><userinput>showzone <replaceable>zone</replaceable> <optional><replaceable>class</replaceable> <optional><replaceable>view</replaceable></optional></optional> </userinput></term>
|
||||
<listitem>
|
||||
@@ -970,15 +963,15 @@
|
||||
<listitem>
|
||||
<para>
|
||||
When called without arguments, display the current
|
||||
values of the <command>tcp-initial-timeout</command>,
|
||||
values of the <command>tcp-initial-timeout</command>,
|
||||
<command>tcp-idle-timeout</command>,
|
||||
<command>tcp-keepalive-timeout</command> and
|
||||
<command>tcp-advertised-timeout</command> options.
|
||||
When called with arguments, update these values. This
|
||||
allows an administrator to make rapid adjustments when
|
||||
under a denial of service attack. See the descriptions of
|
||||
these options in the BIND 9 Administrator Reference Manual
|
||||
for details of their use.
|
||||
When called with arguments, update these values. This
|
||||
allows an administrator to make rapid adjustments when
|
||||
under a denial of service attack. See the descriptions of
|
||||
these options in the BIND 9 Administrator Reference Manual
|
||||
for details of their use.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@@ -1050,7 +1043,7 @@
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><userinput>validation ( on | off | status ) <optional><replaceable>view ...</replaceable></optional> </userinput></term>
|
||||
<term><userinput>validation ( on | off | check ) <optional><replaceable>view ...</replaceable></optional> </userinput></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Enable, disable, or check the current status of
|
||||
|
||||
+30
-36
@@ -1,6 +1,6 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!--
|
||||
- Copyright (C) 2000, 2001, 2004, 2005, 2007, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
- Copyright (C) 2000, 2001, 2004, 2005, 2007, 2013-2017 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
|
||||
@@ -555,7 +555,7 @@
|
||||
and <code class="option">-f</code>.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term"><strong class="userinput"><code>querylog</code></strong> [<span class="optional"> on | off </span>] </span></dt>
|
||||
<dt><span class="term"><strong class="userinput"><code>querylog</code></strong> [<span class="optional">on|off</span>] </span></dt>
|
||||
<dd>
|
||||
<p>
|
||||
Enable or disable query logging. (For backward
|
||||
@@ -638,33 +638,7 @@
|
||||
<span class="command"><strong>interface-interval</strong></span> timer.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term"><strong class="userinput"><code>secroots [<span class="optional">-</span>] [<span class="optional"><em class="replaceable"><code>view ...</code></em></span>]</code></strong></span></dt>
|
||||
<dd>
|
||||
<p>
|
||||
Dump the security roots (i.e., trust anchors
|
||||
configured via <span class="command"><strong>trusted-keys</strong></span>,
|
||||
<span class="command"><strong>managed-keys</strong></span>, or
|
||||
<span class="command"><strong>dnssec-validation auto</strong></span>) and negative trust
|
||||
anchors for the specified views. If no view is specified, all
|
||||
views are dumped. Security roots will indicate whether
|
||||
they are configured as trusted keys, managed keys, or
|
||||
initializing managed keys (managed keys that have not yet
|
||||
been updated by a successful key refresh query).
|
||||
</p>
|
||||
<p>
|
||||
If the first argument is "-", then the output is
|
||||
returned via the <span class="command"><strong>rndc</strong></span> response channel
|
||||
and printed to the standard output.
|
||||
Otherwise, it is written to the secroots dump file, which
|
||||
defaults to <code class="filename">named.secroots</code>, but can be
|
||||
overridden via the <code class="option">secroots-file</code> option in
|
||||
<code class="filename">named.conf</code>.
|
||||
</p>
|
||||
<p>
|
||||
See also <span class="command"><strong>rndc managed-keys</strong></span>.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term"><strong class="userinput"><code>serve-stale ( on | off | status | reset ) [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</code></strong></span></dt>
|
||||
<dt><span class="term"><strong class="userinput"><code>serve-stale ( on | off | reset | status) [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</code></strong></span></dt>
|
||||
<dd>
|
||||
<p>
|
||||
Enable, disable, or reset the serving of stale answers
|
||||
@@ -680,6 +654,26 @@
|
||||
reported.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term"><strong class="userinput"><code>secroots [<span class="optional">-</span>] [<span class="optional"><em class="replaceable"><code>view ...</code></em></span>]</code></strong></span></dt>
|
||||
<dd>
|
||||
<p>
|
||||
Dump the server's security roots and negative trust anchors
|
||||
for the specified views. If no view is specified, all views
|
||||
are dumped.
|
||||
</p>
|
||||
<p>
|
||||
If the first argument is "-", then the output is
|
||||
returned via the <span class="command"><strong>rndc</strong></span> response channel
|
||||
and printed to the standard output.
|
||||
Otherwise, it is written to the secroots dump file, which
|
||||
defaults to <code class="filename">named.secroots</code>, but can be
|
||||
overridden via the <code class="option">secroots-file</code> option in
|
||||
<code class="filename">named.conf</code>.
|
||||
</p>
|
||||
<p>
|
||||
See also <span class="command"><strong>rndc managed-keys</strong></span>.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term"><strong class="userinput"><code>showzone <em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>] </code></strong></span></dt>
|
||||
<dd>
|
||||
<p>
|
||||
@@ -828,15 +822,15 @@
|
||||
<dd>
|
||||
<p>
|
||||
When called without arguments, display the current
|
||||
values of the <span class="command"><strong>tcp-initial-timeout</strong></span>,
|
||||
values of the <span class="command"><strong>tcp-initial-timeout</strong></span>,
|
||||
<span class="command"><strong>tcp-idle-timeout</strong></span>,
|
||||
<span class="command"><strong>tcp-keepalive-timeout</strong></span> and
|
||||
<span class="command"><strong>tcp-advertised-timeout</strong></span> options.
|
||||
When called with arguments, update these values. This
|
||||
allows an administrator to make rapid adjustments when
|
||||
under a denial of service attack. See the descriptions of
|
||||
these options in the BIND 9 Administrator Reference Manual
|
||||
for details of their use.
|
||||
When called with arguments, update these values. This
|
||||
allows an administrator to make rapid adjustments when
|
||||
under a denial of service attack. See the descriptions of
|
||||
these options in the BIND 9 Administrator Reference Manual
|
||||
for details of their use.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term"><strong class="userinput"><code>thaw [<span class="optional"><em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</span>]</code></strong></span></dt>
|
||||
@@ -890,7 +884,7 @@
|
||||
TKEY-negotiated keys.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><span class="term"><strong class="userinput"><code>validation ( on | off | status ) [<span class="optional"><em class="replaceable"><code>view ...</code></em></span>] </code></strong></span></dt>
|
||||
<dt><span class="term"><strong class="userinput"><code>validation ( on | off | check ) [<span class="optional"><em class="replaceable"><code>view ...</code></em></span>] </code></strong></span></dt>
|
||||
<dd>
|
||||
<p>
|
||||
Enable, disable, or check the current status of
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2011, 2013, 2015-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2011, 2013, 2015, 2016 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
|
||||
@@ -181,7 +181,7 @@ static void
|
||||
do_store(isc_task_t *task, isc_event_t *ev) {
|
||||
counter_t *state = (counter_t *)ev->ev_arg;
|
||||
int i;
|
||||
isc_uint32_t r;
|
||||
isc_uint8_t r;
|
||||
isc_uint32_t val;
|
||||
|
||||
r = random() % 256;
|
||||
@@ -205,7 +205,7 @@ test_atomic_store() {
|
||||
isc_task_t *tasks[TASKS];
|
||||
isc_event_t *event;
|
||||
int i;
|
||||
isc_uint32_t r;
|
||||
isc_uint8_t r;
|
||||
isc_uint32_t val;
|
||||
|
||||
t_assert("test_atomic_store", 1, T_REQUIRED, "%s",
|
||||
|
||||
+1
-35
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2001, 2002, 2004, 2005, 2007, 2009-2011, 2015, 2016, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2001, 2002, 2004, 2005, 2007, 2009-2011, 2015, 2016 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
|
||||
@@ -20,7 +20,6 @@
|
||||
#include <isc/string.h>
|
||||
#include <isc/util.h>
|
||||
|
||||
#include <isccfg/grammar.h>
|
||||
#include <isccfg/namedconf.h>
|
||||
|
||||
#include <dns/log.h>
|
||||
@@ -65,7 +64,6 @@ main(int argc, char **argv) {
|
||||
isc_boolean_t grammar = ISC_FALSE;
|
||||
isc_boolean_t memstats = ISC_FALSE;
|
||||
char *filename = NULL;
|
||||
unsigned int zonetype = 0;
|
||||
|
||||
RUNTIME_CHECK(isc_mem_create(0, 0, &mctx) == ISC_R_SUCCESS);
|
||||
|
||||
@@ -99,36 +97,6 @@ main(int argc, char **argv) {
|
||||
while (argc > 1) {
|
||||
if (strcmp(argv[1], "--grammar") == 0) {
|
||||
grammar = ISC_TRUE;
|
||||
} else if (strcmp(argv[1], "--zonegrammar") == 0) {
|
||||
argv++, argc--;
|
||||
if (argc <= 1) {
|
||||
usage();
|
||||
}
|
||||
if (strcmp(argv[1], "master") == 0 ||
|
||||
strcmp(argv[1], "primary") == 0)
|
||||
{
|
||||
zonetype = CFG_ZONE_MASTER;
|
||||
} else if (strcmp(argv[1], "slave") == 0 ||
|
||||
strcmp(argv[1], "seconary") == 0)
|
||||
{
|
||||
zonetype = CFG_ZONE_SLAVE;
|
||||
} else if (strcmp(argv[1], "stub") == 0) {
|
||||
zonetype = CFG_ZONE_STUB;
|
||||
} else if (strcmp(argv[1], "static-stub") == 0) {
|
||||
zonetype = CFG_ZONE_STATICSTUB;
|
||||
} else if (strcmp(argv[1], "hint") == 0) {
|
||||
zonetype = CFG_ZONE_HINT;
|
||||
} else if (strcmp(argv[1], "forward") == 0) {
|
||||
zonetype = CFG_ZONE_FORWARD;
|
||||
} else if (strcmp(argv[1], "redirect") == 0) {
|
||||
zonetype = CFG_ZONE_REDIRECT;
|
||||
} else if (strcmp(argv[1], "delegation-only") == 0) {
|
||||
zonetype = CFG_ZONE_DELEGATION;
|
||||
} else if (strcmp(argv[1], "in-view") == 0) {
|
||||
zonetype = CFG_ZONE_INVIEW;
|
||||
} else {
|
||||
usage();
|
||||
}
|
||||
} else if (strcmp(argv[1], "--memstats") == 0) {
|
||||
memstats = ISC_TRUE;
|
||||
} else if (strcmp(argv[1], "--named") == 0) {
|
||||
@@ -147,8 +115,6 @@ main(int argc, char **argv) {
|
||||
if (type == NULL)
|
||||
usage();
|
||||
cfg_print_grammar(type, output, NULL);
|
||||
} else if (zonetype != 0) {
|
||||
cfg_print_zonegrammar(zonetype, output, NULL);
|
||||
} else {
|
||||
if (type == NULL || filename == NULL)
|
||||
usage();
|
||||
|
||||
+13
-13
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1999-2001, 2004, 2005, 2007, 2009, 2012, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 1999-2001, 2004, 2005, 2007, 2009, 2012, 2014-2016 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
|
||||
@@ -54,19 +54,19 @@ use(dst_key_t *key, isc_mem_t *mctx) {
|
||||
ret = dst_context_create3(key, mctx,
|
||||
DNS_LOGCATEGORY_GENERAL, ISC_TRUE, &ctx);
|
||||
if (ret != ISC_R_SUCCESS) {
|
||||
printf("contextcreate(%u) returned: %s\n", dst_key_alg(key),
|
||||
printf("contextcreate(%d) returned: %s\n", dst_key_alg(key),
|
||||
isc_result_totext(ret));
|
||||
return;
|
||||
}
|
||||
ret = dst_context_adddata(ctx, &datareg);
|
||||
if (ret != ISC_R_SUCCESS) {
|
||||
printf("adddata(%u) returned: %s\n", dst_key_alg(key),
|
||||
printf("adddata(%d) returned: %s\n", dst_key_alg(key),
|
||||
isc_result_totext(ret));
|
||||
dst_context_destroy(&ctx);
|
||||
return;
|
||||
}
|
||||
ret = dst_context_sign(ctx, &sigbuf);
|
||||
printf("sign(%u) returned: %s\n", dst_key_alg(key),
|
||||
printf("sign(%d) returned: %s\n", dst_key_alg(key),
|
||||
isc_result_totext(ret));
|
||||
dst_context_destroy(&ctx);
|
||||
|
||||
@@ -75,19 +75,19 @@ use(dst_key_t *key, isc_mem_t *mctx) {
|
||||
ret = dst_context_create3(key, mctx,
|
||||
DNS_LOGCATEGORY_GENERAL, ISC_FALSE, &ctx);
|
||||
if (ret != ISC_R_SUCCESS) {
|
||||
printf("contextcreate(%u) returned: %s\n", dst_key_alg(key),
|
||||
printf("contextcreate(%d) returned: %s\n", dst_key_alg(key),
|
||||
isc_result_totext(ret));
|
||||
return;
|
||||
}
|
||||
ret = dst_context_adddata(ctx, &datareg);
|
||||
if (ret != ISC_R_SUCCESS) {
|
||||
printf("adddata(%u) returned: %s\n", dst_key_alg(key),
|
||||
printf("adddata(%d) returned: %s\n", dst_key_alg(key),
|
||||
isc_result_totext(ret));
|
||||
dst_context_destroy(&ctx);
|
||||
return;
|
||||
}
|
||||
ret = dst_context_verify(ctx, &sigreg);
|
||||
printf("verify(%u) returned: %s\n", dst_key_alg(key),
|
||||
printf("verify(%d) returned: %s\n", dst_key_alg(key),
|
||||
isc_result_totext(ret));
|
||||
dst_context_destroy(&ctx);
|
||||
}
|
||||
@@ -104,19 +104,19 @@ dns(dst_key_t *key, isc_mem_t *mctx) {
|
||||
|
||||
isc_buffer_init(&buf1, buffer1, sizeof(buffer1));
|
||||
ret = dst_key_todns(key, &buf1);
|
||||
printf("todns(%u) returned: %s\n", dst_key_alg(key),
|
||||
printf("todns(%d) returned: %s\n", dst_key_alg(key),
|
||||
isc_result_totext(ret));
|
||||
if (ret != ISC_R_SUCCESS)
|
||||
return;
|
||||
ret = dst_key_fromdns(dst_key_name(key), dns_rdataclass_in,
|
||||
&buf1, mctx, &newkey);
|
||||
printf("fromdns(%u) returned: %s\n", dst_key_alg(key),
|
||||
printf("fromdns(%d) returned: %s\n", dst_key_alg(key),
|
||||
isc_result_totext(ret));
|
||||
if (ret != ISC_R_SUCCESS)
|
||||
return;
|
||||
isc_buffer_init(&buf2, buffer2, sizeof(buffer2));
|
||||
ret = dst_key_todns(newkey, &buf2);
|
||||
printf("todns2(%u) returned: %s\n", dst_key_alg(key),
|
||||
printf("todns2(%d) returned: %s\n", dst_key_alg(key),
|
||||
isc_result_totext(ret));
|
||||
if (ret != ISC_R_SUCCESS)
|
||||
return;
|
||||
@@ -124,7 +124,7 @@ dns(dst_key_t *key, isc_mem_t *mctx) {
|
||||
isc_buffer_usedregion(&buf2, &r2);
|
||||
match = ISC_TF(r1.length == r2.length &&
|
||||
memcmp(r1.base, r2.base, r1.length) == 0);
|
||||
printf("compare(%u): %s\n", dst_key_alg(key),
|
||||
printf("compare(%d): %s\n", dst_key_alg(key),
|
||||
match ? "true" : "false");
|
||||
dst_key_free(&newkey);
|
||||
}
|
||||
@@ -194,11 +194,11 @@ dh(dns_name_t *name1, int id1, dns_name_t *name2, int id2, isc_mem_t *mctx) {
|
||||
{
|
||||
int i;
|
||||
printf("secrets don't match\n");
|
||||
printf("secret 1: %u bytes\n", r1.length);
|
||||
printf("secret 1: %d bytes\n", r1.length);
|
||||
for (i = 0; i < (int) r1.length; i++)
|
||||
printf("%02x ", r1.base[i]);
|
||||
printf("\n");
|
||||
printf("secret 2: %u bytes\n", r2.length);
|
||||
printf("secret 2: %d bytes\n", r2.length);
|
||||
for (i = 0; i < (int) r2.length; i++)
|
||||
printf("%02x ", r2.base[i]);
|
||||
printf("\n");
|
||||
|
||||
@@ -381,8 +381,7 @@ io(dns_name_t *name, isc_uint16_t id, isc_uint16_t alg, int type,
|
||||
cleandir(tmp);
|
||||
|
||||
failure:
|
||||
if (key != NULL)
|
||||
dst_key_free(&key);
|
||||
dst_key_free(&key);
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2000, 2001, 2004, 2005, 2007, 2015, 2016, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2000, 2001, 2004, 2005, 2007, 2015, 2016 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
|
||||
@@ -31,7 +31,7 @@ hex_dump(const char *msg, void *data, unsigned int length) {
|
||||
|
||||
base = data;
|
||||
|
||||
printf("DUMP of %u bytes: %s\n\t", length, msg);
|
||||
printf("DUMP of %d bytes: %s\n\t", length, msg);
|
||||
for (len = 0; len < length; len++) {
|
||||
if (len % 16 == 0 && !first)
|
||||
printf("\n\t");
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2000, 2001, 2004, 2005, 2007, 2015, 2016, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2000, 2001, 2004, 2005, 2007, 2015, 2016 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
|
||||
@@ -29,7 +29,7 @@ hex_dump(const char *msg, void *data, unsigned int length) {
|
||||
|
||||
base = data;
|
||||
|
||||
printf("DUMP of %u bytes: %s\n\t", length, msg);
|
||||
printf("DUMP of %d bytes: %s\n\t", length, msg);
|
||||
for (len = 0; len < length; len++) {
|
||||
if (len % 16 == 0 && !first)
|
||||
printf("\n\t");
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2000, 2001, 2004, 2005, 2007, 2012, 2015, 2016, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2000, 2001, 2004, 2005, 2007, 2012, 2015, 2016 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
|
||||
@@ -54,11 +54,11 @@ main(void) {
|
||||
ISC_FSACCESS_READ | ISC_FSACCESS_WRITE,
|
||||
&access);
|
||||
|
||||
printf("fsaccess=%u\n", access);
|
||||
printf("fsaccess=%d\n", access);
|
||||
|
||||
isc_fsaccess_add(ISC_FSACCESS_OTHER, ISC_FSACCESS_READ, &access);
|
||||
|
||||
printf("fsaccess=%u\n", access);
|
||||
printf("fsaccess=%d\n", access);
|
||||
|
||||
result = isc_fsaccess_set(PATH, access);
|
||||
if (result != ISC_R_SUCCESS)
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
/*
|
||||
* Copyright (C) 2000, 2001, 2003-2005, 2007, 2008, 2015, 2016, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 2000, 2001, 2003-2005, 2007, 2008, 2015, 2016 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/.
|
||||
*/
|
||||
|
||||
/* $Id: inter_test.c,v 1.16 2008/03/20 23:47:00 tbox Exp $ */
|
||||
|
||||
/*! \file */
|
||||
#include <config.h>
|
||||
|
||||
@@ -40,7 +42,7 @@ main(int argc, char **argv) {
|
||||
isc_result_totext(result));
|
||||
continue;
|
||||
}
|
||||
fprintf(stdout, "%s %u %x\n", ifdata.name, ifdata.af,
|
||||
fprintf(stdout, "%s %d %x\n", ifdata.name, ifdata.af,
|
||||
ifdata.flags);
|
||||
INSIST(ifdata.af == AF_INET || ifdata.af == AF_INET6);
|
||||
res = inet_ntop(ifdata.af, &ifdata.address.type, buf,
|
||||
@@ -87,7 +89,7 @@ main(int argc, char **argv) {
|
||||
isc_result_totext(result));
|
||||
continue;
|
||||
}
|
||||
fprintf(stdout, "%s %u %x\n", ifdata.name, ifdata.af,
|
||||
fprintf(stdout, "%s %d %x\n", ifdata.name, ifdata.af,
|
||||
ifdata.flags);
|
||||
INSIST(ifdata.af == AF_INET || ifdata.af == AF_INET6);
|
||||
res = inet_ntop(ifdata.af, &ifdata.address.type, buf,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1999-2001, 2004, 2007, 2009, 2013, 2016, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 1999-2001, 2004, 2007, 2009, 2013, 2016 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
|
||||
@@ -170,7 +170,7 @@ memtest(void) {
|
||||
|
||||
isc_mem_destroy(&mctx);
|
||||
|
||||
return(nfails);
|
||||
return(0);
|
||||
}
|
||||
|
||||
static const char *a1 =
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
/*
|
||||
* Copyright (C) 1998-2001, 2003-2005, 2007, 2009, 2015-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 1998-2001, 2003-2005, 2007, 2009, 2015-2017 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/.
|
||||
*/
|
||||
|
||||
/* $Id: name_test.c,v 1.43 2009/09/02 23:48:01 tbox Exp $ */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#include <stdlib.h>
|
||||
@@ -121,8 +123,8 @@ main(int argc, char *argv[]) {
|
||||
dns_rootname, 0, NULL);
|
||||
if (result != 0) {
|
||||
fprintf(stderr,
|
||||
"dns_name_fromtext() failed: %s\n",
|
||||
dns_result_totext(result));
|
||||
"dns_name_fromtext() failed: %d\n",
|
||||
result);
|
||||
exit(1);
|
||||
}
|
||||
origin = &oname.name;
|
||||
@@ -145,8 +147,8 @@ main(int argc, char *argv[]) {
|
||||
0, NULL);
|
||||
if (result != 0) {
|
||||
fprintf(stderr,
|
||||
"dns_name_fromtext() failed: %s\n",
|
||||
dns_result_totext(result));
|
||||
"dns_name_fromtext() failed: %d\n",
|
||||
result);
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1998-2001, 2003-2005, 2007, 2009, 2011-2013, 2015, 2016, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 1998-2001, 2003-2005, 2007, 2009, 2011-2013, 2015, 2016 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
|
||||
@@ -33,9 +33,9 @@ char *Tokens[T_MAXTOKS];
|
||||
|
||||
static int
|
||||
t_dns_rbtnodechain_init(char *dbfile, char *findname,
|
||||
char *firstname, char *firstorigin,
|
||||
char *nextname, char *nextorigin,
|
||||
char *prevname, char *prevorigin,
|
||||
char *firstname, char *firstorigin,
|
||||
char *lastname, char *lastorigin);
|
||||
static char *
|
||||
fixedname_totext(dns_fixedname_t *name);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1999-2001, 2004, 2005, 2007, 2009, 2011, 2012, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 1999-2001, 2004, 2005, 2007, 2009, 2011, 2012, 2014-2016 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
|
||||
@@ -177,7 +177,7 @@ detail(dns_rbt_t *rbt, dns_name_t *name) {
|
||||
printf("\n result from dns_rbtnodechain_current: %s\n",
|
||||
dns_result_totext(result));
|
||||
|
||||
printf(" level_matches = %u, level_count = %u\n",
|
||||
printf(" level_matches = %d, level_count = %d\n",
|
||||
chain.level_matches, chain.level_count);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1998-2001, 2004, 2005, 2007, 2013, 2016-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 1998-2001, 2004, 2005, 2007, 2013, 2016, 2017 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
|
||||
@@ -104,7 +104,7 @@ main(int argc, char *argv[]) {
|
||||
nworkers = 2;
|
||||
if (nworkers > 100)
|
||||
nworkers = 100;
|
||||
printf("%u workers\n", nworkers);
|
||||
printf("%d workers\n", nworkers);
|
||||
|
||||
RUNTIME_CHECK(isc_rwlock_init(&lock, 5, 10) == ISC_R_SUCCESS);
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1998-2001, 2004, 2007, 2011, 2013, 2016-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 1998-2001, 2004, 2007, 2011, 2013, 2016, 2017 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
|
||||
@@ -139,7 +139,7 @@ new_task(isc_mem_t *mctx, const char *name) {
|
||||
INSIST(strlen(name) < sizeof(ti->name));
|
||||
strlcpy(ti->name, name, sizeof(ti->name));
|
||||
} else {
|
||||
snprintf(ti->name, sizeof(ti->name), "%u", task_count);
|
||||
snprintf(ti->name, sizeof(ti->name), "%d", task_count);
|
||||
}
|
||||
RUNTIME_CHECK(isc_task_create(task_manager, 0, &ti->task) ==
|
||||
ISC_R_SUCCESS);
|
||||
@@ -175,7 +175,7 @@ main(int argc, char *argv[]) {
|
||||
workers = 8192;
|
||||
} else
|
||||
workers = 2;
|
||||
printf("%u workers\n", workers);
|
||||
printf("%d workers\n", workers);
|
||||
|
||||
mctx = NULL;
|
||||
RUNTIME_CHECK(isc_mem_create(0, 0, &mctx) == ISC_R_SUCCESS);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 1998-2001, 2004, 2007, 2008, 2012-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||
* Copyright (C) 1998-2001, 2004, 2007, 2008, 2012-2017 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
|
||||
@@ -42,8 +42,8 @@ my_send(isc_task_t *task, isc_event_t *event) {
|
||||
sock = event->ev_sender;
|
||||
dev = (isc_socketevent_t *)event;
|
||||
|
||||
printf("my_send: %s task %p\n\t(sock %p, base %p, length %u, n %u, "
|
||||
"result %u)\n",
|
||||
printf("my_send: %s task %p\n\t(sock %p, base %p, length %d, n %d, "
|
||||
"result %d)\n",
|
||||
(char *)(event->ev_arg), task, sock,
|
||||
dev->region.base, dev->region.length,
|
||||
dev->n, dev->result);
|
||||
@@ -70,7 +70,7 @@ my_recv(isc_task_t *task, isc_event_t *event) {
|
||||
sock = event->ev_sender;
|
||||
dev = (isc_socketevent_t *)event;
|
||||
|
||||
printf("Socket %s (sock %p, base %p, length %u, n %u, result %u)\n",
|
||||
printf("Socket %s (sock %p, base %p, length %d, n %d, result %d)\n",
|
||||
(char *)(event->ev_arg), sock,
|
||||
dev->region.base, dev->region.length,
|
||||
dev->n, dev->result);
|
||||
@@ -130,8 +130,8 @@ my_http_get(isc_task_t *task, isc_event_t *event) {
|
||||
sock = event->ev_sender;
|
||||
dev = (isc_socketevent_t *)event;
|
||||
|
||||
printf("my_http_get: %s task %p\n\t(sock %p, base %p, length %u, "
|
||||
"n %u, result %u)\n",
|
||||
printf("my_http_get: %s task %p\n\t(sock %p, base %p, length %d, "
|
||||
"n %d, result %d)\n",
|
||||
(char *)(event->ev_arg), task, sock,
|
||||
dev->region.base, dev->region.length,
|
||||
dev->n, dev->result);
|
||||
@@ -160,7 +160,7 @@ my_connect(isc_task_t *task, isc_event_t *event) {
|
||||
sock = event->ev_sender;
|
||||
dev = (isc_socket_connev_t *)event;
|
||||
|
||||
printf("%s: Connection result: %u\n", (char *)(event->ev_arg),
|
||||
printf("%s: Connection result: %d\n", (char *)(event->ev_arg),
|
||||
dev->result);
|
||||
|
||||
if (dev->result != ISC_R_SUCCESS) {
|
||||
@@ -200,7 +200,7 @@ my_listen(isc_task_t *task, isc_event_t *event) {
|
||||
|
||||
dev = (isc_socket_newconnev_t *)event;
|
||||
|
||||
printf("newcon %s (task %p, oldsock %p, newsock %p, result %u)\n",
|
||||
printf("newcon %s (task %p, oldsock %p, newsock %p, result %d)\n",
|
||||
name, task, event->ev_sender, dev->newsocket, dev->result);
|
||||
fflush(stdout);
|
||||
|
||||
@@ -279,7 +279,7 @@ main(int argc, char *argv[]) {
|
||||
workers = 8192;
|
||||
} else
|
||||
workers = 2;
|
||||
printf("%u workers\n", workers);
|
||||
printf("%d workers\n", workers);
|
||||
|
||||
if (isc_net_probeipv6() == ISC_R_SUCCESS)
|
||||
pf = PF_INET6;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (C) 2008, 2012, 2014-2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
# Copyright (C) 2008, 2012, 2014-2016 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
|
||||
@@ -15,5 +15,3 @@ rm -f ns2/example.db ns2/tsigzone.db ns2/example.db.jnl ns2/named.conf
|
||||
rm -f */named.memstats
|
||||
rm -f */named.run
|
||||
rm -f ns*/named.lock
|
||||
rm -f ns*/_default.nzf
|
||||
rm -f ns*/_default.nzd*
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
; Copyright (C) 2017 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/.
|
||||
|
||||
$TTL 300 ; 5 minutes
|
||||
@ IN SOA ns root (
|
||||
2000082401 ; serial
|
||||
1800 ; refresh (30 minutes)
|
||||
1800 ; retry (30 minutes)
|
||||
1814400 ; expire (3 weeks)
|
||||
3600 ; minimum (1 hour)
|
||||
)
|
||||
NS ns
|
||||
ns A 10.53.0.3
|
||||
@@ -1,30 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2017 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/.
|
||||
*/
|
||||
|
||||
options {
|
||||
query-source address 10.53.0.3;
|
||||
notify-source 10.53.0.3;
|
||||
transfer-source 10.53.0.3;
|
||||
port 5300;
|
||||
pid-file "named.pid";
|
||||
listen-on { 10.53.0.3; };
|
||||
listen-on-v6 { none; };
|
||||
recursion no;
|
||||
notify no;
|
||||
allow-new-zones yes;
|
||||
allow-transfer { none; };
|
||||
};
|
||||
|
||||
controls {
|
||||
inet 10.53.0.3 port 9953 allow { any; } keys { rndc_key; };
|
||||
};
|
||||
|
||||
key rndc_key {
|
||||
secret "1234abcd8765";
|
||||
algorithm hmac-sha256;
|
||||
};
|
||||
@@ -1,16 +0,0 @@
|
||||
; Copyright (C) 2017 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/.
|
||||
|
||||
$TTL 300 ; 5 minutes
|
||||
@ IN SOA ns root (
|
||||
2000082401 ; serial
|
||||
1800 ; refresh (30 minutes)
|
||||
1800 ; retry (30 minutes)
|
||||
1814400 ; expire (3 weeks)
|
||||
3600 ; minimum (1 hour)
|
||||
)
|
||||
NS ns
|
||||
ns A 10.53.0.4
|
||||
@@ -1,16 +0,0 @@
|
||||
; Copyright (C) 2017 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/.
|
||||
|
||||
$TTL 300 ; 5 minutes
|
||||
@ IN SOA ns root (
|
||||
2000082401 ; serial
|
||||
1800 ; refresh (30 minutes)
|
||||
1800 ; retry (30 minutes)
|
||||
1814400 ; expire (3 weeks)
|
||||
3600 ; minimum (1 hour)
|
||||
)
|
||||
NS ns
|
||||
ns A 10.53.0.4
|
||||
@@ -1,35 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2017 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/.
|
||||
*/
|
||||
|
||||
options {
|
||||
query-source address 10.53.0.4;
|
||||
notify-source 10.53.0.4;
|
||||
transfer-source 10.53.0.4;
|
||||
port 5300;
|
||||
pid-file "named.pid";
|
||||
listen-on { 10.53.0.4; };
|
||||
listen-on-v6 { none; };
|
||||
recursion no;
|
||||
notify no;
|
||||
allow-new-zones yes;
|
||||
allow-transfer { none; };
|
||||
};
|
||||
|
||||
controls {
|
||||
inet 10.53.0.4 port 9953 allow { any; } keys { rndc_key; };
|
||||
};
|
||||
|
||||
key rndc_key {
|
||||
secret "1234abcd8765";
|
||||
algorithm hmac-sha256;
|
||||
};
|
||||
|
||||
zone "existing" {
|
||||
type master;
|
||||
file "existing.db";
|
||||
};
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (C) 2008, 2012-2014, 2016, 2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
# Copyright (C) 2008, 2012-2014, 2016 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
|
||||
@@ -172,65 +172,5 @@ t=`expr $t + 1`
|
||||
$DIG example. soa @10.53.0.2 +subnet="192.0.2.128/32" -p 5300 > dig.out.${t}
|
||||
grep "CLIENT-SUBNET.*192.0.2.128/32/24" dig.out.${t} > /dev/null || { echo "I:test $t failed" ; status=1; }
|
||||
|
||||
# AXFR tests against ns3
|
||||
|
||||
echo "I:testing allow-transfer ACLs against ns3 (no existing zones)"
|
||||
|
||||
echo "I:calling addzone example.com on ns3"
|
||||
$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 addzone 'example.com {type master; file "example.db"; }; '
|
||||
|
||||
sleep 1
|
||||
|
||||
t=`expr $t + 1`
|
||||
ret=0
|
||||
echo "I:checking AXFR of example.com from ns3 with ACL allow-transfer { none; }; (${t})"
|
||||
$DIG @10.53.0.3 -p 5300 example.com axfr > dig.out.${t} 2>&1
|
||||
grep "Transfer failed." dig.out.${t} >/dev/null 2>&1 || ret=1
|
||||
[ $ret -eq 0 ] || echo "I:failed"
|
||||
status=`expr $status + $ret`
|
||||
|
||||
echo "I:calling rndc reconfig"
|
||||
$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 reconfig
|
||||
|
||||
sleep 1
|
||||
|
||||
t=`expr $t + 1`
|
||||
ret=0
|
||||
echo "I:re-checking AXFR of example.com from ns3 with ACL allow-transfer { none; }; (${t})"
|
||||
$DIG @10.53.0.3 -p 5300 example.com axfr > dig.out.${t} 2>&1
|
||||
grep "Transfer failed." dig.out.${t} >/dev/null 2>&1 || ret=1
|
||||
[ $ret -eq 0 ] || echo "I:failed"
|
||||
status=`expr $status + $ret`
|
||||
|
||||
# AXFR tests against ns4
|
||||
|
||||
echo "I:testing allow-transfer ACLs against ns4 (1 pre-existing zone)"
|
||||
|
||||
echo "I:calling addzone example.com on ns4"
|
||||
$RNDC -c ../common/rndc.conf -s 10.53.0.4 -p 9953 addzone 'example.com {type master; file "example.db"; }; '
|
||||
|
||||
sleep 1
|
||||
|
||||
t=`expr $t + 1`
|
||||
ret=0
|
||||
echo "I:checking AXFR of example.com from ns4 with ACL allow-transfer { none; }; (${t})"
|
||||
$DIG @10.53.0.4 -p 5300 example.com axfr > dig.out.${t} 2>&1
|
||||
grep "Transfer failed." dig.out.${t} >/dev/null 2>&1 || ret=1
|
||||
[ $ret -eq 0 ] || echo "I:failed"
|
||||
status=`expr $status + $ret`
|
||||
|
||||
echo "I:calling rndc reconfig"
|
||||
$RNDC -c ../common/rndc.conf -s 10.53.0.4 -p 9953 reconfig
|
||||
|
||||
sleep 1
|
||||
|
||||
t=`expr $t + 1`
|
||||
ret=0
|
||||
echo "I:re-checking AXFR of example.com from ns4 with ACL allow-transfer { none; }; (${t})"
|
||||
$DIG @10.53.0.4 -p 5300 example.com axfr > dig.out.${t} 2>&1
|
||||
grep "Transfer failed." dig.out.${t} >/dev/null 2>&1 || ret=1
|
||||
[ $ret -eq 0 ] || echo "I:failed"
|
||||
status=`expr $status + $ret`
|
||||
|
||||
echo "I:exit status: $status"
|
||||
[ $status -eq 0 ] || exit 1
|
||||
|
||||
@@ -1,17 +1,19 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (C) 2013, 2014, 2016, 2017 Internet Systems Consortium, Inc. ("ISC")
|
||||
# Copyright (C) 2013, 2014, 2016 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/.
|
||||
|
||||
# $Id: clean.sh,v 1.6 2007/09/26 03:22:44 marka Exp $
|
||||
|
||||
#
|
||||
# Clean up after tests.
|
||||
#
|
||||
|
||||
rm -f dig.out.*
|
||||
rm -f */named.memstats
|
||||
rm -f ns1/named.conf
|
||||
rm -f */named.conf
|
||||
rm -f */named.run
|
||||
rm -f ns*/named.lock
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2017 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/.
|
||||
*/
|
||||
|
||||
controls { /* empty */ };
|
||||
|
||||
options {
|
||||
query-source address 10.53.0.3;
|
||||
notify-source 10.53.0.3;
|
||||
transfer-source 10.53.0.3;
|
||||
port 5300;
|
||||
pid-file "named.pid";
|
||||
listen-on { 10.53.0.3; };
|
||||
listen-on-v6 { none; };
|
||||
recursion yes;
|
||||
};
|
||||
|
||||
zone "." {
|
||||
type hint;
|
||||
file "root.hint";
|
||||
};
|
||||
@@ -1,8 +0,0 @@
|
||||
; Copyright (C) 2017 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/.
|
||||
|
||||
. NS ns1.
|
||||
ns1. A 10.53.0.1
|
||||
@@ -212,7 +212,7 @@ echo "I:testing with 'minimal-responses yes;'"
|
||||
minimal=yes
|
||||
dotests
|
||||
|
||||
echo "I:reconfiguring server: minimal-responses no"
|
||||
echo "I:reconfiguring server"
|
||||
cp ns1/named2.conf ns1/named.conf
|
||||
$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 reconfig 2>&1 | sed 's/^/I:ns1 /'
|
||||
sleep 2
|
||||
@@ -230,7 +230,7 @@ if [ $ret -eq 1 ] ; then
|
||||
echo "I: failed"; status=1
|
||||
fi
|
||||
|
||||
echo "I:reconfiguring server: minimal-any yes"
|
||||
echo "I:reconfiguring server"
|
||||
cp ns1/named3.conf ns1/named.conf
|
||||
$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 reconfig 2>&1 | sed 's/^/I:ns1 /'
|
||||
sleep 2
|
||||
@@ -266,7 +266,7 @@ echo "I:testing with 'minimal-responses no-auth;'"
|
||||
minimal=no-auth
|
||||
dotests
|
||||
|
||||
echo "I:reconfiguring server: minimal-responses no-auth-recursive"
|
||||
echo "I:reconfiguring server"
|
||||
cp ns1/named4.conf ns1/named.conf
|
||||
$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 reconfig 2>&1 | sed 's/^/I:ns1 /'
|
||||
sleep 2
|
||||
@@ -297,30 +297,5 @@ if [ $ret -eq 1 ] ; then
|
||||
echo "I: failed"; status=1
|
||||
fi
|
||||
|
||||
echo "I:reconfiguring server: minimal-responses no"
|
||||
cp ns1/named2.conf ns1/named.conf
|
||||
$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 reconfig 2>&1 | sed 's/^/I:ns1 /'
|
||||
sleep 2
|
||||
|
||||
n=`expr $n + 1`
|
||||
echo "I:testing NS handling in ANY responses (authoritative) ($n)"
|
||||
ret=0
|
||||
$DIG -t ANY rt.example @10.53.0.1 -p 5300 > dig.out.$n || ret=1
|
||||
grep "AUTHORITY: 0" dig.out.$n > /dev/null || ret=1
|
||||
grep "NS[ ]*ns" dig.out.$n > /dev/null || ret=1
|
||||
if [ $ret -eq 1 ] ; then
|
||||
echo "I: failed"; status=1
|
||||
fi
|
||||
|
||||
n=`expr $n + 1`
|
||||
echo "I:testing NS handling in ANY responses (recursive) ($n)"
|
||||
ret=0
|
||||
$DIG -t ANY rt.example @10.53.0.3 -p 5300 > dig.out.$n || ret=1
|
||||
grep "AUTHORITY: 0" dig.out.$n > /dev/null || ret=1
|
||||
grep "NS[ ]*ns" dig.out.$n > /dev/null || ret=1
|
||||
if [ $ret -eq 1 ] ; then
|
||||
echo "I: failed"; status=1
|
||||
fi
|
||||
|
||||
echo "I:exit status: $status"
|
||||
[ $status -eq 0 ] || exit 1
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
redirect.db
|
||||
@@ -1,9 +0,0 @@
|
||||
; Copyright (C) 2017 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/.
|
||||
|
||||
@ SOA ns3 hostmaster 0 0 0 0 0
|
||||
@ NS ns3
|
||||
ns3 A 10.53.0.3
|
||||
@@ -672,31 +672,5 @@ n=`expr $n + 1`
|
||||
if [ $ret != 0 ]; then echo "I:failed"; fi
|
||||
status=`expr $status + $ret`
|
||||
|
||||
if ! $FEATURETEST --with-lmdb
|
||||
then
|
||||
echo "I:check that addzone is fully reversed on failure (--with-lmdb=no) ($n)"
|
||||
ret=0
|
||||
$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 addzone "test1.baz" '{ type master; file "e.db"; };' > /dev/null 2>&1 || ret=1
|
||||
$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 addzone "test2.baz" '{ type master; file "dne.db"; };' > /dev/null 2>&1 && ret=1
|
||||
$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 addzone "test3.baz" '{ type master; file "e.db"; };' > /dev/null 2>&1 || ret=1
|
||||
$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 delzone "test3.baz" > /dev/null 2>&1 || ret=1
|
||||
grep test2.baz ns3/_default.nzf > /dev/null && ret=1
|
||||
n=`expr $n + 1`
|
||||
if [ $ret != 0 ]; then echo "I:failed"; fi
|
||||
status=`expr $status + $ret`
|
||||
fi
|
||||
|
||||
echo "I:check that named restarts with multiple added zones ($n)"
|
||||
ret=0
|
||||
$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 addzone "test4.baz" '{ type master; file "e.db"; };' > /dev/null 2>&1 || ret=1
|
||||
$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 addzone "test5.baz" '{ type master; file "e.db"; };' > /dev/null 2>&1 || ret=1
|
||||
$PERL $SYSTEMTESTTOP/stop.pl . ns3
|
||||
$PERL $SYSTEMTESTTOP/start.pl --noclean --restart . ns3 || ret=1
|
||||
$DIG -p 5300 @10.53.0.3 version.bind txt ch > dig.out.test$n || ret=1
|
||||
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
|
||||
n=`expr $n + 1`
|
||||
if [ $ret != 0 ]; then echo "I:failed"; fi
|
||||
status=`expr $status + $ret`
|
||||
|
||||
echo "I:exit status: $status"
|
||||
[ $status -eq 0 ] || exit 1
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
# Copyright (C) 2018 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/.
|
||||
|
||||
rm -f */named.memstats
|
||||
rm -f */named.run
|
||||
rm -f dig.out.test*
|
||||
rm -f ns2/example.com.bk
|
||||
rm -f ns2/example.net.bk
|
||||
@@ -1,19 +0,0 @@
|
||||
; Copyright (C) 2018 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/.
|
||||
|
||||
$TTL 300 ; 5 minutes
|
||||
@ IN SOA ns root (
|
||||
2018010100 ; serial
|
||||
1800 ; refresh (30 minutes)
|
||||
1800 ; retry (30 minutes)
|
||||
1814400 ; expire (3 weeks)
|
||||
3600 ; minimum (1 hour)
|
||||
)
|
||||
NS ns
|
||||
ns A 10.53.0.1
|
||||
www CNAME server.example.net.
|
||||
inzone CNAME a.example.com.
|
||||
a A 10.53.0.1
|
||||
@@ -1,17 +0,0 @@
|
||||
; Copyright (C) 2018 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/.
|
||||
|
||||
$TTL 300 ; 5 minutes
|
||||
@ IN SOA ns root (
|
||||
2018010100 ; serial
|
||||
1800 ; refresh (30 minutes)
|
||||
1800 ; retry (30 minutes)
|
||||
1814400 ; expire (3 weeks)
|
||||
3600 ; minimum (1 hour)
|
||||
)
|
||||
NS ns
|
||||
ns A 10.53.0.1
|
||||
server A 10.53.0.100
|
||||
@@ -1,31 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2018 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/.
|
||||
*/
|
||||
|
||||
controls { /* empty */ };
|
||||
|
||||
options {
|
||||
query-source address 10.53.0.1;
|
||||
notify-source 10.53.0.1;
|
||||
transfer-source 10.53.0.1;
|
||||
port 5300;
|
||||
pid-file "named.pid";
|
||||
listen-on { 10.53.0.1; };
|
||||
listen-on-v6 { none; };
|
||||
recursion no;
|
||||
notify yes;
|
||||
};
|
||||
|
||||
zone example.net {
|
||||
type master;
|
||||
file "example.net.db";
|
||||
};
|
||||
|
||||
zone example.com {
|
||||
type master;
|
||||
file "example.com.db";
|
||||
};
|
||||
@@ -1,33 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2018 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/.
|
||||
*/
|
||||
|
||||
controls { /* empty */ };
|
||||
|
||||
options {
|
||||
query-source address 10.53.0.2;
|
||||
notify-source 10.53.0.2;
|
||||
transfer-source 10.53.0.2;
|
||||
port 5300;
|
||||
pid-file "named.pid";
|
||||
listen-on { 10.53.0.2; };
|
||||
listen-on-v6 { none; };
|
||||
recursion yes;
|
||||
notify no;
|
||||
};
|
||||
|
||||
zone example.net {
|
||||
type slave;
|
||||
masters { 10.53.0.1; };
|
||||
file "example.net.bk";
|
||||
};
|
||||
|
||||
zone example.com {
|
||||
type slave;
|
||||
masters { 10.53.0.1; };
|
||||
file "example.com.bk";
|
||||
};
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user