git: 112e13434942 - stable/12 - unbount: Vendor import 1.14.0rc1

From: Cy Schubert <cy_at_FreeBSD.org>
Date: Thu, 09 Dec 2021 19:00:26 UTC
The branch stable/12 has been updated by cy:

URL: https://cgit.FreeBSD.org/src/commit/?id=112e13434942eb332414219aca7f0cd02d131b46

commit 112e13434942eb332414219aca7f0cd02d131b46
Author:     Cy Schubert <cy@FreeBSD.org>
AuthorDate: 2021-12-03 06:11:04 +0000
Commit:     Cy Schubert <cy@FreeBSD.org>
CommitDate: 2021-12-09 18:52:11 +0000

    unbount: Vendor import 1.14.0rc1
    
    This vendor import was requested by glebius@ as it should fix unbound
    crashes.
    
    Reported by:    glebius
    
    (cherry picked from commit 24e365220007c415f495cf8dcb228ece6002b8b7)
---
 contrib/unbound/.gitattributes                     |    1 -
 contrib/unbound/.github/FUNDING.yml                |    2 -
 .../unbound/.github/ISSUE_TEMPLATE/bug_report.md   |   41 -
 .../.github/ISSUE_TEMPLATE/feature_request.md      |   31 -
 .../unbound/.github/workflows/analysis_ports.yml   |  346 ----
 contrib/unbound/.github/workflows/ci.yml           |   21 -
 contrib/unbound/.travis.yml                        |  380 ----
 contrib/unbound/Makefile.in                        |    5 +-
 contrib/unbound/README-Travis.md                   |    2 +-
 contrib/unbound/acx_nlnetlabs.m4                   |   66 +-
 contrib/unbound/cachedb/cachedb.c                  |    2 +-
 contrib/unbound/config.h.in                        |    6 +
 contrib/unbound/config.sub                         |   21 +-
 contrib/unbound/configure                          |  130 +-
 contrib/unbound/configure.ac                       |   43 +-
 contrib/unbound/contrib/Dockerfile.tests           |   11 +
 contrib/unbound/contrib/drop2rpz                   |    2 +-
 contrib/unbound/contrib/unbound.service.in         |    3 +-
 contrib/unbound/daemon/daemon.c                    |    3 +-
 contrib/unbound/daemon/remote.c                    |    2 +-
 contrib/unbound/daemon/stats.c                     |    2 +-
 contrib/unbound/daemon/unbound.c                   |    1 +
 contrib/unbound/daemon/worker.c                    |   82 +-
 contrib/unbound/dns64/dns64.c                      |   13 +-
 contrib/unbound/dnscrypt/dnscrypt.c                |    4 +-
 contrib/unbound/dnscrypt/dnscrypt.h                |    4 +-
 contrib/unbound/dnstap/dtstream.c                  |    6 +-
 contrib/unbound/dnstap/unbound-dnstap-socket.c     |   12 +-
 contrib/unbound/doc/Changelog                      |  164 ++
 contrib/unbound/doc/README                         |    2 +-
 contrib/unbound/doc/README.tests                   |    8 +
 contrib/unbound/doc/example.conf.in                |   17 +-
 contrib/unbound/doc/libunbound.3.in                |    4 +-
 contrib/unbound/doc/unbound-anchor.8.in            |    2 +-
 contrib/unbound/doc/unbound-checkconf.8.in         |    2 +-
 contrib/unbound/doc/unbound-control.8.in           |    6 +-
 contrib/unbound/doc/unbound-host.1.in              |    2 +-
 contrib/unbound/doc/unbound.8.in                   |    4 +-
 contrib/unbound/doc/unbound.conf.5.in              |   95 +-
 contrib/unbound/doc/unbound.doxygen                |    6 +-
 contrib/unbound/edns-subnet/edns-subnet.h          |    2 +-
 contrib/unbound/edns-subnet/subnetmod.c            |    2 +-
 contrib/unbound/ipsecmod/ipsecmod.c                |    2 +-
 contrib/unbound/ipsecmod/ipsecmod.h                |    2 +-
 contrib/unbound/iterator/iter_delegpt.c            |    1 +
 contrib/unbound/iterator/iter_delegpt.h            |    2 +
 contrib/unbound/iterator/iter_fwd.c                |    2 +
 contrib/unbound/iterator/iter_hints.c              |    4 +-
 contrib/unbound/iterator/iter_utils.c              |  152 +-
 contrib/unbound/iterator/iter_utils.h              |    7 +-
 contrib/unbound/iterator/iterator.c                |   76 +-
 contrib/unbound/iterator/iterator.h                |    5 +-
 contrib/unbound/libunbound/context.c               |    2 +
 contrib/unbound/libunbound/context.h               |   29 -
 contrib/unbound/libunbound/libunbound.c            |    4 +
 contrib/unbound/libunbound/libworker.c             |   10 +-
 contrib/unbound/libunbound/unbound-event.h         |    2 +-
 contrib/unbound/libunbound/unbound.h               |   32 +-
 contrib/unbound/libunbound/worker.h                |   10 +-
 contrib/unbound/respip/respip.c                    |   75 +-
 contrib/unbound/respip/respip.h                    |    3 +
 contrib/unbound/services/authzone.c                |  215 ++-
 contrib/unbound/services/authzone.h                |    5 +
 contrib/unbound/services/cache/rrset.h             |    4 +-
 contrib/unbound/services/listen_dnsport.c          |   71 +-
 contrib/unbound/services/listen_dnsport.h          |    5 +
 contrib/unbound/services/localzone.c               |   35 +-
 contrib/unbound/services/localzone.h               |    6 +-
 contrib/unbound/services/mesh.c                    |   95 +-
 contrib/unbound/services/outbound_list.h           |    2 +-
 contrib/unbound/services/outside_network.c         |   11 +-
 contrib/unbound/services/rpz.c                     | 1915 ++++++++++++++++----
 contrib/unbound/services/rpz.h                     |   54 +-
 contrib/unbound/sldns/parseutil.h                  |    2 +-
 contrib/unbound/sldns/str2wire.c                   |    4 +-
 contrib/unbound/sldns/wire2str.h                   |    2 +-
 contrib/unbound/smallapp/unbound-anchor.c          |    8 +-
 contrib/unbound/smallapp/unbound-checkconf.c       |   62 +-
 contrib/unbound/smallapp/unbound-control.c         |    2 +-
 contrib/unbound/smallapp/worker_cb.c               |    4 +-
 .../testdata/auth_zonemd_xfr_chain_keyinxfr.rpl    |  315 ++++
 contrib/unbound/testdata/fwd_error_retries.rpl     |   27 +
 .../fwd_udp_with_tcp_upstream.conf                 |   20 +
 .../fwd_udp_with_tcp_upstream.dsc                  |   16 +
 .../fwd_udp_with_tcp_upstream.post                 |   10 +
 .../fwd_udp_with_tcp_upstream.pre                  |   31 +
 .../fwd_udp_with_tcp_upstream.test                 |   35 +
 .../fwd_udp_with_tcp_upstream.testns               |   25 +
 .../http_user_agent.tdir/http_user_agent.test      |   10 +-
 contrib/unbound/testdata/rpz_clientip.rpl          |  264 +++
 contrib/unbound/testdata/rpz_nsdname.rpl           |  390 ++++
 contrib/unbound/testdata/rpz_nsip.rpl              |  408 +++++
 contrib/unbound/testdata/rpz_qname_tcponly.rpl     |  117 ++
 contrib/unbound/testdata/rpz_respip_tcponly.rpl    |  207 +++
 .../stub_udp_with_tcp_upstream.conf                |   19 +
 .../stub_udp_with_tcp_upstream.dsc                 |   16 +
 .../stub_udp_with_tcp_upstream.post                |   10 +
 .../stub_udp_with_tcp_upstream.pre                 |   35 +
 .../stub_udp_with_tcp_upstream.test                |   37 +
 .../stub_udp_with_tcp_upstream.testns              |   48 +
 contrib/unbound/testdata/svcb.tdir/svcb.test       |    2 +-
 contrib/unbound/util/config_file.c                 |    3 +
 contrib/unbound/util/config_file.h                 |    6 +-
 contrib/unbound/util/configlexer.lex               |    3 +
 contrib/unbound/util/configparser.y                |  481 ++---
 contrib/unbound/util/data/msgencode.c              |   20 +-
 contrib/unbound/util/data/msgparse.c               |  150 +-
 contrib/unbound/util/data/msgparse.h               |   23 +-
 contrib/unbound/util/data/msgreply.c               |   67 +-
 contrib/unbound/util/data/msgreply.h               |   27 +-
 contrib/unbound/util/data/packed_rrset.h           |    8 +
 contrib/unbound/util/edns.c                        |   50 -
 contrib/unbound/util/edns.h                        |   12 -
 contrib/unbound/util/fptr_wlist.c                  |    2 +-
 contrib/unbound/util/fptr_wlist.h                  |    2 +-
 contrib/unbound/util/iana_ports.inc                |    1 +
 contrib/unbound/util/mini_event.c                  |    9 +
 contrib/unbound/util/module.h                      |    5 +-
 contrib/unbound/util/net_help.c                    |   25 +-
 contrib/unbound/util/netevent.c                    |   63 +-
 contrib/unbound/util/netevent.h                    |    2 +-
 contrib/unbound/util/regional.c                    |    2 +
 contrib/unbound/util/shm_side/shm_main.c           |    2 +-
 contrib/unbound/util/tube.c                        |    6 +-
 contrib/unbound/util/ub_event.c                    |    2 +-
 contrib/unbound/validator/autotrust.c              |    4 +-
 contrib/unbound/validator/validator.c              |    4 +-
 contrib/unbound/validator/validator.h              |    2 +-
 128 files changed, 5445 insertions(+), 2058 deletions(-)

