2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-29 21:47:59 +00:00

Merge branch '1932-text-corrections-in-readme-md' into 'master'

Resolve "Text corrections in README.md"

Closes #1932

See merge request isc-projects/bind9!3686
This commit is contained in:
Ondřej Surý 2020-06-16 19:35:44 +00:00
commit 3210a4275c

110
README.md
View File

@ -28,9 +28,9 @@
### <a name="intro"/> Introduction ### <a name="intro"/> Introduction
BIND (Berkeley Internet Name Domain) is a complete, highly portable BIND (Berkeley Internet Name Domain) is a complete, highly portable
implementation of the DNS (Domain Name System) protocol. implementation of the Domain Name System (DNS) protocol.
The BIND name server, `named`, is able to serve as an authoritative name The BIND name server, `named`, can act as an authoritative name
server, recursive resolver, DNS forwarder, or all three simultaneously. It server, recursive resolver, DNS forwarder, or all three simultaneously. It
implements views for split-horizon DNS, automatic DNSSEC zone signing and implements views for split-horizon DNS, automatic DNSSEC zone signing and
key management, catalog zones to facilitate provisioning of zone data key management, catalog zones to facilitate provisioning of zone data
@ -42,9 +42,9 @@ administrative tools, including the `dig` and `delv` DNS lookup tools,
`nsupdate` for dynamic DNS zone updates, `rndc` for remote name server `nsupdate` for dynamic DNS zone updates, `rndc` for remote name server
administration, and more. administration, and more.
BIND 9 began as a complete re-write of the BIND architecture that was BIND 9 began as a complete rewrite of the BIND architecture that was
used in versions 4 and 8. Internet Systems Consortium used in versions 4 and 8. Internet Systems Consortium
([https://www.isc.org](https://www.isc.org)), a 501(c)(3) public benefit ([https://www.isc.org](https://www.isc.org)), a 501(c)(3) US public benefit
corporation dedicated to providing software and services in support of the corporation dedicated to providing software and services in support of the
Internet infrastructure, developed BIND 9 and is responsible for its Internet infrastructure, developed BIND 9 and is responsible for its
ongoing maintenance and improvement. BIND is open source software ongoing maintenance and improvement. BIND is open source software
@ -65,19 +65,19 @@ For information about supported platforms, see [PLATFORMS](PLATFORMS.md).
### <a name="help"/> Reporting bugs and getting help ### <a name="help"/> Reporting bugs and getting help
To report non-security-sensitive bugs or request new features, you may To report non-security-sensitive bugs or request new features, you may
open an Issue in the BIND 9 project on the open an issue in the BIND 9 project on the
[ISC GitLab server](https://gitlab.isc.org) at [ISC GitLab server](https://gitlab.isc.org) at
[https://gitlab.isc.org/isc-projects/bind9](https://gitlab.isc.org/isc-projects/bind9). [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 Please note that, unless you explicitly mark the newly created issue as
"confidential", it will be publicly readable. Please do not include any "confidential," it will be publicly readable. Please do not include any
information in bug reports that you consider to be confidential unless information in bug reports that you consider to be confidential unless
the issue has been marked as such. In particular, if submitting the the issue has been marked as such. In particular, if submitting the
contents of your configuration file in a non-confidential Issue, it is contents of your configuration file in a non-confidential issue, it is
advisable to obscure key secrets: this can be done automatically by advisable to obscure key secrets; this can be done automatically by
using `named-checkconf -px`. using `named-checkconf -px`.
If the bug you are reporting is a potential security issue, such as an If you are reporting a bug that is a potential security issue, such as an
assertion failure or other crash in `named`, please do *NOT* use GitLab to assertion failure or other crash in `named`, please do *NOT* use GitLab to
report it. Instead, send mail to report it. Instead, send mail to
[security-officer@isc.org](mailto:security-officer@isc.org) using our [security-officer@isc.org](mailto:security-officer@isc.org) using our
@ -86,11 +86,12 @@ to our key can be found at
[https://www.isc.org/pgpkey](https://www.isc.org/pgpkey).) Please do not [https://www.isc.org/pgpkey](https://www.isc.org/pgpkey).) Please do not
discuss the bug on any public mailing list. discuss the bug on any public mailing list.
For a general overview of ISC security policies, read the Knowledge Base For a general overview of ISC security policies, read the Knowledgebase
article at [https://kb.isc.org/docs/aa-00861](https://kb.isc.org/docs/aa-00861). article at [https://kb.isc.org/docs/aa-00861](https://kb.isc.org/docs/aa-00861).
Professional support and training for BIND are available from Professional support and training for BIND are available from
ISC at [https://www.isc.org/support](https://www.isc.org/support). ISC. Contact us at [https://www.isc.org/contact](https://www.isc.org/contact)
for more information.
To join the __BIND Users__ mailing list, or view the archives, visit To join the __BIND Users__ mailing list, or view the archives, visit
[https://lists.isc.org/mailman/listinfo/bind-users](https://lists.isc.org/mailman/listinfo/bind-users). [https://lists.isc.org/mailman/listinfo/bind-users](https://lists.isc.org/mailman/listinfo/bind-users).
@ -102,7 +103,7 @@ may also want to join the __BIND Workers__ mailing list, at
### <a name="contrib"/> Contributing to BIND ### <a name="contrib"/> Contributing to BIND
ISC maintains a public git repository for BIND; details can be found ISC maintains a public git repository for BIND; details can be found
at [http://www.isc.org/git/](http://www.isc.org/git/). at [https://www.isc.org/sourceaccess/](https://www.isc.org/sourceaccess/).
Information for BIND contributors can be found in the following files: Information for BIND contributors can be found in the following files:
- General information: [CONTRIBUTING.md](CONTRIBUTING.md) - General information: [CONTRIBUTING.md](CONTRIBUTING.md)
@ -112,16 +113,15 @@ Information for BIND contributors can be found in the following files:
Patches for BIND may be submitted as Patches for BIND may be submitted as
[merge requests](https://gitlab.isc.org/isc-projects/bind9/merge_requests) [merge requests](https://gitlab.isc.org/isc-projects/bind9/merge_requests)
in the [ISC GitLab server](https://gitlab.isc.org) at on the [ISC GitLab server](https://gitlab.isc.org).
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 By default, external contributors do not have the ability to fork BIND on the
GitLab server, but if you wish to contribute code to BIND, you may request GitLab server; if you wish to contribute code to BIND, you may request
permission to do so. Thereafter, you can create git branches and directly permission to do so. Thereafter, you can create git branches and directly
submit requests that they be reviewed and merged. submit requests that they be reviewed and merged.
If you prefer, you may also submit code by opening a If you prefer, you may also submit code by opening a
[GitLab Issue](https://gitlab.isc.org/isc-projects/bind9/issues) and [GitLab issue](https://gitlab.isc.org/isc-projects/bind9/issues) and
including your patch as an attachment, preferably generated by including your patch as an attachment, preferably generated by
`git format-patch`. `git format-patch`.
@ -130,14 +130,14 @@ including your patch as an attachment, preferably generated by
BIND 9.17 is the newest development branch of BIND 9. It includes a BIND 9.17 is the newest development branch of BIND 9. It includes a
number of changes from BIND 9.16 and earlier releases. New features include: number of changes from BIND 9.16 and earlier releases. New features include:
* New option "max-ixfr-ratio" to limit the size of outgoing IXFR responses * The new option `max-ixfr-ratio` to limit the size of outgoing IXFR responses
before falling back to full zone transfers. before falling back to full zone transfers.
* "rndc nta -d" and "rndc secroots" now include "validate-except" entries * `rndc nta -d` and `rndc secroots` now include `validate-except` entries
when listing negative trust anchors. when listing negative trust anchors.
### <a name="build"/> Building BIND ### <a name="build"/> Building BIND 9
Minimally, BIND requires a UNIX or Linux system with an ANSI C compiler, At a minimum, BIND requires a Unix or Linux system with an ANSI C compiler,
basic POSIX support, and a 64-bit integer type. BIND also requires the basic POSIX support, and a 64-bit integer type. BIND also requires the
`libuv` asynchronous I/O library, and a cryptography provider library `libuv` asynchronous I/O library, and a cryptography provider library
such as OpenSSL or a hardware service module supporting PKCS#11. On such as OpenSSL or a hardware service module supporting PKCS#11. On
@ -148,15 +148,15 @@ for details on other libraries that may be required to support
optional features. optional features.
Successful builds have been observed on many versions of Linux and Successful builds have been observed on many versions of Linux and
UNIX, including RHEL/CentOS, Fedora, Debian, Ubuntu, SLES, openSUSE, Unix, including RHEL/CentOS, Fedora, Debian, Ubuntu, SLES, openSUSE,
Slackware, Alpine, FreeBSD, NetBSD, OpenBSD, macOS, Solaris, Slackware, Alpine, FreeBSD, NetBSD, OpenBSD, macOS, Solaris,
OpenIndiana, OmniOS CE, HP-UX, and OpenWRT. OpenIndiana, OmniOS CE, HP-UX, and OpenWRT.
BIND is also available for Windows Server 2012 R2 and higher. See BIND 9 is also available for Windows Server 2012 R2 and higher. See
`win32utils/build.txt` for details on building for Windows `win32utils/build.txt` for details on building for Windows
systems. systems.
To build on a UNIX or Linux system, use: To build on a Unix or Linux system, use:
$ autoreconf -fi (if you are building in the git repository) $ autoreconf -fi (if you are building in the git repository)
$ ./configure $ ./configure
@ -165,7 +165,7 @@ To build on a UNIX or Linux system, use:
If you're planning on making changes to the BIND 9 source, you should run If you're planning on making changes to the BIND 9 source, you should run
`make depend`. If you're using Emacs, you might find `make tags` helpful. `make depend`. If you're using Emacs, you might find `make tags` helpful.
Several environment variables that can be set before running `configure` will Several environment variables, which can be set before running `configure`,
affect compilation. Significant ones are: affect compilation. Significant ones are:
|Variable|Description | |Variable|Description |
@ -182,21 +182,21 @@ command:
#### <a name="macos"> macOS #### <a name="macos"> macOS
Building on macOS assumes that the "Command Tools for Xcode" is installed. Building on macOS assumes that the "Command Tools for Xcode" are installed.
This can be downloaded from These can be downloaded from
[https://developer.apple.com/download/more/](https://developer.apple.com/download/more/) [https://developer.apple.com/download/more/](https://developer.apple.com/download/more/)
or, if you have Xcode already installed, you can run `xcode-select or, if you have Xcode already installed, you can run
--install`. (Note that an Apple ID may be required to access the download `xcode-select--install`. (Note that an Apple ID may be required to access the download
page.) page.)
#### <a name="dependencies"> Dependencies #### <a name="dependencies"> Dependencies
To build BIND you need to following packages installed: To build BIND you need to have the following packages installed:
libuv libuv
pkg-config / pkgconfig / pkgconf pkg-config / pkgconfig / pkgconf
To build BIND from the git repository you will need the following tools To build BIND from the git repository, you need the following tools
installed: installed:
autoconf (includes autoreconf) autoconf (includes autoreconf)
@ -225,7 +225,7 @@ least one of the following libraries: `libxml2`
[https://github.com/json-c/json-c](https://github.com/json-c/json-c). [https://github.com/json-c/json-c](https://github.com/json-c/json-c).
If these are installed at a nonstandard location, then: If these are installed at a nonstandard location, then:
* for `libxml2`, specify the prefix using `--with-libxml2=/prefix`, * for `libxml2`, specify the prefix using `--with-libxml2=/prefix`.
* for `json-c`, adjust `PKG_CONFIG_PATH`. * for `json-c`, adjust `PKG_CONFIG_PATH`.
To support compression on the HTTP statistics channel, the server must be To support compression on the HTTP statistics channel, the server must be
@ -233,7 +233,7 @@ linked against `libzlib`. If this is installed in a nonstandard location,
specify the prefix using `--with-zlib=/prefix`. specify the prefix using `--with-zlib=/prefix`.
To support storing configuration data for runtime-added zones in an LMDB To support storing configuration data for runtime-added zones in an LMDB
database, the server must be linked with liblmdb. If this is installed in a database, the server must be linked with `liblmdb`. If this is installed in a
nonstandard location, specify the prefix using `with-lmdb=/prefix`. nonstandard location, specify the prefix using `with-lmdb=/prefix`.
To support MaxMind GeoIP2 location-based ACLs, the server must be linked To support MaxMind GeoIP2 location-based ACLs, the server must be linked
@ -250,8 +250,8 @@ and BIND must be configured with `--enable-dnstap`.
Certain compiled-in constants and default settings can be decreased to Certain compiled-in constants and default settings can be decreased to
values better suited to small machines, e.g. OpenWRT boxes, by specifying values better suited to small machines, e.g. OpenWRT boxes, by specifying
`--with-tuning=small` on the `configure` command line. This will decrease `--with-tuning=small` on the `configure` command line. This decreases
memory usage by using smaller structures, but will degrade performance. memory usage by using smaller structures, but degrades performance.
On Linux, process capabilities are managed in user space using On Linux, process capabilities are managed in user space using
the `libcap` library, which can be installed on most Linux systems via the `libcap` library, which can be installed on most Linux systems via
@ -274,7 +274,7 @@ traced by setting its query ID to 0. These options should only be enabled
when debugging, because they have a significant negative impact on query when debugging, because they have a significant negative impact on query
performance. performance.
`make install` will install `named` and the various BIND 9 libraries. By `make install` installs `named` and the various BIND 9 libraries. By
default, installation is into /usr/local, but this can be changed with the default, installation is into /usr/local, but this can be changed with the
`--prefix` option when running `configure`. `--prefix` option when running `configure`.
@ -287,13 +287,13 @@ defaults to `$prefix/etc` and `--localstatedir` defaults to `$prefix/var`.
A system test suite can be run with `make check`. The system tests require A system test suite can be run with `make check`. The system tests require
you to configure a set of virtual IP addresses on your system (this allows 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 multiple servers to run locally and communicate with each other). These
IP addresses can be configured by running the command IP addresses can be configured by running the command
`bin/tests/system/ifconfig.sh up` as root. `bin/tests/system/ifconfig.sh up` as root.
Some tests require Perl and the `Net::DNS` and/or `IO::Socket::INET6` modules, Some tests require Perl and the `Net::DNS` and/or `IO::Socket::INET6` modules,
and will be skipped if these are not available. Some tests require Python and are skipped if these are not available. Some tests require Python
and the `dnspython` module and will be skipped if these are not available. and the `dnspython` module and are skipped if these are not available.
See bin/tests/system/README for further details. See bin/tests/system/README for further details.
Unit tests are implemented using the CMocka unit testing framework. To build Unit tests are implemented using the CMocka unit testing framework. To build
@ -302,16 +302,16 @@ parallel test driver; unit tests are also run by `make check`.
### <a name="doc"/> Documentation ### <a name="doc"/> Documentation
The *BIND 9 Administrator Reference Manual* is included with the source The *BIND 9 Administrator Reference Manual* (ARM) is included with the source
distribution, in DocBook XML, HTML, and PDF format, in the `doc/arm` distribution, and in .rst format, in the `doc/arm`
directory. directory. HTML and PDF versions are automatically generated and can
be viewed at [https://bind9.readthedocs.io/en/latest/index.html](https://bind9.readthedocs.io/en/latest/index.html).
Some of the programs in the BIND 9 distribution have man pages in their Man pages for some of the programs in the BIND 9 distribution
directories. In particular, the command line options of `named` are are also included in the BIND ARM.
documented in `bin/named/named.8`.
Frequently (and not-so-frequently) asked questions and their answers Frequently (and not-so-frequently) asked questions and their answers
can be found in the ISC Knowledge Base at can be found in the ISC Knowledgebase at
[https://kb.isc.org](https://kb.isc.org). [https://kb.isc.org](https://kb.isc.org).
Additional information on various subjects can be found in other Additional information on various subjects can be found in other
@ -320,7 +320,7 @@ Additional information on various subjects can be found in other
### <a name="changes"/> Change log ### <a name="changes"/> Change log
A detailed list of all changes that have been made throughout the A detailed list of all changes that have been made throughout the
development BIND 9 is included in the file CHANGES, with the most recent development of BIND 9 is included in the file CHANGES, with the most recent
changes listed first. Change notes include tags indicating the category of changes listed first. Change notes include tags indicating the category of
the change that was made; these categories are: the change that was made; these categories are:
@ -339,12 +339,12 @@ the change that was made; these categories are:
| [cleanup] | Minor corrections and refactoring | | [cleanup] | Minor corrections and refactoring |
| [doc] | Documentation | | [doc] | Documentation |
| [contrib] | Changes to the contributed tools and libraries in the 'contrib' subdirectory | | [contrib] | Changes to the contributed tools and libraries in the 'contrib' subdirectory |
| [placeholder] | Used in the master development branch to reserve change numbers for use in other branches, e.g. when fixing a bug that only exists in older releases | | [placeholder] | Used in the master development branch to reserve change numbers for use in other branches, e.g., when fixing a bug that only exists in older releases |
In general, [func] and [experimental] tags will only appear in new-feature In general, [func] and [experimental] tags only appear in new-feature
releases (i.e., those with version numbers ending in zero). Some new releases (i.e., those with version numbers ending in zero). Some new
functionality may be backported to older releases on a case-by-case basis. functionality may be backported to older releases on a case-by-case basis.
All other change types may be applied to all currently-supported releases. All other change types may be applied to all currently supported releases.
#### Bug report identifiers #### Bug report identifiers
@ -354,7 +354,7 @@ and referred to entries in the "bind9-bugs" RT database, which was not open
to the public. More recent entries use the form `[GL #NNN]` or, less often, to the public. More recent entries use the form `[GL #NNN]` or, less often,
`[GL !NNN]`, which, respectively, refer to issues or merge requests in the `[GL !NNN]`, which, respectively, refer to issues or merge requests in the
GitLab database. Most of these are publicly readable, unless they include GitLab database. Most of these are publicly readable, unless they include
information which is confidential or security sensitive. information which is confidential or security-sensitive.
To look up a GitLab issue by its number, use the URL To look up a GitLab issue by its number, use the URL
[https://gitlab.isc.org/isc-projects/bind9/issues/NNN](https://gitlab.isc.org/isc-projects/bind9/issues). [https://gitlab.isc.org/isc-projects/bind9/issues/NNN](https://gitlab.isc.org/isc-projects/bind9/issues).
@ -384,7 +384,7 @@ GitLab instance, which is not visible to the public.
* This product includes software developed by the OpenSSL Project for use * This product includes software developed by the OpenSSL Project for use
in the OpenSSL Toolkit. in the OpenSSL Toolkit.
[http://www.OpenSSL.org/](http://www.OpenSSL.org/) [https://www.OpenSSL.org/](https://www.OpenSSL.org/)
* This product includes cryptographic software written by Eric Young * This product includes cryptographic software written by Eric Young
(eay@cryptsoft.com) (eay@cryptsoft.com).
* This product includes software written by Tim Hudson (tjh@cryptsoft.com) * This product includes software written by Tim Hudson (tjh@cryptsoft.com).