bind/bind.spec

1243 lines
37 KiB
RPMSpec
Raw Normal View History

2021-12-04 15:31:20 +08:00
%bcond_with SYSTEMTEST
%bcond_without GSSTSIG
%bcond_without JSON
%bcond_with DLZ
%bcond_with GEOIP2
%bcond_without UNITTEST
%bcond_with DNSTAP
%bcond_without LMDB
%bcond_with DOC
%bcond_with TSAN
%{?!bind_uid: %global bind_uid 25}
%{?!bind_gid: %global bind_gid 25}
%{!?_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
%global bind_dir /var/named
%global _unitdir /usr/lib/systemd/system
%global _tmpfilesdir /usr/lib/tmpfiles.d
%global chroot_prefix %{bind_dir}/chroot
%global chroot_create_directories /dev /run/named %{_localstatedir}/{log,named,tmp} \\\
%{_sysconfdir}/{crypto-policies/back-ends,pki/dnssec-keys,named} \\\
%{_libdir}/bind %{_libdir}/named %{_datadir}/GeoIP /proc/sys/net/ipv4
%global selinuxbooleans named_write_master_zones=1
%define bind_export_libs isc dns isccfg irs
2019-12-28 09:41:34 +08:00
%{!?_export_dir:%global _export_dir /bind9-export/}
2021-12-04 15:31:20 +08:00
%undefine _strict_symbol_defs_build
Summary: The Berkeley Internet Name Domain (BIND) DNS (Domain Name System) server
Name: bind
License: MPLv2.0
2024-02-04 20:15:23 +08:00
Version: 9.18.21
Release: 2
2021-12-04 15:31:20 +08:00
Epoch: 32
Url: https://www.isc.org/downloads/bind/
#
Source0: https://downloads.isc.org/isc/bind9/%{version}/bind-%{version}.tar.xz
Source1: named.sysconfig
Source2: https://downloads.isc.org/isc/bind9/%{version}/bind-%{version}.tar.xz.asc
Source3: named.logrotate
Source4: https://downloads.isc.org/isc/pgpkeys/codesign2021.txt
Source16: named.conf
# Refresh by command: dig @a.root-servers.net. +tcp +norec
# or from URL
Source17: https://www.internic.net/domain/named.root
Source18: named.localhost
Source19: named.loopback
Source20: named.empty
Source23: named.rfc1912.zones
Source25: named.conf.sample
Source27: named.root.key
Source35: bind.tmpfiles.d
Source36: trusted-key.key
Source37: named.service
Source38: named-chroot.service
Source41: setup-named-chroot.sh
Source42: generate-rndc-key.sh
Source43: named.rwtab
Source44: named-chroot-setup.service
Source46: named-setup-rndc.service
Source48: setup-named-softhsm.sh
Source49: named-chroot.files
Patch6000:backport-CVE-2023-4408.patch
Patch6001:backport-CVE-2023-5517.patch
Patch6002:backport-CVE-2023-5679.patch
Patch6003:backport-CVE-2023-50387-CVE-2023-50868.patch
2021-12-04 15:31:20 +08:00
# Common patches
2022-03-30 11:36:26 +08:00
2021-12-04 15:31:20 +08:00
%{?systemd_ordering}
Requires: coreutils
Requires: shadow-utils
Requires: glibc-common
Requires: grep
Requires: bind-libs%{?_isa} = %{epoch}:%{version}-%{release}
Requires: systemd
2021-12-04 15:31:20 +08:00
# This wild require should satisfy %%selinux_set_boolean macro only
# in case it needs to be used
Requires: policycoreutils-python-utils libselinux-utils
Requires: selinux-policy selinux-policy-base libuv
Recommends: bind-utils bind-dnssec-utils
BuildRequires: gcc, make
BuildRequires: openssl-devel, libtool, autoconf, pkgconfig, libcap-devel
BuildRequires: libidn2-devel, libxml2-devel
#BuildRequires: systemd-rpm-macros
BuildRequires: selinux-policy
# needed for %%{__python3} macro
BuildRequires: python3-devel
BuildRequires: python3-ply
BuildRequires: findutils sed
BuildRequires: libuv-devel
BuildRequires: systemd
BuildRequires: libnsl2
2024-02-04 20:15:23 +08:00
BuildRequires: libnghttp2-devel
BuildRequires: chrpath
2021-12-04 15:31:20 +08:00
%if %{with DLZ}
BuildRequires: openldap-devel, libpq-devel, sqlite-devel, mariadb-connector-c-devel
%endif
2020-07-27 17:33:59 +08:00
%if %{with UNITTEST}
2021-12-04 15:31:20 +08:00
# make unit dependencies
2020-07-27 17:33:59 +08:00
BuildRequires: libcmocka-devel kyua
2019-12-28 09:41:34 +08:00
%endif
2024-02-04 20:15:23 +08:00
%if %{with UNITTEST} || %{with SYSTEMTEST}
2019-12-28 09:41:34 +08:00
BuildRequires: softhsm
%endif
%if %{with SYSTEMTEST}
2021-12-04 15:31:20 +08:00
# bin/tests/system dependencies
BuildRequires: perl(Net::DNS) perl(Net::DNS::Nameserver) perl(Time::HiRes) perl(Getopt::Long)
# manual configuration requires this tool
BuildRequires: iproute
2019-12-28 09:41:34 +08:00
%endif
%if %{with GSSTSIG}
BuildRequires: krb5-devel
%endif
%if %{with LMDB}
BuildRequires: lmdb-devel
%endif
2020-07-27 17:33:59 +08:00
%if %{with JSON}
BuildRequires: json-c-devel
%endif
2021-12-04 15:31:20 +08:00
%if %{with GEOIP2}
BuildRequires: libmaxminddb-devel
%endif
2020-07-27 17:33:59 +08:00
%if %{with DNSTAP}
BuildRequires: fstrm-devel protobuf-c-devel
%endif
2021-12-04 15:31:20 +08:00
# Needed to regenerate dig.1 manpage
2024-02-04 20:15:23 +08:00
2021-12-04 15:31:20 +08:00
BuildRequires: python3-sphinx python3-sphinx_rtd_theme
BuildRequires: doxygen
2024-02-04 20:15:23 +08:00
2021-12-04 15:31:20 +08:00
%if %{with DOCPDF}
# Because remaining issues with COPR, allow turning off PDF (re)generation
BuildRequires: python3-sphinx-latex latexmk texlive-xetex texlive-xindy
%endif
2020-07-27 17:33:59 +08:00
%if %{with TSAN}
2021-12-04 15:31:20 +08:00
BuildRequires: libtsan
2020-07-27 17:33:59 +08:00
%endif
2019-12-28 09:41:34 +08:00
%description
2021-12-04 15:31:20 +08:00
BIND (Berkeley Internet Name Domain) is an implementation of the DNS
(Domain Name System) protocols. BIND includes a DNS server (named),
which resolves host names to IP addresses; a resolver library
(routines for applications to use when interfacing with DNS); and
tools for verifying that the DNS server is operating properly.
2019-12-28 09:41:34 +08:00
2021-12-04 15:31:20 +08:00
2019-12-28 09:41:34 +08:00
%package libs
2021-12-04 15:31:20 +08:00
Summary: Libraries used by the BIND DNS packages
2019-12-28 09:41:34 +08:00
Requires: bind-license = %{epoch}:%{version}-%{release}
2021-12-04 15:31:20 +08:00
Provides: bind-libs-lite = %{epoch}:%{version}-%{release}
Obsoletes: bind-libs-lite < 32:9.16.13
2019-12-28 09:41:34 +08:00
%description libs
2021-12-04 15:31:20 +08:00
Contains heavyweight version of BIND suite libraries used by both named DNS
server and utilities in bind-utils package.
%package license
Summary: License of the BIND DNS suite
BuildArch:noarch
%description license
Contains license of the BIND DNS suite.
2019-12-28 09:41:34 +08:00
%package utils
2021-12-04 15:31:20 +08:00
Summary: Utilities for querying DNS name servers
Requires: bind-libs%{?_isa} = %{epoch}:%{version}-%{release}
# For compatibility with Debian package
Provides: dnsutils = %{epoch}:%{version}-%{release}
2019-12-28 09:41:34 +08:00
%description utils
Bind-utils contains a collection of utilities for querying DNS (Domain
Name System) name servers to find out information about Internet
hosts. These tools will provide you with the IP addresses for given
host names, as well as other information about registered domains and
network addresses.
You should install bind-utils if you need to get information from DNS name
servers.
2021-12-04 15:31:20 +08:00
%package dnssec-utils
Summary: DNSSEC keys and zones management utilities
Requires: bind-libs%{?_isa} = %{epoch}:%{version}-%{release}
Recommends: bind-utils
Requires: bind-dnssec-doc = %{epoch}:%{version}-%{release}
2019-12-28 09:41:34 +08:00
2021-12-04 15:31:20 +08:00
%description dnssec-utils
Bind-dnssec-utils contains a collection of utilities for editing
DNSSEC keys and BIND zone files. These tools provide generation,
revocation and verification of keys and DNSSEC signatures in zone files.
2019-12-28 09:41:34 +08:00
2021-12-04 15:31:20 +08:00
You should install bind-dnssec-utils if you need to sign a DNS zone
or maintain keys for it.
%package dnssec-doc
Summary: Manual pages of DNSSEC utilities
Requires: bind-license = %{epoch}:%{version}-%{release}
BuildArch:noarch
Conflicts: %{name}-utils < %{epoch}:%{version}-%{release}
2021-12-04 15:31:20 +08:00
%description dnssec-doc
Bind-dnssec-doc contains manual pages for bind-dnssec-utils.
%package devel
Summary: Header files and libraries needed for bind-dyndb-ldap
Provides: bind-lite-devel = %{epoch}:%{version}-%{release}
Obsoletes: bind-lite-devel < 32:9.16.6-3
Requires: bind-libs%{?_isa} = %{epoch}:%{version}-%{release}
Requires: openssl-devel%{?_isa} libxml2-devel%{?_isa}
Requires: libcap-devel%{?_isa}
2024-02-04 20:15:23 +08:00
2021-12-04 15:31:20 +08:00
%if %{with GSSTSIG}
Requires: krb5-devel%{?_isa}
%endif
%if %{with LMDB}
Requires: lmdb-devel%{?_isa}
%endif
%if %{with JSON}
Requires: json-c-devel%{?_isa}
%endif
%if %{with DNSTAP}
Requires: fstrm-devel%{?_isa} protobuf-c-devel%{?_isa}
%endif
%if %{with GEOIP2}
Requires: libmaxminddb-devel%{?_isa}
%endif
2019-12-28 09:41:34 +08:00
%description devel
The bind-devel package contains full version of the header files and libraries
2021-12-04 15:31:20 +08:00
required for building bind-dyndb-ldap. Upstream no longer supports nor recommends
bind libraries for third party applications.
2019-12-28 09:41:34 +08:00
2021-12-04 15:31:20 +08:00
%package chroot
Summary: A chroot runtime environment for the ISC BIND DNS server, named(8)
Prefix: %{chroot_prefix}
# grep is required due to setup-named-chroot.sh script
Requires: grep
Requires: bind%{?_isa} = %{epoch}:%{version}-%{release}
2019-12-28 09:41:34 +08:00
%description chroot
This package contains a tree of files which can be used as a
chroot(2) jail for the named(8) program from the BIND package.
Based on the code from Jan "Yenya" Kasprzak <kas@fi.muni.cz>
2021-12-04 15:31:20 +08:00
%if %{with DLZ}
%package dlz-filesystem
Summary: BIND server filesystem DLZ module
Requires: bind%{?_isa} = %{epoch}:%{version}-%{release}
%description dlz-filesystem
Dynamic Loadable Zones filesystem module for BIND server.
%package dlz-ldap
Summary: BIND server ldap DLZ module
Requires: bind%{?_isa} = %{epoch}:%{version}-%{release}
%description dlz-ldap
Dynamic Loadable Zones LDAP module for BIND server.
%package dlz-mysql
Summary: BIND server mysql and mysqldyn DLZ modules
Requires: bind%{?_isa} = %{epoch}:%{version}-%{release}
Provides: %{name}-dlz-mysqldyn = %{epoch}:%{version}-%{release}
Obsoletes: %{name}-dlz-mysqldyn < 32:9.16.6-3
%description dlz-mysql
Dynamic Loadable Zones MySQL module for BIND server.
Contains also mysqldyn module with dynamic DNS updates (DDNS) support.
%package dlz-sqlite3
Summary: BIND server sqlite3 DLZ module
Requires: bind%{?_isa} = %{epoch}:%{version}-%{release}
%description dlz-sqlite3
Dynamic Loadable Zones sqlite3 module for BIND server.
2019-12-28 09:41:34 +08:00
%endif
2021-12-04 15:31:20 +08:00
%if %{with DOC}
%package doc
Summary: BIND 9 Administrator Reference Manual
Requires: bind-license = %{epoch}:%{version}-%{release}
Requires: python3-sphinx_rtd_theme
BuildArch: noarch
2019-12-28 09:41:34 +08:00
2021-12-04 15:31:20 +08:00
%description doc
2019-12-28 09:41:34 +08:00
BIND (Berkeley Internet Name Domain) is an implementation of the DNS
2021-12-04 15:31:20 +08:00
(Domain Name System) protocols. BIND includes a DNS server (named),
which resolves host names to IP addresses; a resolver library
(routines for applications to use when interfacing with DNS); and
tools for verifying that the DNS server is operating properly.
This package contains BIND 9 Administrator Reference Manual
in HTML and PDF format.
%end
2019-12-28 09:41:34 +08:00
%endif
%prep
2022-12-26 15:55:21 +08:00
%autosetup -n %{name}-%{version} -N
2021-12-04 15:31:20 +08:00
2020-07-27 17:33:59 +08:00
# Common patches
2022-12-26 15:55:21 +08:00
%autopatch -p1 -m 10
2022-03-30 11:36:26 +08:00
2019-12-28 09:41:34 +08:00
2020-07-27 17:33:59 +08:00
# Sparc and s390 arches need to use -fPIE
%ifarch sparcv9 sparc64 s390 s390x
2024-02-04 20:15:23 +08:00
for i in bin/named/Makefile.am; do
2020-07-27 17:33:59 +08:00
sed -i 's|fpie|fPIE|g' $i
done
%endif
2021-12-04 15:31:20 +08:00
2020-07-27 17:33:59 +08:00
:;
2019-12-28 09:41:34 +08:00
2021-12-04 15:31:20 +08:00
2019-12-28 09:41:34 +08:00
%build
2021-12-04 15:31:20 +08:00
## We use out of tree configure/build for export libs
2019-12-28 09:41:34 +08:00
%define _configure "../configure"
2021-12-04 15:31:20 +08:00
# normal and pkcs11 unit tests
2019-12-28 09:41:34 +08:00
%define unit_prepare_build() \
2021-12-04 15:31:20 +08:00
find lib -name 'K*.key' -exec cp -uv '{}' "%{1}/{}" ';' \
find lib -name 'testdata' -type d -exec cp -Tav '{}' "%{1}/{}" ';' \
find lib -name 'testkeys' -type d -exec cp -Tav '{}' "%{1}/{}" ';' \
2019-12-28 09:41:34 +08:00
%define systemtest_prepare_build() \
2021-12-04 15:31:20 +08:00
cp -Tuav bin/tests "%{1}/bin/tests/" \
2019-12-28 09:41:34 +08:00
2020-07-27 17:33:59 +08:00
CFLAGS="$CFLAGS $RPM_OPT_FLAGS"
%if %{with TSAN}
CFLAGS+=" -O1 -fsanitize=thread -fPIE -pie"
2019-12-28 09:41:34 +08:00
%endif
2020-07-27 17:33:59 +08:00
export CFLAGS
2019-12-28 09:41:34 +08:00
export STD_CDEFINES="$CPPFLAGS"
2021-12-04 15:31:20 +08:00
#sed -i -e \
#'s/RELEASEVER=\(.*\)/RELEASEVER=\1-RH/' \
#version
2019-12-28 09:41:34 +08:00
2024-02-04 20:15:23 +08:00
autoconf --force
2019-12-28 09:41:34 +08:00
mkdir build
2021-12-04 15:31:20 +08:00
%if %{with DLZ}
# DLZ modules do not support oot builds. Copy files into build
mkdir -p build/contrib/dlz
cp -frp contrib/dlz/modules build/contrib/dlz/modules
%endif
pushd build
LIBDIR_SUFFIX=
export LIBDIR_SUFFIX
2019-12-28 09:41:34 +08:00
%configure \
2021-12-04 15:31:20 +08:00
--localstatedir=%{_var} \
--with-pic \
--disable-static \
--includedir=%{_includedir}/bind9 \
--with-tuning=large \
--with-libidn2 \
%if %{with GEOIP2}
--with-maxminddb \
2019-12-28 09:41:34 +08:00
%endif
%if %{with GSSTSIG}
2021-12-04 15:31:20 +08:00
--with-gssapi=yes \
2019-12-28 09:41:34 +08:00
%endif
%if %{with LMDB}
2021-12-04 15:31:20 +08:00
--with-lmdb=yes \
2019-12-28 09:41:34 +08:00
%else
2021-12-04 15:31:20 +08:00
--with-lmdb=no \
2019-12-28 09:41:34 +08:00
%endif
2020-07-27 17:33:59 +08:00
%if %{with JSON}
2024-02-04 20:15:23 +08:00
--with-json-c \
2021-12-04 15:31:20 +08:00
%endif
2020-07-27 17:33:59 +08:00
%if %{with DNSTAP}
2021-12-04 15:31:20 +08:00
--enable-dnstap \
2020-07-27 17:33:59 +08:00
%endif
2019-12-28 09:41:34 +08:00
%if %{with UNITTEST}
2021-12-04 15:31:20 +08:00
--with-cmocka \
2020-07-27 17:33:59 +08:00
%endif
2021-12-04 15:31:20 +08:00
--enable-fixed-rrset \
--enable-full-report \
;
2020-07-27 17:33:59 +08:00
%if %{with DNSTAP}
pushd lib
SRCLIB="../../../lib"
(cd dns && ln -s ${SRCLIB}/dns/dnstap.proto)
popd
2019-12-28 09:41:34 +08:00
%endif
2021-12-04 15:31:20 +08:00
%if %{with DOCPDF}
# avoid using home for pdf latex files
export TEXMFVAR="`pwd`"
export TEXMFCONFIG="`pwd`"
fmtutil-user --listcfg || :
fmtutil-user --missing || :
%endif
2021-05-22 18:50:41 +08:00
%make_build
2021-12-04 15:31:20 +08:00
%if %{with DOC}
make doc
2019-12-28 09:41:34 +08:00
%endif
2021-12-04 15:31:20 +08:00
%if %{with DLZ}
pushd contrib/dlz/modules
for DIR in mysql mysqldyn; do
sed -e 's/@DLZ_DRIVER_MYSQL_INCLUDES@/$(shell mysql_config --cflags)/' \
-e 's/@DLZ_DRIVER_MYSQL_LIBS@/$(shell mysql_config --libs)/' \
$DIR/Makefile.in > $DIR/Makefile
done
for DIR in filesystem ldap mysql mysqldyn sqlite3; do
make -C $DIR CFLAGS="-fPIC -I../include $CFLAGS $LDFLAGS"
done
popd
%endif
popd # build
2019-12-28 09:41:34 +08:00
2021-12-04 15:31:20 +08:00
%unit_prepare_build build
%systemtest_prepare_build build
2019-12-28 09:41:34 +08:00
%check
2024-02-04 20:15:23 +08:00
%if %{with UNITTEST} || %{with SYSTEMTEST}
2020-07-27 17:33:59 +08:00
# Tests require initialization of pkcs11 token
2021-12-04 15:31:20 +08:00
eval "$(bash %{SOURCE48} -A "`pwd`/softhsm-tokens")"
2020-07-27 17:33:59 +08:00
%endif
%if %{with TSAN}
2021-12-04 15:31:20 +08:00
export TSAN_OPTIONS="log_exe_name=true log_path=ThreadSanitizer exitcode=0"
2020-07-27 17:33:59 +08:00
%endif
%if %{with UNITTEST}
pushd build
2021-12-04 15:31:20 +08:00
CPUS=$(lscpu -p=cpu,core | grep -v '^#' | wc -l)
if [ "$CPUS" -gt 16 ]; then
ORIGFILES=$(ulimit -n)
ulimit -n 4096 || : # Requires on some machines with many cores
fi
2022-06-13 11:44:55 +08:00
export ISC_TASK_WORKERS=8
2020-07-27 17:33:59 +08:00
make unit
e=$?
if [ "$e" -ne 0 ]; then
echo "ERROR: this build of BIND failed 'make unit'. Aborting."
exit $e;
fi;
2021-12-04 15:31:20 +08:00
[ "$CPUS" -gt 16 ] && ulimit -n $ORIGFILES || :
popd
## End of UNITTEST
2020-07-27 17:33:59 +08:00
%endif
2019-12-28 09:41:34 +08:00
%if %{with SYSTEMTEST}
2021-12-04 15:31:20 +08:00
# Runs system test if ip addresses are already configured
# or it is able to configure them
if perl bin/tests/system/testsock.pl
then
CONFIGURED=already
fi;
else
echo 'SKIPPED: tests require root, CAP_NET_ADMIN or already configured test addresses.'
2019-12-28 09:41:34 +08:00
fi
%endif
2021-12-04 15:31:20 +08:00
:
2019-12-28 09:41:34 +08:00
%install
2021-12-04 15:31:20 +08:00
# Build directory hierarchy
mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d
mkdir -p ${RPM_BUILD_ROOT}%{_libdir}/{bind,named}
mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/named/{slaves,data,dynamic}
2019-12-28 09:41:34 +08:00
mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/{man1,man5,man8}
2021-12-04 15:31:20 +08:00
mkdir -p ${RPM_BUILD_ROOT}/run/named
mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/log
#chroot
for D in %{chroot_create_directories}
do
mkdir -p ${RPM_BUILD_ROOT}/%{chroot_prefix}${D}
done
# create symlink as it is on real filesystem
pushd ${RPM_BUILD_ROOT}/%{chroot_prefix}/var
2019-12-28 09:41:34 +08:00
ln -s ../run run
popd
2021-12-04 15:31:20 +08:00
# these are required to prevent them being erased during upgrade of previous
touch ${RPM_BUILD_ROOT}/%{chroot_prefix}%{_sysconfdir}/named.conf
#end chroot
2019-12-28 09:41:34 +08:00
pushd build
%make_install
popd
2021-12-04 15:31:20 +08:00
# Remove unwanted files
rm -f ${RPM_BUILD_ROOT}/etc/bind.keys
# Systemd unit files
mkdir -p ${RPM_BUILD_ROOT}%{_unitdir}
install -m 644 %{SOURCE37} ${RPM_BUILD_ROOT}%{_unitdir}
install -m 644 %{SOURCE38} ${RPM_BUILD_ROOT}%{_unitdir}
install -m 644 %{SOURCE44} ${RPM_BUILD_ROOT}%{_unitdir}
install -m 644 %{SOURCE46} ${RPM_BUILD_ROOT}%{_unitdir}
2019-12-28 09:41:34 +08:00
2021-12-04 15:31:20 +08:00
mkdir -p ${RPM_BUILD_ROOT}%{_libexecdir}
install -m 755 %{SOURCE41} ${RPM_BUILD_ROOT}%{_libexecdir}/setup-named-chroot.sh
install -m 755 %{SOURCE42} ${RPM_BUILD_ROOT}%{_libexecdir}/generate-rndc-key.sh
install -m 755 %{SOURCE48} ${RPM_BUILD_ROOT}%{_libexecdir}/setup-named-softhsm.sh
2019-12-28 09:41:34 +08:00
2021-12-04 15:31:20 +08:00
install -m 644 %SOURCE3 ${RPM_BUILD_ROOT}/etc/logrotate.d/named
mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig
install -m 644 %{SOURCE1} ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/named
install -m 644 %{SOURCE49} ${RPM_BUILD_ROOT}%{_sysconfdir}/named-chroot.files
2024-02-04 20:15:23 +08:00
pushd ${RPM_BUILD_ROOT}%{_sbindir}
# Compatibility with previous major versions, only for selected binaries
for BIN in named-checkconf named-checkzone named-compilezone
do
ln -s ../bin/$BIN $BIN
done
popd
2021-12-04 15:31:20 +08:00
%if %{with DLZ}
pushd build
pushd contrib/dlz/modules
for DIR in filesystem ldap mysql mysqldyn sqlite3; do
2024-02-04 20:15:23 +08:00
%make_install -C $DIR libdir=%{_libdir}/bind
2021-12-04 15:31:20 +08:00
done
2024-02-04 20:15:23 +08:00
pushd ${RPM_BUILD_ROOT}/%{_libdir}/named
cp -s ../bind/dlz_*.so .
2021-12-04 15:31:20 +08:00
popd
mkdir -p doc/{mysql,mysqldyn}
cp -p mysqldyn/testing/README doc/mysqldyn/README.testing
cp -p mysqldyn/testing/* doc/mysqldyn
cp -p mysql/testing/* doc/mysql
popd
popd
%endif
# Remove libtool .la files:
find ${RPM_BUILD_ROOT}/%{_libdir} -name '*.la' -exec '/bin/rm' '-f' '{}' ';';
2019-12-28 09:41:34 +08:00
2021-12-04 15:31:20 +08:00
# 9.16.4 installs even manual pages for tools not generated
%if %{without DNSTAP}
rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/dnstap-read.1* || true
%endif
%if %{without LMDB}
rm -f ${RPM_BUILD_ROOT}%{_mandir}/man8/named-nzd2nzf.8* || true
2019-12-28 09:41:34 +08:00
%endif
2021-12-04 15:31:20 +08:00
pushd ${RPM_BUILD_ROOT}%{_mandir}/man8
ln -s ddns-confgen.8.gz tsig-keygen.8.gz
2024-02-04 20:15:23 +08:00
popd
pushd ${RPM_BUILD_ROOT}%{_mandir}/man1
ln -s named-checkzone.1.gz named-compilezone.1.gz
2021-12-04 15:31:20 +08:00
popd
2019-12-28 09:41:34 +08:00
2021-12-04 15:31:20 +08:00
%if %{with DOC}
mkdir -p ${RPM_BUILD_ROOT}%{_pkgdocdir}
cp -a build/doc/arm/_build/html ${RPM_BUILD_ROOT}%{_pkgdocdir}
rm -rf ${RPM_BUILD_ROOT}%{_pkgdocdir}/html/.{buildinfo,doctrees}
# Backward compatible link to 9.11 documentation
(cd ${RPM_BUILD_ROOT}%{_pkgdocdir} && ln -s html/index.html Bv9ARM.html)
rm -rf "$BINDTHEMEDIR"
ln -s "$DIR" "$BINDTHEMEDIR"
fi
done
%endif
%if %{with DOCPDF}
2024-02-04 20:15:23 +08:00
cp -a build/doc/arm/_build/latex/Bv9ARM.pdf ${RPM_BUILD_ROOT}%{_pkgdocdir}
2021-12-04 15:31:20 +08:00
%endif
2019-12-28 09:41:34 +08:00
2021-12-04 15:31:20 +08:00
# Ghost config files:
touch ${RPM_BUILD_ROOT}%{_localstatedir}/log/named.log
2019-12-28 09:41:34 +08:00
2021-12-04 15:31:20 +08:00
# configuration files:
install -m 640 %{SOURCE16} ${RPM_BUILD_ROOT}%{_sysconfdir}/named.conf
2020-07-27 17:33:59 +08:00
touch ${RPM_BUILD_ROOT}%{_sysconfdir}/rndc.{key,conf}
2021-12-04 15:31:20 +08:00
install -m 644 %{SOURCE27} ${RPM_BUILD_ROOT}%{_sysconfdir}/named.root.key
install -m 644 %{SOURCE36} ${RPM_BUILD_ROOT}%{_sysconfdir}/trusted-key.key
2020-07-27 17:33:59 +08:00
mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/named
2021-12-04 15:31:20 +08:00
# data files:
2020-07-27 17:33:59 +08:00
mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/named
2021-12-04 15:31:20 +08:00
install -m 640 %{SOURCE17} ${RPM_BUILD_ROOT}%{_localstatedir}/named/named.ca
install -m 640 %{SOURCE18} ${RPM_BUILD_ROOT}%{_localstatedir}/named/named.localhost
install -m 640 %{SOURCE19} ${RPM_BUILD_ROOT}%{_localstatedir}/named/named.loopback
install -m 640 %{SOURCE20} ${RPM_BUILD_ROOT}%{_localstatedir}/named/named.empty
install -m 640 %{SOURCE23} ${RPM_BUILD_ROOT}%{_sysconfdir}/named.rfc1912.zones
2019-12-28 09:41:34 +08:00
2021-12-04 15:31:20 +08:00
# sample bind configuration files for %%doc:
2020-07-27 17:33:59 +08:00
mkdir -p sample/etc sample/var/named/{data,slaves}
2021-12-04 15:31:20 +08:00
install -m 644 %{SOURCE25} sample/etc/named.conf
# Copy default configuration to %%doc to make it usable from system-config-bind
install -m 644 %{SOURCE16} named.conf.default
install -m 644 %{SOURCE23} sample/etc/named.rfc1912.zones
install -m 644 %{SOURCE17} sample/var/named/named.ca
for f in my.internal.zone.db slaves/my.slave.internal.zone.db slaves/my.ddns.internal.zone.db my.external.zone.db; do
echo '@ in soa localhost. root 1 3H 15M 1W 1D
ns localhost.' > sample/var/named/$f;
done
:;
2019-12-28 09:41:34 +08:00
2021-12-04 15:31:20 +08:00
mkdir -p ${RPM_BUILD_ROOT}%{_tmpfilesdir}
install -m 644 %{SOURCE35} ${RPM_BUILD_ROOT}%{_tmpfilesdir}/named.conf
2019-12-28 09:41:34 +08:00
2021-12-04 15:31:20 +08:00
mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/rwtab.d
install -m 644 %{SOURCE43} ${RPM_BUILD_ROOT}%{_sysconfdir}/rwtab.d/named
2020-07-27 17:33:59 +08:00
2019-12-28 09:41:34 +08:00
%pre
if [ "$1" -eq 1 ]; then
2021-12-04 15:31:20 +08:00
/usr/sbin/groupadd -g %{bind_gid} -f -r named >/dev/null 2>&1 || :;
/usr/sbin/useradd -u %{bind_uid} -r -N -M -g named -s /sbin/nologin -d /var/named -c Named named >/dev/null 2>&1 || :;
fi;
:;
2019-12-28 09:41:34 +08:00
%post
2021-12-04 15:31:20 +08:00
%?ldconfig
if [ -e "%{_sysconfdir}/selinux/config" ]; then
%selinux_set_booleans -s targeted %{selinuxbooleans}
%selinux_set_booleans -s mls %{selinuxbooleans}
fi
2019-12-28 09:41:34 +08:00
if [ "$1" -eq 1 ]; then
2021-12-04 15:31:20 +08:00
# Initial installation
[ -x /sbin/restorecon ] && /sbin/restorecon /etc/rndc.* /etc/named.* >/dev/null 2>&1 ;
# rndc.key has to have correct perms and ownership, CVE-2007-6283
[ -e /etc/rndc.key ] && chown root:named /etc/rndc.key
[ -e /etc/rndc.key ] && chmod 0640 /etc/rndc.key
2019-12-28 09:41:34 +08:00
else
2021-12-04 15:31:20 +08:00
# Upgrade, use invalid shell
if getent passwd named | grep ':/bin/false$' >/dev/null; then
2020-07-27 17:33:59 +08:00
/sbin/usermod -s /sbin/nologin named
2021-12-04 15:31:20 +08:00
fi
# Checkconf will parse out comments
2024-02-04 20:15:23 +08:00
if /usr/bin/named-checkconf -p /etc/named.conf 2>/dev/null | grep -q named.iscdlv.key
2021-12-04 15:31:20 +08:00
then
echo "Replacing obsolete named.iscdlv.key with named.root.key..."
if cp -Rf --preserve=all --remove-destination /etc/named.conf /etc/named.conf.rpmbackup; then
sed -e 's/named\.iscdlv\.key/named.root.key/' \
/etc/named.conf.rpmbackup > /etc/named.conf || \
mv /etc/named.conf.rpmbackup /etc/named.conf
fi
fi
2019-12-28 09:41:34 +08:00
fi
%systemd_post named.service
2021-12-04 15:31:20 +08:00
:;
2019-12-28 09:41:34 +08:00
%preun
2021-12-04 15:31:20 +08:00
# Package removal, not upgrade
2019-12-28 09:41:34 +08:00
%systemd_preun named.service
%postun
2021-12-04 15:31:20 +08:00
%?ldconfig
# Package upgrade, not uninstall
2019-12-28 09:41:34 +08:00
%systemd_postun_with_restart named.service
2021-12-04 15:31:20 +08:00
if [ -e "%{_sysconfdir}/selinux/config" ]; then
%selinux_unset_booleans -s targeted %{selinuxbooleans}
%selinux_unset_booleans -s mls %{selinuxbooleans}
fi
2019-12-28 09:41:34 +08:00
2021-12-04 15:31:20 +08:00
# Fix permissions on existing device files on upgrade
%define chroot_fix_devices() \
if [ $1 -gt 1 ]; then \
for DEV in "%{1}/dev"/{null,random,zero}; do \
if [ -e "$DEV" ] && [ "$(/bin/stat --printf="%G %a" "$DEV")" = "root 644" ]; \
2021-12-04 15:31:20 +08:00
then \
/bin/chmod 0664 "$DEV" \
/bin/chgrp named "$DEV" \
fi \
done \
2019-12-28 09:41:34 +08:00
fi
%triggerun -- bind < 32:9.9.0-0.6.rc1
/sbin/chkconfig --del named >/dev/null 2>&1 || :
/bin/systemctl try-restart named.service >/dev/null 2>&1 || :
2021-12-04 15:31:20 +08:00
%ldconfig_scriptlets libs
2019-12-28 09:41:34 +08:00
2024-02-04 20:15:23 +08:00
2019-12-28 09:41:34 +08:00
%post chroot
%systemd_post named-chroot.service
2021-12-04 15:31:20 +08:00
%chroot_fix_devices %{chroot_prefix}
:;
2019-12-28 09:41:34 +08:00
%posttrans chroot
if [ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled; then
2021-12-04 15:31:20 +08:00
[ -x /sbin/restorecon ] && /sbin/restorecon %{chroot_prefix}/dev/* > /dev/null 2>&1;
fi;
2019-12-28 09:41:34 +08:00
%preun chroot
2021-12-04 15:31:20 +08:00
# wait for stop of both named-chroot and named-chroot-setup services
# on uninstall
2019-12-28 09:41:34 +08:00
%systemd_preun named-chroot.service named-chroot-setup.service
2021-12-04 15:31:20 +08:00
:;
2019-12-28 09:41:34 +08:00
%postun chroot
2021-12-04 15:31:20 +08:00
# Package upgrade, not uninstall
2019-12-28 09:41:34 +08:00
%systemd_postun_with_restart named-chroot.service
%files
2021-12-04 15:31:20 +08:00
%dir %{_libdir}/bind
%dir %{_libdir}/named
2024-02-04 20:15:23 +08:00
%{_libdir}/bind/filter*.so
2019-12-28 09:41:34 +08:00
%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/sysconfig/named
%config(noreplace) %attr(0644,root,named) %{_sysconfdir}/named.root.key
2021-12-04 15:31:20 +08:00
%config(noreplace) %{_sysconfdir}/logrotate.d/named
2019-12-28 09:41:34 +08:00
%{_tmpfilesdir}/named.conf
%{_sysconfdir}/rwtab.d/named
%{_unitdir}/named.service
%{_unitdir}/named-setup-rndc.service
2024-02-04 20:15:23 +08:00
%{_bindir}/named-journalprint
%{_bindir}/named-checkconf
2021-12-04 15:31:20 +08:00
%{_bindir}/named-rrchecker
%{_bindir}/mdig
%{_sbindir}/named
%{_sbindir}/rndc*
2024-02-04 20:15:23 +08:00
%{_sbindir}/named-checkconf
2021-12-04 15:31:20 +08:00
%{_libexecdir}/generate-rndc-key.sh
2024-02-04 20:15:23 +08:00
%{_libexecdir}/setup-named-softhsm.sh
2019-12-28 09:41:34 +08:00
%{_mandir}/man1/mdig.1*
%{_mandir}/man1/named-rrchecker.1*
%{_mandir}/man5/named.conf.5*
%{_mandir}/man5/rndc.conf.5*
%{_mandir}/man8/rndc.8*
%{_mandir}/man8/named.8*
2024-02-04 20:15:23 +08:00
%{_mandir}/man1/named-checkconf.1*
2019-12-28 09:41:34 +08:00
%{_mandir}/man8/rndc-confgen.8*
2024-02-04 20:15:23 +08:00
%{_mandir}/man1/named-journalprint.1*
%{_mandir}/man8/filter-*.8.gz
%doc CHANGES README.md named.conf.default
2021-12-04 15:31:20 +08:00
%doc sample/
2019-12-28 09:41:34 +08:00
2021-12-04 15:31:20 +08:00
# Hide configuration
2019-12-28 09:41:34 +08:00
%defattr(0640,root,named,0750)
%dir %{_sysconfdir}/named
%config(noreplace) %verify(not link) %{_sysconfdir}/named.conf
%config(noreplace) %verify(not link) %{_sysconfdir}/named.rfc1912.zones
%defattr(0660,root,named,01770)
%dir %{_localstatedir}/named
%defattr(0660,named,named,0770)
%dir %{_localstatedir}/named/slaves
%dir %{_localstatedir}/named/data
%dir %{_localstatedir}/named/dynamic
%ghost %{_localstatedir}/log/named.log
%defattr(0640,root,named,0750)
%config %verify(not link) %{_localstatedir}/named/named.ca
%config %verify(not link) %{_localstatedir}/named/named.localhost
%config %verify(not link) %{_localstatedir}/named/named.loopback
%config %verify(not link) %{_localstatedir}/named/named.empty
%ghost %config(noreplace) %{_sysconfdir}/rndc.key
2021-12-04 15:31:20 +08:00
# ^- rndc.key now created on first install only if it does not exist
2019-12-28 09:41:34 +08:00
%ghost %config(noreplace) %{_sysconfdir}/rndc.conf
2021-12-04 15:31:20 +08:00
# ^- The default rndc.conf which uses rndc.key is in named's default internal config -
# so rndc.conf is not necessary.
2019-12-28 09:41:34 +08:00
%defattr(-,named,named,-)
%dir /run/named
%files libs
2021-12-04 15:31:20 +08:00
%{_libdir}/libbind9-%{version}*.so
%{_libdir}/libisccc-%{version}*.so
%{_libdir}/libns-%{version}*.so
%{_libdir}/libdns-%{version}*.so
%{_libdir}/libirs-%{version}*.so
%{_libdir}/libisc-%{version}*.so
%{_libdir}/libisccfg-%{version}*.so
%files license
%{!?_licensedir:%global license %%doc}
%license COPYRIGHT
2019-12-28 09:41:34 +08:00
%files utils
%{_bindir}/dig
%{_bindir}/delv
%{_bindir}/host
%{_bindir}/nslookup
%{_bindir}/nsupdate
%{_bindir}/arpaname
%{_sbindir}/ddns-confgen
%{_sbindir}/tsig-keygen
2024-02-04 20:15:23 +08:00
%{_bindir}/nsec3hash
%{_bindir}/named-checkzone
%{_bindir}/named-compilezone
2019-12-28 09:41:34 +08:00
%{_sbindir}/named-checkzone
%{_sbindir}/named-compilezone
2021-12-04 15:31:20 +08:00
%if %{with DNSTAP}
%{_bindir}/dnstap-read
%{_mandir}/man1/dnstap-read.1*
%endif
2019-12-28 09:41:34 +08:00
%if %{with LMDB}
2024-02-04 20:15:23 +08:00
%{_bindir}/named-nzd2nzf
%{_mandir}/man1/named-nzd2nzf.1*
2019-12-28 09:41:34 +08:00
%endif
%{_mandir}/man1/host.1*
%{_mandir}/man1/nsupdate.1*
%{_mandir}/man1/dig.1*
%{_mandir}/man1/delv.1*
%{_mandir}/man1/nslookup.1*
%{_mandir}/man1/arpaname.1*
%{_mandir}/man8/ddns-confgen.8*
%{_mandir}/man8/tsig-keygen.8*
2024-02-04 20:15:23 +08:00
%{_mandir}/man1/nsec3hash.1*
%{_mandir}/man1/named-checkzone.1*
%{_mandir}/man1/named-compilezone.1*
2019-12-28 09:41:34 +08:00
%{_sysconfdir}/trusted-key.key
2021-12-04 15:31:20 +08:00
%files dnssec-utils
2024-02-04 20:15:23 +08:00
%{_bindir}/dnssec*
2019-12-28 09:41:34 +08:00
2021-12-04 15:31:20 +08:00
%files dnssec-doc
2024-02-04 20:15:23 +08:00
%{_mandir}/man1/dnssec*.1*
2019-12-28 09:41:34 +08:00
%files devel
%{_libdir}/libbind9.so
%{_libdir}/libisccc.so
2021-12-04 15:31:20 +08:00
%{_libdir}/libns.so
2019-12-28 09:41:34 +08:00
%{_libdir}/libdns.so
%{_libdir}/libirs.so
%{_libdir}/libisc.so
%{_libdir}/libisccfg.so
2021-12-04 15:31:20 +08:00
%dir %{_includedir}/bind9
2019-12-28 09:41:34 +08:00
%{_includedir}/bind9/bind9
%{_includedir}/bind9/isccc
2021-12-04 15:31:20 +08:00
%{_includedir}/bind9/ns
2019-12-28 09:41:34 +08:00
%{_includedir}/bind9/dns
%{_includedir}/bind9/dst
%{_includedir}/bind9/irs
%{_includedir}/bind9/isc
2024-02-04 20:15:23 +08:00
2019-12-28 09:41:34 +08:00
%{_includedir}/bind9/isccfg
%files chroot
%config(noreplace) %{_sysconfdir}/named-chroot.files
%{_unitdir}/named-chroot.service
%{_unitdir}/named-chroot-setup.service
%{_libexecdir}/setup-named-chroot.sh
%defattr(0664,root,named,-)
2021-12-04 15:31:20 +08:00
%ghost %dev(c,1,3) %verify(not mtime) %{chroot_prefix}/dev/null
%ghost %dev(c,1,8) %verify(not mtime) %{chroot_prefix}/dev/random
%ghost %dev(c,1,9) %verify(not mtime) %{chroot_prefix}/dev/urandom
%ghost %dev(c,1,5) %verify(not mtime) %{chroot_prefix}/dev/zero
2019-12-28 09:41:34 +08:00
%defattr(0640,root,named,0750)
2021-12-04 15:31:20 +08:00
%dir %{chroot_prefix}
%dir %{chroot_prefix}/dev
%dir %{chroot_prefix}%{_sysconfdir}
%dir %{chroot_prefix}%{_sysconfdir}/named
%dir %{chroot_prefix}%{_sysconfdir}/pki
%dir %{chroot_prefix}%{_sysconfdir}/pki/dnssec-keys
%dir %{chroot_prefix}%{_sysconfdir}/crypto-policies
%dir %{chroot_prefix}%{_sysconfdir}/crypto-policies/back-ends
%dir %{chroot_prefix}%{_localstatedir}
%dir %{chroot_prefix}/run
%ghost %config(noreplace) %{chroot_prefix}%{_sysconfdir}/named.conf
2019-12-28 09:41:34 +08:00
%defattr(-,root,root,-)
2021-12-04 15:31:20 +08:00
%dir %{chroot_prefix}/usr
%dir %{chroot_prefix}/%{_libdir}
%dir %{chroot_prefix}/%{_libdir}/bind
%dir %{chroot_prefix}/%{_datadir}/GeoIP
%{chroot_prefix}/proc
2019-12-28 09:41:34 +08:00
%defattr(0660,root,named,01770)
2021-12-04 15:31:20 +08:00
%dir %{chroot_prefix}%{_localstatedir}/named
2019-12-28 09:41:34 +08:00
%defattr(0660,named,named,0770)
2021-12-04 15:31:20 +08:00
%dir %{chroot_prefix}%{_localstatedir}/tmp
%dir %{chroot_prefix}%{_localstatedir}/log
2019-12-28 09:41:34 +08:00
%defattr(-,named,named,-)
2021-12-04 15:31:20 +08:00
%dir %{chroot_prefix}/run/named
%{chroot_prefix}%{_localstatedir}/run
2019-12-28 09:41:34 +08:00
2021-12-04 15:31:20 +08:00
%if %{with DLZ}
%files dlz-filesystem
%{_libdir}/{named,bind}/dlz_filesystem_dynamic.so
2019-12-28 09:41:34 +08:00
2021-12-04 15:31:20 +08:00
%files dlz-mysql
%{_libdir}/{named,bind}/dlz_mysql_dynamic.so
%doc build/contrib/dlz/modules/doc/mysql
%{_libdir}/{named,bind}/dlz_mysqldyn_mod.so
%doc build/contrib/dlz/modules/doc/mysqldyn
2020-07-27 17:33:59 +08:00
2021-12-04 15:31:20 +08:00
%files dlz-ldap
%{_libdir}/{named,bind}/dlz_ldap_dynamic.so
%doc contrib/dlz/modules/ldap/testing/*
2019-12-28 09:41:34 +08:00
2021-12-04 15:31:20 +08:00
%files dlz-sqlite3
%{_libdir}/{named,bind}/dlz_sqlite3_dynamic.so
%doc contrib/dlz/modules/sqlite3/testing/*
2019-12-28 09:41:34 +08:00
2021-12-04 15:31:20 +08:00
%endif
2019-12-28 09:41:34 +08:00
2021-12-04 15:31:20 +08:00
%if %{with DOC}
%files doc
%dir %{_pkgdocdir}
%doc %{_pkgdocdir}/Bv9ARM.html
%doc %{_pkgdocdir}/html
%endif
%if %{with DOCPDF}
%doc %{_pkgdocdir}/Bv9ARM.pdf
%endif
2019-12-28 09:41:34 +08:00
%changelog
* Tue Mar 19 2024 chengyechun<chengyechun1@huawei.com> - 32:9.18.21-2
- Type:CVE
- CVE:CVE-2023-4408 CVE-2023-5517 CVE-2023-5679 CVE-2023-50387 CVE-2023-50868
- SUG:NA
- DESC:fix CVE-2023-4408 CVE-2023-5517 CVE-2023-5679 CVE-2023-50387 CVE-2023-50868
2024-02-04 20:15:23 +08:00
* Sun Feb 04 2024 zhanghao<zhanghao383@huawei.com> - 32:9.18.21-1
- Type:requirement
- CVE:NA
- SUG:NA
- DESC:version update to 9.18.21
2023-09-26 10:33:37 +08:00
* Tue Sep 26 2023 zhanghao<zhanghao383@huawei.com> - 32:9.16.37-6
- Type:CVE
- CVE:CVE-2023-3341
- SUG:NA
- DESC:fix CVE-2023-3341
2023-09-25 22:27:15 +08:00
* Mon Sep 25 2023 zhanghao<zhanghao383@huawei.com> - 32:9.16.37-5
- Type:CVE
- CVE:CVE-2023-2911
- SUG:NA
- DESC:fix CVE-2023-2911
* Tue Feb 14 2023 zhanghao<zhanghao383@huawei.com> - 32:9.16.37-4
- Type:requirement
- CVE:NA
- SUG:NA
2024-02-04 20:15:23 +08:00
- DESC:fix two patch from 9.16.23 and delete useless Patches
2023-02-13 15:06:58 +08:00
* Mon Feb 13 2023 zhanghao<zhanghao383@huawei.com> - 32:9.16.37-3
- Type:bugfix
- CVE:NA
- SUG:NA
- DESC:fix bind-9.18-zt-include-rwlock.patch
* Thu Feb 09 2023 zhanghao<zhanghao383@huawei.com> - 32:9.16.37-2
- Type:bugfix
- CVE:NA
- SUG:NA
2024-02-04 20:15:23 +08:00
- DESC:fix output expected information when install bing-sdborbind-sdb-chroot
2023-02-07 19:16:30 +08:00
* Tue Feb 07 2023 zhanghao<zhanghao383@huawei.com> - 32:9.16.37-1
- Type:requirement
- CVE:NA
- SUG:NA
- DESC: update to 9.16.37
2022-12-26 15:55:21 +08:00
* Sat Nov 26 2022 jiangheng <jiangheng14@huawei.com> - 32:9.16.23-12
- Type:bugfix
- CVE:NA
- SUG:NA
- DESC: backport some patches from community
* Thu Sep 29 2022 huangyu <huangyu106@huawei.com> - 32:9.16.23-11
- Type:bugfix
- CVE:NA
- SUG:NA
- DESC: Fix catalog zone reconfiguration crash
Improve the logging on failed TCP accept
Separate the locked parts of dns_zone_catz_enable-di
Check if key-metadata is modified before writing
Fix CID-352776 Concurrent data access violations
Require valid key for dst_key functions
* Wed Sep 28 2022 huangyu <huangyu106@huawei.com> - 32:9.16.23-10
- DESC: fix CVE-2022-2795 CVE-2022-38177 CVE-2022-38178
CVE-2022-3080 CVE-2022-2906 CVE-2022-2881
* Wed Aug 31 2022 yangchenguang <yangchenguang@uniontech.com> - 32:9.16.23-9
- DESC: fix downgrade bind-utils conflict bind-dnssec-doc
* Mon Aug 01 2022 jiangheng<jiangheng14@huawei.com> - 32:9.16.23-8
- Type:bugfix
- CVE:
- SUG:NA
- DESC:update version number to maximum and keep it same as 22.03
* Mon Jul 25 2022 jiangheng<jiangheng14@huawei.com> - 32:9.16.23-6
- Type:bugfix
- CVE:
- SUG:NA
- DESC:add missing dependencies
remove geopip-directory in named.conf
2022-06-13 11:44:55 +08:00
* Mon Jun 13 2022 jiangheng<jiangheng14@huawei.com> - 9.16.23-5
- Type:bugfix
- CVE:
- SUG:NA
- DESC:fix test cases timeout
2022-03-31 09:45:21 +08:00
* Thu Mar 31 2022 jiangheng<jiangheng12@huawei.com> - 9.16.23-4
- Type:bugfix
- CVE:
- SUG:NA
- DESC:add bind.yaml to master branch
2022-03-30 16:47:27 +08:00
* Wed Mar 30 2022 jiangheng<jiangheng12@huawei.com> - 9.16.23-3
- Type:CVE
- CVE:CVE-2021-25220
- SUG:NA
- DESC:fix CVE-2021-25220
2022-03-30 11:36:26 +08:00
* Wed Mar 30 2022 jiangheng<jiangheng12@huawei.com> - 9.16.23-2
- Type:CVE
- CVE:CVE-2022-0396
- SUG:NA
- DESC:fix CVE-2022-0396
2021-12-04 15:31:20 +08:00
* Thu Dec 02 2021 jiangheng<jiangheng12@huawei.com> - 9.16.23-1
- DESC:update to 9.16.23
* Wed Nov 17 2021 jiangheng<jiangheng12@huawei.com> - 9.11.21-4.h9
- Type:CVE
2021-12-04 15:31:20 +08:00
- CVE:CVE-2021-25219
- SUG:NA
- DESC:fix CVE-2021-25219
2021-12-04 15:31:20 +08:00
* Wed Nov 03 2021 jiangheng<jiangheng12@huawei.com> - 9.11.21-4.h8
- Type:CVE
- CVE:CVE-2021-25219
- SUG:NA
- DESC:fix CVE-2021-25219
* Tue Aug 03 2021 jiangheng<jiangheng12@huawei.com> - 9.11.21-4.h7
2021-07-26 10:29:36 +08:00
- Type:bugfix
2021-12-04 15:31:20 +08:00
- CVE:NA
- SUG:NA
- DESC:give zspill its own lock
fix tasan error
fix data race
Correctly encode LOC records with non integer negative
isc_ratelimiter needs to hold a reference to its task
dig +bufsize=0 failed to disable EDNS as a side effect
Lock access to ctx->blocked as it is updated by multiple threads
Only read dns_master_indent and dns_master_indentstr in named
Defer read of zl->server and zl->reconfig
Break lock order loop by sending TAT in an event
Handle DNS_R_NCACHENXRRSET in fetch_callback_{dnskey,validator}()
Unload a zone if a transfer breaks its SOA record
Address inconsistencies in checking added RRsets
dns_rdata_tostruct() should reject rdata with DNS_RDATA_UPDATE set
* Fri Jun 04 2021 jiangheng<jiangheng12@huawei.com> - 9.11.21-4.h6
- Type:bugfix
- CVE:
2021-07-26 10:29:36 +08:00
- SUG:NA
2021-12-04 15:31:20 +08:00
- DESC:set print-time default to yes
2021-07-26 10:29:36 +08:00
2021-12-04 15:31:20 +08:00
* Wed May 19 2021 jiangheng<jiangheng12@huawei.com> - 9.11.21-4.h5
2021-05-26 15:31:30 +08:00
- Type:CVE
2021-12-04 15:31:20 +08:00
- CVE:CVE-2021-25214 CVE-2021-25215
2021-05-26 15:31:30 +08:00
- SUG:NA
- DESC:fix CVE-2021-25214 CVE-2021-25215
2021-12-04 15:31:20 +08:00
* Mon Apr 26 2021 jiangheng<jiangheng12@huawei.com> - 9.11.21-4.h4
2021-05-22 18:50:41 +08:00
- Type:bugfix
2021-12-04 15:31:20 +08:00
- CVE:NA
2021-05-22 18:50:41 +08:00
- SUG:NA
2021-12-04 15:31:20 +08:00
- DESC:fix no response when execute rndc addzone command
2021-05-22 18:50:41 +08:00
2021-12-04 15:31:20 +08:00
* Mon Apr 12 2021 zhujunhao<zhujunhao8@huawei.com> - 9.11.21-4.h3
2021-05-21 17:07:46 +08:00
- Type:bugfix
2021-12-04 15:31:20 +08:00
- CVE:NA
2021-05-21 17:07:46 +08:00
- SUG:NA
2021-12-04 15:31:20 +08:00
- DESC:remove GeoIP and libdb
2021-05-21 17:07:46 +08:00
2021-12-04 15:31:20 +08:00
* Mon Apr 12 2021 jiangheng<jiangheng12@huawei.com> - 9.11.21-4.h2
- Type:bugfix
2021-12-04 15:31:20 +08:00
- CVE:NA
- SUG:NA
2021-12-04 15:31:20 +08:00
- DESC:fix the upgrade installtion failure
2021-12-04 15:31:20 +08:00
* Wed Apr 07 2021 jiangheng<jiangheng12@huawei.com> - 9.11.21-4.h1
- Type:bugfix
- CVE:NA
- SUG:NA
2021-12-04 15:31:20 +08:00
- DESC:update version to 9.11.21-4.h1
2021-12-04 15:31:20 +08:00
* Wed Mar 10 2021 zhouyihang<zhouyihang3@huawei.com> - 9.11.4-17.h11
- Type:bugfix
2021-12-04 15:31:20 +08:00
- CVE:NA
- SUG:NA
2021-12-04 15:31:20 +08:00
- DESC:set geoip-use-ecs default to no
2021-12-04 15:31:20 +08:00
* Tue Mar 09 2021 yuboyun<yuboyun@huawei.com> - 9.11.4-17.h10
- Type:bugfix
- CVE:NA
2020-12-15 11:55:26 +08:00
- SUG:NA
2024-02-04 20:15:23 +08:00
- DESC:free rbuf
mempool didn t work for sizes less than sizeof void
Reset dig exit code after a TCP connection is establ
Prevent a race after zone load
Fix isc_buffer_copyregion for auto reallocated buffe
free tmpzonename and restart_master
errors initalizing badcaches were not caught or clea
set freed pointers to NULL
cleanup allocated memory on error
Fix a small memleak in delv
pass the correct object to cfg_obj_log
Try to fix crash at sigchase topdown
Do not fail on NULL passed to OpenSSL_free
error out if there are extra command line options
correct errno to result translation
properly detect period as last character in filename
fail if ctime output is truncted
Fix a race in fctx_cancelquery
add missing MAYBE_UNLOCK
Fix race in unix socket code when closing a socket t
fix Ed448 length values for precomputed ASN.1 prefix
don t overwrite the dns_master_loadfile result befor
address NULL pointer dereferences
address potential NULL pointer dereference
Prevent query loops for misbehaving servers
Lock di manager buffer_lock before accessing b
Request exclusive access when crashing via fatal
Assign fctx client when fctx is created rather when
lock access to fctx nqueries
acquire task lock before calling push_readyq for tas
Call dns_dbiterator_destroy earlier to prevent poten
Handle catopen errors
Fixed crash when querying for non existing domain in
Fixed rebinding protection bug when using forwarder
initialize sockaddrdscp to prevent spurious output f
Lock access to answer to silence TSAN
Fix a data access race in resolver
Address race between zone_maintenance and dns_zone_s
rbtdb cleanup_dead_nodes should ignore alive nodes o
make sure new_zone_lock is locked before unlocking i
Prevent crash on dst initialization failure
IPSECKEY require non zero length public keys
NSEC3PARAM check that saltlen is consistent with the
A6 return FORMERR in fromwire if bits are non zero
Cast the original rcode to dns_ttl_t when setting ex
Lock on msg SELECT_POKE_CLOSE as it triggers a tsan
Lock access when updating reading manager epoll_even
Take complete ownership of aclp before calling destr
Take complete ownership of validatorp before calling
Address lock order inversion
It appears that you can t change what you are pollin
counter used was read without the lock being held
Missing locks in ns_lwresd_shutdown
Use atomics to update counters
Obtain a lock on the quota structure
The node lock was released too early
Address lock order inversion between the keytable an
Pause dbiterator to release rwlock to prevent lock o
Address lock order reversals when shutting down a vi
Hold qid lock when calling deref_portentry as
Lock zone before calling zone_namerd_tostr
Address TSAN error between dns_rbt_findnode and subt
Address data race in dns_stats_detach over reference
Lock check of DNS_ZONEFLG_EXITING flag
2021-12-04 15:31:20 +08:00
* Mon Feb 22 2021 zhouyihang<zhouyihang3@huawei.com> - 9.11.4-17.h9
- Type:CVE
- CVE:CVE-2020-8625
- SUG:NA
- DESC:fix CVE-2020-8625
2020-12-15 11:55:26 +08:00
2021-12-04 15:31:20 +08:00
* Mon Jan 4 2021 zhouyihang<zhouyihang3@huawei.com> - 9.11.4-17.h8
- Type:CVE
- CVE:CVE-2020-8619
2020-12-09 11:08:03 +08:00
- SUG:NA
2021-12-04 15:31:20 +08:00
- DESC:fix CVE-2020-8619
2020-12-09 11:08:03 +08:00
2021-12-04 15:31:20 +08:00
* Mon Dec 21 2020 xihaochen<xihaochen@huawei.com> - 9.11.4-17.h7
- Type:CVE
- CVE:CVE-2020-8624
2020-11-18 10:21:20 +08:00
- SUG:NA
2021-12-04 15:31:20 +08:00
- DESC:fix CVE-2020-8624
2020-11-18 10:21:20 +08:00
2021-12-04 15:31:20 +08:00
* Wed Dec 02 2020 yuboyun<yuboyun@huawei.com> - 9.11.4-17.h6
- Type:bugfix
- CVE:NA
- SUG:restart
- DESC:fix the difference at the macro definition using clock gettime instead of gettimeofday
* Wed Nov 18 2020 yuboyun<yuboyun@huawei.com> - 9.11.4-17.h5
- Type:CVE
2021-12-04 15:31:20 +08:00
- CVE:CVE-2020-8623
- SUG:restart
- DESC:fix CVE-2020-8623
* Tue Sep 22 2020 yuboyun<yuboyun@huawei.com> - 9.11.4-17.h4
- Type:CVE
- CVE:CVE-2020-8622
- SUG:NA
2021-12-04 15:31:20 +08:00
- DESC:add %patch6032 -p1 to fix CVE-2020-8622
2021-12-04 15:31:20 +08:00
* Wed Sep 16 2020 yuboyun<yuboyun@huawei.com> - 9.11.4-17.h3
- Type:CVE
- CVE:CVE-2020-8622
- SUG:restart
- DESC:fix CVE-2020-8622
* Tue Jun 09 2020 gaihuiying<gaihuiying1@huawei.com> - 9.11.4-17.h2
- Type:cves
- ID:CVE-2018-5744 CVE-2019-6467 CVE-2019-6471 CVE-2019-6477
- SUG:restart
- DESC:backport patch to fix CVE-2018-5744 CVE-2019-6467 CVE-2019-6471 CVE-2019-6477
* Thu May 28 2020 gaihuiying<gaihuiying1@huawei.com> - 9.11.4-17.h1
- Type:cves
- ID:CVE-2020-8616 CVE-2020-8617
- SUG:restart
- DESC:backport patch to fix CVE-2020-8616 CVE-2020-8617
* Tue Mar 31 2020 liaichun<liaichun@huawei.com> - 9.11.4-17
- Type:bugfix
- ID:NA
- SUG:restart
- DESC: modify named.root.key permissions from 600 to 644
* Thu Mar 26 2020 liaichun<liaichun@huawei.com> - 9.11.4-16
- Type:bugfix
- ID:NA
- SUG:restart
- DESC:fix named service hangs and crashes
* Sat Mar 21 2020 liaichun<liaichun@huawei.com> - 9.11.4-15
- Type:bugfix
2020-07-27 17:33:59 +08:00
- ID:NA
- SUG:NA
2021-12-04 15:31:20 +08:00
- DESC: modify key file permissions from 644 to 600
* Fri Mar 20 2020 wangli<wangli221@huawei.com> - 9.11.4-14
- Type:bugfix
- ID:NA
- SUG:restart
- DESC:Reenable crypto rand for DHCP, disable just entropy check
2020-07-27 17:33:59 +08:00
2020-03-19 21:06:39 +08:00
* Thu Mar 19 2020 songnannan <songnannan2@huawei.com> - 9.11.4-13
- add gdb in buildrequires
2019-12-28 09:41:34 +08:00
* Sat Dec 21 2019 openEuler Buildteam <buildteam@openeuler.org> - 9.11.4-12
- Package init