diff --git a/contrib/unbound/.gitattributes b/contrib/unbound/.gitattributes
deleted file mode 100644
index 6414a0ab5302..000000000000
--- a/contrib/unbound/.gitattributes
+++ /dev/null
@@ -1 +0,0 @@
-testdata/*.[0-9] linguist-documentation
diff --git a/contrib/unbound/.github/FUNDING.yml b/contrib/unbound/.github/FUNDING.yml
deleted file mode 100644
index 2a357c0c7778..000000000000
--- a/contrib/unbound/.github/FUNDING.yml
+++ /dev/null
@@ -1,2 +0,0 @@
-github: [NLnetLabs]
-custom: ['https://nlnetlabs.nl/funding/']
diff --git a/contrib/unbound/.github/ISSUE_TEMPLATE/bug_report.md b/contrib/unbound/.github/ISSUE_TEMPLATE/bug_report.md
deleted file mode 100644
index 35d7ee94f9da..000000000000
--- a/contrib/unbound/.github/ISSUE_TEMPLATE/bug_report.md
+++ /dev/null
@@ -1,41 +0,0 @@
----
-name: Bug report
-about: Create a report to help us improve Unbound
-title: ''
-labels: ''
-assignees: ''
-
----
-
-<!--
-Thanks for taking the time to report an issue!
-
-Before continuing please make sure that you checked the existing (opened and closed) issues and pull requests to avoid opening a duplicate issue. We would rather prefer to add the information to the existing one. If you are able, feel free to reopen the closed issue afterwards. If not, please create a new issue linking to the old one.
-
-If you rather have a support question and you need guidance on running/configuring Unbound, please refrain from opening an issue and use the community support mailing list instead (https://www.nlnetlabs.nl/support/mailing-lists/).
-We would like to keep GitHub issues for possible bugs and feature requests only.
-
-If you are unsure whether an issue is a bug or not, feel free to reach out to mailing list users or open an issue here.
-
-If you are opening an issue, please complete as much of the following sections as possible to give us a better understanding of your situation.
--->
-
-**Describe the bug**
-A clear and concise description of what the bug is.
-
-**To reproduce**
-Steps to reproduce the behavior:
-1.
-2.
-3.
-
-**Expected behavior**
-A clear and concise description of what you expected to happen.
-
-**System:**
- - Unbound version:
- - OS:
- - `unbound -V` output:
-
-**Additional information**
-Add any other information that you may have gathered about the issue here.
diff --git a/contrib/unbound/.github/ISSUE_TEMPLATE/feature_request.md b/contrib/unbound/.github/ISSUE_TEMPLATE/feature_request.md
deleted file mode 100644
index e9ca08b7ab65..000000000000
--- a/contrib/unbound/.github/ISSUE_TEMPLATE/feature_request.md
+++ /dev/null
@@ -1,31 +0,0 @@
----
-name: Feature request
-about: Suggest an idea for Unbound
-title: "[FR]"
-labels: ''
-assignees: ''
-
----
-
-<!--
-Thanks for taking the time to report an issue!
-
-Before continuing please make sure that you checked the existing (opened and closed) issues and pull requests to avoid opening a duplicate issue. We would rather prefer to add the information to the existing one. If you are able, feel free to reopen the closed issue afterwards. If not, please create a new issue linking to the old one.
-
-If you rather have a support question and you need guidance on running/configuring Unbound, please refrain from opening an issue and use the community support mailing list instead (https://www.nlnetlabs.nl/support/mailing-lists/).
-We would like to keep GitHub issues for possible bugs and feature requests only.
-
-If you are unsure whether an issue is a bug or not, feel free to reach out to mailing list users or open an issue here.
-
-If you are opening an issue, please complete as much of the following sections as possible to give us a better understanding of your situation.
--->
-
-**Current behavior**
-Is there a current behavior that the feature relates to?
-If yes, would you wish the current behavior to change?
-
-**Describe the desired feature**
-A clear and concise description of what the feature should be.
-
-**Potential use-case**
-Describe how you see this feature being useful to other Unbound users.
diff --git a/contrib/unbound/.github/workflows/analysis_ports.yml b/contrib/unbound/.github/workflows/analysis_ports.yml
deleted file mode 100644
index fbbdd80185a9..000000000000
--- a/contrib/unbound/.github/workflows/analysis_ports.yml
+++ /dev/null
@@ -1,346 +0,0 @@
-name: Analysis and Ports
-
-on:
-  workflow_dispatch:
-    inputs:
-      start:
-        description: 'Start analysis and port workflow'
-        default: 'yes'
-        required: true
-
-jobs:
-  build:
-    runs-on: ${{ matrix.os }}
-    strategy:
-      matrix:
-        include:
-          - name: GCC on Linux
-            os: ubuntu-latest
-            config: "--enable-debug --disable-flto"
-            make_test: "yes"
-          - name: Clang-analyzer
-            os: ubuntu-latest
-            config: "CC=clang --enable-debug --disable-flto --disable-static"
-            make_test: "yes"
-            clang_analysis: "yes"
-          - name: libevent
-            os: ubuntu-latest
-            install_libevent: "yes"
-            config: "CC=clang --enable-debug --disable-flto --with-libevent --disable-static"
-            make_test: "yes"
-            clang_analysis: "yes"
-          - name: OS X
-            os: macos-latest
-            install_expat: "yes"
-            config: "--enable-debug --disable-flto --with-ssl=/usr/local/opt/openssl --with-libexpat=/usr/local/opt/expat"
-            make_test: "yes"
-          - name: Clang on OS X
-            os: macos-latest
-            install_expat: "yes"
-            config: "CC=clang --enable-debug --disable-flto --with-ssl=/usr/local/opt/openssl --with-libexpat=/usr/local/opt/expat --disable-static"
-            make_test: "yes"
-            clang_analysis: "yes"
-          - name: ubsan (gcc undefined behaviour sanitizer)
-            os: ubuntu-latest
-            config: 'CFLAGS="-DNDEBUG -g2 -O3 -fsanitize=undefined -fno-sanitize-recover=all" --disable-flto --disable-static'
-            make_test: "yes"
-          - name: asan (gcc address sanitizer)
-            os: ubuntu-latest
-            config: 'CFLAGS="-DNDEBUG -g2 -O3 -fsanitize=address" --disable-flto --disable-static'
-            make_test: "yes"
-          - name: Apple iPhone on iOS, armv7
-            os: macos-latest
-            AUTOTOOLS_HOST: armv7-apple-ios
-            OPENSSL_HOST: ios-cross
-            IOS_SDK: iPhoneOS
-            IOS_CPU: armv7s
-            test_ios: "yes"
-            config: "no"
-            make: "no"
-          - name: Apple iPhone on iOS, arm64
-            os: macos-latest
-            AUTOTOOLS_HOST: aarch64-apple-ios
-            OPENSSL_HOST: ios64-cross
-            IOS_SDK: iPhoneOS
-            IOS_CPU: arm64
-            test_ios: "yes"
-            config: "no"
-            make: "no"
-          - name: Apple TV on iOS, arm64
-            os: macos-latest
-            AUTOTOOLS_HOST: aarch64-apple-ios
-            OPENSSL_HOST: ios64-cross
-            IOS_SDK: AppleTVOS
-            IOS_CPU: arm64
-            test_ios: "yes"
-            config: "no"
-            make: "no"
-          - name: Apple Watch on iOS, armv7
-            os: macos-latest
-            AUTOTOOLS_HOST: armv7-apple-ios
-            OPENSSL_HOST: ios-cross
-            IOS_SDK: WatchOS
-            IOS_CPU: armv7k
-            test_ios: "yes"
-            config: "no"
-            make: "no"
-          - name: iPhoneSimulator on OS X, i386
-            os: macos-latest
-            AUTOTOOLS_HOST: i386-apple-ios
-            OPENSSL_HOST: iphoneos-cross
-            IOS_SDK: iPhoneSimulator
-            IOS_CPU: i386
-            test_ios: "yes"
-            config: "no"
-            make: "no"
-          - name: iPhoneSimulator on OS X, x86_64
-            os: macos-latest
-            AUTOTOOLS_HOST: x86_64-apple-ios
-            OPENSSL_HOST: iphoneos-cross
-            IOS_SDK: iPhoneSimulator
-            IOS_CPU: x86_64
-            test_ios: "yes"
-            config: "no"
-            make: "no"
-          - name: AppleTVSimulator on OS X, x86_64
-            os: macos-latest
-            AUTOTOOLS_HOST: x86_64-apple-ios
-            OPENSSL_HOST: iphoneos-cross
-            IOS_SDK: AppleTVSimulator
-            IOS_CPU: x86_64
-            test_ios: "yes"
-            config: "no"
-            make: "no"
-          - name: WatchSimulator on OS X, i386
-            os: macos-latest
-            AUTOTOOLS_HOST: i386-apple-ios
-            OPENSSL_HOST: iphoneos-cross
-            IOS_SDK: WatchSimulator
-            IOS_CPU: i386
-            test_ios: "yes"
-            config: "no"
-            make: "no"
-          - name: Android armv7a
-            os: ubuntu-latest
-            AUTOTOOLS_HOST: armv7a-linux-androidabi
-            OPENSSL_HOST: android-arm
-            ANDROID_CPU: armv7a
-            ANDROID_API: 23
-            test_android: "yes"
-            config: "no"
-            make: "no"
-          - name: Android aarch64
-            os: ubuntu-latest
-            AUTOTOOLS_HOST: aarch64-linux-android
-            OPENSSL_HOST: android-arm64
-            ANDROID_CPU: aarch64
-            ANDROID_API: 23
-            test_android: "yes"
-            config: "no"
-            make: "no"
-          - name: Android x86
-            os: ubuntu-latest
-            AUTOTOOLS_HOST: i686-linux-android
-            OPENSSL_HOST: android-x86
-            ANDROID_CPU: x86
-            ANDROID_API: 23
-            test_android: "yes"
-            config: "no"
-            make: "no"
-          - name: Android x86_64
-            os: ubuntu-latest
-            AUTOTOOLS_HOST: x86_64-linux-android
-            OPENSSL_HOST: android-x86_64
-            ANDROID_CPU: x86_64
-            ANDROID_API: 23
-            test_android: "yes"
-            config: "no"
-            make: "no"
-          - name: Windows
-            os: windows-latest
-            test_windows: "yes"
-            config: "no"
-            make: "no"
- 
-    steps:
-      - uses: actions/checkout@v2
-        with:
-          submodules: false
-      - name: test_windows
-        if: ${{ matrix.test_windows == 'yes' }}
-        shell: bash
-        run: |
-          export unboundpath=`pwd`
-          echo unboundpath=${unboundpath}
-          cd ..
-          export prepath=`pwd`
-          echo prepath=${prepath}
-          #echo "curl cpanm"
-          #curl -L -k -s -S -o cpanm https://cpanmin.us/
-          #echo "perl cpanm Pod::Usage"
-          #perl cpanm Pod::Usage
-          mkdir openssl
-          echo "curl openssl"
-          curl -L -k -s -S -o openssl-1.1.1j.tar.gz https://www.openssl.org/source/openssl-1.1.1j.tar.gz
-          tar xzf openssl-1.1.1j.tar.gz
-          cd openssl-1.1.1j
-          # remove pod::Usage because we do not need -help or -man output
-          # from the Configure script
-          echo "Fixup ./Configure by removing use Pod::Usage require"
-          sed -e 's/use Pod::Usage//' < Configure > Configure.fix
-          echo "./Configure.fix no-shared no-asm -DOPENSSL_NO_CAPIENG mingw64 --prefix=\""$prepath/openssl\"""
-          ./Configure.fix no-shared no-asm -DOPENSSL_NO_CAPIENG mingw64 --prefix="$prepath/openssl"
-          # make the libs only, build faster
-          echo "make build_libs"
-          #make
-          make build_libs
-          mv Makefile Makefile.orig
-          # fixup \\ in the installtop to /.
-          echo "fixup INSTALLTOP"
-          sed -e 's?^INSTALLTOP=.*$?INSTALLTOP='"$prepath"'/openssl?' < Makefile.orig > Makefile
-          # install the includes and libs only, build faster
-          echo "make install_dev"
-          #make install_sw
-          make install_dev
-          cd ..
-          mkdir expat
-          echo "curl expat"
-          curl -L -k -s -S -o expat-2.2.10.tar.gz https://github.com/libexpat/libexpat/releases/download/R_2_2_10/expat-2.2.10.tar.gz
-          tar xzf expat-2.2.10.tar.gz
-          cd expat-2.2.10
-          echo "./configure SHELL=/usr/bin/bash CONFIG_SHELL=/usr/bin/bash --prefix=\"$prepath/expat\" --exec-prefix=\"$prepath/expat\" --bindir=\"$prepath/expat/bin\" --includedir=\"$prepath/expat/include\" --mandir=\"$prepath/expat/man\" --libdir=\"$prepath/expat/lib\""
-          ./configure SHELL=/usr/bin/bash CONFIG_SHELL=/usr/bin/bash --prefix="$prepath/expat" --exec-prefix="$prepath/expat" --bindir="$prepath/expat/bin" --includedir="$prepath/expat/include" --mandir="$prepath/expat/man" --libdir="$prepath/expat/lib"
-          # fixup SHELL is treated specially, but SHELZZ is not by make.
-          echo "Fixup Makefiles by renaming SHELL to SHELLZZ"
-          mv Makefile Makefile.orig
-          sed -e 's/SHELL/SHELLZZ/g' < Makefile.orig > Makefile
-          mv lib/Makefile lib/Makefile.orig
-          sed -e 's/SHELL/SHELLZZ/g' < lib/Makefile.orig > lib/Makefile
-          mv doc/Makefile doc/Makefile.orig
-          sed -e 's/SHELL/SHELLZZ/g' < doc/Makefile.orig > doc/Makefile
-          mv examples/Makefile examples/Makefile.orig
-          sed -e 's/SHELL/SHELLZZ/g' < examples/Makefile.orig > examples/Makefile
-          mv tests/Makefile tests/Makefile.orig
-          sed -e 's/SHELL/SHELLZZ/g' < tests/Makefile.orig > tests/Makefile
-          mv xmlwf/Makefile xmlwf/Makefile.orig
-          sed -e 's/SHELL/SHELLZZ/g' < xmlwf/Makefile.orig > xmlwf/Makefile
-          echo "make"
-          make
-          echo "make install"
-          make install
-          cd ..
-          echo "unbound"
-          cd unbound
-          echo "./configure --enable-debug --enable-static-exe --disable-flto \"--with-ssl=$prepath/openssl\" --with-libexpat=\"$prepath/expat\" --disable-shared"
-          ./configure --enable-debug --enable-static-exe --disable-flto "--with-ssl=$prepath/openssl" --with-libexpat="$prepath/expat" --disable-shared
-          make
-          # specific test output
-          #make testbound.exe; ./testbound.exe -s
-          #make testbound; ./testbound.exe -p testdata/acl.rpl -o -vvvv
-          make test
-      - name: test_android
-        if: ${{ matrix.test_android == 'yes' }}
-        env:
-          AUTOTOOLS_HOST: ${{ matrix.AUTOTOOLS_HOST }}
-          OPENSSL_HOST: ${{ matrix.OPENSSL_HOST }}
-          ANDROID_API: ${{ matrix.ANDROID_API }}
-          ANDROID_CPU: ${{ matrix.ANDROID_CPU }}
-        run: |
-          #(already installed) ./contrib/android/install_tools.sh
-          export ANDROID_PREFIX="$HOME/android$ANDROID_API-$ANDROID_CPU"
-          echo ANDROID_PREFIX=${ANDROID_PREFIX}
-          export ANDROID_SDK_ROOT="$HOME/android-sdk"
-          echo ANDROID_SDK_ROOT=${ANDROID_SDK_ROOT}
-          export ANDROID_NDK_ROOT="$HOME/android-ndk"
-          echo ANDROID_NDK_ROOT=${ANDROID_NDK_ROOT}
-          export AUTOTOOLS_BUILD="$(./config.guess)"
-          echo AUTOTOOLS_BUILD=${AUTOTOOLS_BUILD}
-          export PKG_CONFIG_PATH="$ANDROID_PREFIX/lib/pkgconfig"
-          echo PKG_CONFIG_PATH=${PKG_CONFIG_PATH}
-          export CONFIG_OPTS="--build=$AUTOTOOLS_BUILD --host=$AUTOTOOLS_HOST --prefix=$ANDROID_PREFIX --with-ssl=$ANDROID_PREFIX --disable-gost --with-libexpat=$ANDROID_PREFIX"
-          echo CONFIG_OPTS=${CONFIG_OPTS}
-          echo "::group::install_ndk"
-          echo "./contrib/android/install_ndk.sh"
-          ./contrib/android/install_ndk.sh
-          echo "::endgroup::"
-          echo "::group::setenv_android.sh"
-          echo "./contrib/android/setenv_android.sh"
-          source ./contrib/android/setenv_android.sh
-          echo "::endgroup::"
-          echo "::group::install_openssl"
-          echo "./contrib/android/install_openssl.sh"
-          ./contrib/android/install_openssl.sh
-          echo "::endgroup::"
-          echo "::group::install_expat"
-          echo "./contrib/android/install_expat.sh"
-          ./contrib/android/install_expat.sh
-          echo "::endgroup::"
-          echo "::group::configure"
-          echo "./configure ${CONFIG_OPTS}"
-          ./configure ${CONFIG_OPTS}
-          echo "::endgroup::"
-          echo "::group::make"
-          # make is here to preserve environment variables
-          make
-          echo "::endgroup::"
-          echo "::group::make install"
-          make install
-          echo "::endgroup::"
-      - name: test ios
-        if: ${{ matrix.test_ios == 'yes' }}
-        env:
-          AUTOTOOLS_HOST: ${{ matrix.AUTOTOOLS_HOST }}
-          OPENSSL_HOST: ${{ matrix.OPENSSL_HOST }}
-          IOS_SDK: ${{ matrix.IOS_SDK }}
-          IOS_CPU: ${{ matrix.IOS_CPU }}
-        run: |
-          #(already installed) ./contrib/ios/install_tools.sh
-          export AUTOTOOLS_BUILD="$(./config.guess)"
-          echo AUTOTOOLS_BUILD=${AUTOTOOLS_BUILD}
-          export IOS_PREFIX="$HOME/$IOS_SDK-$IOS_CPU"
-          echo IOS_PREFIX=${IOS_PREFIX}
-          export PKG_CONFIG_PATH="$IOS_PREFIX/lib/pkgconfig"
-          echo PKG_CONFIG_PATH=${PKG_CONFIG_PATH}
-          export CONFIG_OPTS="--build=$AUTOTOOLS_BUILD --host=$AUTOTOOLS_HOST --prefix=$IOS_PREFIX --with-ssl=$IOS_PREFIX --disable-gost --with-libexpat=$IOS_PREFIX"
-          echo CONFIG_OPTS=${CONFIG_OPTS}
-          echo "::group::setenv_ios.sh"
-          echo "./contrib/ios/setenv_ios.sh"
-          source ./contrib/ios/setenv_ios.sh
-          echo "::endgroup::"
-          echo "::group::install_openssl"
-          echo "./contrib/ios/install_openssl.sh"
-          ./contrib/ios/install_openssl.sh
-          echo "::endgroup::"
-          echo "::group::install_expat"
-          echo "./contrib/ios/install_expat.sh"
-          ./contrib/ios/install_expat.sh
-          echo "::endgroup::"
-          echo "::group::configure"
-          echo "./configure ${CONFIG_OPTS}"
-          ./configure ${CONFIG_OPTS}
-          echo "::endgroup::"
-          echo "::group::make"
-          # make is here to preserve environment variables
-          make
-          echo "::endgroup::"
-          echo "::group::make install"
-          make install
-          echo "::endgroup::"
-      - name: install libevent
-        if: ${{ matrix.install_libevent == 'yes' }}
-        run: sudo apt-get install libevent-dev
-      - name: install expat
-        if: ${{ matrix.install_expat == 'yes' }}
-        run: brew install expat
-      - name: configure
-        if: ${{ matrix.config != 'no' }}
-        run: ./configure ${{ matrix.config }}
-      - name: make
-        if: ${{ matrix.make != 'no' }}
-        run: make
-      - name: make test
-        if: ${{ matrix.make_test == 'yes' }}
-        run: make test
-      - name: clang-analysis
-        if: ${{ matrix.clang_analysis == 'yes' }}
-        run: (cd testdata/clang-analysis.tdir; bash clang-analysis.test)
diff --git a/contrib/unbound/.github/workflows/ci.yml b/contrib/unbound/.github/workflows/ci.yml
deleted file mode 100644
index 73d68fbf35c9..000000000000
--- a/contrib/unbound/.github/workflows/ci.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-name: ci
-
-on:
-  push:
-    branches: [ master ]
-  pull_request:
-    branches: [ master ]
-
-jobs:
-  build:
-
-    runs-on: ubuntu-latest
-
-    steps:
-    - uses: actions/checkout@v2
-    - name: configure
-      run: ./configure --enable-debug
-    - name: make
-      run: make
-    - name: make test
-      run: make test
diff --git a/contrib/unbound/.travis.yml b/contrib/unbound/.travis.yml
deleted file mode 100644
index 1f514b5d08d4..000000000000
--- a/contrib/unbound/.travis.yml
+++ /dev/null
@@ -1,380 +0,0 @@
-language: c
-
-git:
-  depth: 5
-
-addons:
-  apt:
-    packages:
-    - libssl-dev
-    - libevent-dev
-    - libexpat-dev
-    - clang
-  homebrew:
-    packages:
-      - openssl
-      - libevent
-      - expat
-    # homebrew update takes 20min or hangs, so disable update
-    #update: true
-
-jobs:
-  include:
-    - os: linux
-      name: GCC on Linux, Amd64
-      compiler: gcc
-      arch: amd64
-      env:
-        - CONFIG_OPTS="--enable-debug --disable-flto"
-    - os: linux
-      name: Clang on Linux, Amd64, clang-analysis
-      compiler: clang
-      arch: amd64
-      env:
-        - CONFIG_OPTS="--enable-debug --disable-flto"
-        - TEST_ANALYZER=yes
-    - os: osx
-      osx_image: xcode12.2
-      name: Clang on OS X, Amd64, clang-analysis
-      compiler: clang
-      arch: amd64
-      env:
-        - TEST_OSX=yes
-        - CONFIG_OPTS="--enable-debug --disable-flto --with-ssl=/usr/local/opt/openssl --with-libexpat=/usr/local/opt/expat"
-        - TEST_ANALYZER=yes
-        - HOMEBREW_NO_AUTO_UPDATE=1
-    - os: linux
-      name: Libevent, GCC on Linux, Amd64
-      compiler: gcc
-      arch: amd64
-      env:
-        - TEST_LIBEVENT=yes
-        - CONFIG_OPTS="--with-libevent"
-    - os: linux
-      name: Libevent, Clang on Linux, Amd64
-      compiler: clang
-      arch: amd64
-      env:
-        - TEST_LIBEVENT=yes
-        - CONFIG_OPTS="--with-libevent"
-    - os: osx
-      osx_image: xcode12.2
-      name: Libevent, Clang on OS X, Amd64
-      compiler: clang
-      arch: amd64
-      env:
-        - TEST_OSX=yes
-        - TEST_LIBEVENT=yes
-        - CONFIG_OPTS="--disable-flto --with-ssl=/usr/local/opt/openssl --with-libevent=/usr/local/opt/libevent --with-libexpat=/usr/local/opt/expat"
-        - HOMEBREW_NO_AUTO_UPDATE=1
-    - os: linux
-      name: UBsan, GCC on Linux, Amd64
-      compiler: gcc
-      arch: amd64
-      dist: bionic
-      env:
-        - TEST_UBSAN=yes
-    - os: linux
-      name: UBsan, Clang on Linux, Amd64
-      compiler: clang
-      arch: amd64
-      dist: bionic
-      env:
-        - TEST_UBSAN=yes
-    - os: linux
-      name: Asan, GCC on Linux, Amd64
-      compiler: gcc
-      arch: amd64
-      dist: bionic
-      env:
-        - TEST_ASAN=yes
-    - os: linux
-      name: Asan, Clang on Linux, Amd64
-      compiler: clang
-      arch: amd64
-      dist: bionic
-      env:
-        - TEST_ASAN=yes
-    - os: linux
-      name: GCC on Linux, Aarch64
-      compiler: gcc
-      arch: arm64
-      dist: bionic
-      env:
-        - CONFIG_OPTS="--enable-debug --disable-flto"
-    - os: linux
-      name: Clang on Linux, Aarch64
-      compiler: clang
-      arch: arm64
-      dist: bionic
-      env:
-        - CONFIG_OPTS="--enable-debug --disable-flto"
-    - os: linux
-      name: GCC on Linux, PowerPC64
-      compiler: gcc
-      arch: ppc64le
-      dist: bionic
-      env:
-        - CONFIG_OPTS="--enable-debug --disable-flto"
-    - os: linux
-      name: Clang on Linux, PowerPC64
-      compiler: clang
-      arch: ppc64le
-      dist: bionic
-      env:
-        - CONFIG_OPTS="--enable-debug --disable-flto"
-    - os: linux
-      name: GCC on Linux, s390x
-      compiler: gcc
-      arch: s390x
-      dist: bionic
-      env:
-        - CONFIG_OPTS="--enable-debug --disable-flto"
-    - os: linux
-      name: Clang on Linux, s390x
-      compiler: clang
-      arch: s390x
-      dist: bionic
-      env:
-        - CONFIG_OPTS="--enable-debug --disable-flto"
-    - os: osx
-      osx_image: xcode12.2
-      name: Apple iPhone on iOS, armv7
-      compiler: clang
-      env:
-        - TEST_IOS=yes
-        - AUTOTOOLS_HOST=armv7-apple-ios
-        - OPENSSL_HOST=ios-cross
-        - IOS_SDK=iPhoneOS
-        - IOS_CPU=armv7s
-        - IOS_PREFIX="$HOME/$IOS_SDK-$IOS_CPU"
-        - HOMEBREW_NO_AUTO_UPDATE=1
-    - os: osx
-      osx_image: xcode12.2
-      name: Apple iPhone on iOS, arm64
-      compiler: clang
-      env:
-        - TEST_IOS=yes
-        - AUTOTOOLS_HOST=aarch64-apple-ios
-        - OPENSSL_HOST=ios64-cross
-        - IOS_SDK=iPhoneOS
-        - IOS_CPU=arm64
-        - IOS_PREFIX="$HOME/$IOS_SDK-$IOS_CPU"
-        - HOMEBREW_NO_AUTO_UPDATE=1
-    - os: osx
-      osx_image: xcode12.2
-      name: Apple TV on iOS, arm64
-      compiler: clang
-      env:
-        - TEST_IOS=yes
-        - AUTOTOOLS_HOST=aarch64-apple-ios
-        - OPENSSL_HOST=ios64-cross
-        - IOS_SDK=AppleTVOS
-        - IOS_CPU=arm64
-        - IOS_PREFIX="$HOME/$IOS_SDK-$IOS_CPU"
-        - HOMEBREW_NO_AUTO_UPDATE=1
-    - os: osx
-      osx_image: xcode12.2
-      name: Apple Watch on iOS, armv7
-      compiler: clang
-      env:
-        - TEST_IOS=yes
-        - AUTOTOOLS_HOST=armv7-apple-ios
-        - OPENSSL_HOST=ios-cross
-        - IOS_SDK=WatchOS
-        - IOS_CPU=armv7k
-        - IOS_PREFIX="$HOME/$IOS_SDK-$IOS_CPU"
-        - HOMEBREW_NO_AUTO_UPDATE=1
-    - os: osx
-      osx_image: xcode12.2
-      name: iPhoneSimulator on OS X, i386
-      env:
-        - TEST_IOS=yes
-        - AUTOTOOLS_HOST=i386-apple-ios
-        - OPENSSL_HOST=iphoneos-cross
-        - IOS_CPU=i386
-        - IOS_SDK=iPhoneSimulator
-        - IOS_PREFIX="$HOME/$IOS_SDK-$IOS_CPU"
-        - HOMEBREW_NO_AUTO_UPDATE=1
-    - os: osx
-      osx_image: xcode12.2
-      name: iPhoneSimulator on OS X, x86_64
-      env:
-        - TEST_IOS=yes
-        - AUTOTOOLS_HOST=x86_64-apple-ios
-        - OPENSSL_HOST=iphoneos-cross
-        - IOS_CPU=x86_64
-        - IOS_SDK=iPhoneSimulator
-        - IOS_PREFIX="$HOME/$IOS_SDK-$IOS_CPU"
-        - HOMEBREW_NO_AUTO_UPDATE=1
-    - os: osx
-      osx_image: xcode12.2
-      name: AppleTVSimulator on OS X, x86_64
-      env:
-        - TEST_IOS=yes
-        - AUTOTOOLS_HOST=x86_64-apple-ios
-        - OPENSSL_HOST=iphoneos-cross
-        - IOS_CPU=x86_64
-        - IOS_SDK=AppleTVSimulator
-        - IOS_PREFIX="$HOME/$IOS_SDK-$IOS_CPU"
-        - HOMEBREW_NO_AUTO_UPDATE=1
-    - os: osx
-      osx_image: xcode12.2
-      name: WatchSimulator on OS X, i386
-      env:
-        - TEST_IOS=yes
-        - AUTOTOOLS_HOST=i386-apple-ios
-        - OPENSSL_HOST=iphoneos-cross
-        - IOS_CPU=i386
-        - IOS_SDK=WatchSimulator
-        - IOS_PREFIX="$HOME/$IOS_SDK-$IOS_CPU"
-        - HOMEBREW_NO_AUTO_UPDATE=1
-    - os: linux
-      name: Android armv7a, Linux, Amd64
-      compiler: clang
-      arch: amd64
-      dist: bionic
-      env:
-        - TEST_ANDROID=yes
-        - AUTOTOOLS_HOST=armv7a-linux-androideabi
-        - OPENSSL_HOST=android-arm
-        - ANDROID_CPU=armv7a
-        - ANDROID_API=23
-        - ANDROID_PREFIX="$HOME/android$ANDROID_API-$ANDROID_CPU"
-        - ANDROID_SDK_ROOT="$HOME/android-sdk"
-        - ANDROID_NDK_ROOT="$HOME/android-ndk"
-    - os: linux
-      name: Android aarch64, Linux, Amd64
-      compiler: clang
-      arch: amd64
-      dist: bionic
-      env:
-        - TEST_ANDROID=yes
-        - AUTOTOOLS_HOST=aarch64-linux-android
-        - OPENSSL_HOST=android-arm64
-        - ANDROID_CPU=aarch64
-        - ANDROID_API=23
-        - ANDROID_PREFIX="$HOME/android$ANDROID_API-$ANDROID_CPU"
-        - ANDROID_SDK_ROOT="$HOME/android-sdk"
-        - ANDROID_NDK_ROOT="$HOME/android-ndk"
-    - os: linux
-      name: Android x86, Linux, Amd64
-      compiler: clang
-      arch: amd64
-      dist: bionic
-      env:
-        - TEST_ANDROID=yes
-        - AUTOTOOLS_HOST=i686-linux-android
-        - OPENSSL_HOST=android-x86
-        - ANDROID_CPU=x86
-        - ANDROID_API=23
-        - ANDROID_PREFIX="$HOME/android$ANDROID_API-$ANDROID_CPU"
-        - ANDROID_SDK_ROOT="$HOME/android-sdk"
-        - ANDROID_NDK_ROOT="$HOME/android-ndk"
-    - os: linux
-      name: Android x86_64, Linux, Amd64
-      compiler: clang
-      arch: amd64
-      dist: bionic
-      env:
-        - TEST_ANDROID=yes
-        - AUTOTOOLS_HOST=x86_64-linux-android
-        - OPENSSL_HOST=android-x86_64
-        - ANDROID_CPU=x86_64
-        - ANDROID_API=23
-        - ANDROID_PREFIX="$HOME/android$ANDROID_API-$ANDROID_CPU"
-        - ANDROID_SDK_ROOT="$HOME/android-sdk"
-        - ANDROID_NDK_ROOT="$HOME/android-ndk"
-
-  allow_failures:
-    - os: osx
-      name: Apple iPhone on iOS, armv7
-    - os: osx
-      name: Apple iPhone on iOS, arm64
-    - os: osx
-      name: Apple TV on iOS, arm64
-    - os: osx
-      name: Apple Watch on iOS, armv7
-    - os: osx
-      name: iPhoneSimulator on OS X, i386
-    - os: osx
-      name: iPhoneSimulator on OS X, x86_64
-    - os: osx
-      name: AppleTVSimulator on OS X, x86_64
-    - os: osx
-      name: WatchSimulator on OS X, i386
-    - os: linux
-      name: Android armv7a, Linux, Amd64
-    - os: linux
-      name: Android aarch64, Linux, Amd64
-    - os: linux
-      name: Android x86, Linux, Amd64
-    - os: linux
-      name: Android x86_64, Linux, Amd64
-
-before_script:
-  - |
-    if [ "$TEST_ANDROID" = "yes" ]; then
-      ./contrib/android/install_tools.sh
-    elif [ "$TEST_IOS" = "yes" ]; then
-      ./contrib/ios/install_tools.sh
-    fi
-
-# The Travis docs say to avoid calling exit in the script. It leads to
-# some code duplication to avoid failures in cross-compiles. Also see
-# https://docs.travis-ci.com/user/job-lifecycle/ in the Travis docs.
-script:
-  - |
-    export MAKE_TEST="yes"
-    if [ "$TEST_UBSAN" = "yes" ]; then
-      export CFLAGS="-DNDEBUG -g2 -O3 -fsanitize=undefined -fno-sanitize-recover=all"
-    elif [ "$TEST_ASAN" = "yes" ]; then
-      export CFLAGS="-DNDEBUG -g2 -O3 -fsanitize=address"
-    fi
-  - |
-    if [ "$TEST_IOS" = "yes" ]; then
-      export AUTOTOOLS_BUILD="$(./config.guess)"
-      export PKG_CONFIG_PATH="$IOS_PREFIX/lib/pkgconfig"
-      source ./contrib/ios/setenv_ios.sh
-      ./contrib/ios/install_openssl.sh
-      ./contrib/ios/install_expat.sh
-      export CONFIG_OPTS="\
-        --build=$AUTOTOOLS_BUILD --host=$AUTOTOOLS_HOST \
-        --prefix=$IOS_PREFIX \
-        --with-ssl=$IOS_PREFIX --disable-gost \
-        --with-libexpat=$IOS_PREFIX "
-      echo CONFIG_OPTS ${CONFIG_OPTS}
-      export MAKE_TEST=no
-      export TEST_INSTALL=yes
-    fi
-  - |
-    if [ "$TEST_ANDROID" = "yes" ]; then
-      export AUTOTOOLS_BUILD="$(./config.guess)"
-      export PKG_CONFIG_PATH="$ANDROID_PREFIX/lib/pkgconfig"
-      ./contrib/android/install_ndk.sh
*** 11132 LINES SKIPPED ***