From 87b0098b4ea8725efde9f7917770187af38c262c Mon Sep 17 00:00:00 2001 From: Evan Hunt Date: Sat, 19 Jan 2019 16:12:45 -0800 Subject: [PATCH] added querytrace documentation in README also rearranged things a little, adding a "dependencies" section (cherry picked from commit 51048ca06ecc3c57bae7f8c16b3ca9e3b1235619) --- README | 43 +++++++++++++++++++++++++------------------ README.md | 32 +++++++++++++++++++------------- 2 files changed, 44 insertions(+), 31 deletions(-) diff --git a/README b/README index a8280edc7a9..a113f3682fe 100644 --- a/README +++ b/README @@ -8,11 +8,12 @@ Contents 4. BIND 9.12 features 5. Building BIND 6. macOS - 7. Compile-time options - 8. Automated testing - 9. Documentation -10. Change log -11. Acknowledgments + 7. Dependencies + 8. Compile-time options + 9. Automated testing +10. Documentation +11. Change log +12. Acknowledgments Introduction @@ -200,6 +201,14 @@ 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. +Dependencies + +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. + Compile-time options To see a full list of configuration options, run configure --help. @@ -217,13 +226,6 @@ may be necessary to specify a user with the -u option when running named.) To build shared libraries, specify --with-libtool on the configure command line. -Certain compiled-in constants and default settings can be increased to -values better suited to large servers with abundant memory resources (e.g, -64-bit servers with 12G or more of memory) by specifying --with-tuning= -large on the configure command line. This can improve performance on big -servers, but will consume more memory and may degrade 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, @@ -254,13 +256,14 @@ 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". +--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. +Certain compiled-in constants and default settings can be increased to +values better suited to large servers with abundant memory resources (e.g, +64-bit servers with 12G or more of memory) by specifying --with-tuning= +large on the configure command line. This can improve performance on big +servers, but will consume more memory and may degrade performance on +smaller systems. On some platforms it is necessary to explicitly request large file support to handle files bigger than 2GB. This can be done by using @@ -275,6 +278,10 @@ If your operating system has integrated support for IPv6, it will be used automatically. If you have installed KAME IPv6 separately, use --with-kame [=PATH] to specify its location. +The --enable-querytrace option causes named to log every step of +processing every query. This should only be enabled when debugging, +because it has a significant negative impact on query performance. + make install will install named and the various BIND 9 libraries. By default, installation is into /usr/local, but this can be changed with the --prefix option when running configure. diff --git a/README.md b/README.md index a5aecdcb9f9..208656cc526 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,7 @@ 1. [BIND 9.12 features](#features) 1. [Building BIND](#build) 1. [macOS](#macos) +1. [Dependencies](#dependencies) 1. [Compile-time options](#opts) 1. [Automated testing](#testing) 1. [Documentation](#doc) @@ -212,6 +213,13 @@ 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. +### Dependencies + +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](https://pypi.python.org/pypi/ply). #### Compile-time options @@ -230,13 +238,6 @@ specify a user with the -u option when running `named`.) To build shared libraries, specify `--with-libtool` on the `configure` command line. -Certain compiled-in constants and default settings can be increased to -values better suited to large servers with abundant memory resources (e.g, -64-bit servers with 12G or more of memory) by specifying -`--with-tuning=large` on the `configure` command line. This can improve -performance on big servers, but will consume more memory and may degrade -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 @@ -269,13 +270,14 @@ For DNSTAP packet logging, you must have installed 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". +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](https://pypi.python.org/pypi/ply). +Certain compiled-in constants and default settings can be increased to +values better suited to large servers with abundant memory resources (e.g, +64-bit servers with 12G or more of memory) by specifying +`--with-tuning=large` on the `configure` command line. This can improve +performance on big servers, but will consume more memory and may degrade +performance on smaller systems. On some platforms it is necessary to explicitly request large file support to handle files bigger than 2GB. This can be done by using @@ -290,6 +292,10 @@ If your operating system has integrated support for IPv6, it will be used automatically. If you have installed KAME IPv6 separately, use `--with-kame[=PATH]` to specify its location. +The `--enable-querytrace` option causes `named` to log every step of +processing every query. This should only be enabled when debugging, because +it has a significant negative impact on query performance. + `make install` will install `named` and the various BIND 9 libraries. By default, installation is into /usr/local, but this can be changed with the `--prefix` option when running `configure`. -- GitLab