Compare commits

..
1 Commits
Author SHA1 Message Date
Michael McNally 1896343049 Minor tone edits during review with Vicky 2020-07-09 22:48:16 +00:00
2220 changed files with 14990 additions and 45926 deletions
-3
View File
@@ -106,9 +106,6 @@
(list (list
"--enable=all" "--enable=all"
"--suppress=missingIncludeSystem" "--suppress=missingIncludeSystem"
"--suppress=nullPointerRedundantCheck"
(concat "--suppressions-list=" (expand-file-name
(concat directory-of-current-dir-locals-file "util/suppressions.txt")))
(concat "-include=" (expand-file-name (concat "-include=" (expand-file-name
(concat directory-of-current-dir-locals-file "config.h"))) (concat directory-of-current-dir-locals-file "config.h")))
) )
-2
View File
@@ -1,8 +1,6 @@
*.sln.in eol=crlf *.sln.in eol=crlf
*.vcxproj.* eol=crlf *.vcxproj.* eol=crlf
/fuzz/dns_rdata_fromwire_text.in/input-* -text
.gitignore export-ignore .gitignore export-ignore
/conftools export-ignore /conftools export-ignore
/doc/design export-ignore /doc/design export-ignore
+1 -33
View File
@@ -39,6 +39,7 @@ __pycache__/
/depcomp /depcomp
/install-sh /install-sh
/isc-config.sh /isc-config.sh
/libltdl/*
/libtool /libtool
/ltmain.sh /ltmain.sh
/m4/libtool.m4 /m4/libtool.m4
@@ -61,41 +62,8 @@ named.memstats
named.run named.run
timestamp timestamp
/compile_commands.json /compile_commands.json
# Gets generated by Build Ear (bear)
/compile_commands.commands.json
/cppcheck_html/ /cppcheck_html/
/cppcheck.results /cppcheck.results
/tsan /tsan
/util/check-make-install /util/check-make-install
/INSTALL /INSTALL
doc/man/dnssec-cds.8in
doc/man/dnssec-checkds.8in
doc/man/dnssec-coverage.8in
doc/man/dnssec-dsfromkey.8in
doc/man/dnssec-importkey.8in
doc/man/dnssec-keyfromlabel.8in
doc/man/dnssec-keygen.8in
doc/man/dnssec-keymgr.8in
doc/man/dnssec-revoke.8in
doc/man/dnssec-settime.8in
doc/man/dnssec-signzone.8in
doc/man/dnssec-verify.8in
doc/man/named-checkconf.8in
doc/man/named-checkzone.8in
doc/man/named-journalprint.8in
doc/man/named-nzd2nzf.8in
doc/man/nsec3hash.8in
doc/man/pkcs11-destroy.8in
doc/man/pkcs11-keygen.8in
doc/man/pkcs11-list.8in
doc/man/pkcs11-tokens.8in
# clangd index directory
/\.cache/
# GNU Global index files
/GPATH
/GRTAGS
/GTAGS
# Emacs specific files
\.dir-locals-2.el
/emacs.desktop
/emacs.desktop-lock
+143 -361
View File
@@ -31,28 +31,12 @@ variables:
AM_COLOR_TESTS: always AM_COLOR_TESTS: always
WITHOUT_READLINE: "--without-readline"
WITH_READLINE: "--with-readline"
WITH_READLINE_EDITLINE: "--with-readline=editline"
WITH_READLINE_LIBEDIT: "--with-readline=libedit"
WITH_READLINE_READLINE: "--with-readline=readline"
BIND_INSTALL_PATH: "${CI_PROJECT_DIR}/.local"
# In multithreaded unit tests, abort on the first failure
CMOCKA_TEST_ABORT: 1
# Default platforms to run "stress" tests on
BIND_STRESS_TEST_OS: linux
BIND_STRESS_TEST_ARCH: amd64
stages: stages:
- autoconf - autoconf
- precheck - precheck
- build - build
- unit - unit
- system - system
- performance
- docs - docs
- push - push
- postcheck - postcheck
@@ -60,7 +44,9 @@ stages:
### Runner Tag Templates ### Runner Tag Templates
.libvirt-amd64: &libvirt_amd64 # Note: BSD runners extract the operating system version to use from job name
.freebsd-amd64: &freebsd_amd64
tags: tags:
- libvirt - libvirt
- amd64 - amd64
@@ -70,35 +56,19 @@ stages:
- linux - linux
- amd64 - amd64
.linux-arm64: &linux_arm64
tags:
- linux
- arm64
.linux-i386: &linux_i386 .linux-i386: &linux_i386
tags: tags:
- linux - linux
- i386 - i386
.linux-stress-amd64: &linux_stress_amd64 .openbsd-amd64: &openbsd_amd64
tags: tags:
- amd64 - libvirt
- aws
- linux-stress
- stress
.linux-stress-arm64: &linux_stress_arm64
tags:
- aarch64
- aws
- linux-stress
- stress
.freebsd-stress-amd64: &freebsd_stress_amd64
tags:
- amd64
- aws
- bsd-stress
- stress
.windows-amd64: &windows_amd64
tags:
- windows
- amd64 - amd64
### Docker Image Templates ### Docker Image Templates
@@ -111,6 +81,10 @@ stages:
# CentOS # CentOS
.centos-centos6-amd64: &centos_centos6_amd64_image
image: "$CI_REGISTRY_IMAGE:centos-centos6-amd64"
<<: *linux_amd64
.centos-centos7-amd64: &centos_centos7_amd64_image .centos-centos7-amd64: &centos_centos7_amd64_image
image: "$CI_REGISTRY_IMAGE:centos-centos7-amd64" image: "$CI_REGISTRY_IMAGE:centos-centos7-amd64"
<<: *linux_amd64 <<: *linux_amd64
@@ -133,6 +107,10 @@ stages:
image: "$CI_REGISTRY_IMAGE:debian-sid-amd64" image: "$CI_REGISTRY_IMAGE:debian-sid-amd64"
<<: *linux_amd64 <<: *linux_amd64
.debian-sid-arm64: &debian_sid_arm64_image
image: "$CI_REGISTRY_IMAGE:debian-sid-arm64"
<<: *linux_arm64
.debian-sid-i386: &debian_sid_i386_image .debian-sid-i386: &debian_sid_i386_image
image: "$CI_REGISTRY_IMAGE:debian-sid-i386" image: "$CI_REGISTRY_IMAGE:debian-sid-i386"
<<: *linux_i386 <<: *linux_i386
@@ -145,14 +123,10 @@ stages:
# Fedora # Fedora
.fedora-33-amd64: &fedora_33_amd64_image .fedora-32-amd64: &fedora_32_amd64_image
image: "$CI_REGISTRY_IMAGE:fedora-33-amd64" image: "$CI_REGISTRY_IMAGE:fedora-32-amd64"
<<: *linux_amd64 <<: *linux_amd64
.fedora-33-arm64: &fedora_33_arm64_image
image: "$CI_REGISTRY_IMAGE:fedora-33-arm64"
<<: *linux_stress_arm64
# Ubuntu # Ubuntu
.ubuntu-xenial-amd64: &ubuntu_xenial_amd64_image .ubuntu-xenial-amd64: &ubuntu_xenial_amd64_image
@@ -163,32 +137,12 @@ stages:
image: "$CI_REGISTRY_IMAGE:ubuntu-focal-amd64" image: "$CI_REGISTRY_IMAGE:ubuntu-focal-amd64"
<<: *linux_amd64 <<: *linux_amd64
# Windows
.windows-server-2016-amd64: &windows_server_2016_amd64_image
image: "$CI_REGISTRY_IMAGE:windows-server-2016-amd64"
<<: *windows_amd64
# Base image # Base image
# This is a meta image that is used as a base for non-specific jobs # This is a meta image that is used as a base for non-specific jobs
.base: &base_image .base: &base_image
<<: *debian_buster_amd64_image <<: *debian_buster_amd64_image
### QCOW2 Image Templates
.freebsd-11-amd64: &freebsd_11_amd64_image
image: "freebsd-11.4-x86_64"
<<: *libvirt_amd64
.freebsd-12-amd64: &freebsd_12_amd64_image
image: "freebsd-12.2-x86_64"
<<: *libvirt_amd64
.openbsd-amd64: &openbsd_amd64_image
image: "openbsd-6.8-x86_64"
<<: *libvirt_amd64
### Job Templates ### Job Templates
.default-triggering-rules: &default_triggering_rules .default-triggering-rules: &default_triggering_rules
@@ -226,43 +180,28 @@ stages:
${CONFIGURE} \ ${CONFIGURE} \
--disable-maintainer-mode \ --disable-maintainer-mode \
--enable-developer \ --enable-developer \
--with-libtool \
--with-cmocka \ --with-cmocka \
--with-libxml2 \ --with-libxml2 \
--with-json-c \ --with-json-c \
--prefix="${BIND_INSTALL_PATH}" \ --prefix=$HOME/.local \
--without-make-clean \
--with-python=python3 \
$EXTRA_CONFIGURE \ $EXTRA_CONFIGURE \
|| cat config.log || cat config.log
.check_readline_setup: &check_readline_setup |
if [[ -n "${WITHOUT_READLINE}" ]]; then \
! grep "^#define HAVE_READLINE" config.h; \
elif [[ -n "${WITH_READLINE}" ]]; then \
grep -e "^#define HAVE_READLINE_READLINE" \
-e "^#define HAVE_READLINE_LIBEDIT" \
-e "^#define HAVE_READLINE_EDITLINE" config.h; \
elif [[ -n "${WITH_READLINE_EDITLINE}" ]]; then \
grep "^#define HAVE_READLINE_EDITLINE" config.h; \
elif [[ -n "${WITH_READLINE_LIBEDIT}" ]]; then \
grep "^#define HAVE_READLINE_LIBEDIT" config.h; \
elif [[ -n "${WITH_READLINE_READLINE}" ]]; then \
grep "^#define HAVE_READLINE_READLINE" config.h; \
fi
.build: &build_job .build: &build_job
<<: *default_triggering_rules <<: *default_triggering_rules
stage: build stage: build
before_script: before_script:
- test -w "${CCACHE_DIR}" && export PATH="/usr/lib/ccache:${PATH}" - test -w "${CCACHE_DIR}" && export PATH="/usr/lib/ccache:${PATH}"
- test -n "${OUT_OF_TREE_WORKSPACE}" && mkdir "${OUT_OF_TREE_WORKSPACE}" && cd "${OUT_OF_TREE_WORKSPACE}" - test -n "${OOT_BUILD_WORKSPACE}" && mkdir "${OOT_BUILD_WORKSPACE}" && cd "${OOT_BUILD_WORKSPACE}"
script: script:
- *configure - *configure
- *check_readline_setup
- make -j${BUILD_PARALLEL_JOBS:-1} -k all V=1 - make -j${BUILD_PARALLEL_JOBS:-1} -k all V=1
- test -z "${RUN_MAKE_INSTALL}" || make install - test -z "${RUN_MAKE_INSTALL}" || make install
- test -z "${RUN_MAKE_INSTALL}" || sh util/check-make-install - test -z "${RUN_MAKE_INSTALL}" || sh util/check-make-install
- if test -z "${OUT_OF_TREE_WORKSPACE}" && test "$(git status --porcelain | grep -Ev '\?\?' | wc -l)" -gt "0"; then git status --short; exit 1; fi - if test "$(git status --porcelain | grep -Ev '\?\?' | wc -l)" -gt "0"; then git status --short; exit 1; fi
after_script:
- test -n "${OUT_OF_TREE_WORKSPACE}" && mv "${OUT_OF_TREE_WORKSPACE}" "${CI_PROJECT_DIR}"
needs: needs:
- job: autoreconf - job: autoreconf
artifacts: true artifacts: true
@@ -272,6 +211,9 @@ stages:
.windows_build: &windows_build_job .windows_build: &windows_build_job
stage: build stage: build
tags:
- windows
- amd64
script: script:
- 'Push-Location "C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Auxiliary/Build"' - 'Push-Location "C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Auxiliary/Build"'
- '& cmd.exe /C "vcvarsall.bat x64 & set" | Foreach-Object { if ($_ -match "(.*?)=(.*)") { Set-Item -force -path "Env:\$($matches[1])" -value "$($matches[2])" } }' - '& cmd.exe /C "vcvarsall.bat x64 & set" | Foreach-Object { if ($_ -match "(.*?)=(.*)") { Set-Item -force -path "Env:\$($matches[1])" -value "$($matches[2])" } }'
@@ -311,20 +253,13 @@ stages:
<<: *default_triggering_rules <<: *default_triggering_rules
stage: system stage: system
before_script: before_script:
- *setup_softhsm
# Move the artifacts from the out-of-tree build job to their original location (the out-of-tree workspace).
- test -n "${OUT_OF_TREE_WORKSPACE}" && mv "$(basename "${OUT_OF_TREE_WORKSPACE}")" "${OUT_OF_TREE_WORKSPACE}"
# Continue work in the out-of-tree workspace.
- test -n "${OUT_OF_TREE_WORKSPACE}" && cd "${OUT_OF_TREE_WORKSPACE}"
- *setup_interfaces - *setup_interfaces
- *setup_softhsm
script: script:
- cd bin/tests/system - cd bin/tests/system
- make -j${TEST_PARALLEL_JOBS:-1} -k check V=1 - make -j${TEST_PARALLEL_JOBS:-1} -k check V=1 || make -j${TEST_PARALLEL_JOBS:-1} -k recheck V=1
after_script: after_script:
- test -n "${OUT_OF_TREE_WORKSPACE}" && cd "${OUT_OF_TREE_WORKSPACE}"
- test -d bind-* && cd bind-*
- cat bin/tests/system/test-suite.log - cat bin/tests/system/test-suite.log
- test -n "${OUT_OF_TREE_WORKSPACE}" && mv "${OUT_OF_TREE_WORKSPACE}" "${CI_PROJECT_DIR}"
.system_test: &system_test_job .system_test: &system_test_job
<<: *system_test_common <<: *system_test_common
@@ -333,13 +268,6 @@ stages:
expire_in: "1 day" expire_in: "1 day"
when: on_failure when: on_failure
.system_test_gcov: &system_test_gcov_job
<<: *system_test_common
artifacts:
untracked: true
expire_in: "1 day"
when: always
.system_test_tsan: &system_test_tsan_job .system_test_tsan: &system_test_tsan_job
<<: *system_test_common <<: *system_test_common
allow_failure: true allow_failure: true
@@ -348,7 +276,10 @@ stages:
- find bin -name 'tsan.*' -exec python3 util/parse_tsan.py {} \; - find bin -name 'tsan.*' -exec python3 util/parse_tsan.py {} \;
artifacts: artifacts:
expire_in: "1 day" expire_in: "1 day"
untracked: true paths:
- bin/tests/system/*/tsan.*
- bin/tests/system/*/*/tsan.*
- tsan/
when: on_failure when: on_failure
.kyua_report: &kyua_report_html | .kyua_report: &kyua_report_html |
@@ -360,6 +291,9 @@ stages:
.windows_system_test: &windows_system_test_job .windows_system_test: &windows_system_test_job
stage: system stage: system
tags:
- windows
- amd64
script: script:
- 'Push-Location bin/tests/system' - 'Push-Location bin/tests/system'
- '$ifIndex = Get-NetIPInterface -AddressFamily IPv4 -InterfaceMetric 75 | Select-Object -ExpandProperty ifIndex' - '$ifIndex = Get-NetIPInterface -AddressFamily IPv4 -InterfaceMetric 75 | Select-Object -ExpandProperty ifIndex'
@@ -383,7 +317,6 @@ stages:
<<: *default_triggering_rules <<: *default_triggering_rules
stage: unit stage: unit
before_script: before_script:
- if [ -n "$TCP_CONNECTIONTIMEOUT" ]; then sudo sysctl 'net.inet.tcp.keepinittime=1'; fi
- *setup_softhsm - *setup_softhsm
script: script:
- make -j${TEST_PARALLEL_JOBS:-1} -k unit V=1 - make -j${TEST_PARALLEL_JOBS:-1} -k unit V=1
@@ -395,15 +328,9 @@ stages:
expire_in: "1 day" expire_in: "1 day"
when: on_failure when: on_failure
.unit_test_gcov: &unit_test_gcov_job
<<: *unit_test_common
artifacts:
untracked: true
expire_in: "1 day"
when: always
.unit_test_tsan: &unit_test_tsan_job .unit_test_tsan: &unit_test_tsan_job
<<: *unit_test_common <<: *unit_test_common
allow_failure: true
after_script: after_script:
- find lib -name 'tsan.*' -exec python3 util/parse_tsan.py {} \; - find lib -name 'tsan.*' -exec python3 util/parse_tsan.py {} \;
artifacts: artifacts:
@@ -423,6 +350,9 @@ stages:
<<: *default_triggering_rules <<: *default_triggering_rules
stage: postcheck stage: postcheck
script: script:
# Workaround for cppcheck 2.0 uninitvar false positives triggered by (&var)->field syntax
# (see: https://sourceforge.net/p/cppcheck/discussion/general/thread/122153e3c1/)
- sed -i '/^#define ISC__BUFFER.*\\$/{s|_b|__b|;N;s|do {|\0 isc_buffer_t *_b = (isc_buffer_t *)__b;|}; /^#define ISC__BUFFER.*REGION.*\\$/{s|_r|__r|;N;s|do {|\0 isc_region_t *_r = (isc_region_t *)__r;|; /USEDREGION/{s|isc_buffer_t|const \0|g}}' lib/isc/include/isc/buffer.h
- *configure - *configure
- (make -nwk all || true) | compiledb - (make -nwk all || true) | compiledb
- export GCC_VERSION=$(gcc --version | sed -n 's/.* \([0-9]\+\)\.[0-9]\+\.[0-9]\+.*/\1/p') - export GCC_VERSION=$(gcc --version | sed -n 's/.* \([0-9]\+\)\.[0-9]\+\.[0-9]\+.*/\1/p')
@@ -467,8 +397,6 @@ misc:
- xmllint --noout --nonet `git ls-files '*.xml' '*.docbook'` - xmllint --noout --nonet `git ls-files '*.xml' '*.docbook'`
- sh util/check-win32util-configure - sh util/check-win32util-configure
- sh util/check-categories.sh - sh util/check-categories.sh
- if git grep SYSTEMTESTTOP -- ':!.gitlab-ci.yml'; then echo 'Please use relative paths instead of $SYSTEMTESTTOP.'; exit 1; fi
- bash util/unused-headers.sh
needs: [] needs: []
artifacts: artifacts:
paths: paths:
@@ -532,14 +460,9 @@ pylint:
tarball-create: tarball-create:
stage: precheck stage: precheck
<<: *base_image <<: *base_image
<<: *default_triggering_rules
script: script:
- ./configure --enable-maintainer-mode - *configure
- make maintainer-clean
- autoreconf -fi
- ./configure --enable-maintainer-mode
- make -j${BUILD_PARALLEL_JOBS:-1} all V=1 - make -j${BUILD_PARALLEL_JOBS:-1} all V=1
- if test "$(git status --porcelain | grep -Ev '\?\?' | wc -l)" -gt "0"; then git status --short; exit 1; fi
- make -j${BUILD_PARALLEL_JOBS:-1} dist V=1 - make -j${BUILD_PARALLEL_JOBS:-1} dist V=1
artifacts: artifacts:
paths: paths:
@@ -547,6 +470,8 @@ tarball-create:
needs: needs:
- job: autoreconf - job: autoreconf
artifacts: true artifacts: true
only:
- tags
# Jobs for doc builds on Debian 10 "buster" (amd64) # Jobs for doc builds on Debian 10 "buster" (amd64)
@@ -556,6 +481,7 @@ docs:
stage: docs stage: docs
before_script: before_script:
- test -w "${CCACHE_DIR}" && export PATH="/usr/lib/ccache:${PATH}" - test -w "${CCACHE_DIR}" && export PATH="/usr/lib/ccache:${PATH}"
- test -n "${OOT_BUILD_WORKSPACE}" && mkdir "${OOT_BUILD_WORKSPACE}" && cd "${OOT_BUILD_WORKSPACE}"
script: script:
- *configure - *configure
- make -j${BUILD_PARALLEL_JOBS:-1} -k doc V=1 - make -j${BUILD_PARALLEL_JOBS:-1} -k doc V=1
@@ -588,7 +514,7 @@ gcc:alpine3.12:amd64:
variables: variables:
CC: gcc CC: gcc
CFLAGS: "${CFLAGS_COMMON}" CFLAGS: "${CFLAGS_COMMON}"
EXTRA_CONFIGURE: "--enable-dnstap ${WITHOUT_READLINE}" EXTRA_CONFIGURE: "--enable-dnstap"
<<: *alpine_3_12_amd64_image <<: *alpine_3_12_amd64_image
<<: *build_job <<: *build_job
@@ -606,6 +532,30 @@ unit:gcc:alpine3.12:amd64:
- job: gcc:alpine3.12:amd64 - job: gcc:alpine3.12:amd64
artifacts: true artifacts: true
# Jobs for regular GCC builds on CentOS 6 (amd64)
gcc:centos6:amd64:
variables:
CC: gcc
CFLAGS: "${CFLAGS_COMMON}"
EXTRA_CONFIGURE: "--with-libidn2 --disable-warn-error --without-python"
<<: *centos_centos6_amd64_image
<<: *build_job
system:gcc:centos6:amd64:
<<: *centos_centos6_amd64_image
<<: *system_test_job
needs:
- job: gcc:centos6:amd64
artifacts: true
unit:gcc:centos6:amd64:
<<: *centos_centos6_amd64_image
<<: *unit_test_job
needs:
- job: gcc:centos6:amd64
artifacts: true
# Jobs for regular GCC builds on CentOS 7 (amd64) # Jobs for regular GCC builds on CentOS 7 (amd64)
gcc:centos7:amd64: gcc:centos7:amd64:
@@ -636,7 +586,7 @@ gcc:centos8:amd64:
variables: variables:
CC: gcc CC: gcc
CFLAGS: "${CFLAGS_COMMON}" CFLAGS: "${CFLAGS_COMMON}"
EXTRA_CONFIGURE: "--enable-buffer-useinline --with-libidn2" EXTRA_CONFIGURE: "--with-libidn2"
<<: *centos_centos8_amd64_image <<: *centos_centos8_amd64_image
<<: *build_job <<: *build_job
@@ -682,21 +632,20 @@ unit:gcc:stretch:amd64:
gcc:buster:amd64: gcc:buster:amd64:
variables: variables:
CC: gcc CC: gcc
CFLAGS: "${CFLAGS_COMMON} --coverage -O0" CFLAGS: "${CFLAGS_COMMON}"
EXTRA_CONFIGURE: "--enable-dnstap --with-libidn2 ${WITH_READLINE_LIBEDIT}"
<<: *debian_buster_amd64_image <<: *debian_buster_amd64_image
<<: *build_job <<: *build_job
system:gcc:buster:amd64: system:gcc:buster:amd64:
<<: *debian_buster_amd64_image <<: *debian_buster_amd64_image
<<: *system_test_gcov_job <<: *system_test_job
needs: needs:
- job: unit:gcc:buster:amd64 - job: gcc:buster:amd64
artifacts: true artifacts: true
unit:gcc:buster:amd64: unit:gcc:buster:amd64:
<<: *debian_buster_amd64_image <<: *debian_buster_amd64_image
<<: *unit_test_gcov_job <<: *unit_test_job
needs: needs:
- job: gcc:buster:amd64 - job: gcc:buster:amd64
artifacts: true artifacts: true
@@ -769,26 +718,13 @@ gcc:out-of-tree:
variables: variables:
CC: gcc CC: gcc
CFLAGS: "${CFLAGS_COMMON} -Og" CFLAGS: "${CFLAGS_COMMON} -Og"
CONFIGURE: "${CI_PROJECT_DIR}/configure" CONFIGURE: ../configure
EXTRA_CONFIGURE: "--enable-dnstap --with-libidn2 --with-lmdb" EXTRA_CONFIGURE: "--enable-dnstap --with-libidn2 --with-lmdb"
RUN_MAKE_INSTALL: 1 RUN_MAKE_INSTALL: 1
OUT_OF_TREE_WORKSPACE: /tmp/out_of_tree_workspace OOT_BUILD_WORKSPACE: workspace
<<: *base_image <<: *base_image
<<: *build_job <<: *build_job
system:gcc:out-of-tree:
variables:
OUT_OF_TREE_WORKSPACE: /tmp/out_of_tree_workspace
needs:
- job: gcc:out-of-tree
artifacts: true
<<: *base_image
<<: *system_test_job
only:
- schedules
- tags
- web
# Jobs for tarball GCC builds on Debian 10 "buster" (amd64) # Jobs for tarball GCC builds on Debian 10 "buster" (amd64)
gcc:tarball: gcc:tarball:
@@ -806,7 +742,6 @@ gcc:tarball:
- job: tarball-create - job: tarball-create
artifacts: true artifacts: true
only: only:
- schedules
- tags - tags
system:gcc:tarball: system:gcc:tarball:
@@ -819,7 +754,6 @@ system:gcc:tarball:
- job: gcc:tarball - job: gcc:tarball
artifacts: true artifacts: true
only: only:
- schedules
- tags - tags
unit:gcc:tarball: unit:gcc:tarball:
@@ -831,16 +765,39 @@ unit:gcc:tarball:
- job: gcc:tarball - job: gcc:tarball
artifacts: true artifacts: true
only: only:
- schedules
- tags - tags
# Jobs for regular GCC builds on Debian "sid" (arm64)
gcc:sid:arm64:
variables:
CC: gcc
CFLAGS: "${CFLAGS_COMMON} -Og"
EXTRA_CONFIGURE: "--with-libidn2"
<<: *debian_sid_arm64_image
<<: *build_job
system:gcc:sid:arm64:
<<: *debian_sid_arm64_image
<<: *system_test_job
needs:
- job: gcc:sid:arm64
artifacts: true
unit:gcc:sid:arm64:
<<: *debian_sid_arm64_image
<<: *unit_test_job
needs:
- job: gcc:sid:arm64
artifacts: true
# Jobs for regular GCC builds on Debian "sid" (i386) # Jobs for regular GCC builds on Debian "sid" (i386)
gcc:sid:i386: gcc:sid:i386:
variables: variables:
CC: gcc CC: gcc
CFLAGS: "${CFLAGS_COMMON}" CFLAGS: "${CFLAGS_COMMON}"
EXTRA_CONFIGURE: "--with-libidn2" EXTRA_CONFIGURE: "--with-libidn2 --without-python"
<<: *debian_sid_i386_image <<: *debian_sid_i386_image
<<: *build_job <<: *build_job
@@ -858,13 +815,13 @@ unit:gcc:sid:i386:
- job: gcc:sid:i386 - job: gcc:sid:i386
artifacts: true artifacts: true
# Jobs for debug GCC builds on openSUSE Tumbleweed (amd64) # Jobs for regular GCC builds on openSUSE Tumbleweed (amd64)
gcc:tumbleweed:amd64: gcc:tumbleweed:amd64:
variables: variables:
CC: gcc CC: gcc
CFLAGS: "${CFLAGS_COMMON} -DDEBUG" CFLAGS: "${CFLAGS_COMMON}"
EXTRA_CONFIGURE: "--with-libidn2 ${WITH_READLINE_READLINE}" EXTRA_CONFIGURE: "--with-libidn2 --with-python --with-gssapi=/usr/lib/mit/bin/krb5-config"
<<: *tumbleweed_latest_amd64_image <<: *tumbleweed_latest_amd64_image
<<: *build_job <<: *build_job
@@ -1072,6 +1029,7 @@ clang:buster:amd64:
variables: variables:
CC: ${CLANG} CC: ${CLANG}
CFLAGS: "${CFLAGS_COMMON} -Wenum-conversion" CFLAGS: "${CFLAGS_COMMON} -Wenum-conversion"
EXTRA_CONFIGURE: "--with-python=python3"
<<: *debian_buster_amd64_image <<: *debian_buster_amd64_image
<<: *build_job <<: *build_job
@@ -1113,127 +1071,116 @@ unit:gcc:softhsm2.4:
- job: gcc:softhsm2.4 - job: gcc:softhsm2.4
artifacts: true artifacts: true
# Jobs for PKCS#11-enabled GCC builds on Fedora 33 (amd64) # Jobs for PKCS#11-enabled GCC builds on Fedora 32 (amd64)
gcc:softhsm2.6: gcc:softhsm2.6:
variables: variables:
CC: gcc CC: gcc
CFLAGS: "${CFLAGS_COMMON} -O1" CFLAGS: "${CFLAGS_COMMON} -O1"
EXTRA_CONFIGURE: "--with-libidn2 --enable-native-pkcs11 --with-pkcs11=/usr/lib64/pkcs11/libsofthsm2.so" EXTRA_CONFIGURE: "--with-libidn2 --enable-native-pkcs11 --with-pkcs11=/usr/lib64/pkcs11/libsofthsm2.so"
<<: *fedora_33_amd64_image <<: *fedora_32_amd64_image
<<: *build_job <<: *build_job
system:gcc:softhsm2.6: system:gcc:softhsm2.6:
<<: *fedora_33_amd64_image <<: *fedora_32_amd64_image
<<: *system_test_job <<: *system_test_job
needs: needs:
- job: gcc:softhsm2.6 - job: gcc:softhsm2.6
artifacts: true artifacts: true
unit:gcc:softhsm2.6: unit:gcc:softhsm2.6:
<<: *fedora_33_amd64_image <<: *fedora_32_amd64_image
<<: *unit_test_job <<: *unit_test_job
needs: needs:
- job: gcc:softhsm2.6 - job: gcc:softhsm2.6
artifacts: true artifacts: true
# Jobs for Clang builds on FreeBSD 11 (amd64) # Jobs for Clang builds on FreeBSD 11.4 (amd64)
clang:freebsd11:amd64: clang:freebsd11.4:amd64:
variables: variables:
CFLAGS: "${CFLAGS_COMMON}" CFLAGS: "${CFLAGS_COMMON}"
EXTRA_CONFIGURE: "${WITH_READLINE}"
USER: gitlab-runner USER: gitlab-runner
<<: *freebsd_11_amd64_image # Temporarily disable LMDB support [GL #1976]
EXTRA_CONFIGURE: "--without-lmdb"
<<: *freebsd_amd64
<<: *build_job <<: *build_job
system:clang:freebsd11:amd64: system:clang:freebsd11.4:amd64:
<<: *freebsd_11_amd64_image <<: *freebsd_amd64
<<: *system_test_job <<: *system_test_job
variables: variables:
USER: gitlab-runner USER: gitlab-runner
TEST_PARALLEL_JOBS: 4 TEST_PARALLEL_JOBS: 4
needs: needs:
- job: clang:freebsd11:amd64 - job: clang:freebsd11.4:amd64
artifacts: true artifacts: true
unit:clang:freebsd11:amd64: unit:clang:freebsd11.4:amd64:
<<: *freebsd_11_amd64_image <<: *freebsd_amd64
<<: *unit_test_job <<: *unit_test_job
needs: needs:
- job: clang:freebsd11:amd64 - job: clang:freebsd11.4:amd64
artifacts: true artifacts: true
# Jobs for Clang builds on FreeBSD 12 (amd64) # Jobs for Clang builds on FreeBSD 12.1 (amd64)
clang:freebsd12:amd64: clang:freebsd12.1:amd64:
variables: variables:
CFLAGS: "${CFLAGS_COMMON}" CFLAGS: "${CFLAGS_COMMON}"
EXTRA_CONFIGURE: "--enable-dnstap ${WITH_READLINE_EDITLINE}" # Temporarily disable LMDB support [GL #1976]
EXTRA_CONFIGURE: "--enable-dnstap --without-lmdb"
USER: gitlab-runner USER: gitlab-runner
<<: *freebsd_12_amd64_image <<: *freebsd_amd64
<<: *build_job <<: *build_job
system:clang:freebsd12:amd64: system:clang:freebsd12.1:amd64:
<<: *freebsd_12_amd64_image <<: *freebsd_amd64
<<: *system_test_job <<: *system_test_job
variables: variables:
USER: gitlab-runner USER: gitlab-runner
TEST_PARALLEL_JOBS: 4 TEST_PARALLEL_JOBS: 4
needs: needs:
- job: clang:freebsd12:amd64 - job: clang:freebsd12.1:amd64
artifacts: true artifacts: true
unit:clang:freebsd12:amd64: unit:clang:freebsd12.1:amd64:
<<: *freebsd_12_amd64_image <<: *freebsd_amd64
<<: *unit_test_job <<: *unit_test_job
needs: needs:
- job: clang:freebsd12:amd64 - job: clang:freebsd12.1:amd64
artifacts: true artifacts: true
# Jobs for Clang builds on OpenBSD (amd64) # Jobs for Clang builds on OpenBSD 6.7 (amd64)
clang:openbsd:amd64: clang:openbsd6.7:amd64:
variables: variables:
CC: clang CC: clang
USER: gitlab-runner USER: gitlab-runner
<<: *openbsd_amd64_image <<: *openbsd_amd64
<<: *build_job <<: *build_job
system:clang:openbsd:amd64: system:clang:openbsd6.7:amd64:
<<: *openbsd_amd64_image <<: *openbsd_amd64
<<: *system_test_job <<: *system_test_job
variables: variables:
USER: gitlab-runner USER: gitlab-runner
needs: needs:
- job: clang:openbsd:amd64 - job: clang:openbsd6.7:amd64
artifacts: true artifacts: true
only: only:
- schedules - schedules
- web - web
unit:clang:openbsd:amd64:
<<: *openbsd_amd64_image
<<: *unit_test_job
variables:
USER: gitlab-runner
# There's no socket option on OpenBSD, so we need to set this globally
TCP_CONNECTIONTIMEOUT: 1
needs:
- job: clang:openbsd:amd64
artifacts: true
# Jobs for Visual Studio 2017 builds on Windows (amd64) # Jobs for Visual Studio 2017 builds on Windows (amd64)
msvc:windows:amd64: msvc:windows:amd64:
<<: *windows_server_2016_amd64_image
<<: *windows_build_job <<: *windows_build_job
<<: *default_triggering_rules <<: *default_triggering_rules
variables: variables:
VSCONF: Release VSCONF: Release
system:msvc:windows:amd64: system:msvc:windows:amd64:
<<: *windows_server_2016_amd64_image
<<: *windows_system_test_job <<: *windows_system_test_job
variables: variables:
VSCONF: Release VSCONF: Release
@@ -1242,7 +1189,6 @@ system:msvc:windows:amd64:
artifacts: true artifacts: true
msvc-debug:windows:amd64: msvc-debug:windows:amd64:
<<: *windows_server_2016_amd64_image
<<: *windows_build_job <<: *windows_build_job
variables: variables:
VSCONF: Debug VSCONF: Debug
@@ -1252,7 +1198,6 @@ msvc-debug:windows:amd64:
- web - web
system:msvc-debug:windows:amd64: system:msvc-debug:windows:amd64:
<<: *windows_server_2016_amd64_image
<<: *windows_system_test_job <<: *windows_system_test_job
variables: variables:
VSCONF: Debug VSCONF: Debug
@@ -1273,8 +1218,6 @@ release:
- find Build/ -regextype posix-extended -regex "Build/.*/($(find bin/tests/ -type f | sed -nE "s|^bin/tests(/system)?/win32/(.*)\.vcxproj$|\2|p" | paste -d"|" -s))\..*" -print -delete - find Build/ -regextype posix-extended -regex "Build/.*/($(find bin/tests/ -type f | sed -nE "s|^bin/tests(/system)?/win32/(.*)\.vcxproj$|\2|p" | paste -d"|" -s))\..*" -print -delete
# Create Windows zips # Create Windows zips
- openssl dgst -sha256 "${BIND_DIRECTORY}.tar.${TARBALL_EXTENSION}" | tee Build/Release/SHA256 Build/Debug/SHA256 - openssl dgst -sha256 "${BIND_DIRECTORY}.tar.${TARBALL_EXTENSION}" | tee Build/Release/SHA256 Build/Debug/SHA256
- cp "doc/arm/_build/latex/Bv9ARM.pdf" Build/Release/
- cp "doc/arm/_build/latex/Bv9ARM.pdf" Build/Debug/
- ( cd Build/Release; zip "../../BIND${BIND_DIRECTORY#bind-}.x64.zip" * ) - ( cd Build/Release; zip "../../BIND${BIND_DIRECTORY#bind-}.x64.zip" * )
- ( cd Build/Debug; zip "../../BIND${BIND_DIRECTORY#bind-}.debug.x64.zip" * ) - ( cd Build/Debug; zip "../../BIND${BIND_DIRECTORY#bind-}.debug.x64.zip" * )
# Prepare release tarball contents (tarballs + zips + documentation) # Prepare release tarball contents (tarballs + zips + documentation)
@@ -1373,16 +1316,16 @@ respdiff:
variables: variables:
CC: gcc CC: gcc
CFLAGS: "${CFLAGS_COMMON} -Og" CFLAGS: "${CFLAGS_COMMON} -Og"
BIND_BASELINE_VERSION: v9_11_24 BIND_BASELINE_VERSION: v9_11_3
script: script:
- autoreconf -fi - autoreconf -fi
- ./configure - ./configure --without-make-clean
- make -j${BUILD_PARALLEL_JOBS:-1} V=1 - make -j${BUILD_PARALLEL_JOBS:-1} V=1
- *setup_interfaces - *setup_interfaces
- git clone --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.isc.org/isc-private/bind-qa.git - git clone --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.isc.org/isc-private/bind-qa.git
- git clone --branch "${BIND_BASELINE_VERSION}" --depth 1 https://gitlab.isc.org/isc-projects/bind9.git refbind - git clone --branch "${BIND_BASELINE_VERSION}" --depth 1 https://gitlab.isc.org/isc-projects/bind9.git refbind
- cd refbind/ - cd refbind/
- ./configure - ./configure --without-make-clean
- make -j${BUILD_PARALLEL_JOBS:-1} V=1 - make -j${BUILD_PARALLEL_JOBS:-1} V=1
- cd ../bind-qa/bind9/respdiff - cd ../bind-qa/bind9/respdiff
- bash respdiff.sh -q "${PWD}/100k_mixed.txt" -c 3 -w "${PWD}/rspworkdir" "${CI_PROJECT_DIR}/refbind" "${CI_PROJECT_DIR}" - bash respdiff.sh -q "${PWD}/100k_mixed.txt" -c 3 -w "${PWD}/rspworkdir" "${CI_PROJECT_DIR}/refbind" "${CI_PROJECT_DIR}"
@@ -1398,116 +1341,6 @@ respdiff:
expire_in: "1 day" expire_in: "1 day"
when: on_failure when: on_failure
# "Stress" tests
.stress: &stress_job
stage: performance
script:
- *configure
- *setup_interfaces
- *setup_softhsm
- make -j${BUILD_PARALLEL_JOBS:-1} -k all V=1
- make install
- git clone --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.isc.org/isc-private/bind-qa.git
- cd bind-qa/bind9/stress
- DIG="${BIND_INSTALL_PATH}/bin/dig" WORKSPACE="${CI_PROJECT_DIR}" bash stress.sh
needs:
- job: autoreconf
artifacts: true
artifacts:
untracked: true
expire_in: "1 day"
when: always
timeout: 2h
stress:authoritative:fedora:33:amd64:
<<: *fedora_33_amd64_image
<<: *linux_stress_amd64
<<: *stress_job
variables:
CC: gcc
FLAME: /usr/bin/flame
MODE: authoritative
RATE: 10000
RUN_TIME: 1
only:
variables:
- $CI_COMMIT_TAG || ($BIND_STRESS_TEST_OS =~ /linux/i && $BIND_STRESS_TEST_MODE =~ /authoritative/i && $BIND_STRESS_TEST_ARCH =~ /amd64/i)
stress:recursive:fedora:33:amd64:
<<: *fedora_33_amd64_image
<<: *linux_stress_amd64
<<: *stress_job
variables:
CC: gcc
FLAME: /usr/bin/flame
MODE: recursive
RATE: 10000
RUN_TIME: 1
only:
variables:
- $CI_COMMIT_TAG || ($BIND_STRESS_TEST_OS =~ /linux/i && $BIND_STRESS_TEST_MODE =~ /recursive/i && $BIND_STRESS_TEST_ARCH =~ /amd64/i)
stress:authoritative:fedora:33:arm64:
<<: *fedora_33_arm64_image
<<: *linux_stress_arm64
<<: *stress_job
variables:
CC: gcc
FLAME: /usr/bin/flame
MODE: authoritative
RATE: 10000
RUN_TIME: 1
only:
variables:
- $CI_COMMIT_TAG || ($BIND_STRESS_TEST_OS =~ /linux/i && $BIND_STRESS_TEST_MODE =~ /authoritative/i && $BIND_STRESS_TEST_ARCH =~ /arm64/i)
stress:recursive:fedora:33:arm64:
<<: *fedora_33_arm64_image
<<: *linux_stress_arm64
<<: *stress_job
variables:
CC: gcc
FLAME: /usr/bin/flame
MODE: recursive
RATE: 10000
RUN_TIME: 1
only:
variables:
- $CI_COMMIT_TAG || ($BIND_STRESS_TEST_OS =~ /linux/i && $BIND_STRESS_TEST_MODE =~ /recursive/i && $BIND_STRESS_TEST_ARCH =~ /arm64/i)
stress:authoritative:freebsd12:amd64:
<<: *freebsd_12_amd64_image
<<: *freebsd_stress_amd64
<<: *stress_job
variables:
CC: clang
FLAME: /usr/local/bin/flame
MODE: authoritative
RATE: 10000
RUN_TIME: 1
only:
variables:
- $CI_COMMIT_TAG || ($BIND_STRESS_TEST_OS =~ /freebsd/i && $BIND_STRESS_TEST_MODE =~ /authoritative/i && $BIND_STRESS_TEST_ARCH =~ /amd64/i)
# See: https://gitlab.isc.org/isc-projects/bind9/-/issues/1941
allow_failure: true
stress:recursive:freebsd12:amd64:
<<: *freebsd_12_amd64_image
<<: *freebsd_stress_amd64
<<: *stress_job
variables:
CC: clang
FLAME: /usr/local/bin/flame
MODE: recursive
RATE: 10000
RUN_TIME: 1
only:
variables:
- $CI_COMMIT_TAG || ($BIND_STRESS_TEST_OS =~ /freebsd/i && $BIND_STRESS_TEST_MODE =~ /recursive/i && $BIND_STRESS_TEST_ARCH =~ /amd64/i)
# See: https://gitlab.isc.org/isc-projects/bind9/-/issues/1941
allow_failure: true
# ABI check # ABI check
abi-check: abi-check:
@@ -1519,8 +1352,7 @@ abi-check:
variables: variables:
CC: gcc CC: gcc
CFLAGS: "${CFLAGS_COMMON} -Og" CFLAGS: "${CFLAGS_COMMON} -Og"
EXTRA_CONFIGURE: "--enable-dnstap --with-libidn2" BIND_BASELINE_VERSION: v9_17_2
BIND_BASELINE_VERSION: v9_17_7
script: script:
- *configure - *configure
- make -j${BUILD_PARALLEL_JOBS:-1} V=1 - make -j${BUILD_PARALLEL_JOBS:-1} V=1
@@ -1540,53 +1372,3 @@ abi-check:
only: only:
- main@isc-projects/bind9 - main@isc-projects/bind9
- /^v9_[1-9][0-9]$/@isc-projects/bind9 - /^v9_[1-9][0-9]$/@isc-projects/bind9
gcov:
<<: *base_image
<<: *default_triggering_rules
stage: postcheck
needs:
- job: system:gcc:buster:amd64
artifacts: true
script:
# *.gcno and *.gcda files generated for shared library objects are created
# in directories in which gcovr is unable to process them properly
# (.../.libs/...). Move such *.gcno and *.gcda files one level higher.
- find . -regex ".*/\.libs/.*\.\(gcda\|gcno\)" -execdir mv "{}" .. \;
# Help gcovr process the nasty tricks in lib/dns/code.h, where we include C
# source files from lib/dns/rdata/*/, using an even nastier trick.
- find lib/dns/rdata/* -name "*.c" -execdir cp -f "{}" ../../ \;
# Generate XML file in the Cobertura XML format suitable for use by GitLab
# for the purpose of displaying code coverage information in the diff view
# of a given merge request.
- gcovr --root . --exclude-directories bin/tests --exclude-directories doc --exclude-directories lib/samples --exclude 'lib/.*/tests/.*' --xml -o coverage.xml
- gcovr --root . --exclude-directories bin/tests --exclude-directories doc --exclude-directories lib/samples --exclude 'lib/.*/tests/.*' --html-details -o coverage.html
- gcovr --root . --exclude-directories bin/tests --exclude-directories doc --exclude-directories lib/samples --exclude 'lib/.*/tests/.*' -o coverage.txt
- tail -n 3 coverage.txt
artifacts:
paths:
- coverage*.html
- coverage.txt
- coverage.xml
reports:
cobertura: coverage.xml
# Pairwise testing of ./configure options
pairwise:
<<: *base_image
stage: build
needs:
- job: autoreconf
artifacts: true
script:
- util/pairwise-testing.sh
artifacts:
paths:
- pairwise-commands.txt
- pairwise-model.txt
- pairwise-output.*.txt
when: on_failure
only:
variables:
- $PAIRWISE_TESTING
+17 -34
View File
@@ -6,26 +6,6 @@
**Public Release:** **Public Release:**
## Documentation Review Links
**Closed issues assigned to the milestone without a release note:**
- []()
- []()
- []()
**Merge requests merged into the milestone without a release note:**
- []()
- []()
- []()
**Merge requests merged into the milestone without a `CHANGES` entry:**
- []()
- []()
- []()
## Release Checklist ## Release Checklist
### Before the Code Freeze ### Before the Code Freeze
@@ -41,17 +21,20 @@
- [ ] ***(QA)*** Look for outstanding documentation issues (e.g. `CHANGES` mistakes) and address them if any are found. - [ ] ***(QA)*** Look for outstanding documentation issues (e.g. `CHANGES` mistakes) and address them if any are found.
- [ ] ***(QA)*** Ensure release notes are correct, ask Support and Marketing to check them as well. - [ ] ***(QA)*** Ensure release notes are correct, ask Support and Marketing to check them as well.
- [ ] ***(QA)*** Update API files for libraries with new version information. - [ ] ***(Support)*** Check release notes, ask QA to correct any mistakes found.
- [ ] ***(QA)*** Change software version and library versions in `configure.ac` (new major release only). - [ ] ***(Marketing)*** Check release notes, ask QA to correct any mistakes found.
- [ ] ***(QA)*** Rebuild `configure` using Autoconf on `docs.isc.org`. - [ ] ***(SwEng)*** Update API files for libraries with new version information.
- [ ] ***(QA)*** Update `CHANGES`. - [ ] ***(SwEng)*** Change software version and library versions in `configure.ac` (new major release only).
- [ ] ***(QA)*** Update `CHANGES.SE` (Subscription Edition only). - [ ] ***(SwEng)*** Rebuild `configure` using Autoconf on `docs.isc.org`.
- [ ] ***(QA)*** Update `README.md`. - [ ] ***(SwEng)*** Update `CHANGES`.
- [ ] ***(QA)*** Update `version`. - [ ] ***(SwEng)*** Update `CHANGES.SE` (Subscription Edition only).
- [ ] ***(QA)*** Build documentation on `docs.isc.org`. - [ ] ***(SwEng)*** Update `README.md`.
- [ ] ***(SwEng)*** Update `version`.
- [ ] ***(SwEng)*** Build documentation on `docs.isc.org`.
- [ ] ***(QA)*** Check that all the above steps were performed correctly.
- [ ] ***(QA)*** Check that the formatting is correct for text, PDF, and HTML versions of release notes. - [ ] ***(QA)*** Check that the formatting is correct for text, PDF, and HTML versions of release notes.
- [ ] ***(QA)*** Check that the formatting of the generated man pages is correct. - [ ] ***(SwEng)*** Tag the releases[^2]. (Tags may only be pushed to the public repository for releases which are *not* security releases.)
- [ ] ***(QA)*** Tag the releases in the private repository (`git tag -s -m "BIND 9.x.y" v9_x_y`). - [ ] ***(SwEng)*** If this is the first tag for a release (e.g. beta), create a release branch named `release_v9_X_Y` to allow development to continue on the maintenance branch whilst release engineering continues.
### Before the ASN Deadline (for ASN Releases) or the Public Release Date (for Regular Releases) ### Before the ASN Deadline (for ASN Releases) or the Public Release Date (for Regular Releases)
@@ -71,7 +54,6 @@
- [ ] ***(Support)*** Publish links to downloads on ISC website. - [ ] ***(Support)*** Publish links to downloads on ISC website.
- [ ] ***(Support)*** Write release email to *bind-announce*. - [ ] ***(Support)*** Write release email to *bind-announce*.
- [ ] ***(Support)*** Write email to *bind-users* (if a major release). - [ ] ***(Support)*** Write email to *bind-users* (if a major release).
- [ ] ***(Support)*** Send eligible customers updated links to the Subscription Edition.
- [ ] ***(Support)*** Update tickets in case of waiting support customers. - [ ] ***(Support)*** Update tickets in case of waiting support customers.
- [ ] ***(QA)*** Build and test any outstanding private packages. - [ ] ***(QA)*** Build and test any outstanding private packages.
- [ ] ***(QA)*** Build public packages (`*.deb`, RPMs). - [ ] ***(QA)*** Build public packages (`*.deb`, RPMs).
@@ -81,11 +63,12 @@
- [ ] ***(Marketing)*** Update [Wikipedia entry for BIND](https://en.wikipedia.org/wiki/BIND). - [ ] ***(Marketing)*** Update [Wikipedia entry for BIND](https://en.wikipedia.org/wiki/BIND).
- [ ] ***(Marketing)*** Write blog article (if a major release). - [ ] ***(Marketing)*** Write blog article (if a major release).
- [ ] ***(QA)*** Ensure all new tags are annotated and signed. - [ ] ***(QA)*** Ensure all new tags are annotated and signed.
- [ ] ***(QA)*** Push tags for the published releases to the public repository. - [ ] ***(SwEng)*** Merge the automatically prepared `prep 9.X.Y` commit which updates `version` and documentation on the release branch into the relevant maintenance branch (`v9_X`).
- [ ] ***(QA)*** Merge the automatically prepared `prep 9.x.y` commit which updates `version` and documentation on the release branch into the relevant maintenance branch (`v9_x`). - [ ] ***(SwEng)*** Push tags for the published releases to the public repository.
- [ ] ***(QA)*** For each maintained branch, update the `BIND_BASELINE_VERSION` variable for the `abi-check` job in `.gitlab-ci.yml` to the latest published BIND version tag for a given branch. - [ ] ***(QA)*** For each maintained branch, update the `BIND_BASELINE_VERSION` variable for the `abi-check` job in `.gitlab-ci.yml` to the latest published BIND version tag for a given branch.
- [ ] ***(QA)*** Prepare empty release notes for the next set of releases. - [ ] ***(QA)*** Prepare empty release notes for the next set of releases.
- [ ] ***(QA)*** Sanitize all confidential issues assigned to the release milestone and make them public.
- [ ] ***(QA)*** Update QA tools used in GitLab CI (e.g. Flake8, PyLint) by modifying the relevant `Dockerfile`. - [ ] ***(QA)*** Update QA tools used in GitLab CI (e.g. Flake8, PyLint) by modifying the relevant `Dockerfile`.
[^1]: If not, use the time remaining until the tagging deadline to ensure all outstanding issues are either resolved or moved to a different milestone. [^1]: If not, use the time remaining until the tagging deadline to ensure all outstanding issues are either resolved or moved to a different milestone.
[^2]: Preferred command line: `git tag -u <DEVELOPER_KEYID> -a -s -m "BIND 9.X.Y[alphatag]" v9_X_Y[alphatag]`, where `[alphatag]` is an optional string such as `b1`, `rc1`, etc.
+1
View File
@@ -29,6 +29,7 @@ path_classifiers:
- "**/*.5" - "**/*.5"
- "**/*.8" - "**/*.8"
queries: queries:
- exclude: libltdl/
- exclude: fuzz/ - exclude: fuzz/
- exclude: "bin/tests/system/*/ans*/*.py" - exclude: "bin/tests/system/*/ans*/*.py"
- exclude: cpp/use-of-goto - exclude: cpp/use-of-goto
+24 -349
View File
@@ -1,342 +1,15 @@
--- 9.17.8 released --- 5461. [bug] The header STALE attribute was not being updated with
the write lock being held leading to incorrect
5545. [func] OS support for load-balanced sockets is no longer statistics. Convert the header attributes to use atomic
required to receive incoming queries in multiple netmgr operations. [GL #1475]
threads. [GL #2137]
5544. [func] Restore the default value of "nocookie-udp-size" to 4096
bytes. [GL #2250]
5543. [bug] Fix UDP performance issues caused by making netmgr
callbacks asynchronous-only. [GL #2320]
5542. [bug] Refactor netmgr. [GL #1920] [GL #2034] [GL #2061]
[GL #2194] [GL #2221] [GL #2266] [GL #2283] [GL #2318]
[GL #2321]
5541. [func] Adjust the "max-recursion-queries" default from 75 to
100. [GL #2305]
5540. [port] Fix building with native PKCS#11 support for AEP Keyper.
[GL #2315]
5539. [bug] Tighten handling of missing DNS COOKIE responses over
UDP by falling back to TCP. [GL #2275]
5538. [func] Add NSEC3 support to KASP. A new option for
"dnssec-policy", "nsec3param", can be used to set the
desired NSEC3 parameters. NSEC3 salt collisions are
automatically prevented during resalting. Salt
generation is now logged with zone context. [GL #1620]
5537. [func] The query plugin mechanism has been extended
to support asynchronous operations. For example, a
plugin can now trigger recursion and resume
processing when it is complete. Thanks to Jinmei
Tatuya at Infoblox. [GL #2141]
5536. [func] Dig can now report the DNS64 prefixes in use
(+dns64prefix). [GL #1154]
5535. [bug] dig/nslookup/host could crash on shutdown after an
interrupt. [GL #2287] [GL #2288]
5534. [bug] The CNAME synthesized from a DNAME was incorrectly
followed when the QTYPE was CNAME or ANY. [GL #2280]
--- 9.17.7 released ---
5533. [func] Add the "stale-refresh-time" option, a time window that
starts after a failed lookup, during which a stale RRset
is served directly from cache before a new attempt to
refresh it is made. [GL #2066]
5532. [cleanup] Unused header files were removed:
bin/rndc/include/rndc/os.h, lib/isc/timer_p.h,
lib/isccfg/include/isccfg/dnsconf.h and code related
to those files. [GL #1913]
5531. [func] Add support for DNS over TLS (DoT) to dig and named.
dig output now includes the transport protocol used.
[GL #1816] [GL #1840]
5530. [bug] dnstap did not capture responses to forwarded UPDATE
requests. [GL #2252]
5529. [func] The network manager API is now used by named to send
zone transfer requests. [GL #2016]
5528. [func] Convert dig, host, and nslookup to use the network
manager API. As a side effect of this change, "dig
+unexpected" no longer works, and has been disabled.
[GL #2140]
5527. [bug] A NULL pointer dereference occurred when creating an NTA
recheck query failed. [GL #2244]
5526. [bug] Fix a race/NULL dereference in TCPDNS read. [GL #2227]
5525. [placeholder]
5524. [func] Added functionality to the network manager to support
outgoing DNS queries in addition to incoming ones.
[GL #2235]
5523. [bug] The initial lookup in a zone transitioning to/from a
signed state could fail if the DNSKEY RRset was not
found. [GL #2236]
5522. [bug] Fixed a race/NULL dereference in TCPDNS send. [GL #2227]
5521. [func] All use of libltdl was dropped. libuv's shared library
handling interface is now used instead. [GL !4278]
5520. [bug] Fixed a number of shutdown races, reference counting
errors, and spurious log messages that could occur
in the network manager. [GL #2221]
5519. [cleanup] Unused source code was removed: lib/dns/dbtable.c,
lib/dns/portlist.c, lib/isc/bufferlist.c, and code
related to those files. [GL #2060]
5518. [bug] Stub zones now work correctly with primary servers using
"minimal-responses yes". [GL #1736]
5517. [bug] Do not treat UV_EOF as a TCP4RecvErr or a TCP6RecvErr.
[GL #2208]
--- 9.17.6 released ---
5516. [func] The default EDNS buffer size has been changed from 4096
to 1232 bytes, the EDNS buffer size probing has been
removed, and named now sets the DF (Don't Fragment) flag
on outgoing UDP packets. [GL #2183]
5515. [func] Add 'rndc dnssec -rollover' command to trigger a manual
rollover for a specific key. [GL #1749]
5514. [bug] Fix KASP expected key size for Ed25519 and Ed448.
[GL #2171]
5513. [doc] The ARM section describing the "rrset-order" statement
was rewritten to make it unambiguous and up-to-date with
the source code. [GL #2139]
5512. [bug] "rrset-order" rules using "order none" were causing
named to crash despite named-checkconf treating them as
valid. [GL #2139]
5511. [bug] 'dig -u +yaml' failed to display timestamps to the
microsecond. [GL #2190]
5510. [bug] Implement the attach/detach semantics for dns_message_t
to fix a data race in accessing an already-destroyed
fctx->rmessage. [GL #2124]
5509. [bug] filter-aaaa: named crashed upon shutdown if it was in
the process of recursing for A RRsets. [GL #1040]
5508. [func] Added new parameter "-expired" for "rndc dumpdb" that
also prints expired RRsets (awaiting cleanup) to the
dump file. [GL #1870]
5507. [bug] Named could compute incorrect SIG(0) responses.
[GL #2109]
5506. [bug] Properly handle failed sysconf() calls, so we don't
report invalid memory size. [GL #2166]
5505. [bug] Updating contents of a mixed-case RPZ could cause some
rules to be ignored. [GL #2169]
5504. [func] The "glue-cache" option has been marked as deprecated.
The glue cache feature will be permanently enabled in a
future release. [GL #2146]
5503. [bug] Cleaned up reference counting of network manager
handles, now using isc_nmhandle_attach() and _detach()
instead of _ref() and _unref(). [GL #2122]
--- 9.17.5 released ---
5502. [func] 'dig +bufsize=0' no longer disables EDNS. [GL #2054]
5501. [func] Log CDS/CDNSKEY publication. [GL #1748]
5500. [bug] Fix (non-)publication of CDS and CDNSKEY records.
[GL #2103]
5499. [func] Add '-P ds' and '-D ds' arguments to dnssec-settime.
[GL #1748]
5498. [test] The --with-gperftools-profiler configure option was
removed. [GL !4045]
5497. [placeholder]
5496. [bug] Address a TSAN report by ensuring each rate limiter
object holds a reference to its task. [GL #2081]
5495. [bug] With query minimization enabled, named failed to
resolve ip6.arpa. names that had extra labels to the
left of the IPv6 part. [GL #1847]
5494. [bug] Silence the EPROTO syslog message on older systems.
[GL #1928]
5493. [bug] Fix off-by-one error when calculating new hash table
size. [GL #2104]
5492. [bug] Tighten LOC parsing to reject a period (".") and/or "m"
as a value. Fix handling of negative altitudes which are
not whole meters. [GL #2074]
5491. [bug] rbtversion->glue_table_size could be read without the
appropriate lock being held. [GL #2080]
5490. [func] Refactor readline support to use pkg-config and add
support for the editline library. [GL !3942]
5489. [bug] Named erroneously accepted certain invalid resource
records that were incorrectly processed after
subsequently being written to disk and loaded back, as
the wire format differed. Such records include: CERT,
IPSECKEY, NSEC3, NSEC3PARAM, NXT, SIG, TLSA, WKS, and
X25. [GL !3953]
5488. [bug] NTA code needed to have a weak reference on its
associated view to prevent the latter from being deleted
while NTA tests were being performed. [GL #2067]
5487. [cleanup] Update managed keys log messages to be less confusing.
[GL #2027]
5486. [func] Add 'rndc dnssec -checkds' command, which signals to
named that the DS record for a given zone or key has
been updated in the parent zone. [GL #1613]
--- 9.17.4 released ---
5485. [placeholder]
5484. [func] Expire zero TTL records quickly rather than using them
for stale answers. [GL #1829]
5483. [func] Keeping "stale" answers in cache has been disabled by
default and can be re-enabled with a new configuration
option "stale-cache-enable". [GL #1712]
5482. [bug] If the Duplicate Address Detection (DAD) mechanism had
not yet finished after adding a new IPv6 address to the
system, BIND 9 would fail to bind to IPv6 addresses in a
tentative state. [GL #2038]
5481. [security] "update-policy" rules of type "subdomain" were
incorrectly treated as "zonesub" rules, which allowed
keys used in "subdomain" rules to update names outside
of the specified subdomains. The problem was fixed by
making sure "subdomain" rules are again processed as
described in the ARM. (CVE-2020-8624) [GL #2055]
5480. [security] When BIND 9 was compiled with native PKCS#11 support, it
was possible to trigger an assertion failure in code
determining the number of bits in the PKCS#11 RSA public
key with a specially crafted packet. (CVE-2020-8623)
[GL #2037]
5479. [security] named could crash in certain query resolution scenarios
where QNAME minimization and forwarding were both
enabled. (CVE-2020-8621) [GL #1997]
5478. [security] It was possible to trigger an assertion failure by
sending a specially crafted large TCP DNS message.
(CVE-2020-8620) [GL #1996]
5477. [bug] The idle timeout for connected TCP sockets, which was
previously set to a high fixed value, is now derived
from the client query processing timeout configured for
a resolver. [GL #2024]
5476. [security] It was possible to trigger an assertion failure when
verifying the response to a TSIG-signed request.
(CVE-2020-8622) [GL #2028]
5475. [bug] Wildcard RPZ passthru rules could incorrectly be
overridden by other rules that were loaded from RPZ
zones which appeared later in the "response-policy"
statement. This has been fixed. [GL #1619]
5474. [bug] dns_rdata_hip_next() failed to return ISC_R_NOMORE
when it should have. [GL !3880]
5473. [func] The RBT hash table implementation has been changed
to use a faster hash function (HalfSipHash2-4) and
Fibonacci hashing for better distribution. Setting
"max-cache-size" now preallocates a fixed-size hash
table so that rehashing does not cause resolution
brownouts while the hash table is grown. [GL #1775]
5472. [func] The statistics channel has been updated to use the
new network manager. [GL #2022]
5471. [bug] The introduction of KASP support inadvertently caused
the second field of "sig-validity-interval" to always be
calculated in hours, even in cases when it should have
been calculated in days. This has been fixed. (Thanks to
Tony Finch.) [GL !3735]
5470. [port] gsskrb5_register_acceptor_identity() is now only called
if gssapi_krb5.h is present. [GL #1995]
5469. [port] On illumos, a constant called SEC is already defined in
<sys/time.h>, which conflicts with an identically named
constant in libbind9. This conflict has been resolved.
[GL #1993]
5468. [bug] Addressed potential double unlock in process_fd().
[GL #2005]
5467. [func] The control channel and the rndc utility have been
updated to use the new network manager. To support
this, the network manager was updated to enable
the initiation of client TCP connections. Its
internal reference counting has been refactored.
Note: As a side effect of this change, rndc cannot
currently be used with UNIX-domain sockets, and its
default timeout has changed from 60 seconds to 30.
These will be addressed in a future release.
[GL #1759]
5466. [bug] Addressed an error in recursive clients stats reporting.
[GL #1719]
5465. [func] Added fallback to built-in trust-anchors, managed-keys,
or trusted-keys if the bindkeys-file (bind.keys) cannot
be parsed. [GL #1235]
5464. [bug] Requesting more than 128 files to be saved when rolling
dnstap log files caused a buffer overflow. This has been
fixed. [GL #1989]
5463. [placeholder]
5462. [bug] Move LMDB locking from LMDB itself to named. [GL #1976]
5461. [bug] The STALE rdataset header attribute was updated while
the write lock was not being held, leading to incorrect
statistics. The header attributes are now converted to
use atomic operations. [GL #1475]
5460. [cleanup] tsig-keygen was previously an alias for 5460. [cleanup] tsig-keygen was previously an alias for
ddns-confgen and was documented in the ddns-confgen ddns-confgen and was documented in the ddns-confgen
man page. This has been reversed; tsig-keygen is man page. This has been reversed; tsig-keygen is
now the primary name. [GL #1998] now the primary name. [GL #1998]
5459. [bug] Fixed bad isc_mem_put() size when an invalid type was 5459. [bug] Bad isc_mem_put() size when an invalid type was
specified in an "update-policy" rule. [GL #1990] specified in a update-policy rule. [GL #1990]
--- 9.17.3 released ---
5458. [bug] Prevent a theoretically possible NULL dereference caused 5458. [bug] Prevent a theoretically possible NULL dereference caused
by a data race between zone_maintenance() and by a data race between zone_maintenance() and
@@ -346,21 +19,23 @@
5456. [func] Added "primaries" as a synonym for "masters" in 5456. [func] Added "primaries" as a synonym for "masters" in
named.conf, and "primary-only" as a synonym for named.conf, and "primary-only" as a synonym for
"master-only" in the parameters to "notify", to bring "master-only" in the parameters to "notify",
terminology up-to-date with RFC 8499. [GL #1948] in order to bring terminology up to date with
RFC 8499. [GL #1948]
5455. [bug] named could crash when cleaning dead nodes in 5455. [bug] `named` could crash when cleaning dead nodes
lib/dns/rbtdb.c that were being reused. [GL #1968] in lib/dns/rbtdb.c that have been reused meanwhile.
[GL #1968]
5454. [bug] Address a startup crash that occurred when the server 5454. [bug] Address a startup crash happening when server is
was under load and the root zone had not yet been under load and root zone is not yet loaded. [GL #1862]
loaded. [GL #1862]
5453. [bug] named crashed on shutdown when a new rndc connection was 5453. [bug] `named` would crash on shutdown when new `rndc`
received during shutdown. [GL #1747] connection is received at the same time as
shutting down. [GL #1747]
5452. [bug] The "blackhole" ACL was accidentally disabled for client 5452. [bug] The "blackhole" ACL was accidentally disabled with
queries. [GL #1936] respect to client queries. [GL #1936]
5451. [func] Add 'rndc dnssec -status' command. [GL #1612] 5451. [func] Add 'rndc dnssec -status' command. [GL #1612]
@@ -378,14 +53,14 @@
5446. [bug] The validator could fail to accept a properly signed 5446. [bug] The validator could fail to accept a properly signed
RRset if an unsupported algorithm appeared earlier in RRset if an unsupported algorithm appeared earlier in
the DNSKEY RRset than a supported algorithm. It could the DNSKEY RRset than a supported algorithm. It could
also stop if it detected a malformed public key. also stop if it detected a malformed public key.
[GL #1689] [GL #1689]
5445. [cleanup] Disable and disallow static linking. [GL #1933] 5445. [cleanup] Disable and disallow static linking. [GL #1933]
5444. [bug] 'rndc dnstap -roll <value>' did not limit the number of 5444. [bug] 'rndc dnstap -roll <value>' was not limiting the
saved files to <value>. [GL !3728] number of saved files to <value>. [GL !3728]
5443. [bug] The "primary" and "secondary" keywords, when used 5443. [bug] The "primary" and "secondary" keywords, when used
as parameters for "check-names", were not as parameters for "check-names", were not
@@ -398,8 +73,8 @@
5440. [placeholder] 5440. [placeholder]
5439. [bug] The DS RRset returned by dns_keynode_dsset() was used in 5439. [bug] The dsset returned by dns_keynode_dsset() was not
a non-thread-safe manner. [GL #1926] thread safe. [GL #1926]
--- 9.17.2 released --- --- 9.17.2 released ---
+3 -3
View File
@@ -6,9 +6,9 @@ on every aspect of the mission - including mentorship, teaching, and connecting
people. people.
Diversity is one of our huge strengths, but it can also lead to communication Diversity is one of our huge strengths, but it can also lead to communication
issues and unhappiness. To that end, we have a few ground rules that we ask issues and unhappiness. To that end, we have a few ground rules to which we expect
people to adhere to. This code applies equally to the core development team, people to adhere. This code applies equally to the core development team, open source contributors and those
open source contributors and those seeking help and guidance. seeking help and guidance.
This isn't an exhaustive list of things that you can't do. Rather, take it in This isn't an exhaustive list of things that you can't do. Rather, take it in
the spirit in which it's intended - a guide to make it easier to enrich all of the spirit in which it's intended - a guide to make it easier to enrich all of
+16 -19
View File
@@ -39,28 +39,29 @@ anyone can see the source, but only ISC employees have commit access.
In the past, the source could only be seen once ISC had published In the past, the source could only be seen once ISC had published
a release; read access to the source repository was restricted just a release; read access to the source repository was restricted just
as commit access was. That has changed, as ISC now provides a as commit access was. That has changed, as ISC now provides a
public git repository of the BIND source tree (see below). public git mirror to the BIND source tree (see below).
At ISC, we're committed to At ISC, we're committed to
building communities that are welcoming and inclusive: environments where people building communities that are welcoming and inclusive: environments where people
are encouraged to share ideas, treat each other with respect, and collaborate are encouraged to share ideas, treat each other with respect, and collaborate
towards the best solutions. To reinforce our commitment, ISC towards the best solutions. To reinforce our commitment, ISC
has adopted a slightly modified version of the Django has adopted a slightly modified version of the Django
[Code of Conduct](https://gitlab.isc.org/isc-projects/bind9/-/blob/main/CODE_OF_CONDUCT.md) [Code of Conduct](https://gitlab.isc.org/isc-projects/bind9/-/blob/master/CODE_OF_CONDUCT.md) for the BIND 9 project, as well as for the conduct of our
for the BIND 9 project, as well as for the conduct of our developers throughout developers throughout the industry.
the industry.
### <a name="access"></a>Access to source code ### <a name="access"></a>Access to source code
Public BIND releases are always available from the Public BIND releases are always available from the
[ISC FTP site](ftp://ftp.isc.org/isc/bind9). [ISC FTP site](ftp://ftp.isc.org/isc/bind9).
A public-access git repository is also available at A public-access GIT repository is also available at
[https://gitlab.isc.org](https://gitlab.isc.org). This repository [https://gitlab.isc.org](https://gitlab.isc.org).
contains all public release branches. Upcoming releases can be viewed in This repository is a mirror, updated several times per day, of the
their current state at any time. Short-lived development branches source repository maintained by ISC. It contains all the public release
contain unreviewed work in progress. Commits which address security branches; upcoming releases can be viewed in their current state at any
vulnerablilities are withheld until after public disclosure. 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 You can browse the source online via
[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)
@@ -79,7 +80,7 @@ Whenever a branch is ready for publication, a tag is placed of the
form `v9_X_Y`. The 9.12.0 release, for instance, is tagged as `v9_12_0`. 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 The branch in which the next major release is being developed is called
`main`. `master`.
### <a name="bugs"></a>Reporting bugs ### <a name="bugs"></a>Reporting bugs
@@ -99,7 +100,6 @@ use credentials from an existing account at GitHub, GitLab, Google,
Twitter, or Facebook. Twitter, or Facebook.
### Reporting possible security issues ### Reporting possible security issues
If you think you may be seeing a potential security vulnerability in BIND If you think you may be seeing a potential security vulnerability in BIND
(for example, a crash with REQUIRE, INSIST, or ASSERT failure), please (for example, a crash with REQUIRE, INSIST, or ASSERT failure), please
report it immediately by emailing to security-officer@isc.org. Plain-text report it immediately by emailing to security-officer@isc.org. Plain-text
@@ -111,8 +111,7 @@ Do not discuss undisclosed security vulnerabilities on any public mailing list.
ISC has a long history of handling reported vulnerabilities promptly and ISC has a long history of handling reported vulnerabilities promptly and
effectively and we respect and acknowledge responsible reporters. effectively and we respect and acknowledge responsible reporters.
ISC's Security Vulnerability Disclosure Policy is documented at ISC's Security Vulnerability Disclosure Policy is documented at [https://kb.isc.org/docs/aa-00861](https://kb.isc.org/docs/aa-00861).
[https://kb.isc.org/docs/aa-00861](https://kb.isc.org/docs/aa-00861).
If you have a crash, you may want to consult 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/docs/aa-00340) ["What to do if your BIND or DHCP server has crashed."](https://kb.isc.org/docs/aa-00340)
@@ -121,8 +120,7 @@ If you have a crash, you may want to consult
BIND is licensed under the BIND is licensed under the
[Mozilla Public License 2.0](https://www.mozilla.org/en-US/MPL/2.0/). [Mozilla Public License 2.0](https://www.mozilla.org/en-US/MPL/2.0/).
Earlier versions (BIND 9.10 and earlier) were licensed under the Earlier versions (BIND 9.10 and earlier) were licensed under the [ISC License](https://www.isc.org/licenses/)
[ISC License](https://www.isc.org/licenses/)
ISC does not require an explicit copyright assignment for patch ISC does not require an explicit copyright assignment for patch
contributions. However, by submitting a patch to ISC, you implicitly contributions. However, by submitting a patch to ISC, you implicitly
@@ -138,7 +136,7 @@ Patches for BIND may be submitted directly via merge requests in
repository for BIND. repository for BIND.
Patches can also be submitted as diffs against a specific version of Patches can also be submitted as diffs against a specific version of
BIND -- preferably the current top of the `main` branch. Diffs may BIND -- preferably the current top of the `master` branch. Diffs may
be generated using either `git format-patch` or `git diff`. be generated using either `git format-patch` or `git diff`.
Those wanting to write code for BIND may be interested in the Those wanting to write code for BIND may be interested in the
@@ -186,8 +184,7 @@ of documentation in the BIND source tree:
they document, in files ending in `.rst`: for example, the they document, in files ending in `.rst`: for example, the
`named` man page is `bin/named/named.rst`. `named` man page is `bin/named/named.rst`.
* The *BIND 9 Administrator Reference Manual* is in the .rst files in * The *BIND 9 Administrator Reference Manual* is in the .rst files in
`doc/arm/`; the PDF and HTML versions are automatically generated from `doc/arm/`; the PDF and HTML versions are automatically generated from the `.rst` files.
the `.rst` files.
* API documentation is in the header file describing the API, in * API documentation is in the header file describing the API, in
Doxygen-formatted comments. Doxygen-formatted comments.
+1 -1
View File
@@ -2,7 +2,7 @@ Copyright (C) 1996-2020 Internet Systems Consortium, Inc. ("ISC")
This Source Code Form is subject to the terms of the Mozilla Public 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 License, v. 2.0. If a copy of the MPL was not distributed with this
file, you can obtain one at https://mozilla.org/MPL/2.0/. file, You can obtain one at http://mozilla.org/MPL/2.0/.
----------------------------------------------------------------------------- -----------------------------------------------------------------------------
+1 -1
View File
@@ -1,6 +1,6 @@
include $(top_srcdir)/Makefile.top include $(top_srcdir)/Makefile.top
SUBDIRS = . lib doc bin fuzz SUBDIRS = . libltdl lib doc bin
BUILT_SOURCES = bind.keys.h BUILT_SOURCES = bind.keys.h
CLEANFILES = bind.keys.h CLEANFILES = bind.keys.h
+6 -12
View File
@@ -11,13 +11,6 @@ AM_CPPFLAGS = \
-include $(top_builddir)/config.h \ -include $(top_builddir)/config.h \
-I$(srcdir)/include -I$(srcdir)/include
AM_LDFLAGS =
if HOST_MACOS
AM_LDFLAGS += \
-Wl,-flat_namespace
endif HOST_MACOS
if HAVE_GSSAPI if HAVE_GSSAPI
AM_CPPFLAGS += \ AM_CPPFLAGS += \
$(GSSAPI_CFLAGS) $(GSSAPI_CFLAGS)
@@ -40,11 +33,6 @@ LIBISC_CFLAGS += \
$(LIBXML2_CFLAGS) $(LIBXML2_CFLAGS)
endif HAVE_LIBXML2 endif HAVE_LIBXML2
if HAVE_READLINE
LIBISC_CFLAGS += \
$(READLINE_CFLAGS)
endif HAVE_READLINE
LIBISC_LIBS = $(top_builddir)/lib/isc/libisc.la LIBISC_LIBS = $(top_builddir)/lib/isc/libisc.la
LIBDNS_CFLAGS = \ LIBDNS_CFLAGS = \
@@ -93,3 +81,9 @@ LIBBIND9_CFLAGS = \
LIBBIND9_LIBS = \ LIBBIND9_LIBS = \
$(top_builddir)/lib/bind9/libbind9.la $(top_builddir)/lib/bind9/libbind9.la
LIBLTDL_CFLAGS = \
-I$(top_srcdir)/libltdl
LIBLTDL_LIBS = \
$(top_builddir)/libltdl/libltdlc.la
+14 -13
View File
@@ -8,19 +8,20 @@
- See the COPYRIGHT file distributed with this work for additional - See the COPYRIGHT file distributed with this work for additional
- information regarding copyright ownership. - information regarding copyright ownership.
--> -->
Setting the `CPPFLAGS` environment variable before running `configure` Setting the `STD_CDEFINES` environment variable before running `configure`
can be used to enable certain compile-time options that are not can be used to enable certain compile-time options that are not explicitly
explicitly defined in `configure`. defined in `configure`.
Some of these settings are: Some of these settings are:
| Setting | Description | |Setting |Description |
| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | |-----------------------------------|----------------------------------------|
| `-DCHECK_LOCAL=0` | Don't check out-of-zone addresses in `named-checkzone` | |`-DISC_MEM_DEFAULTFILL=1`|Overwrite memory with tag values when allocating or freeing it; this impairs performance but makes debugging of memory problems easier.|
| `-DCHECK_SIBLING=0` | Don't check sibling glue in `named-checkzone` | |`-DISC_MEM_TRACKLINES=0`|Don't track memory allocations by file and line number; this improves performance but makes debugging more difficult.|
| `-DISC_FACILITY=LOG_LOCAL0` | Change the default syslog facility for `named` | |<nobr>`-DISC_FACILITY=LOG_LOCAL0`</nobr>|Change the default syslog facility for `named`|
| `-DISC_HEAP_CHECK` | Test heap consistency after every heap operation; used when debugging | |`-DNS_CLIENT_DROPPORT=0`|Disable dropping queries from particular well-known ports:|
| `-DISC_MEM_DEFAULTFILL=1` | Overwrite memory with tag values when allocating or freeing it; this impairs performance but makes debugging of memory problems easier | |`-DCHECK_SIBLING=0`|Don't check sibling glue in `named-checkzone`|
| `-DISC_MEM_TRACKLINES=0` | Don't track memory allocations by file and line number; this improves performance but makes debugging more difficult | |`-DCHECK_LOCAL=0`|Don't check out-of-zone addresses in `named-checkzone`|
| `-DNAMED_RUN_PID_DIR=0` | Create default PID files in `${localstatedir}/run` rather than `${localstatedir}/run/named/` | |`-DNS_RUN_PID_DIR=0`|Create default PID files in `${localstatedir}/run` rather than `${localstatedir}/run/named/`|
| `-DNS_CLIENT_DROPPORT=0` | Disable dropping queries from particular well-known ports | |`-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|
+5 -5
View File
@@ -42,15 +42,15 @@ offer support on a "best effort" basis for some.
### Regularly tested platforms ### Regularly tested platforms
As of Nov 2020, BIND 9.17 is fully supported and regularly tested on the As of Jul 2020, BIND 9.17 is fully supported and regularly tested on the
following systems: following systems:
* Debian 9, 10 * Debian 9, 10
* Ubuntu LTS 16.04, 20.04 * Ubuntu LTS 16.04, 20.04
* Fedora 33 * Fedora 32
* Red Hat Enterprise Linux / CentOS 7, 8 * Red Hat Enterprise Linux / CentOS 7, 8
* FreeBSD 11.4, 12.2 * FreeBSD 11.4, 12.1
* OpenBSD 6.8 * OpenBSD 6.7
* Alpine Linux 3.12 * Alpine Linux 3.12
The amd64, i386, armhf and arm64 CPU architectures are all fully supported. The amd64, i386, armhf and arm64 CPU architectures are all fully supported.
@@ -61,7 +61,7 @@ The following are platforms on which BIND is known to build and run.
ISC makes every effort to fix bugs on these platforms, but may be unable to ISC makes every effort to fix bugs on these platforms, but may be unable to
do so quickly due to lack of hardware, less familiarity on the part of do so quickly due to lack of hardware, less familiarity on the part of
engineering staff, and other constraints. With the exception of Windows engineering staff, and other constraints. With the exception of Windows
Server 2016, none of these are tested regularly by ISC. Server 2012 R2, none of these are tested regularly by ISC.
* Windows Server 2012 R2, 2016 / x64 * Windows Server 2012 R2, 2016 / x64
* Windows 10 / x64 * Windows 10 / x64
+21 -4
View File
@@ -15,6 +15,7 @@
1. [Introduction](#intro) 1. [Introduction](#intro)
1. [Reporting bugs and getting help](#help) 1. [Reporting bugs and getting help](#help)
1. [Contributing to BIND](#contrib) 1. [Contributing to BIND](#contrib)
1. [BIND 9.17 features](#features)
1. [Building BIND](#build) 1. [Building BIND](#build)
1. [macOS](#macos) 1. [macOS](#macos)
1. [Dependencies](#dependencies) 1. [Dependencies](#dependencies)
@@ -124,6 +125,16 @@ If you prefer, you may also submit code by opening a
including your patch as an attachment, preferably generated by including your patch as an attachment, preferably generated by
`git format-patch`. `git format-patch`.
### <a name="features"/> BIND 9.17 features
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:
* The new option `max-ixfr-ratio` to limit the size of outgoing IXFR responses
before falling back to full zone transfers.
* `rndc nta -d` and `rndc secroots` now include `validate-except` entries
when listing negative trust anchors.
### <a name="build"/> Building BIND 9 ### <a name="build"/> Building BIND 9
At a minimum, 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,
@@ -151,7 +162,8 @@ To build on a Unix or Linux system, use:
$ ./configure $ ./configure
$ make $ make
If you're using Emacs, you might find `make tags` helpful. 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.
Several environment variables, which can be set before running `configure`, Several environment variables, which can be set before running `configure`,
affect compilation. Significant ones are: affect compilation. Significant ones are:
@@ -173,8 +185,9 @@ command:
Building on macOS assumes that the "Command Tools for Xcode" are installed. Building on macOS assumes that the "Command Tools for Xcode" are installed.
These 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 --install`. or, if you have Xcode already installed, you can run
(Note that an Apple ID may be required to access the download page.) `xcode-select--install`. (Note that an Apple ID may be required to access the download
page.)
#### <a name="dependencies"> Dependencies #### <a name="dependencies"> Dependencies
@@ -189,11 +202,15 @@ installed:
autoconf (includes autoreconf) autoconf (includes autoreconf)
automake automake
libtool libtool
libltdl-dev (Debian) / libtool-ltdl-dev (Fedora/CentOS) / libltdl (FreeBSD)
#### <a name="opts"/> Compile-time options #### <a name="opts"/> Compile-time options
To see a full list of configuration options, run `configure --help`. To see a full list of configuration options, run `configure --help`.
To build shared libraries, specify `--with-libtool` on the `configure`
command line.
For the server to support DNSSEC, you need to build it with crypto support. 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 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 OpenSSL library is installed in a nonstandard location, specify the prefix
@@ -322,7 +339,7 @@ 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 main 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 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
+1 -1
View File
@@ -3,7 +3,7 @@
* *
* This Source Code Form is subject to the terms of the Mozilla Public * 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 * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
* *
* See the COPYRIGHT file distributed with this work for additional * See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership. * information regarding copyright ownership.
+1 -1
View File
@@ -3,7 +3,7 @@
* *
* This Source Code Form is subject to the terms of the Mozilla Public * 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 * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
* *
* See the COPYRIGHT file distributed with this work for additional * See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership. * information regarding copyright ownership.
+1 -1
View File
@@ -3,7 +3,7 @@
* *
* This Source Code Form is subject to the terms of the Mozilla Public * 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 * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
* *
* See the COPYRIGHT file distributed with this work for additional * See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership. * information regarding copyright ownership.
+1 -1
View File
@@ -3,7 +3,7 @@
This Source Code Form is subject to the terms of the Mozilla Public 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 License, v. 2.0. If a copy of the MPL was not distributed with this
file, you can obtain one at https://mozilla.org/MPL/2.0/. file, You can obtain one at http://mozilla.org/MPL/2.0/.
See the COPYRIGHT file distributed with this work for additional See the COPYRIGHT file distributed with this work for additional
information regarding copyright ownership. information regarding copyright ownership.
+1 -1
View File
@@ -3,7 +3,7 @@
* *
* This Source Code Form is subject to the terms of the Mozilla Public * 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 * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
* *
* See the COPYRIGHT file distributed with this work for additional * See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership. * information regarding copyright ownership.
+1 -1
View File
@@ -3,7 +3,7 @@
This Source Code Form is subject to the terms of the Mozilla Public 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 License, v. 2.0. If a copy of the MPL was not distributed with this
file, you can obtain one at https://mozilla.org/MPL/2.0/. file, You can obtain one at http://mozilla.org/MPL/2.0/.
See the COPYRIGHT file distributed with this work for additional See the COPYRIGHT file distributed with this work for additional
information regarding copyright ownership. information regarding copyright ownership.
+2 -2
View File
@@ -77,7 +77,7 @@
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile> <OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\isccc\win32\$(Configuration);..\..\..\lib\bind9\win32\$(Configuration);..\..\..\lib\ns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\isccc\win32\$(Configuration);..\..\..\lib\bind9\win32\$(Configuration);..\..\..\lib\ns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>@OPENSSL_LIBCRYPTO@@OPENSSL_LIBSSL@checktool.lib;libisc.lib;libdns.lib;libisccfg.lib;libisccc.lib;libbind9.lib;libns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>@OPENSSL_LIB@checktool.lib;libisc.lib;libdns.lib;libisccfg.lib;libisccc.lib;libbind9.lib;libns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'">
@@ -108,7 +108,7 @@
<OptimizeReferences>true</OptimizeReferences> <OptimizeReferences>true</OptimizeReferences>
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile> <OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\isccc\win32\$(Configuration);..\..\..\lib\bind9\win32\$(Configuration);..\..\..\lib\ns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\isccc\win32\$(Configuration);..\..\..\lib\bind9\win32\$(Configuration);..\..\..\lib\ns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>@OPENSSL_LIBCRYPTO@@OPENSSL_LIBSSL@checktool.lib;libisc.lib;libdns.lib;libisccfg.lib;libisccc.lib;libbind9.lib;libns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>@OPENSSL_LIB@checktool.lib;libisc.lib;libdns.lib;libisccfg.lib;libisccc.lib;libbind9.lib;libns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration> <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
+2 -2
View File
@@ -77,7 +77,7 @@
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile> <OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\ns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\ns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>@OPENSSL_LIBCRYPTO@@OPENSSL_LIBSSL@checktool.lib;libisc.lib;libdns.lib;libisccfg.lib;libns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>@OPENSSL_LIB@checktool.lib;libisc.lib;libdns.lib;libisccfg.lib;libns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>
<PostBuildEvent> <PostBuildEvent>
<Command>cd ..\..\..\Build\$(Configuration) <Command>cd ..\..\..\Build\$(Configuration)
@@ -114,7 +114,7 @@ copy /Y named-checkzone.ilk named-compilezone.ilk
<OptimizeReferences>true</OptimizeReferences> <OptimizeReferences>true</OptimizeReferences>
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile> <OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\ns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\ns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>@OPENSSL_LIBCRYPTO@@OPENSSL_LIBSSL@checktool.lib;libisc.lib;libdns.lib;libisccfg.lib;libns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>@OPENSSL_LIB@checktool.lib;libisc.lib;libdns.lib;libisccfg.lib;libns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration> <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
</Link> </Link>
<PostBuildEvent> <PostBuildEvent>
+1 -1
View File
@@ -3,7 +3,7 @@
* *
* This Source Code Form is subject to the terms of the Mozilla Public * 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 * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
* *
* See the COPYRIGHT file distributed with this work for additional * See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership. * information regarding copyright ownership.
+1 -1
View File
@@ -3,7 +3,7 @@
* *
* This Source Code Form is subject to the terms of the Mozilla Public * 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 * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
* *
* See the COPYRIGHT file distributed with this work for additional * See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership. * information regarding copyright ownership.
+1 -1
View File
@@ -3,7 +3,7 @@
* *
* This Source Code Form is subject to the terms of the Mozilla Public * 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 * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
* *
* See the COPYRIGHT file distributed with this work for additional * See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership. * information regarding copyright ownership.
+1 -1
View File
@@ -3,7 +3,7 @@
* *
* This Source Code Form is subject to the terms of the Mozilla Public * 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 * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
* *
* See the COPYRIGHT file distributed with this work for additional * See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership. * information regarding copyright ownership.
+1 -1
View File
@@ -3,7 +3,7 @@
This Source Code Form is subject to the terms of the Mozilla Public 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 License, v. 2.0. If a copy of the MPL was not distributed with this
file, you can obtain one at https://mozilla.org/MPL/2.0/. file, You can obtain one at http://mozilla.org/MPL/2.0/.
See the COPYRIGHT file distributed with this work for additional See the COPYRIGHT file distributed with this work for additional
information regarding copyright ownership. information regarding copyright ownership.
+1 -1
View File
@@ -3,7 +3,7 @@
* *
* This Source Code Form is subject to the terms of the Mozilla Public * 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 * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
* *
* See the COPYRIGHT file distributed with this work for additional * See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership. * information regarding copyright ownership.
+2 -2
View File
@@ -3,7 +3,7 @@
This Source Code Form is subject to the terms of the Mozilla Public 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 License, v. 2.0. If a copy of the MPL was not distributed with this
file, you can obtain one at https://mozilla.org/MPL/2.0/. file, You can obtain one at http://mozilla.org/MPL/2.0/.
See the COPYRIGHT file distributed with this work for additional See the COPYRIGHT file distributed with this work for additional
information regarding copyright ownership. information regarding copyright ownership.
@@ -28,7 +28,7 @@ tsig-keygen, ddns-confgen - TSIG key generation tool
Synopsis Synopsis
~~~~~~~~ ~~~~~~~~
:program:`tsig-keygen` [**-a** algorithm] [**-h**] [**-r** randomfile] [name] :program:`tsig-keygen` [**-a** algorithm] [**-h**] [**-r** randomfile] [**-s** name]
:program:`ddns-confgen` [**-a** algorithm] [**-h**] [**-k** keyname] [**-q**] [**-r** randomfile] [**-s** name] [**-z** zone] :program:`ddns-confgen` [**-a** algorithm] [**-h**] [**-k** keyname] [**-q**] [**-r** randomfile] [**-s** name] [**-z** zone]
+1 -1
View File
@@ -3,7 +3,7 @@
* *
* This Source Code Form is subject to the terms of the Mozilla Public * 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 * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
* *
* See the COPYRIGHT file distributed with this work for additional * See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership. * information regarding copyright ownership.
+1 -1
View File
@@ -3,7 +3,7 @@
* *
* This Source Code Form is subject to the terms of the Mozilla Public * 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 * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
* *
* See the COPYRIGHT file distributed with this work for additional * See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership. * information regarding copyright ownership.
+1 -1
View File
@@ -3,7 +3,7 @@
* *
* This Source Code Form is subject to the terms of the Mozilla Public * 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 * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
* *
* See the COPYRIGHT file distributed with this work for additional * See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership. * information regarding copyright ownership.
+1 -1
View File
@@ -3,7 +3,7 @@
* *
* This Source Code Form is subject to the terms of the Mozilla Public * 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 * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
* *
* See the COPYRIGHT file distributed with this work for additional * See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership. * information regarding copyright ownership.
+2 -2
View File
@@ -77,7 +77,7 @@
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile> <OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>@OPENSSL_LIBCRYPTO@@OPENSSL_LIBSSL@confgentool.lib;libisc.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>@OPENSSL_LIB@confgentool.lib;libisc.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'">
@@ -109,7 +109,7 @@
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile> <OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
<LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration> <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>@OPENSSL_LIBCRYPTO@@OPENSSL_LIBSSL@confgentool.lib;libisc.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>@OPENSSL_LIB@confgentool.lib;libisc.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemGroup> <ItemGroup>
+2 -2
View File
@@ -77,7 +77,7 @@
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile> <OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>@OPENSSL_LIBCRYPTO@@OPENSSL_LIBSSL@confgentool.lib;libisc.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>@OPENSSL_LIB@confgentool.lib;libisc.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>
<PostBuildEvent> <PostBuildEvent>
<Command>cd ..\..\..\Build\$(Configuration) <Command>cd ..\..\..\Build\$(Configuration)
@@ -115,7 +115,7 @@ copy /Y tsig-keygen.ilk ddns-confgen.ilk
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile> <OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
<LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration> <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>@OPENSSL_LIBCRYPTO@@OPENSSL_LIBSSL@confgentool.lib;libisc.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>@OPENSSL_LIB@confgentool.lib;libisc.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>
<PostBuildEvent> <PostBuildEvent>
<Command>cd ..\..\..\Build\$(Configuration) <Command>cd ..\..\..\Build\$(Configuration)
+1 -1
View File
@@ -3,7 +3,7 @@
* *
* This Source Code Form is subject to the terms of the Mozilla Public * 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 * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
* *
* See the COPYRIGHT file distributed with this work for additional * See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership. * information regarding copyright ownership.
+1 -1
View File
@@ -3,7 +3,7 @@
This Source Code Form is subject to the terms of the Mozilla Public 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 License, v. 2.0. If a copy of the MPL was not distributed with this
file, you can obtain one at https://mozilla.org/MPL/2.0/. file, You can obtain one at http://mozilla.org/MPL/2.0/.
See the COPYRIGHT file distributed with this work for additional See the COPYRIGHT file distributed with this work for additional
information regarding copyright ownership. information regarding copyright ownership.
+2 -2
View File
@@ -75,7 +75,7 @@
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile> <OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\irs\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\irs\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>@OPENSSL_LIBCRYPTO@@OPENSSL_LIBSSL@libisc.lib;libdns.lib;libisccfg.lib;libirs.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>@OPENSSL_LIB@libisc.lib;libdns.lib;libisccfg.lib;libirs.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'">
@@ -107,7 +107,7 @@
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile> <OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
<LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration> <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
<AdditionalLibraryDirectories>..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\irs\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\irs\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>@OPENSSL_LIBCRYPTO@@OPENSSL_LIBSSL@libisc.lib;libdns.lib;libisccfg.lib;libirs.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>@OPENSSL_LIB@libisc.lib;libdns.lib;libisccfg.lib;libirs.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemGroup> <ItemGroup>
+3 -7
View File
@@ -25,10 +25,6 @@ libdighost_la_SOURCES = \
bin_PROGRAMS = dig host nslookup bin_PROGRAMS = dig host nslookup
nslookup_LDADD = \ nslookup_LDADD = \
$(LDADD) $(LDADD) \
$(READLINE_LIB)
if HAVE_READLINE
nslookup_LDADD += \
$(READLINE_LIBS)
endif HAVE_READLINE
+46 -177
View File
@@ -3,7 +3,7 @@
* *
* This Source Code Form is subject to the terms of the Mozilla Public * 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 * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
* *
* See the COPYRIGHT file distributed with this work for additional * See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership. * information regarding copyright ownership.
@@ -30,7 +30,6 @@
#include <pk11/site.h> #include <pk11/site.h>
#include <dns/byaddr.h> #include <dns/byaddr.h>
#include <dns/dns64.h>
#include <dns/fixedname.h> #include <dns/fixedname.h>
#include <dns/masterdump.h> #include <dns/masterdump.h>
#include <dns/message.h> #include <dns/message.h>
@@ -186,7 +185,7 @@ help(void) {
" +[no]besteffort (Try to parse even " " +[no]besteffort (Try to parse even "
"illegal " "illegal "
"messages)\n" "messages)\n"
" +bufsize[=###] (Set EDNS0 Max UDP packet " " +bufsize=### (Set EDNS0 Max UDP packet "
"size)\n" "size)\n"
" +[no]cdflag (Set checking disabled " " +[no]cdflag (Set checking disabled "
"flag in query)\n" "flag in query)\n"
@@ -207,8 +206,6 @@ help(void) {
" fields in records)\n" " fields in records)\n"
" +[no]defname (Use search list " " +[no]defname (Use search list "
"(+[no]search))\n" "(+[no]search))\n"
" +[no]dns64prefix (Get the DNS64 prefixes "
"from ipv4only.arpa)\n"
" +[no]dnssec (Request DNSSEC records)\n" " +[no]dnssec (Request DNSSEC records)\n"
" +domain=### (Set default domainname)\n" " +domain=### (Set default domainname)\n"
" +[no]dscp[=###] (Set the DSCP value to " " +[no]dscp[=###] (Set the DSCP value to "
@@ -290,7 +287,6 @@ help(void) {
"(+[no]tcflag))\n" "(+[no]tcflag))\n"
" +[no]tcp (TCP mode (+[no]vc))\n" " +[no]tcp (TCP mode (+[no]vc))\n"
" +timeout=### (Set query timeout) [5]\n" " +timeout=### (Set query timeout) [5]\n"
" +[no]tls (DNS over TLS mode)\n"
" +[no]trace (Trace delegation down " " +[no]trace (Trace delegation down "
"from root " "from root "
"[+dnssec])\n" "[+dnssec])\n"
@@ -300,6 +296,9 @@ help(void) {
"in records)\n" "in records)\n"
" +[no]ttlunits (Display TTLs in " " +[no]ttlunits (Display TTLs in "
"human-readable units)\n" "human-readable units)\n"
" +[no]unexpected (Print replies from "
"unexpected sources\n"
" default=off)\n"
" +[no]unknownformat (Print RDATA in RFC 3597 " " +[no]unknownformat (Print RDATA in RFC 3597 "
"\"unknown\" " "\"unknown\" "
"format)\n" "format)\n"
@@ -339,22 +338,13 @@ received(unsigned int bytes, isc_sockaddr_t *from, dig_query_t *query) {
} }
if (query->lookup->stats) { if (query->lookup->stats) {
const char *proto;
diff = isc_time_microdiff(&query->time_recv, &query->time_sent); diff = isc_time_microdiff(&query->time_recv, &query->time_sent);
if (query->lookup->use_usec) { if (query->lookup->use_usec) {
printf(";; Query time: %ld usec\n", (long)diff); printf(";; Query time: %ld usec\n", (long)diff);
} else { } else {
printf(";; Query time: %ld msec\n", (long)diff / 1000); printf(";; Query time: %ld msec\n", (long)diff / 1000);
} }
if (query->lookup->tls_mode) { printf(";; SERVER: %s(%s)\n", fromtext, query->servname);
proto = "TLS";
} else if (query->lookup->tcp_mode) {
proto = "TCP";
} else {
proto = "UDP";
}
printf(";; SERVER: %s(%s) (%s)\n", fromtext, query->servname,
proto);
time(&tnow); time(&tnow);
(void)localtime_r(&tnow, &tmnow); (void)localtime_r(&tnow, &tmnow);
@@ -476,50 +466,6 @@ say_message(dns_rdata_t *rdata, dig_query_t *query, isc_buffer_t *buf) {
return (ISC_R_SUCCESS); return (ISC_R_SUCCESS);
} }
/*%
* short_form message print handler. Calls above say_message()
*/
static isc_result_t
dns64prefix_answer(dns_message_t *msg, isc_buffer_t *buf) {
dns_rdataset_t *rdataset = NULL;
dns_fixedname_t fixed;
dns_name_t *name;
isc_result_t result;
isc_netprefix_t prefix[10];
size_t i, count = 10;
name = dns_fixedname_initname(&fixed);
result = dns_name_fromstring(name, "ipv4only.arpa", 0, NULL);
check_result(result, "dns_name_fromstring");
result = dns_message_findname(msg, DNS_SECTION_ANSWER, name,
dns_rdatatype_aaaa, dns_rdatatype_none,
NULL, &rdataset);
if (result == DNS_R_NXDOMAIN || result == DNS_R_NXRRSET) {
return (ISC_R_SUCCESS);
} else if (result != ISC_R_SUCCESS) {
return (result);
}
result = dns_dns64_findprefix(rdataset, prefix, &count);
if (result == ISC_R_NOTFOUND)
return (ISC_R_SUCCESS);
if (count > 10)
count = 10;
for (i = 0; i < count; i++) {
result = isc_netaddr_totext(&prefix[i].addr, buf);
if (result != ISC_R_SUCCESS) {
return (result);
}
result = isc_buffer_printf(buf, "/%u\n", prefix[i].prefixlen);
if (result != ISC_R_SUCCESS) {
return (result);
}
}
return (ISC_R_SUCCESS);
}
/*% /*%
* short_form message print handler. Calls above say_message() * short_form message print handler. Calls above say_message()
*/ */
@@ -606,12 +552,9 @@ printmessage(dig_query_t *query, const isc_buffer_t *msgbuf, dns_message_t *msg,
dns_master_style_t *style = NULL; dns_master_style_t *style = NULL;
unsigned int styleflags = 0; unsigned int styleflags = 0;
bool isquery = (msg == query->lookup->sendmsg); bool isquery = (msg == query->lookup->sendmsg);
bool dns64prefix = query->lookup->dns64prefix;
UNUSED(msgbuf); UNUSED(msgbuf);
dig_idnsetup(query->lookup, true);
styleflags |= DNS_STYLEFLAG_REL_OWNER; styleflags |= DNS_STYLEFLAG_REL_OWNER;
if (yaml) { if (yaml) {
msg->indent.string = " "; msg->indent.string = " ";
@@ -671,15 +614,14 @@ printmessage(dig_query_t *query, const isc_buffer_t *msgbuf, dns_message_t *msg,
check_result(result, "dns_master_stylecreate"); check_result(result, "dns_master_stylecreate");
if (query->lookup->cmdline[0] != 0) { if (query->lookup->cmdline[0] != 0) {
if (!short_form && !dns64prefix && printcmd) { if (!short_form && printcmd) {
printf("%s", query->lookup->cmdline); printf("%s", query->lookup->cmdline);
} }
query->lookup->cmdline[0] = '\0'; query->lookup->cmdline[0] = '\0';
} }
debug("printmessage(%s %s %s)", headers ? "headers" : "noheaders", debug("printmessage(%s %s %s)", headers ? "headers" : "noheaders",
query->lookup->comments ? "comments" : "nocomments", query->lookup->comments ? "comments" : "nocomments",
short_form ? "short_form" short_form ? "short_form" : "long_form");
: dns64prefix ? "dns64prefix_form" : "long_form");
flags = 0; flags = 0;
if (!headers) { if (!headers) {
@@ -700,6 +642,7 @@ printmessage(dig_query_t *query, const isc_buffer_t *msgbuf, dns_message_t *msg,
if (yaml) { if (yaml) {
enum { Q = 0x1, R = 0x2 }; /* Q:query; R:ecursive */ enum { Q = 0x1, R = 0x2 }; /* Q:query; R:ecursive */
unsigned int tflag = 0; unsigned int tflag = 0;
isc_sockaddr_t saddr;
char sockstr[ISC_SOCKADDR_FORMATSIZE]; char sockstr[ISC_SOCKADDR_FORMATSIZE];
uint16_t sport; uint16_t sport;
char *hash; char *hash;
@@ -732,25 +675,15 @@ printmessage(dig_query_t *query, const isc_buffer_t *msgbuf, dns_message_t *msg,
if (!isc_time_isepoch(&query->time_sent)) { if (!isc_time_isepoch(&query->time_sent)) {
char tbuf[100]; char tbuf[100];
if (query->lookup->use_usec) { isc_time_formatISO8601ms(&query->time_sent, tbuf,
isc_time_formatISO8601us(&query->time_sent, sizeof(tbuf));
tbuf, sizeof(tbuf));
} else {
isc_time_formatISO8601ms(&query->time_sent,
tbuf, sizeof(tbuf));
}
printf(" query_time: !!timestamp %s\n", tbuf); printf(" query_time: !!timestamp %s\n", tbuf);
} }
if (!isquery && !isc_time_isepoch(&query->time_recv)) { if (!isquery && !isc_time_isepoch(&query->time_recv)) {
char tbuf[100]; char tbuf[100];
if (query->lookup->use_usec) { isc_time_formatISO8601ms(&query->time_recv, tbuf,
isc_time_formatISO8601us(&query->time_recv, sizeof(tbuf));
tbuf, sizeof(tbuf));
} else {
isc_time_formatISO8601ms(&query->time_recv,
tbuf, sizeof(tbuf));
}
printf(" response_time: !!timestamp %s\n", tbuf); printf(" response_time: !!timestamp %s\n", tbuf);
} }
@@ -780,9 +713,10 @@ printmessage(dig_query_t *query, const isc_buffer_t *msgbuf, dns_message_t *msg,
printf(" response_port: %u\n", sport); printf(" response_port: %u\n", sport);
} }
if (query->handle != NULL) { if (query->sock != NULL &&
isc_sockaddr_t saddr = isc_socket_getsockname(query->sock, &saddr) ==
isc_nmhandle_localaddr(query->handle); ISC_R_SUCCESS)
{
sport = isc_sockaddr_getport(&saddr); sport = isc_sockaddr_getport(&saddr);
isc_sockaddr_format(&saddr, sockstr, sizeof(sockstr)); isc_sockaddr_format(&saddr, sockstr, sizeof(sockstr));
hash = strchr(sockstr, '#'); hash = strchr(sockstr, '#');
@@ -800,7 +734,7 @@ printmessage(dig_query_t *query, const isc_buffer_t *msgbuf, dns_message_t *msg,
printf(" %s:\n", isquery ? "query_message_data" printf(" %s:\n", isquery ? "query_message_data"
: "response_message_data"); : "response_message_data");
result = dns_message_headertotext(msg, style, flags, buf); result = dns_message_headertotext(msg, style, flags, buf);
} else if (query->lookup->comments && !short_form && !dns64prefix) { } else if (query->lookup->comments && !short_form) {
if (query->lookup->cmdline[0] != '\0' && printcmd) { if (query->lookup->cmdline[0] != '\0' && printcmd) {
printf("; %s\n", query->lookup->cmdline); printf("; %s\n", query->lookup->cmdline);
} }
@@ -881,7 +815,7 @@ printmessage(dig_query_t *query, const isc_buffer_t *msgbuf, dns_message_t *msg,
repopulate_buffer: repopulate_buffer:
if (query->lookup->comments && headers && !short_form && !dns64prefix) { if (query->lookup->comments && headers && !short_form) {
result = dns_message_pseudosectiontotext( result = dns_message_pseudosectiontotext(
msg, DNS_PSEUDOSECTION_OPT, style, flags, buf); msg, DNS_PSEUDOSECTION_OPT, style, flags, buf);
if (result == ISC_R_NOSPACE) { if (result == ISC_R_NOSPACE) {
@@ -895,7 +829,7 @@ repopulate_buffer:
} }
if (query->lookup->section_question && headers) { if (query->lookup->section_question && headers) {
if (!short_form && !dns64prefix) { if (!short_form) {
result = dns_message_sectiontotext( result = dns_message_sectiontotext(
msg, DNS_SECTION_QUESTION, style, flags, buf); msg, DNS_SECTION_QUESTION, style, flags, buf);
if (result == ISC_R_NOSPACE) { if (result == ISC_R_NOSPACE) {
@@ -905,18 +839,13 @@ repopulate_buffer:
} }
} }
if (query->lookup->section_answer) { if (query->lookup->section_answer) {
if (!short_form && !dns64prefix) { if (!short_form) {
result = dns_message_sectiontotext( result = dns_message_sectiontotext(
msg, DNS_SECTION_ANSWER, style, flags, buf); msg, DNS_SECTION_ANSWER, style, flags, buf);
if (result == ISC_R_NOSPACE) { if (result == ISC_R_NOSPACE) {
goto buftoosmall; goto buftoosmall;
} }
check_result(result, "dns_message_sectiontotext"); check_result(result, "dns_message_sectiontotext");
} else if (dns64prefix) {
result = dns64prefix_answer(msg, buf);
if (result == ISC_R_NOSPACE)
goto buftoosmall;
check_result(result, "dns64prefix_answer");
} else { } else {
result = short_answer(msg, flags, buf, query); result = short_answer(msg, flags, buf, query);
if (result == ISC_R_NOSPACE) { if (result == ISC_R_NOSPACE) {
@@ -926,7 +855,7 @@ repopulate_buffer:
} }
} }
if (query->lookup->section_authority) { if (query->lookup->section_authority) {
if (!short_form && !dns64prefix) { if (!short_form) {
result = dns_message_sectiontotext( result = dns_message_sectiontotext(
msg, DNS_SECTION_AUTHORITY, style, flags, buf); msg, DNS_SECTION_AUTHORITY, style, flags, buf);
if (result == ISC_R_NOSPACE) { if (result == ISC_R_NOSPACE) {
@@ -936,7 +865,7 @@ repopulate_buffer:
} }
} }
if (query->lookup->section_additional) { if (query->lookup->section_additional) {
if (!short_form && !dns64prefix) { if (!short_form) {
result = dns_message_sectiontotext( result = dns_message_sectiontotext(
msg, DNS_SECTION_ADDITIONAL, style, flags, buf); msg, DNS_SECTION_ADDITIONAL, style, flags, buf);
if (result == ISC_R_NOSPACE) { if (result == ISC_R_NOSPACE) {
@@ -978,9 +907,6 @@ repopulate_buffer:
if (style != NULL) { if (style != NULL) {
dns_master_styledestroy(&style, mctx); dns_master_styledestroy(&style, mctx);
} }
dig_idnsetup(query->lookup, false);
return (result); return (result);
} }
@@ -1030,9 +956,8 @@ printgreeting(int argc, char **argv, dig_lookup_t *lookup) {
* XXX doc options * XXX doc options
*/ */
static dig_lookup_t * static void
plus_option(char *option, bool is_batchfile, bool *need_clone, plus_option(char *option, bool is_batchfile, dig_lookup_t *lookup) {
dig_lookup_t *lookup) {
isc_result_t result; isc_result_t result;
char *cmd, *value, *last = NULL, *code, *extra; char *cmd, *value, *last = NULL, *code, *extra;
uint32_t num; uint32_t num;
@@ -1043,7 +968,7 @@ plus_option(char *option, bool is_batchfile, bool *need_clone,
if ((cmd = strtok_r(option, "=", &last)) == NULL) { if ((cmd = strtok_r(option, "=", &last)) == NULL) {
printf(";; Invalid option %s\n", option); printf(";; Invalid option %s\n", option);
return (lookup); return;
} }
if (strncasecmp(cmd, "no", 2) == 0) { if (strncasecmp(cmd, "no", 2) == 0) {
cmd += 2; cmd += 2;
@@ -1122,13 +1047,12 @@ plus_option(char *option, bool is_batchfile, bool *need_clone,
break; break;
case 'u': /* bufsize */ case 'u': /* bufsize */
FULLCHECK("bufsize"); FULLCHECK("bufsize");
if (value == NULL) {
goto need_value;
}
if (!state) { if (!state) {
goto invalid_option; goto invalid_option;
} }
if (value == NULL) {
lookup->udpsize = DEFAULT_EDNS_BUFSIZE;
break;
}
result = parse_uint(&num, value, COMMSIZE, result = parse_uint(&num, value, COMMSIZE,
"buffer size"); "buffer size");
if (result != ISC_R_SUCCESS) { if (result != ISC_R_SUCCESS) {
@@ -1175,7 +1099,7 @@ plus_option(char *option, bool is_batchfile, bool *need_clone,
case 'o': /* cookie */ case 'o': /* cookie */
FULLCHECK("cookie"); FULLCHECK("cookie");
if (state && lookup->edns == -1) { if (state && lookup->edns == -1) {
lookup->edns = DEFAULT_EDNS_VERSION; lookup->edns = 0;
} }
lookup->sendcookie = state; lookup->sendcookie = state;
if (value != NULL) { if (value != NULL) {
@@ -1210,57 +1134,13 @@ plus_option(char *option, bool is_batchfile, bool *need_clone,
usesearch = state; usesearch = state;
} }
break; break;
case 'n': case 'n': /* dnssec */
switch (cmd[2]) { FULLCHECK("dnssec");
case 's': dnssec:
switch (cmd[3]) { if (state && lookup->edns == -1) {
case '6': /* dns64prefix */ lookup->edns = 0;
FULLCHECK("dns64prefix");
if (state) {
if (*need_clone) {
lookup = clone_lookup(
default_lookup,
true);
}
*need_clone = true;
lookup->dns64prefix = state;
strlcpy(lookup->textname,
"ipv4only.arpa",
sizeof(lookup->textname));
printcmd = false;
lookup->section_additional =
false;
lookup->section_answer = true;
lookup->section_authority =
false;
lookup->section_question =
false;
lookup->comments = false;
lookup->stats = false;
lookup->rrcomments = -1;
lookup->rdtype =
dns_rdatatype_aaaa;
lookup->rdtypeset = true;
ISC_LIST_APPEND(lookup_list,
lookup, link);
}
break;
case 's': /* dnssec */
FULLCHECK("dnssec");
dnssec:
if (state && lookup->edns == -1) {
lookup->edns =
DEFAULT_EDNS_VERSION;
}
lookup->dnssec = state;
break;
default:
goto invalid_option;
}
break;
default:
goto invalid_option;
} }
lookup->dnssec = state;
break; break;
case 'o': /* domain ... but treat "do" as synonym for dnssec */ case 'o': /* domain ... but treat "do" as synonym for dnssec */
if (cmd[2] == '\0') { if (cmd[2] == '\0') {
@@ -1310,8 +1190,7 @@ plus_option(char *option, bool is_batchfile, bool *need_clone,
break; break;
} }
if (value == NULL) { if (value == NULL) {
lookup->edns = lookup->edns = 0;
DEFAULT_EDNS_VERSION;
break; break;
} }
result = parse_uint(&num, value, result = parse_uint(&num, value,
@@ -1526,7 +1405,7 @@ plus_option(char *option, bool is_batchfile, bool *need_clone,
case 'i': /* nsid */ case 'i': /* nsid */
FULLCHECK("nsid"); FULLCHECK("nsid");
if (state && lookup->edns == -1) { if (state && lookup->edns == -1) {
lookup->edns = DEFAULT_EDNS_VERSION; lookup->edns = 0;
} }
lookup->nsid = state; lookup->nsid = state;
break; break;
@@ -1596,7 +1475,7 @@ plus_option(char *option, bool is_batchfile, bool *need_clone,
case 'p': case 'p':
FULLCHECK("padding"); FULLCHECK("padding");
if (state && lookup->edns == -1) { if (state && lookup->edns == -1) {
lookup->edns = DEFAULT_EDNS_VERSION; lookup->edns = 0;
} }
if (value == NULL) { if (value == NULL) {
goto need_value; goto need_value;
@@ -1782,7 +1661,7 @@ plus_option(char *option, bool is_batchfile, bool *need_clone,
break; break;
} }
if (lookup->edns == -1) { if (lookup->edns == -1) {
lookup->edns = DEFAULT_EDNS_VERSION; lookup->edns = 0;
} }
if (lookup->ecs_addr != NULL) { if (lookup->ecs_addr != NULL) {
isc_mem_free(mctx, lookup->ecs_addr); isc_mem_free(mctx, lookup->ecs_addr);
@@ -1835,13 +1714,6 @@ plus_option(char *option, bool is_batchfile, bool *need_clone,
timeout = 1; timeout = 1;
} }
break; break;
case 'l':
FULLCHECK("tls");
lookup->tls_mode = state;
if (!lookup->tcp_mode_set) {
lookup->tcp_mode = state;
}
break;
case 'o': case 'o':
FULLCHECK("topdown"); FULLCHECK("topdown");
fprintf(stderr, ";; +topdown option is deprecated"); fprintf(stderr, ";; +topdown option is deprecated");
@@ -1925,8 +1797,7 @@ plus_option(char *option, bool is_batchfile, bool *need_clone,
switch (cmd[2]) { switch (cmd[2]) {
case 'e': case 'e':
FULLCHECK("unexpected"); FULLCHECK("unexpected");
fprintf(stderr, ";; +unexpected option " lookup->accept_reply_unexpected_src = state;
"is deprecated");
break; break;
case 'k': case 'k':
FULLCHECK("unknownformat"); FULLCHECK("unknownformat");
@@ -1970,7 +1841,7 @@ plus_option(char *option, bool is_batchfile, bool *need_clone,
fprintf(stderr, "Invalid option: +%s\n", option); fprintf(stderr, "Invalid option: +%s\n", option);
usage(); usage();
} }
return (lookup); return;
#if !TARGET_OS_IPHONE #if !TARGET_OS_IPHONE
exit_or_usage: exit_or_usage:
@@ -2096,10 +1967,10 @@ dash_option(char *option, char *next, dig_lookup_t **lookup,
srcport = 0; srcport = 0;
} }
if (have_ipv6 && inet_pton(AF_INET6, value, &in6) == 1) { if (have_ipv6 && inet_pton(AF_INET6, value, &in6) == 1) {
isc_sockaddr_fromin6(&localaddr, &in6, srcport); isc_sockaddr_fromin6(&bind_address, &in6, srcport);
isc_net_disableipv4(); isc_net_disableipv4();
} else if (have_ipv4 && inet_pton(AF_INET, value, &in4) == 1) { } else if (have_ipv4 && inet_pton(AF_INET, value, &in4) == 1) {
isc_sockaddr_fromin(&localaddr, &in4, srcport); isc_sockaddr_fromin(&bind_address, &in4, srcport);
isc_net_disableipv6(); isc_net_disableipv6();
} else { } else {
if (hash != NULL) { if (hash != NULL) {
@@ -2143,7 +2014,6 @@ dash_option(char *option, char *next, dig_lookup_t **lookup,
fatal("Couldn't parse port number"); fatal("Couldn't parse port number");
} }
port = num; port = num;
port_set = true;
return (value_from_next); return (value_from_next);
case 'q': case 'q':
if (!config_only) { if (!config_only) {
@@ -2406,7 +2276,7 @@ parse_args(bool is_batchfile, bool config_only, int argc, char **argv) {
debug("making new lookup"); debug("making new lookup");
default_lookup = make_empty_lookup(); default_lookup = make_empty_lookup();
default_lookup->adflag = true; default_lookup->adflag = true;
default_lookup->edns = DEFAULT_EDNS_VERSION; default_lookup->edns = 0;
default_lookup->sendcookie = true; default_lookup->sendcookie = true;
#ifndef NOPOSIX #ifndef NOPOSIX
@@ -2481,8 +2351,7 @@ parse_args(bool is_batchfile, bool config_only, int argc, char **argv) {
} }
} }
} else if (rv[0][0] == '+') { } else if (rv[0][0] == '+') {
lookup = plus_option(&rv[0][1], is_batchfile, plus_option(&rv[0][1], is_batchfile, lookup);
&need_clone, lookup);
} else if (rv[0][0] == '-') { } else if (rv[0][0] == '-') {
if (rc <= 1) { if (rc <= 1) {
if (dash_option(&rv[0][1], NULL, &lookup, if (dash_option(&rv[0][1], NULL, &lookup,
+15 -16
View File
@@ -3,7 +3,7 @@
This Source Code Form is subject to the terms of the Mozilla Public 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 License, v. 2.0. If a copy of the MPL was not distributed with this
file, you can obtain one at https://mozilla.org/MPL/2.0/. file, You can obtain one at http://mozilla.org/MPL/2.0/.
See the COPYRIGHT file distributed with this work for additional See the COPYRIGHT file distributed with this work for additional
information regarding copyright ownership. information regarding copyright ownership.
@@ -251,10 +251,12 @@ abbreviation is unambiguous; for example, ``+cd`` is equivalent to
This option attempts to display the contents of messages which are malformed. The This option attempts to display the contents of messages which are malformed. The
default is to not display malformed answers. default is to not display malformed answers.
``+bufsize[=B]`` ``+bufsize=B``
This option sets the UDP message buffer size advertised using EDNS0 to This option sets the UDP message buffer size advertised using EDNS0 to ``B``
``B`` bytes. The maximum and minimum sizes of this buffer are 65535 and bytes. The maximum and minimum sizes of this buffer are 65535 and 0,
0, respectively. ``+bufsize`` restores the default buffer size. respectively. Values outside this range are rounded up or down
appropriately. Values other than zero cause an EDNS query to be
sent.
``+[no]cdflag`` ``+[no]cdflag``
This option sets [or does not set] the CD (checking disabled) bit in the query. This This option sets [or does not set] the CD (checking disabled) bit in the query. This
@@ -297,9 +299,6 @@ abbreviation is unambiguous; for example, ``+cd`` is equivalent to
``+[no]defname`` ``+[no]defname``
This option, which is deprecated, is treated as a synonym for ``+[no]search``. This option, which is deprecated, is treated as a synonym for ``+[no]search``.
``+[no]dns64prefix``
Lookup IPV4ONLY.ARPA AAAA and print any DNS64 prefixes found.
``+[no]dnssec`` ``+[no]dnssec``
This option requests that DNSSEC records be sent by setting the DNSSEC OK (DO) bit in This option requests that DNSSEC records be sent by setting the DNSSEC OK (DO) bit in
the OPT record in the additional section of the query. the OPT record in the additional section of the query.
@@ -509,19 +508,14 @@ abbreviation is unambiguous; for example, ``+cd`` is equivalent to
``+notcflag``. This bit is ignored by the server for QUERY. ``+notcflag``. This bit is ignored by the server for QUERY.
``+[no]tcp`` ``+[no]tcp``
This option indicates whether to use TCP when querying name servers. This option uses [or does not use] TCP when querying name servers. The default behavior
The default behavior is to use UDP unless a type ``any`` or ``ixfr=N`` is to use UDP unless a type ``any`` or ``ixfr=N`` query is requested,
query is requested, in which case the default is TCP. AXFR queries in which case the default is TCP. AXFR queries always use TCP.
always use TCP.
``+timeout=T`` ``+timeout=T``
This option sets the timeout for a query to ``T`` seconds. The default timeout is This option sets the timeout for a query to ``T`` seconds. The default timeout is
5 seconds. An attempt to set ``T`` to less than 1 is silently set to 1. 5 seconds. An attempt to set ``T`` to less than 1 is silently set to 1.
``+[no]tls``
This option indicates whether to use DNS over TLS (DoT) when querying
name servers.
``+[no]topdown`` ``+[no]topdown``
This feature is related to ``dig +sigchase``, which is obsolete and This feature is related to ``dig +sigchase``, which is obsolete and
has been removed. Use ``delv`` instead. has been removed. Use ``delv`` instead.
@@ -557,6 +551,11 @@ abbreviation is unambiguous; for example, ``+cd`` is equivalent to
units of ``s``, ``m``, ``h``, ``d``, and ``w``, representing seconds, minutes, units of ``s``, ``m``, ``h``, ``d``, and ``w``, representing seconds, minutes,
hours, days, and weeks. This implies ``+ttlid``. hours, days, and weeks. This implies ``+ttlid``.
``+[no]unexpected``
This option accepts [or does not accept] answers from unexpected sources. By default, ``dig``
will not accept a reply from a source other than the one to which it sent the
query.
``+[no]unknownformat`` ``+[no]unknownformat``
This option prints all RDATA in unknown RR type presentation format (:rfc:`3597`). This option prints all RDATA in unknown RR type presentation format (:rfc:`3597`).
The default is to print RDATA for known types in the type's The default is to print RDATA for known types in the type's
+932 -829
View File
File diff suppressed because it is too large Load Diff
+39 -58
View File
@@ -3,7 +3,7 @@
* *
* This Source Code Form is subject to the terms of the Mozilla Public * 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 * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
* *
* See the COPYRIGHT file distributed with this work for additional * See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership. * information regarding copyright ownership.
@@ -19,13 +19,13 @@
#include <isc/attributes.h> #include <isc/attributes.h>
#include <isc/buffer.h> #include <isc/buffer.h>
#include <isc/bufferlist.h>
#include <isc/formatcheck.h> #include <isc/formatcheck.h>
#include <isc/lang.h> #include <isc/lang.h>
#include <isc/list.h> #include <isc/list.h>
#include <isc/magic.h> #include <isc/magic.h>
#include <isc/mem.h> #include <isc/mem.h>
#include <isc/print.h> #include <isc/print.h>
#include <isc/refcount.h>
#include <isc/sockaddr.h> #include <isc/sockaddr.h>
#include <isc/socket.h> #include <isc/socket.h>
@@ -71,10 +71,6 @@
#define SERVER_TIMEOUT 1 #define SERVER_TIMEOUT 1
#define LOOKUP_LIMIT 64 #define LOOKUP_LIMIT 64
#define DEFAULT_EDNS_VERSION 0
#define DEFAULT_EDNS_BUFSIZE 1232
/*% /*%
* Lookup_limit is just a limiter, keeping too many lookups from being * Lookup_limit is just a limiter, keeping too many lookups from being
* created. It's job is mainly to prevent the program from running away * created. It's job is mainly to prevent the program from running away
@@ -89,39 +85,37 @@ typedef struct dig_server dig_server_t;
typedef ISC_LIST(dig_server_t) dig_serverlist_t; typedef ISC_LIST(dig_server_t) dig_serverlist_t;
typedef struct dig_searchlist dig_searchlist_t; typedef struct dig_searchlist dig_searchlist_t;
#define DIG_LOOKUP_MAGIC ISC_MAGIC('D', 'i', 'g', 'l')
#define DIG_VALID_LOOKUP(x) ISC_MAGIC_VALID((x), DIG_LOOKUP_MAGIC)
#define DIG_QUERY_MAGIC ISC_MAGIC('D', 'i', 'g', 'q') #define DIG_QUERY_MAGIC ISC_MAGIC('D', 'i', 'g', 'q')
#define DIG_VALID_QUERY(x) ISC_MAGIC_VALID((x), DIG_QUERY_MAGIC) #define DIG_VALID_QUERY(x) ISC_MAGIC_VALID((x), DIG_QUERY_MAGIC)
/*% The dig_lookup structure */ /*% The dig_lookup structure */
struct dig_lookup { struct dig_lookup {
unsigned int magic; bool pending, /*%< Pending a successful answer */
isc_refcount_t references; waiting_connect, doing_xfr, ns_search_only, /*%< dig
bool aaonly, adflag, badcookie, besteffort, cdflag, comments, * +nssearch,
dns64prefix, dnssec, doing_xfr, done_as_is, ednsneg, expandaaaa, * host -C */
expire, header_only, identify, /*%< Append an "on server <foo>" identify, /*%< Append an "on server <foo>" message */
message */ identify_previous_line, /*% Prepend a "Nameserver <foo>:"
identify_previous_line, /*% Prepend a "Nameserver <foo>:" * message, with newline and tab */
message, with newline and tab */ ignore, recurse, aaonly, adflag, cdflag, raflag, tcflag, zflag,
idnin, idnout, ignore, mapped, multiline, need_search,
new_search, noclass, nocrypto, nottl,
ns_search_only, /*%< dig +nssearch, host -C */
nsid, /*% Name Server ID (RFC 5001) */
onesoa, pending, /*%< Pending a successful answer */
print_unknown_format, qr, raflag, recurse, section_additional,
section_answer, section_authority, section_question,
seenbadcookie, sendcookie, servfail_stops,
setqid, /*% use a speciied query ID */
stats, tcflag, tcp_keepalive, tcp_mode, tcp_mode_set,
tls_mode, /*% connect using TLS */
trace, /*% dig +trace */ trace, /*% dig +trace */
trace_root, /*% initial query for either +trace or +nssearch */ trace_root, /*% initial query for either +trace or +nssearch
ttlunits, use_usec, waiting_connect, zflag; * */
char textname[MXNAME]; /*% Name we're going to be looking up */ tcp_mode, tcp_mode_set, comments, stats, section_question,
section_answer, section_authority, section_additional,
servfail_stops, new_search, need_search, done_as_is, besteffort,
dnssec, expire, sendcookie, seenbadcookie, badcookie,
nsid, /*% Name Server ID (RFC 5001) */
tcp_keepalive, header_only, ednsneg, mapped,
print_unknown_format, multiline, nottl, noclass, onesoa,
use_usec, nocrypto, ttlunits, idnin, idnout, expandaaaa, qr,
accept_reply_unexpected_src, /*% print replies from
* unexpected
* sources. */
setqid; /*% use a speciied query ID */
char textname[MXNAME]; /*% Name we're going to be
* looking up */
char cmdline[MXNAME]; char cmdline[MXNAME];
dns_rdatatype_t rdtype; dns_rdatatype_t rdtype;
dns_rdatatype_t qrdtype; dns_rdatatype_t qrdtype;
@@ -147,7 +141,7 @@ struct dig_lookup {
dig_query_t *xfr_q; dig_query_t *xfr_q;
uint32_t retries; uint32_t retries;
int nsfound; int nsfound;
int16_t udpsize; uint16_t udpsize;
int16_t edns; int16_t edns;
int16_t padding; int16_t padding;
uint32_t ixfr_serial; uint32_t ixfr_serial;
@@ -173,11 +167,9 @@ struct dig_lookup {
struct dig_query { struct dig_query {
unsigned int magic; unsigned int magic;
dig_lookup_t *lookup; dig_lookup_t *lookup;
bool first_pass; bool waiting_connect, pending_free, waiting_senddone, first_pass,
bool first_soa_rcvd; first_soa_rcvd, second_rr_rcvd, first_repeat_rcvd, recv_made,
bool second_rr_rcvd; warn_id, timedout;
bool first_repeat_rcvd;
bool warn_id;
uint32_t first_rr_serial; uint32_t first_rr_serial;
uint32_t second_rr_serial; uint32_t second_rr_serial;
uint32_t msg_count; uint32_t msg_count;
@@ -185,12 +177,9 @@ struct dig_query {
bool ixfr_axfr; bool ixfr_axfr;
char *servname; char *servname;
char *userarg; char *userarg;
isc_buffer_t sendbuf; isc_buffer_t recvbuf, lengthbuf, tmpsendbuf, sendbuf;
char *recvspace, *tmpsendspace, lengthspace[4]; char *recvspace, *tmpsendspace, lengthspace[4];
isc_refcount_t references; isc_socket_t *sock;
isc_nmhandle_t *handle;
isc_nmhandle_t *readhandle;
isc_nmhandle_t *sendhandle;
ISC_LINK(dig_query_t) link; ISC_LINK(dig_query_t) link;
ISC_LINK(dig_query_t) clink; ISC_LINK(dig_query_t) clink;
isc_sockaddr_t sockaddr; isc_sockaddr_t sockaddr;
@@ -198,7 +187,6 @@ struct dig_query {
isc_time_t time_recv; isc_time_t time_recv;
uint64_t byte_count; uint64_t byte_count;
isc_timer_t *timer; isc_timer_t *timer;
uint8_t tries;
}; };
struct dig_server { struct dig_server {
@@ -227,14 +215,13 @@ extern unsigned int extrabytes;
extern bool check_ra, have_ipv4, have_ipv6, specified_source, usesearch, extern bool check_ra, have_ipv4, have_ipv6, specified_source, usesearch,
showsearch, yaml; showsearch, yaml;
extern in_port_t port; extern in_port_t port;
extern bool port_set;
extern unsigned int timeout; extern unsigned int timeout;
extern isc_mem_t *mctx; extern isc_mem_t *mctx;
extern isc_refcount_t sendcount; extern int sendcount;
extern int ndots; extern int ndots;
extern int lookup_counter; extern int lookup_counter;
extern int exitcode; extern int exitcode;
extern isc_sockaddr_t localaddr; extern isc_sockaddr_t bind_address;
extern char keynametext[MXNAME]; extern char keynametext[MXNAME];
extern char keyfile[MXNAME]; extern char keyfile[MXNAME];
extern char keysecret[MXNAME]; extern char keysecret[MXNAME];
@@ -399,38 +386,32 @@ setup_text_key(void);
* Routines exported from dig.c for use by dig for iOS * Routines exported from dig.c for use by dig for iOS
*/ */
/*% /*%<
* Call once only to set up libraries, parse global * Call once only to set up libraries, parse global
* parameters and initial command line query parameters * parameters and initial command line query parameters
*/ */
void void
dig_setup(int argc, char **argv); dig_setup(int argc, char **argv);
/*% /*%<
* Call to supply new parameters for the next lookup * Call to supply new parameters for the next lookup
*/ */
void void
dig_query_setup(bool, bool, int argc, char **argv); dig_query_setup(bool, bool, int argc, char **argv);
/*% /*%<
* set the main application event cycle running * set the main application event cycle running
*/ */
void void
dig_startup(void); dig_startup(void);
/*% /*%<
* Initiates the next lookup cycle * Initiates the next lookup cycle
*/ */
void void
dig_query_start(void); dig_query_start(void);
/*% /*%<
* Activate/deactivate IDN filtering of output.
*/
void
dig_idnsetup(dig_lookup_t *lookup, bool active);
/*%
* Cleans up the application * Cleans up the application
*/ */
void void
+1 -1
View File
@@ -3,7 +3,7 @@
* *
* This Source Code Form is subject to the terms of the Mozilla Public * 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 * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
* *
* See the COPYRIGHT file distributed with this work for additional * See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership. * information regarding copyright ownership.
+1 -1
View File
@@ -3,7 +3,7 @@
This Source Code Form is subject to the terms of the Mozilla Public 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 License, v. 2.0. If a copy of the MPL was not distributed with this
file, you can obtain one at https://mozilla.org/MPL/2.0/. file, You can obtain one at http://mozilla.org/MPL/2.0/.
See the COPYRIGHT file distributed with this work for additional See the COPYRIGHT file distributed with this work for additional
information regarding copyright ownership. information regarding copyright ownership.
+80 -12
View File
@@ -3,7 +3,7 @@
* *
* This Source Code Form is subject to the terms of the Mozilla Public * 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 * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
* *
* See the COPYRIGHT file distributed with this work for additional * See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership. * information regarding copyright ownership.
@@ -22,7 +22,6 @@
#include <isc/netaddr.h> #include <isc/netaddr.h>
#include <isc/parseint.h> #include <isc/parseint.h>
#include <isc/print.h> #include <isc/print.h>
#include <isc/readline.h>
#include <isc/string.h> #include <isc/string.h>
#include <isc/task.h> #include <isc/task.h>
#include <isc/util.h> #include <isc/util.h>
@@ -39,6 +38,22 @@
#include "dighost.h" #include "dighost.h"
#if defined(HAVE_READLINE)
#if defined(HAVE_EDIT_READLINE_READLINE_H)
#include <edit/readline/readline.h>
#if defined(HAVE_EDIT_READLINE_HISTORY_H)
#include <edit/readline/history.h>
#endif /* if defined(HAVE_EDIT_READLINE_HISTORY_H) */
#elif defined(HAVE_EDITLINE_READLINE_H)
#include <editline/readline.h>
#elif defined(HAVE_READLINE_READLINE_H)
#include <readline/readline.h>
#if defined(HAVE_READLINE_HISTORY_H)
#include <readline/history.h>
#endif /* if defined(HAVE_READLINE_HISTORY_H) */
#endif /* if defined(HAVE_EDIT_READLINE_READLINE_H) */
#endif /* if defined(HAVE_READLINE) */
static bool short_form = true, tcpmode = false, tcpmode_set = false, static bool short_form = true, tcpmode = false, tcpmode_set = false,
identify = false, stats = true, comments = true, identify = false, stats = true, comments = true,
section_question = true, section_answer = true, section_question = true, section_answer = true,
@@ -110,6 +125,8 @@ static const char *rtypetext[] = {
#define N_KNOWN_RRTYPES (sizeof(rtypetext) / sizeof(rtypetext[0])) #define N_KNOWN_RRTYPES (sizeof(rtypetext) / sizeof(rtypetext[0]))
static void
flush_lookup_list(void);
static void static void
getinput(isc_task_t *task, isc_event_t *event); getinput(isc_task_t *task, isc_event_t *event);
@@ -134,6 +151,7 @@ static void
query_finished(void) { query_finished(void) {
isc_event_t *event = global_event; isc_event_t *event = global_event;
flush_lookup_list();
debug("dighost_shutdown()"); debug("dighost_shutdown()");
if (!in_use) { if (!in_use) {
@@ -619,8 +637,6 @@ static void
setoption(char *opt) { setoption(char *opt) {
size_t l = strlen(opt); size_t l = strlen(opt);
debugging = true;
#define CHECKOPT(A, N) \ #define CHECKOPT(A, N) \
((l >= N) && (l < sizeof(A)) && (strncasecmp(opt, A, l) == 0)) ((l >= N) && (l < sizeof(A)) && (strncasecmp(opt, A, l) == 0))
@@ -771,6 +787,7 @@ addlookup(char *opt) {
lookup->recurse = recurse; lookup->recurse = recurse;
lookup->aaonly = aaonly; lookup->aaonly = aaonly;
lookup->retries = tries; lookup->retries = tries;
lookup->udpsize = 0;
lookup->setqid = false; lookup->setqid = false;
lookup->qid = 0; lookup->qid = 0;
lookup->comments = comments; lookup->comments = comments;
@@ -831,27 +848,38 @@ do_next_command(char *input) {
static void static void
get_next_command(void) { get_next_command(void) {
char cmdlinebuf[COMMSIZE]; char *buf;
char *cmdline, *ptr = NULL; char *ptr;
fflush(stdout);
buf = isc_mem_allocate(mctx, COMMSIZE);
isc_app_block(); isc_app_block();
if (interactive) { if (interactive) {
cmdline = ptr = readline("> "); #ifdef HAVE_READLINE
if (ptr != NULL && *ptr != 0) { ptr = readline("> ");
if (ptr != NULL) {
add_history(ptr); add_history(ptr);
} }
#else /* ifdef HAVE_READLINE */
fprintf(stderr, "> ");
fflush(stderr);
ptr = fgets(buf, COMMSIZE, stdin);
#endif /* ifdef HAVE_READLINE */
} else { } else {
cmdline = fgets(cmdlinebuf, COMMSIZE, stdin); ptr = fgets(buf, COMMSIZE, stdin);
} }
isc_app_unblock(); isc_app_unblock();
if (cmdline == NULL) { if (ptr == NULL) {
in_use = false; in_use = false;
} else { } else {
do_next_command(cmdline); do_next_command(ptr);
} }
if (ptr != NULL) { #ifdef HAVE_READLINE
if (interactive) {
free(ptr); free(ptr);
} }
#endif /* ifdef HAVE_READLINE */
isc_mem_free(mctx, buf);
} }
ISC_NORETURN static void ISC_NORETURN static void
@@ -903,6 +931,46 @@ parse_args(int argc, char **argv) {
} }
} }
static void
flush_lookup_list(void) {
dig_lookup_t *l, *lp;
dig_query_t *q, *qp;
dig_server_t *s, *sp;
lookup_counter = 0;
l = ISC_LIST_HEAD(lookup_list);
while (l != NULL) {
q = ISC_LIST_HEAD(l->q);
while (q != NULL) {
if (q->sock != NULL) {
isc_socket_cancel(q->sock, NULL,
ISC_SOCKCANCEL_ALL);
isc_socket_detach(&q->sock);
}
isc_buffer_invalidate(&q->recvbuf);
isc_buffer_invalidate(&q->lengthbuf);
qp = q;
q = ISC_LIST_NEXT(q, link);
ISC_LIST_DEQUEUE(l->q, qp, link);
isc_mem_free(mctx, qp);
}
s = ISC_LIST_HEAD(l->my_server_list);
while (s != NULL) {
sp = s;
s = ISC_LIST_NEXT(s, link);
ISC_LIST_DEQUEUE(l->my_server_list, sp, link);
isc_mem_free(mctx, sp);
}
if (l->sendmsg != NULL) {
dns_message_destroy(&l->sendmsg);
}
lp = l;
l = ISC_LIST_NEXT(l, link);
ISC_LIST_DEQUEUE(lookup_list, lp, link);
isc_mem_free(mctx, lp);
}
}
static void static void
getinput(isc_task_t *task, isc_event_t *event) { getinput(isc_task_t *task, isc_event_t *event) {
UNUSED(task); UNUSED(task);
+1 -1
View File
@@ -3,7 +3,7 @@
This Source Code Form is subject to the terms of the Mozilla Public 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 License, v. 2.0. If a copy of the MPL was not distributed with this
file, you can obtain one at https://mozilla.org/MPL/2.0/. file, You can obtain one at http://mozilla.org/MPL/2.0/.
See the COPYRIGHT file distributed with this work for additional See the COPYRIGHT file distributed with this work for additional
information regarding copyright ownership. information regarding copyright ownership.
+2 -2
View File
@@ -75,7 +75,7 @@
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile> <OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\irs\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\bind9\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\irs\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\bind9\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>@OPENSSL_LIBCRYPTO@@OPENSSL_LIBSSL@dighost.lib;libisc.lib;libisccfg.lib;libirs.lib;libdns.lib;libbind9.lib;@IDN_LIB@ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>@OPENSSL_LIB@dighost.lib;libisc.lib;libisccfg.lib;libirs.lib;libdns.lib;libbind9.lib;@IDN_LIB@ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'">
@@ -107,7 +107,7 @@
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile> <OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
<LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration> <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\irs\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\bind9\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\irs\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\bind9\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>@OPENSSL_LIBCRYPTO@@OPENSSL_LIBSSL@dighost.lib;libisc.lib;libisccfg.lib;libirs.lib;libdns.lib;libbind9.lib;@IDN_LIB@ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>@OPENSSL_LIB@dighost.lib;libisc.lib;libisccfg.lib;libirs.lib;libdns.lib;libbind9.lib;@IDN_LIB@ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemGroup> <ItemGroup>
+2 -2
View File
@@ -75,7 +75,7 @@
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile> <OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\irs\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\bind9\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\irs\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\bind9\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>@OPENSSL_LIBCRYPTO@@OPENSSL_LIBSSL@dighost.lib;@IDN_LIB@libisc.lib;libisccfg.lib;libirs.lib;libdns.lib;libbind9.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>@OPENSSL_LIB@dighost.lib;@IDN_LIB@libisc.lib;libisccfg.lib;libirs.lib;libdns.lib;libbind9.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'">
@@ -107,7 +107,7 @@
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile> <OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
<LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration> <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\irs\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\bind9\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\irs\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\bind9\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>@OPENSSL_LIBCRYPTO@@OPENSSL_LIBSSL@dighost.lib;@IDN_LIB@libisc.lib;libisccfg.lib;libirs.lib;libdns.lib;libbind9.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>@OPENSSL_LIB@dighost.lib;@IDN_LIB@libisc.lib;libisccfg.lib;libirs.lib;libdns.lib;libbind9.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemGroup> <ItemGroup>
+2 -2
View File
@@ -75,7 +75,7 @@
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile> <OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\irs\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\bind9\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\irs\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\bind9\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>@OPENSSL_LIBCRYPTO@@OPENSSL_LIBSSL@@READLINE_LIBD@@IDN_LIB@libisc.lib;libisccfg.lib;libirs.lib;libdns.lib;libbind9.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>@OPENSSL_LIB@@READLINE_LIBD@@IDN_LIB@libisc.lib;libisccfg.lib;libirs.lib;libdns.lib;libbind9.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'">
@@ -107,7 +107,7 @@
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile> <OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
<LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration> <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
<AdditionalLibraryDirectories>..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\irs\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\bind9\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\irs\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\bind9\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>@OPENSSL_LIBCRYPTO@@OPENSSL_LIBSSL@@READLINE_LIB@@IDN_LIB@libisc.lib;libisccfg.lib;libirs.lib;libdns.lib;libbind9.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>@OPENSSL_LIB@@READLINE_LIB@@IDN_LIB@libisc.lib;libisccfg.lib;libirs.lib;libdns.lib;libbind9.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemGroup> <ItemGroup>
+1 -1
View File
@@ -3,7 +3,7 @@
* *
* This Source Code Form is subject to the terms of the Mozilla Public * 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 * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
* *
* See the COPYRIGHT file distributed with this work for additional * See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership. * information regarding copyright ownership.
+1 -1
View File
@@ -3,7 +3,7 @@
This Source Code Form is subject to the terms of the Mozilla Public 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 License, v. 2.0. If a copy of the MPL was not distributed with this
file, you can obtain one at https://mozilla.org/MPL/2.0/. file, You can obtain one at http://mozilla.org/MPL/2.0/.
See the COPYRIGHT file distributed with this work for additional See the COPYRIGHT file distributed with this work for additional
information regarding copyright ownership. information regarding copyright ownership.
+1 -1
View File
@@ -3,7 +3,7 @@
* *
* This Source Code Form is subject to the terms of the Mozilla Public * 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 * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
* *
* See the COPYRIGHT file distributed with this work for additional * See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership. * information regarding copyright ownership.
+1 -1
View File
@@ -3,7 +3,7 @@
This Source Code Form is subject to the terms of the Mozilla Public 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 License, v. 2.0. If a copy of the MPL was not distributed with this
file, you can obtain one at https://mozilla.org/MPL/2.0/. file, You can obtain one at http://mozilla.org/MPL/2.0/.
See the COPYRIGHT file distributed with this work for additional See the COPYRIGHT file distributed with this work for additional
information regarding copyright ownership. information regarding copyright ownership.
+1 -1
View File
@@ -3,7 +3,7 @@
* *
* This Source Code Form is subject to the terms of the Mozilla Public * 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 * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
* *
* See the COPYRIGHT file distributed with this work for additional * See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership. * information regarding copyright ownership.
+3 -3
View File
@@ -3,7 +3,7 @@
This Source Code Form is subject to the terms of the Mozilla Public 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 License, v. 2.0. If a copy of the MPL was not distributed with this
file, you can obtain one at https://mozilla.org/MPL/2.0/. file, You can obtain one at http://mozilla.org/MPL/2.0/.
See the COPYRIGHT file distributed with this work for additional See the COPYRIGHT file distributed with this work for additional
information regarding copyright ownership. information regarding copyright ownership.
@@ -37,8 +37,8 @@ Description
~~~~~~~~~~~ ~~~~~~~~~~~
``dnssec-importkey`` reads a public DNSKEY record and generates a pair ``dnssec-importkey`` reads a public DNSKEY record and generates a pair
of .key/.private files. The DNSKEY record may be read from an of .key/.private files. The DNSKEY record may be read from an existing
existing .key file, in which case a corresponding .private file is .key file, in which case a corresponding .private file is
generated, or it may be read from any other file or from the standard generated, or it may be read from any other file or from the standard
input, in which case both .key and .private files are generated. input, in which case both .key and .private files are generated.
+5 -1
View File
@@ -3,7 +3,7 @@
* *
* This Source Code Form is subject to the terms of the Mozilla Public * 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 * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
* *
* See the COPYRIGHT file distributed with this work for additional * See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership. * information regarding copyright ownership.
@@ -362,6 +362,7 @@ main(int argc, char **argv) {
setup_logging(mctx, &log); setup_logging(mctx, &log);
if (predecessor == NULL) { if (predecessor == NULL) {
/* cppcheck-suppress nullPointerRedundantCheck */
if (label == NULL) { if (label == NULL) {
fatal("the key label was not specified"); fatal("the key label was not specified");
} }
@@ -383,6 +384,7 @@ main(int argc, char **argv) {
isc_result_totext(ret)); isc_result_totext(ret));
} }
/* cppcheck-suppress nullPointerRedundantCheck */
if (strchr(label, ':') == NULL) { if (strchr(label, ':') == NULL) {
char *l; char *l;
int len; int len;
@@ -394,11 +396,13 @@ main(int argc, char **argv) {
label = l; label = l;
} }
/* cppcheck-suppress nullPointerRedundantCheck */
if (algname == NULL) { if (algname == NULL) {
fatal("no algorithm specified"); fatal("no algorithm specified");
} }
r.base = algname; r.base = algname;
/* cppcheck-suppress nullPointerRedundantCheck */
r.length = strlen(algname); r.length = strlen(algname);
ret = dns_secalg_fromtext(&alg, &r); ret = dns_secalg_fromtext(&alg, &r);
if (ret != ISC_R_SUCCESS) { if (ret != ISC_R_SUCCESS) {
+1 -1
View File
@@ -3,7 +3,7 @@
This Source Code Form is subject to the terms of the Mozilla Public 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 License, v. 2.0. If a copy of the MPL was not distributed with this
file, you can obtain one at https://mozilla.org/MPL/2.0/. file, You can obtain one at http://mozilla.org/MPL/2.0/.
See the COPYRIGHT file distributed with this work for additional See the COPYRIGHT file distributed with this work for additional
information regarding copyright ownership. information regarding copyright ownership.
+3 -1
View File
@@ -3,7 +3,7 @@
* *
* This Source Code Form is subject to the terms of the Mozilla Public * 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 * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
* *
* See the COPYRIGHT file distributed with this work for additional * See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership. * information regarding copyright ownership.
@@ -1180,10 +1180,12 @@ main(int argc, char **argv) {
} }
if (ctx.predecessor == NULL && ctx.policy == NULL) { if (ctx.predecessor == NULL && ctx.policy == NULL) {
/* cppcheck-suppress nullPointerRedundantCheck */
if (algname == NULL) { if (algname == NULL) {
fatal("no algorithm specified"); fatal("no algorithm specified");
} }
r.base = algname; r.base = algname;
/* cppcheck-suppress nullPointerRedundantCheck */
r.length = strlen(algname); r.length = strlen(algname);
ret = dns_secalg_fromtext(&ctx.alg, &r); ret = dns_secalg_fromtext(&ctx.alg, &r);
if (ret != ISC_R_SUCCESS) { if (ret != ISC_R_SUCCESS) {
+1 -1
View File
@@ -3,7 +3,7 @@
This Source Code Form is subject to the terms of the Mozilla Public 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 License, v. 2.0. If a copy of the MPL was not distributed with this
file, you can obtain one at https://mozilla.org/MPL/2.0/. file, You can obtain one at http://mozilla.org/MPL/2.0/.
See the COPYRIGHT file distributed with this work for additional See the COPYRIGHT file distributed with this work for additional
information regarding copyright ownership. information regarding copyright ownership.
+1 -1
View File
@@ -3,7 +3,7 @@
* *
* This Source Code Form is subject to the terms of the Mozilla Public * 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 * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
* *
* See the COPYRIGHT file distributed with this work for additional * See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership. * information regarding copyright ownership.
+1 -1
View File
@@ -3,7 +3,7 @@
This Source Code Form is subject to the terms of the Mozilla Public 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 License, v. 2.0. If a copy of the MPL was not distributed with this
file, you can obtain one at https://mozilla.org/MPL/2.0/. file, You can obtain one at http://mozilla.org/MPL/2.0/.
See the COPYRIGHT file distributed with this work for additional See the COPYRIGHT file distributed with this work for additional
information regarding copyright ownership. information regarding copyright ownership.
+1 -66
View File
@@ -3,7 +3,7 @@
* *
* This Source Code Form is subject to the terms of the Mozilla Public * 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 * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
* *
* See the COPYRIGHT file distributed with this work for additional * See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership. * information regarding copyright ownership.
@@ -75,8 +75,6 @@ usage(void) {
fprintf(stderr, "Timing options:\n"); fprintf(stderr, "Timing options:\n");
fprintf(stderr, " -P date/[+-]offset/none: set/unset key " fprintf(stderr, " -P date/[+-]offset/none: set/unset key "
"publication date\n"); "publication date\n");
fprintf(stderr, " -P ds date/[+-]offset/none: set/unset "
"DS publication date\n");
fprintf(stderr, " -P sync date/[+-]offset/none: set/unset " fprintf(stderr, " -P sync date/[+-]offset/none: set/unset "
"CDS and CDNSKEY publication date\n"); "CDS and CDNSKEY publication date\n");
fprintf(stderr, " -A date/[+-]offset/none: set/unset key " fprintf(stderr, " -A date/[+-]offset/none: set/unset key "
@@ -87,8 +85,6 @@ usage(void) {
"inactivation date\n"); "inactivation date\n");
fprintf(stderr, " -D date/[+-]offset/none: set/unset key " fprintf(stderr, " -D date/[+-]offset/none: set/unset key "
"deletion date\n"); "deletion date\n");
fprintf(stderr, " -D ds date/[+-]offset/none: set/unset "
"DS deletion date\n");
fprintf(stderr, " -D sync date/[+-]offset/none: set/unset " fprintf(stderr, " -D sync date/[+-]offset/none: set/unset "
"CDS and CDNSKEY deletion date\n"); "CDS and CDNSKEY deletion date\n");
fprintf(stderr, " -S <key>: generate a successor to an existing " fprintf(stderr, " -S <key>: generate a successor to an existing "
@@ -247,10 +243,6 @@ main(int argc, char **argv) {
bool unsetsyncadd = false, setsyncadd = false; bool unsetsyncadd = false, setsyncadd = false;
bool unsetsyncdel = false, setsyncdel = false; bool unsetsyncdel = false, setsyncdel = false;
bool printsyncadd = false, printsyncdel = false; bool printsyncadd = false, printsyncdel = false;
isc_stdtime_t dsadd = 0, dsdel = 0;
bool unsetdsadd = false, setdsadd = false;
bool unsetdsdel = false, setdsdel = false;
bool printdsadd = false, printdsdel = false;
options = DST_TYPE_PUBLIC | DST_TYPE_PRIVATE | DST_TYPE_STATE; options = DST_TYPE_PUBLIC | DST_TYPE_PRIVATE | DST_TYPE_STATE;
@@ -298,18 +290,6 @@ main(int argc, char **argv) {
unsetsyncdel = !setsyncdel; unsetsyncdel = !setsyncdel;
break; break;
} }
/* -Dds ? */
if (isoptarg("ds", argv, usage)) {
if (unsetdsdel || setdsdel) {
fatal("-D ds specified more than once");
}
changed = true;
dsdel = strtotime(isc_commandline_argument, now,
now, &setdsdel);
unsetdsdel = !setdsdel;
break;
}
/* -Ddnskey ? */ /* -Ddnskey ? */
(void)isoptarg("dnskey", argv, usage); (void)isoptarg("dnskey", argv, usage);
if (setdel || unsetdel) { if (setdel || unsetdel) {
@@ -414,19 +394,6 @@ main(int argc, char **argv) {
unsetsyncadd = !setsyncadd; unsetsyncadd = !setsyncadd;
break; break;
} }
/* -Pds ? */
if (isoptarg("ds", argv, usage)) {
if (unsetdsadd || setdsadd) {
fatal("-P ds specified more than once");
}
changed = true;
dsadd = strtotime(isc_commandline_argument, now,
now, &setdsadd);
unsetdsadd = !setdsadd;
break;
}
/* -Pdnskey ? */
(void)isoptarg("dnskey", argv, usage); (void)isoptarg("dnskey", argv, usage);
if (setpub || unsetpub) { if (setpub || unsetpub) {
fatal("-P specified more than once"); fatal("-P specified more than once");
@@ -448,8 +415,6 @@ main(int argc, char **argv) {
printdel = true; printdel = true;
printsyncadd = true; printsyncadd = true;
printsyncdel = true; printsyncdel = true;
printdsadd = true;
printdsdel = true;
break; break;
} }
@@ -467,11 +432,6 @@ main(int argc, char **argv) {
printsyncdel = true; printsyncdel = true;
break; break;
} }
if (!strncmp(p, "ds", 2)) {
p += 2;
printdsdel = true;
break;
}
printdel = true; printdel = true;
break; break;
case 'I': case 'I':
@@ -483,11 +443,6 @@ main(int argc, char **argv) {
printsyncadd = true; printsyncadd = true;
break; break;
} }
if (!strncmp(p, "ds", 2)) {
p += 2;
printdsadd = true;
break;
}
printpub = true; printpub = true;
break; break;
case 'R': case 'R':
@@ -822,18 +777,6 @@ main(int argc, char **argv) {
dst_key_unsettime(key, DST_TIME_SYNCDELETE); dst_key_unsettime(key, DST_TIME_SYNCDELETE);
} }
if (setdsadd) {
dst_key_settime(key, DST_TIME_DSPUBLISH, dsadd);
} else if (unsetdsadd) {
dst_key_unsettime(key, DST_TIME_DSPUBLISH);
}
if (setdsdel) {
dst_key_settime(key, DST_TIME_DSDELETE, dsdel);
} else if (unsetdsdel) {
dst_key_unsettime(key, DST_TIME_DSDELETE);
}
if (setttl) { if (setttl) {
dst_key_setttl(key, ttl); dst_key_setttl(key, ttl);
} }
@@ -951,14 +894,6 @@ main(int argc, char **argv) {
stdout); stdout);
} }
if (printdsadd) {
printtime(key, DST_TIME_DSPUBLISH, "DS Publish", epoch, stdout);
}
if (printdsdel) {
printtime(key, DST_TIME_DSDELETE, "DS Delete", epoch, stdout);
}
if (changed) { if (changed) {
writekey(key, directory, write_state); writekey(key, directory, write_state);
if (predecessor != NULL && prevkey != NULL) { if (predecessor != NULL && prevkey != NULL) {
+10 -19
View File
@@ -3,7 +3,7 @@
This Source Code Form is subject to the terms of the Mozilla Public 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 License, v. 2.0. If a copy of the MPL was not distributed with this
file, you can obtain one at https://mozilla.org/MPL/2.0/. file, You can obtain one at http://mozilla.org/MPL/2.0/.
See the COPYRIGHT file distributed with this work for additional See the COPYRIGHT file distributed with this work for additional
information regarding copyright ownership. information regarding copyright ownership.
@@ -29,7 +29,7 @@ dnssec-settime: set the key timing metadata for a DNSSEC key
Synopsis Synopsis
~~~~~~~~ ~~~~~~~~
:program:`dnssec-settime` [**-f**] [**-K** directory] [**-L** ttl] [**-P** date/offset] [**-P** ds date/offset] [**-P** sync date/offset] [**-A** date/offset] [**-R** date/offset] [**-I** date/offset] [**-D** date/offset] [**-D** ds date/offset] [**-D** sync date/offset] [**-S** key] [**-i** interval] [**-h**] [**-V**] [**-v** level] [**-E** engine] {keyfile} [**-s**] [**-g** state] [**-d** state date/offset] [**-k** state date/offset] [**-r** state date/offset] [**-z** state date/offset] :program:`dnssec-settime` [**-f**] [**-K** directory] [**-L** ttl] [**-P** date/offset] [**-P** sync date/offset] [**-A** date/offset] [**-R** date/offset] [**-I** date/offset] [**-D** date/offset] [**-D** sync date/offset] [**-S** key] [**-i** interval] [**-h**] [**-V**] [**-v** level] [**-E** engine] {keyfile} [**-s**] [**-g** state] [**-d** state date/offset] [**-k** state date/offset] [**-r** state date/offset] [**-z** state date/offset]
Description Description
~~~~~~~~~~~ ~~~~~~~~~~~
@@ -126,10 +126,6 @@ explicitly prevent a date from being set, use ``none`` or ``never``.
that date, the key is included in the zone but is not used that date, the key is included in the zone but is not used
to sign it. to sign it.
``-P ds date/offset``
This option sets the date on which DS records that match this key have been
seen in the parent zone.
``-P sync date/offset`` ``-P sync date/offset``
This option sets the date on which CDS and CDNSKEY records that match this key This option sets the date on which CDS and CDNSKEY records that match this key
are to be published to the zone. are to be published to the zone.
@@ -153,10 +149,6 @@ explicitly prevent a date from being set, use ``none`` or ``never``.
key is no longer included in the zone. (However, it may remain in the key key is no longer included in the zone. (However, it may remain in the key
repository.) repository.)
``-D ds date/offset``
This option sets the date on which the DS records that match this key have
been seen removed from the parent zone.
``-D sync date/offset`` ``-D sync date/offset``
This option sets the date on which the CDS and CDNSKEY records that match this This option sets the date on which the CDS and CDNSKEY records that match this
key are to be deleted. key are to be deleted.
@@ -223,16 +215,15 @@ associated with a key.
``-u`` ``-u``
This option indicates that times should be printed in Unix epoch format. This option indicates that times should be printed in Unix epoch format.
``-p C/P/Pds/Psync/A/R/I/D/Dds/Dsync/all`` ``-p C/P/Psync/A/R/I/D/Dsync/all``
This option prints a specific metadata value or set of metadata values. This option prints a specific metadata value or set of metadata values. The ``-p``
The ``-p`` option may be followed by one or more of the following letters or option may be followed by one or more of the following letters or
strings to indicate which value or values to print: ``C`` for the strings to indicate which value or values to print: ``C`` for the
creation date, ``P`` for the publication date, ``Pds` for the DS publication creation date, ``P`` for the publication date, ``Psync`` for the CDS
date, ``Psync`` for the CDS and CDNSKEY publication date, ``A`` for the and CDNSKEY publication date, ``A`` for the activation date, ``R``
activation date, ``R`` for the revocation date, ``I`` for the inactivation for the revocation date, ``I`` for the inactivation date, ``D`` for
date, ``D`` for the deletion date, ``Dds`` for the DS deletion date, the deletion date, and ``Dsync`` for the CDS and CDNSKEY deletion
and ``Dsync`` for the CDS and CDNSKEY deletion date. To print all of the date. To print all of the metadata, use ``all``.
metadata, use ``all``.
See Also See Also
~~~~~~~~ ~~~~~~~~
+1 -1
View File
@@ -3,7 +3,7 @@
* *
* This Source Code Form is subject to the terms of the Mozilla Public * 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 * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
* *
* See the COPYRIGHT file distributed with this work for additional * See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership. * information regarding copyright ownership.
+1 -1
View File
@@ -3,7 +3,7 @@
This Source Code Form is subject to the terms of the Mozilla Public 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 License, v. 2.0. If a copy of the MPL was not distributed with this
file, you can obtain one at https://mozilla.org/MPL/2.0/. file, You can obtain one at http://mozilla.org/MPL/2.0/.
See the COPYRIGHT file distributed with this work for additional See the COPYRIGHT file distributed with this work for additional
information regarding copyright ownership. information regarding copyright ownership.
+1 -1
View File
@@ -3,7 +3,7 @@
* *
* This Source Code Form is subject to the terms of the Mozilla Public * 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 * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
* *
* See the COPYRIGHT file distributed with this work for additional * See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership. * information regarding copyright ownership.
+1 -1
View File
@@ -3,7 +3,7 @@
This Source Code Form is subject to the terms of the Mozilla Public 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 License, v. 2.0. If a copy of the MPL was not distributed with this
file, you can obtain one at https://mozilla.org/MPL/2.0/. file, You can obtain one at http://mozilla.org/MPL/2.0/.
See the COPYRIGHT file distributed with this work for additional See the COPYRIGHT file distributed with this work for additional
information regarding copyright ownership. information regarding copyright ownership.
+1 -1
View File
@@ -3,7 +3,7 @@
* *
* This Source Code Form is subject to the terms of the Mozilla Public * 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 * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
* *
* See the COPYRIGHT file distributed with this work for additional * See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership. * information regarding copyright ownership.
+1 -5
View File
@@ -3,7 +3,7 @@
* *
* This Source Code Form is subject to the terms of the Mozilla Public * 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 * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
* *
* See the COPYRIGHT file distributed with this work for additional * See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership. * information regarding copyright ownership.
@@ -43,12 +43,8 @@ extern uint8_t dtype[8];
typedef void(fatalcallback_t)(void); typedef void(fatalcallback_t)(void);
#ifndef CPPCHECK
ISC_NORETURN void ISC_NORETURN void
fatal(const char *format, ...) ISC_FORMAT_PRINTF(1, 2); fatal(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
#else /* CPPCHECK */
#define fatal(...) exit(1)
#endif
void void
setfatalcallback(fatalcallback_t *callback); setfatalcallback(fatalcallback_t *callback);
+2 -2
View File
@@ -77,7 +77,7 @@
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile> <OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>@OPENSSL_LIBCRYPTO@@OPENSSL_LIBSSL@dnssectool.lib;libisc.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>@OPENSSL_LIB@dnssectool.lib;libisc.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'">
@@ -109,7 +109,7 @@
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile> <OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
<LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration> <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>@OPENSSL_LIBCRYPTO@@OPENSSL_LIBSSL@dnssectool.lib;libisc.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>@OPENSSL_LIB@dnssectool.lib;libisc.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemGroup> <ItemGroup>
+2 -2
View File
@@ -77,7 +77,7 @@
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile> <OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>@OPENSSL_LIBCRYPTO@@OPENSSL_LIBSSL@dnssectool.lib;libisc.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>@OPENSSL_LIB@dnssectool.lib;libisc.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>
@IF PYTHON @IF PYTHON
<PostBuildEvent> <PostBuildEvent>
@@ -122,7 +122,7 @@ set PYTHONPATH=.
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile> <OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
<LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration> <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>@OPENSSL_LIBCRYPTO@@OPENSSL_LIBSSL@dnssectool.lib;libisc.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>@OPENSSL_LIB@dnssectool.lib;libisc.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>
@IF PYTHON @IF PYTHON
<PostBuildEvent> <PostBuildEvent>
+2 -2
View File
@@ -77,7 +77,7 @@
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile> <OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>@OPENSSL_LIBCRYPTO@@OPENSSL_LIBSSL@dnssectool.lib;libisc.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>@OPENSSL_LIB@dnssectool.lib;libisc.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'">
@@ -109,7 +109,7 @@
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile> <OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
<LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration> <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>@OPENSSL_LIBCRYPTO@@OPENSSL_LIBSSL@dnssectool.lib;libisc.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>@OPENSSL_LIB@dnssectool.lib;libisc.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemGroup> <ItemGroup>
+2 -2
View File
@@ -77,7 +77,7 @@
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile> <OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>@OPENSSL_LIBCRYPTO@@OPENSSL_LIBSSL@dnssectool.lib;libisc.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>@OPENSSL_LIB@dnssectool.lib;libisc.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'">
@@ -109,7 +109,7 @@
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile> <OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
<LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration> <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>@OPENSSL_LIBCRYPTO@@OPENSSL_LIBSSL@dnssectool.lib;libisc.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>@OPENSSL_LIB@dnssectool.lib;libisc.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemGroup> <ItemGroup>
+2 -2
View File
@@ -76,7 +76,7 @@
<SubSystem>Console</SubSystem> <SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile> <OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
<AdditionalDependencies>@OPENSSL_LIBCRYPTO@@OPENSSL_LIBSSL@dnssectool.lib;libisc.lib;libisccfg.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>@OPENSSL_LIB@dnssectool.lib;libisc.lib;libisccfg.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
@@ -108,7 +108,7 @@
<OptimizeReferences>true</OptimizeReferences> <OptimizeReferences>true</OptimizeReferences>
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile> <OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
<LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration> <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
<AdditionalDependencies>@OPENSSL_LIBCRYPTO@@OPENSSL_LIBSSL@dnssectool.lib;libisc.lib;libisccfg.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>@OPENSSL_LIB@dnssectool.lib;libisc.lib;libisccfg.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
+2 -2
View File
@@ -77,7 +77,7 @@
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile> <OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>@OPENSSL_LIBCRYPTO@@OPENSSL_LIBSSL@dnssectool.lib;libisc.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>@OPENSSL_LIB@dnssectool.lib;libisc.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'">
@@ -109,7 +109,7 @@
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile> <OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
<LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration> <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>@OPENSSL_LIBCRYPTO@@OPENSSL_LIBSSL@dnssectool.lib;libisc.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>@OPENSSL_LIB@dnssectool.lib;libisc.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemGroup> <ItemGroup>
+2 -2
View File
@@ -76,7 +76,7 @@
<SubSystem>Console</SubSystem> <SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile> <OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
<AdditionalDependencies>@OPENSSL_LIBCRYPTO@@OPENSSL_LIBSSL@dnssectool.lib;libisc.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>@OPENSSL_LIB@dnssectool.lib;libisc.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
@@ -108,7 +108,7 @@
<OptimizeReferences>true</OptimizeReferences> <OptimizeReferences>true</OptimizeReferences>
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile> <OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
<LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration> <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
<AdditionalDependencies>@OPENSSL_LIBCRYPTO@@OPENSSL_LIBSSL@dnssectool.lib;libisc.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>@OPENSSL_LIB@dnssectool.lib;libisc.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
+2 -2
View File
@@ -77,7 +77,7 @@
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile> <OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>@OPENSSL_LIBCRYPTO@@OPENSSL_LIBSSL@dnssectool.lib;libisc.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>@OPENSSL_LIB@dnssectool.lib;libisc.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'">
@@ -109,7 +109,7 @@
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile> <OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
<LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration> <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>@OPENSSL_LIBCRYPTO@@OPENSSL_LIBSSL@dnssectool.lib;libisc.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>@OPENSSL_LIB@dnssectool.lib;libisc.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemGroup> <ItemGroup>
+2 -2
View File
@@ -76,7 +76,7 @@
<SubSystem>Console</SubSystem> <SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile> <OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
<AdditionalDependencies>@OPENSSL_LIBCRYPTO@@OPENSSL_LIBSSL@dnssectool.lib;libisc.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>@OPENSSL_LIB@dnssectool.lib;libisc.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
@@ -108,7 +108,7 @@
<OptimizeReferences>true</OptimizeReferences> <OptimizeReferences>true</OptimizeReferences>
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile> <OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
<LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration> <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
<AdditionalDependencies>@OPENSSL_LIBCRYPTO@@OPENSSL_LIBSSL@dnssectool.lib;libisc.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>@OPENSSL_LIB@dnssectool.lib;libisc.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
+1 -2
View File
@@ -9,12 +9,12 @@ AM_CPPFLAGS += \
$(LIBISCCC_CFLAGS) \ $(LIBISCCC_CFLAGS) \
$(LIBISCCFG_CFLAGS) \ $(LIBISCCFG_CFLAGS) \
$(LIBBIND9_CFLAGS) \ $(LIBBIND9_CFLAGS) \
$(LIBLTDL_CFLAGS) \
$(OPENSSL_CFLAGS) \ $(OPENSSL_CFLAGS) \
$(LIBCAP_CFLAGS) \ $(LIBCAP_CFLAGS) \
$(LMDB_CFLAGS) \ $(LMDB_CFLAGS) \
$(MAXMINDDB_CFLAGS) \ $(MAXMINDDB_CFLAGS) \
$(DNSTAP_CFLAGS) \ $(DNSTAP_CFLAGS) \
$(LIBUV_CFLAGS) \
$(ZLIB_CFLAGS) $(ZLIB_CFLAGS)
if HAVE_JSON_C if HAVE_JSON_C
@@ -102,7 +102,6 @@ named_LDADD = \
$(LMDB_LIBS) \ $(LMDB_LIBS) \
$(MAXMINDDB_LIBS) \ $(MAXMINDDB_LIBS) \
$(DNSTAP_LIBS) \ $(DNSTAP_LIBS) \
$(LIBUV_LIBS) \
$(LIBXML2_LIBS) \ $(LIBXML2_LIBS) \
$(ZLIB_LIBS) $(ZLIB_LIBS)
+1 -1
View File
@@ -4,7 +4,7 @@
- -
- This Source Code Form is subject to the terms of the Mozilla Public - 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 - License, v. 2.0. If a copy of the MPL was not distributed with this
- file, you can obtain one at https://mozilla.org/MPL/2.0/. - file, You can obtain one at http://mozilla.org/MPL/2.0/.
- -
- See the COPYRIGHT file distributed with this work for additional - See the COPYRIGHT file distributed with this work for additional
- information regarding copyright ownership. - information regarding copyright ownership.
+1 -1
View File
@@ -3,7 +3,7 @@
* *
* This Source Code Form is subject to the terms of the Mozilla Public * 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 * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
* *
* See the COPYRIGHT file distributed with this work for additional * See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership. * information regarding copyright ownership.
+8 -12
View File
@@ -3,7 +3,7 @@
* *
* This Source Code Form is subject to the terms of the Mozilla Public * 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 * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
* *
* See the COPYRIGHT file distributed with this work for additional * See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership. * information regarding copyright ownership.
@@ -59,7 +59,7 @@ options {\n\
# directory <none>\n\ # directory <none>\n\
dnssec-policy \"none\";\n\ dnssec-policy \"none\";\n\
dump-file \"named_dump.db\";\n\ dump-file \"named_dump.db\";\n\
edns-udp-size 1232;\n\ edns-udp-size 4096;\n\
# fake-iquery <obsolete>;\n" # fake-iquery <obsolete>;\n"
#ifndef WIN32 #ifndef WIN32
" files unlimited;\n" " files unlimited;\n"
@@ -83,7 +83,7 @@ options {\n\
match-mapped-addresses no;\n\ match-mapped-addresses no;\n\
max-ixfr-ratio 100%;\n\ max-ixfr-ratio 100%;\n\
max-rsa-exponent-size 0; /* no limit */\n\ max-rsa-exponent-size 0; /* no limit */\n\
max-udp-size 1232;\n\ max-udp-size 4096;\n\
memstatistics-file \"named.memstats\";\n\ memstatistics-file \"named.memstats\";\n\
# multiple-cnames <obsolete>;\n\ # multiple-cnames <obsolete>;\n\
# named-xfer <obsolete>;\n\ # named-xfer <obsolete>;\n\
@@ -93,7 +93,6 @@ options {\n\
nta-recheck 300;\n\ nta-recheck 300;\n\
# pid-file \"" NAMED_LOCALSTATEDIR "/run/named/named.pid\"; \n\ # pid-file \"" NAMED_LOCALSTATEDIR "/run/named/named.pid\"; \n\
port 53;\n\ port 53;\n\
tls-port 853;\n\
prefetch 2 9;\n\ prefetch 2 9;\n\
recursing-file \"named.recursing\";\n\ recursing-file \"named.recursing\";\n\
recursive-clients 1000;\n\ recursive-clients 1000;\n\
@@ -170,7 +169,7 @@ options {\n\
max-clients-per-query 100;\n\ max-clients-per-query 100;\n\
max-ncache-ttl 10800; /* 3 hours */\n\ max-ncache-ttl 10800; /* 3 hours */\n\
max-recursion-depth 7;\n\ max-recursion-depth 7;\n\
max-recursion-queries 100;\n\ max-recursion-queries 75;\n\
max-stale-ttl 43200; /* 12 hours */\n\ max-stale-ttl 43200; /* 12 hours */\n\
message-compression yes;\n\ message-compression yes;\n\
min-ncache-ttl 0; /* 0 hours */\n\ min-ncache-ttl 0; /* 0 hours */\n\
@@ -196,9 +195,7 @@ options {\n\
servfail-ttl 1;\n\ servfail-ttl 1;\n\
# sortlist <none>\n\ # sortlist <none>\n\
stale-answer-enable false;\n\ stale-answer-enable false;\n\
stale-refresh-time 30; /* 30 seconds */\n\
stale-answer-ttl 1; /* 1 second */\n\ stale-answer-ttl 1; /* 1 second */\n\
stale-cache-enable false;\n\
synth-from-dnssec no;\n\ synth-from-dnssec no;\n\
# topology <none>\n\ # topology <none>\n\
transfer-format many-answers;\n\ transfer-format many-answers;\n\
@@ -499,7 +496,7 @@ named_config_getiplist(const cfg_obj_t *config, const cfg_obj_t *list,
} else if (defport != 0) { } else if (defport != 0) {
port = defport; port = defport;
} else { } else {
result = named_config_getport(config, "port", &port); result = named_config_getport(config, &port);
if (result != ISC_R_SUCCESS) { if (result != ISC_R_SUCCESS) {
return (result); return (result);
} }
@@ -646,7 +643,7 @@ named_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list,
/* /*
* Get system defaults. * Get system defaults.
*/ */
result = named_config_getport(config, "port", &port); result = named_config_getport(config, &port);
if (result != ISC_R_SUCCESS) { if (result != ISC_R_SUCCESS) {
goto cleanup; goto cleanup;
} }
@@ -927,8 +924,7 @@ cleanup:
} }
isc_result_t isc_result_t
named_config_getport(const cfg_obj_t *config, const char *type, named_config_getport(const cfg_obj_t *config, in_port_t *portp) {
in_port_t *portp) {
const cfg_obj_t *maps[3]; const cfg_obj_t *maps[3];
const cfg_obj_t *options = NULL; const cfg_obj_t *options = NULL;
const cfg_obj_t *portobj = NULL; const cfg_obj_t *portobj = NULL;
@@ -943,7 +939,7 @@ named_config_getport(const cfg_obj_t *config, const char *type,
maps[i++] = named_g_defaults; maps[i++] = named_g_defaults;
maps[i] = NULL; maps[i] = NULL;
result = named_config_get(maps, type, &portobj); result = named_config_get(maps, "port", &portobj);
INSIST(result == ISC_R_SUCCESS); INSIST(result == ISC_R_SUCCESS);
if (cfg_obj_asuint32(portobj) >= UINT16_MAX) { if (cfg_obj_asuint32(portobj) >= UINT16_MAX) {
cfg_obj_log(portobj, named_g_lctx, ISC_LOG_ERROR, cfg_obj_log(portobj, named_g_lctx, ISC_LOG_ERROR,
+5 -3
View File
@@ -3,7 +3,7 @@
* *
* This Source Code Form is subject to the terms of the Mozilla Public * 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 * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
* *
* See the COPYRIGHT file distributed with this work for additional * See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership. * information regarding copyright ownership.
@@ -183,7 +183,8 @@ named_control_docommand(isccc_sexpr_t *message, bool readonly,
/* Do not flush master files */ /* Do not flush master files */
named_server_flushonshutdown(named_g_server, false); named_server_flushonshutdown(named_g_server, false);
named_os_shutdownmsg(cmdline, *text); named_os_shutdownmsg(cmdline, *text);
result = ISC_R_SHUTTINGDOWN; isc_app_shutdown();
result = ISC_R_SUCCESS;
} else if (command_compare(command, NAMED_COMMAND_STOP)) { } else if (command_compare(command, NAMED_COMMAND_STOP)) {
/* /*
* "stop" is the same as "halt" except it does * "stop" is the same as "halt" except it does
@@ -200,7 +201,8 @@ named_control_docommand(isccc_sexpr_t *message, bool readonly,
#endif /* ifdef HAVE_LIBSCF */ #endif /* ifdef HAVE_LIBSCF */
named_server_flushonshutdown(named_g_server, true); named_server_flushonshutdown(named_g_server, true);
named_os_shutdownmsg(cmdline, *text); named_os_shutdownmsg(cmdline, *text);
result = ISC_R_SHUTTINGDOWN; isc_app_shutdown();
result = ISC_R_SUCCESS;
} else if (command_compare(command, NAMED_COMMAND_ADDZONE) || } else if (command_compare(command, NAMED_COMMAND_ADDZONE) ||
command_compare(command, NAMED_COMMAND_MODZONE)) command_compare(command, NAMED_COMMAND_MODZONE))
{ {
+524 -470
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -3,7 +3,7 @@
* *
* This Source Code Form is subject to the terms of the Mozilla Public * 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 * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
* *
* See the COPYRIGHT file distributed with this work for additional * See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership. * information regarding copyright ownership.
+1 -1
View File
@@ -3,7 +3,7 @@
* *
* This Source Code Form is subject to the terms of the Mozilla Public * 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 * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
* *
* See the COPYRIGHT file distributed with this work for additional * See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership. * information regarding copyright ownership.
+1 -1
View File
@@ -3,7 +3,7 @@
* *
* This Source Code Form is subject to the terms of the Mozilla Public * 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 * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
* *
* See the COPYRIGHT file distributed with this work for additional * See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership. * information regarding copyright ownership.
+1 -1
View File
@@ -3,7 +3,7 @@
* *
* This Source Code Form is subject to the terms of the Mozilla Public * 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 * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
* *
* See the COPYRIGHT file distributed with this work for additional * See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership. * information regarding copyright ownership.
+2 -3
View File
@@ -3,7 +3,7 @@
* *
* This Source Code Form is subject to the terms of the Mozilla Public * 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 * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
* *
* See the COPYRIGHT file distributed with this work for additional * See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership. * information regarding copyright ownership.
@@ -67,8 +67,7 @@ named_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list,
isc_mem_t *mctx, dns_ipkeylist_t *ipkl); isc_mem_t *mctx, dns_ipkeylist_t *ipkl);
isc_result_t isc_result_t
named_config_getport(const cfg_obj_t *config, const char *type, named_config_getport(const cfg_obj_t *config, in_port_t *portp);
in_port_t *portp);
isc_result_t isc_result_t
named_config_getkeyalgorithm(const char *str, const dns_name_t **name, named_config_getkeyalgorithm(const char *str, const dns_name_t **name,
+1 -1
View File
@@ -3,7 +3,7 @@
* *
* This Source Code Form is subject to the terms of the Mozilla Public * 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 * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
* *
* See the COPYRIGHT file distributed with this work for additional * See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership. * information regarding copyright ownership.
+1 -1
View File
@@ -3,7 +3,7 @@
* *
* This Source Code Form is subject to the terms of the Mozilla Public * 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 * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
* *
* See the COPYRIGHT file distributed with this work for additional * See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership. * information regarding copyright ownership.
+1 -1
View File
@@ -3,7 +3,7 @@
* *
* This Source Code Form is subject to the terms of the Mozilla Public * 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 * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
* *
* See the COPYRIGHT file distributed with this work for additional * See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership. * information regarding copyright ownership.
+1 -3
View File
@@ -3,7 +3,7 @@
* *
* This Source Code Form is subject to the terms of the Mozilla Public * 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 * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
* *
* See the COPYRIGHT file distributed with this work for additional * See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership. * information regarding copyright ownership.
@@ -72,7 +72,6 @@ EXTERN const char *named_g_srcid INIT(PACKAGE_SRCID);
EXTERN const char *named_g_configargs INIT(PACKAGE_CONFIGARGS); EXTERN const char *named_g_configargs INIT(PACKAGE_CONFIGARGS);
EXTERN const char *named_g_builder INIT(PACKAGE_BUILDER); EXTERN const char *named_g_builder INIT(PACKAGE_BUILDER);
EXTERN in_port_t named_g_port INIT(0); EXTERN in_port_t named_g_port INIT(0);
EXTERN in_port_t named_g_tlsport INIT(0);
EXTERN isc_dscp_t named_g_dscp INIT(-1); EXTERN isc_dscp_t named_g_dscp INIT(-1);
EXTERN named_server_t *named_g_server INIT(NULL); EXTERN named_server_t *named_g_server INIT(NULL);
@@ -144,7 +143,6 @@ EXTERN bool named_g_memstatistics INIT(false);
EXTERN bool named_g_keepstderr INIT(false); EXTERN bool named_g_keepstderr INIT(false);
EXTERN unsigned int named_g_tat_interval INIT(24 * 3600); EXTERN unsigned int named_g_tat_interval INIT(24 * 3600);
EXTERN unsigned int named_g_maxcachesize INIT(0);
#if defined(HAVE_GEOIP2) #if defined(HAVE_GEOIP2)
EXTERN dns_geoip_databases_t *named_g_geoip INIT(NULL); EXTERN dns_geoip_databases_t *named_g_geoip INIT(NULL);
+1 -1
View File
@@ -3,7 +3,7 @@
* *
* This Source Code Form is subject to the terms of the Mozilla Public * 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 * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
* *
* See the COPYRIGHT file distributed with this work for additional * See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership. * information regarding copyright ownership.
+1 -1
View File
@@ -3,7 +3,7 @@
* *
* This Source Code Form is subject to the terms of the Mozilla Public * 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 * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
* *
* See the COPYRIGHT file distributed with this work for additional * See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership. * information regarding copyright ownership.
+1 -1
View File
@@ -3,7 +3,7 @@
* *
* This Source Code Form is subject to the terms of the Mozilla Public * 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 * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
* *
* See the COPYRIGHT file distributed with this work for additional * See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership. * information regarding copyright ownership.
+4 -4
View File
@@ -3,7 +3,7 @@
* *
* This Source Code Form is subject to the terms of the Mozilla Public * 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 * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
* *
* See the COPYRIGHT file distributed with this work for additional * See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership. * information regarding copyright ownership.
@@ -38,8 +38,6 @@
#define NAMED_EVENTCLASS ISC_EVENTCLASS(0x4E43) #define NAMED_EVENTCLASS ISC_EVENTCLASS(0x4E43)
#define NAMED_EVENT_RELOAD (NAMED_EVENTCLASS + 0) #define NAMED_EVENT_RELOAD (NAMED_EVENTCLASS + 0)
#define NAMED_EVENT_DELZONE (NAMED_EVENTCLASS + 1) #define NAMED_EVENT_DELZONE (NAMED_EVENTCLASS + 1)
#define NAMED_EVENT_COMMAND (NAMED_EVENTCLASS + 2)
#define NAMED_EVENT_TATSEND (NAMED_EVENTCLASS + 3)
/*% /*%
* Name server state. Better here than in lots of separate global variables. * Name server state. Better here than in lots of separate global variables.
@@ -82,7 +80,9 @@ struct named_server {
uint32_t interface_interval; uint32_t interface_interval;
uint32_t heartbeat_interval; uint32_t heartbeat_interval;
atomic_int reload_status; isc_mutex_t reload_event_lock;
isc_event_t * reload_event;
named_reload_t reload_status;
bool flushonshutdown; bool flushonshutdown;
+1 -1
View File
@@ -3,7 +3,7 @@
* *
* This Source Code Form is subject to the terms of the Mozilla Public * 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 * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
* *
* See the COPYRIGHT file distributed with this work for additional * See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership. * information regarding copyright ownership.

Some files were not shown because too many files have changed in this diff Show More