diff --git a/gpgkey-742FA4E95829B6C5EAC6B85710BB7AF6FEBBD6AB.gpg.asc b/gpgkey-742FA4E95829B6C5EAC6B85710BB7AF6FEBBD6AB.gpg.asc index 7935cee..be2545a 100644 --- a/gpgkey-742FA4E95829B6C5EAC6B85710BB7AF6FEBBD6AB.gpg.asc +++ b/gpgkey-742FA4E95829B6C5EAC6B85710BB7AF6FEBBD6AB.gpg.asc @@ -23,29 +23,67 @@ cggAEKX5EkOmZM8oduRxsHqiRLC/xKF8GqTo6t3GMS5i8RClNvmdq0WUkQUvld4b OnXBCZ2QLbjV7sXjcr56ee+qdpiuRQjEidjHzpibcIBN8LVupVgXAZl9lsiBtoJX OHsvSdU3VgGWnRGtzFjSHzl3TRPIsaVVqD7aCzQDfXDjrGlmhzgDfMwkqmBGgsku 8tSR3Ag0MRAouJFXiZrcM3XGeYVbHT6dt7UMAB27Xc5foc0kGRo5tzlK6rWG2sJI -lcQB7tKvwI/tE9lwJDjw+XNekEdIpcdcQ7mWa1COYkcYTre3oPmN+7kCDQRZY5QX -ARAA6RnxYG82/X+A49srgHR9yIxlHqSq6IhNn+iJQ5lpVpfeBItOG4NDu4Aq5X41 -pAJ3NKxsCPV62gEald/C7gJrTI5rag/87GYFFo6QRrwGsWVGORGs9G1pBF7ZZwhP -JwD3MeagGZNfWZzRxXefL1P3mrpO3etSEEwENHtCqEMP6x/JHh3SKonKAlL4xfj3 -F54aKj4upIcjxGBAJH8u66bN1GmYjstBzzbD4TWNTwfKgp15XxjrTgbThFy7CBoO -gcaApiYTPE7D5nB1+AyhGjnO3ZlNgy1ZIHVDFk6HEakaqKM9QlkJnZsB2+cTqXlV -0etmFQsedCg2sUier0hhIrEOOtGQbY1P+0vv+VRoaNym3ritl+70RG8WgrHNLMRH -VGeLRq3gOFnt+d/3h7meAKbORW/ZY30UpwthtlZYgciFzoDJCW8Be1i1X4toiUaM -kFh79jd7YTvZ87+P4DllC9MNsoq5cY/bHBNZYtXf7y6XqVqYo2IbFUR3VXKtzSN5 -eYm5YpFPczzmg1bNgl3i6WBcOF4EPEJEVjZ+u1r59NvfVLQ8XVh/QmLoG7x8oFcv -hWctMy17Vdm4qZjpSA+B1sQocehdra+xT+PWV0kcrYpsqwkYeFRQnJGqIupWHnot -qGOBNAyQWIcjK6K5y0CeioJZpNN5Oe5XloMXsYmgXsR+gTUAEQEAAYkCJQQYAQoA -DwUCWWOUFwIbDAUJA8JnAAAKCRAQu3r2/rvWq+IQD/9ikZ5MtdDOVLtULPqXXeP3 -6Oss2Ie4/4IQ7xkUZZ/Ujig0x1rW+d21o92VryH1s4K+nyCIW31rbtexK/0a54/w -Zyyjbqfh6Tgo9n3f5bMV9qyubb49cfTSKfgzoOkG8Xdc/TIO1IjWHy1NBDl8GWKJ -0QPYz78SCCkEFiVCAFBjuIQsoPqDKcZTs7k661w0A75ken88JJLgUgffZJRQK0i1 -dCw8kS4c2pqm24Q6d0AF5EdqXn2IFH82p49Pp5bRMY3LnibRL3Sq0xvXs7i5vY+o -JLuPAdomiGbdEbxcLytqQ2KitVdrGvrnZJxPs16m0uuTeM06krorDlgGBXFp5+Z9 -JbQpViHkVpLo+vf/GuT9WOWWH8gG0r14ZLVQTvCGXiAR4Aju7W5jPMPmVDJ+wMrD -cLta1Jv0U0+AnVe67mRXb0n5E/7kVshB3rfGzunPSlqT5kEiOXq6fJWB2l0lzCv0 -WtNuINmU9U3ap1oZBGSYl83vyuRUIlx61/tlnJvwseBL1FmASXOgfedCsxjHIlgF -SUeScLxnOSyap/4ePqZ0C76Nkvzx43SfM1LJUeCHwon0o+LZv2GlBmlEp6PbekRQ -Tz1hewLBbfAeXZRnwxvmkRqTP4DJCIVu2AE47+rbqVEjJZuEO4ORlkKoBdLOV3HN -xWbfbG7+n/h2cnUw3pqbHw== -=4CxJ +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 +tW29kqO09AEalR9l +=t42C -----END PGP PUBLIC KEY BLOCK----- diff --git a/knot.conf b/knot.conf deleted file mode 100644 index 8d2dab6..0000000 --- a/knot.conf +++ /dev/null @@ -1,23 +0,0 @@ -# See knot.conf(5) manual page for documentation. - -server: - rundir: "/var/run/knot" - user: knot:knot - listen: [ 127.0.0.1@53, ::1@53 ] - -control: - listen: "knot.sock" - -log: - - target: syslog - any: info - -template: - - id: default - storage: "/var/lib/knot" - file: "%s.zone" - kasp-db: "keys" - dnssec-signing: false - -zone: -# - domain: example.com diff --git a/knot.service b/knot.service deleted file mode 100644 index 789efcc..0000000 --- a/knot.service +++ /dev/null @@ -1,15 +0,0 @@ -[Unit] -Description=Knot DNS server daemon - -[Service] -Type=notify -ExecStart=/usr/sbin/knotd -ExecReload=/usr/sbin/knotc reload -Restart=on-abort -ExecStartPre=/usr/sbin/knotc conf-check - -# Breaks daemon reload -#CapabilityBoundingSet=cap_net_bind_service cap_setuid cap_setgid - -[Install] -WantedBy=multi-user.target diff --git a/knot.spec b/knot.spec index 839bffe..4b79d07 100644 --- a/knot.spec +++ b/knot.spec @@ -2,20 +2,26 @@ %{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}} %define GPG_CHECK 1 -%define VERSION 2.7.1 +%if 0%{?fedora} >= 40 || 0%{?rhel} >= 9 +# use modern %pyproject_* macros on distros which support them +%define PYPROJECT 1 +%else +# use older %py3_* macros on older/other distros +%define PYPROJECT 0 +%endif +%define BASE_VERSION %(echo "%{version}" | sed 's/^\\([^.]\\+\\.[^.]\\+\\).*/\\1/') %define repodir %{_builddir}/%{name}-%{version} Summary: High-performance authoritative DNS server Name: knot -Version: %{VERSION} -Release: 1%{?dist} -License: GPLv3 -Group: System Environment/Daemons -URL: http://www.knot-dns.cz -Source0: http://public.nic.cz/files/knot-dns/%{name}-%{version}.tar.xz +Version: 3.5.2 +Release: 1%{?dist} +License: GPL-3.0-or-later +URL: https://www.knot-dns.cz +Source0: https://secure.nic.cz/files/knot-dns/%{name}-%{version}.tar.xz -%if 0%{GPG_CHECK} -Source1: http://public.nic.cz/files/knot-dns/%{name}-%{version}.tar.xz.asc +%if 0%{?GPG_CHECK} +Source1: https://secure.nic.cz/files/knot-dns/%{name}-%{version}.tar.xz.asc # PGP keys used to sign upstream releases # Export with --armor using command from https://fedoraproject.org/wiki/PackagingDrafts:GPGSignatures # Don't forget to update %%prep section when adding/removing keys @@ -24,50 +30,84 @@ BuildRequires: gnupg2 %endif # Required dependencies +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: libtool +BuildRequires: make BuildRequires: gcc BuildRequires: pkgconfig(liburcu) -BuildRequires: pkgconfig(gnutls) >= 3.3 +BuildRequires: pkgconfig(gnutls) BuildRequires: pkgconfig(libedit) # Optional dependencies BuildRequires: pkgconfig(libcap-ng) -BuildRequires: pkgconfig(libfstrm) BuildRequires: pkgconfig(libidn2) -BuildRequires: pkgconfig(libmaxminddb) -BuildRequires: pkgconfig(libprotobuf-c) +BuildRequires: pkgconfig(libmnl) +BuildRequires: pkgconfig(libnghttp2) BuildRequires: pkgconfig(libsystemd) BuildRequires: pkgconfig(systemd) +BuildRequires: pkgconfig(hiredis) +%if 0%{?fedora} || 0%{?rhel} +BuildRequires: softhsm +%endif +# dnstap dependencies +BuildRequires: pkgconfig(libfstrm) +BuildRequires: pkgconfig(libprotobuf-c) +# geoip dependencies +BuildRequires: pkgconfig(libmaxminddb) +# XDP dependencies +BuildRequires: pkgconfig(libbpf) +# Python modules (python3-libknot, knot-exporter) dependencies +BuildRequires: python3-devel +%if 0%{?PYPROJECT} +BuildRequires: pyproject-rpm-macros +BuildRequires: python3-pip +BuildRequires: python3-hatchling +%else +BuildRequires: python3-setuptools +%endif # Distro-dependent dependencies %if 0%{?suse_version} BuildRequires: python3-Sphinx BuildRequires: lmdb-devel BuildRequires: protobuf-c -Requires(pre): pwdutils +Requires(pre): pwdutils +%if 0%{?sle_version} != 150400 +BuildRequires: pkgconfig(libxdp) %endif -%if 0%{?rhel} -BuildRequires: python-sphinx -BuildRequires: lmdb-devel %endif -%if 0%{?fedora} +%if 0%{?fedora} || 0%{?rhel} BuildRequires: python3-sphinx BuildRequires: pkgconfig(lmdb) +%if 0%{?fedora} || 0%{?rhel} >= 9 +BuildRequires: pkgconfig(libxdp) +%endif +%endif + +%if 0%{?rhel} >= 9 || 0%{?suse_version} || 0%{?fedora} +%define configure_quic --enable-quic=yes %endif Requires(post): systemd %{_sbindir}/runuser Requires(preun): systemd Requires(postun): systemd -# Knot DNS 2.7+ isn't compatible with earlier knot-resolver -Conflicts: knot-resolver < 3.0.0 - Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Recommends: %{name}-keymgr + +%if 0%{?suse_version} +Provides: group(knot) +%endif + %description Knot DNS is a high-performance authoritative DNS server implementation. %package libs Summary: Libraries used by the Knot DNS server and client applications +# Knot DNS 3.5+ isn't compatible with earlier knot-resolver +Conflicts: knot-resolver < 5.7.6-3 %description libs The package contains shared libraries used by the Knot DNS server and @@ -84,28 +124,87 @@ included in knot-libs package. %package utils Summary: DNS client utilities shipped with the Knot DNS server Requires: %{name}-libs%{?_isa} = %{version}-%{release} +# Debian package compat +Provides: %{name}-dnsutils = %{version}-%{release} %description utils The package contains DNS client utilities shipped with the Knot DNS server. +%package dnssecutils +Summary: DNSSEC tools shipped with the Knot DNS server +Requires: %{name}-libs%{?_isa} = %{version}-%{release} + +%description dnssecutils +The package contains DNSSEC tools shipped with the Knot DNS server. + +%package keymgr +Summary: Knot DNS key management utility +Requires: %{name}-libs%{?_isa} = %{version}-%{release} + +%description keymgr +The package contains keymgr program for Knot DNS key management. + +%package module-dnstap +Summary: dnstap module for Knot DNS +Requires: %{name} = %{version}-%{release} + +%description module-dnstap +The package contains dnstap Knot DNS module for logging DNS traffic. + +%package module-geoip +Summary: geoip module for Knot DNS +Requires: %{name} = %{version}-%{release} + +%description module-geoip +The package contains geoip Knot DNS module for geography-based responses. + +%package exporter +Summary: Prometheus exporter for Knot DNS +BuildArch: noarch +Requires: %{name}-libs = %{version}-%{release} + +%description exporter +The package provides Python Prometheus exporter for Knot DNS. + +%package -n python3-libknot +Summary: Python bindings for libknot +BuildArch: noarch +Requires: %{name}-libs = %{version}-%{release} +%{?python_provide:%python_provide python3-libknot} + +%description -n python3-libknot +The package provides Python bindings for the libknot shared library. + +%package -n valkey-module-knot +Summary: Valkey module for Knot DNS. +Requires: %{name}-libs = %{version}-%{release} + +%description -n valkey-module-knot +The package provides Valkey module for Knot DNS. + %package doc Summary: Documentation for the Knot DNS server -License: GPLv3 and BSD and MIT BuildArch: noarch -Provides: bundled(jquery) = 3.1.0 +Provides: bundled(jquery) %description doc The package contains documentation for the Knot DNS server. On-line version is available on https://www.knot-dns.cz/documentation/ %prep -%if 0%{GPG_CHECK} +%if 0%{?GPG_CHECK} export GNUPGHOME=./gpg-keyring -mkdir ${GNUPGHOME} +[ -d ${GNUPGHOME} ] && rm -r ${GNUPGHOME} +mkdir --mode=700 ${GNUPGHOME} gpg2 --import %{SOURCE100} gpg2 --verify %{SOURCE1} %{SOURCE0} %endif -%setup -q +%autosetup -p1 + +# Create a sysusers.d config file +cat >knot.sysusers.conf < 7 +install -p -m 0644 -D %{repodir}/distro/common/cz.nic.knotd.conf %{buildroot}%{_datadir}/dbus-1/system.d/cz.nic.knotd.conf +%endif # install systemd files install -p -m 0644 -D %{repodir}/distro/common/%{name}.service %{buildroot}%{_unitdir}/%{name}.service -install -p -m 0644 -D %{repodir}/distro/common/%{name}.tmpfiles %{buildroot}%{_tmpfilesdir}/%{name}.conf +%if 0%{?suse_version} +ln -s service %{buildroot}/%{_sbindir}/rcknot +%endif -# create storage dir and key dir +# create storage dir install -d %{buildroot}%{_sharedstatedir} -install -d -m 0775 -D %{buildroot}%{_sharedstatedir}/%{name} -install -d -m 0770 -D %{buildroot}%{_sharedstatedir}/%{name}/keys +install -d -m 0770 -D %{buildroot}%{_sharedstatedir}/knot # remove libarchive files find %{buildroot} -type f -name "*.la" -delete -print +install -m0644 -D knot.sysusers.conf %{buildroot}%{_sysusersdir}/knot.conf + %check -make check +V=1 make check %pre -getent group knot >/dev/null || groupadd -r knot -getent passwd knot >/dev/null || \ - useradd -r -g knot -d %{_sysconfdir}/knot -s /sbin/nologin \ - -c "Knot DNS server" knot %if 0%{?suse_version} %service_add_pre knot.service %endif %post -systemd-tmpfiles --create %{_tmpfilesdir}/knot.conf &>/dev/null || : %if 0%{?suse_version} %service_add_post knot.service %else @@ -191,47 +330,85 @@ systemd-tmpfiles --create %{_tmpfilesdir}/knot.conf &>/dev/null || : %systemd_postun_with_restart knot.service %endif +%if 0%{?fedora} || 0%{?rhel} > 7 +# https://fedoraproject.org/wiki/Changes/Removing_ldconfig_scriptlets +%else %post libs -p /sbin/ldconfig - %postun libs -p /sbin/ldconfig +%endif %files %license COPYING -%{_pkgdocdir}/NEWS -%{_pkgdocdir}/README -%{_pkgdocdir}/samples -%dir %attr(750,root,knot) %{_sysconfdir}/%{name} -%config(noreplace) %attr(640,root,knot) %{_sysconfdir}/%{name}/%{name}.conf -%dir %attr(775,root,knot) %{_sharedstatedir}/%{name} -%dir %attr(770,root,knot) %{_sharedstatedir}/%{name}/keys +%doc %{_pkgdocdir} +%exclude %{_pkgdocdir}/html +%attr(750,root,knot) %dir %{_sysconfdir}/knot +%config(noreplace) %attr(640,root,knot) %{_sysconfdir}/knot/knot.conf +%if 0%{?fedora} || 0%{?rhel} > 7 +%config(noreplace) %attr(644,root,root) %{_datadir}/dbus-1/system.d/cz.nic.knotd.conf +%endif +%attr(770,root,knot) %dir %{_sharedstatedir}/knot +%dir %{_libdir}/knot +%dir %{_libdir}/knot/modules-* %{_unitdir}/knot.service -%{_tmpfilesdir}/%{name}.conf -%{_bindir}/kzonecheck +%{_sbindir}/kcatalogprint %{_sbindir}/kjournalprint -%{_sbindir}/keymgr %{_sbindir}/knotc %{_sbindir}/knotd -%{_mandir}/man1/kzonecheck.* +%if 0%{?suse_version} +%{_sbindir}/rcknot +%endif %{_mandir}/man5/knot.conf.* +%{_mandir}/man8/kcatalogprint.* %{_mandir}/man8/kjournalprint.* -%{_mandir}/man8/keymgr.* %{_mandir}/man8/knotc.* %{_mandir}/man8/knotd.* +%ghost %attr(770,root,knot) %dir %{_rundir}/knot +%{_sysusersdir}/knot.conf %files utils %{_bindir}/kdig %{_bindir}/khost -%{_bindir}/knsec3hash %{_bindir}/knsupdate +%{_sbindir}/kxdpgun +%{_mandir}/man8/kxdpgun.* %{_mandir}/man1/kdig.* %{_mandir}/man1/khost.* -%{_mandir}/man1/knsec3hash.* %{_mandir}/man1/knsupdate.* +%files dnssecutils +%{_bindir}/knsec3hash +%{_bindir}/kzonecheck +%{_bindir}/kzonesign +%{_mandir}/man1/knsec3hash.* +%{_mandir}/man1/kzonecheck.* +%{_mandir}/man1/kzonesign.* + +%files keymgr +%{_sbindir}/keymgr +%{_mandir}/man8/keymgr.* + +%files module-dnstap +%{_libdir}/knot/modules-*/dnstap.so + +%files module-geoip +%{_libdir}/knot/modules-*/geoip.so + +%files exporter +%{_bindir}/knot-exporter +%{python3_sitelib}/knot_exporter +%{python3_sitelib}/knot_exporter-*-info + +%files -n python3-libknot +%{python3_sitelib}/libknot +%{python3_sitelib}/libknot-*-info + +%files -n valkey-module-knot +%attr(0755, root, root) %{_libdir}/valkey/modules/knot.so + %files libs %license COPYING %doc NEWS -%doc README +%doc README.md %{_libdir}/libdnssec.so.* %{_libdir}/libknot.so.* %{_libdir}/libzscanner.so.* @@ -251,9 +428,422 @@ systemd-tmpfiles --create %{_tmpfilesdir}/knot.conf &>/dev/null || : %files doc %dir %{_pkgdocdir} -%{_pkgdocdir}/html +%doc %{_pkgdocdir}/html %changelog +* Fri Dec 19 2025 Jakub Ružička - 3.5.2-1 +- Update to 3.5.2 + +* Thu Oct 16 2025 Jakub Ružička - 3.5.1-1 +- Update to 3.5.1 +- Add new valkey-module-knot package +- Split keymgr into knot-keymgr package + +* Fri Sep 19 2025 Python Maint - 3.4.8-3 +- Rebuilt for Python 3.14.0rc3 bytecode + +* Fri Aug 15 2025 Python Maint - 3.4.8-2 +- Rebuilt for Python 3.14.0rc2 bytecode + +* Wed Jul 30 2025 Jakub Ružička - 3.4.8-1 +- Update to 3.4.8 + +* Thu Jul 24 2025 Fedora Release Engineering - 3.4.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Thu Jun 12 2025 Jakub Ružička - 3.4.7-1 +- Update to 3.4.7 +- Add new knot-exporter and python3-libknot packages + +* Thu Apr 10 2025 Jakub Ružička - 3.4.6-1 +- Update to 3.4.6 + +* Wed Mar 19 2025 Jakub Ružička - 3.4.5-1 +- Update to 3.4.5 + +* Thu Jan 23 2025 Zbigniew Jędrzejewski-Szmek - 3.4.4-2 +- Add sysusers.d config file to allow rpm to create users/groups automatically + +* Thu Jan 23 2025 Jakub Ružička - 3.4.4-1 +- Update to 3.4.4 + +* Fri Jan 17 2025 Fedora Release Engineering - 3.4.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Tue Dec 10 2024 Jakub Ružička - 3.4.3-1 +- Update to 3.4.3 + +* Mon Nov 25 2024 Jakub Ružička - 3.4.2-1 +- Update to 3.4.2 + +* Mon Aug 26 2024 Jakub Ružička - 3.3.9-1 +- Update to 3.3.9 + +* Mon Jul 22 2024 Jakub Ružička - 3.3.8-1 +- Update to 3.3.8 + +* Thu Jul 18 2024 Fedora Release Engineering - 3.3.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Tue Jun 25 2024 Jakub Ružička - 3.3.7-1 +- Update to 3.3.7 + +* Thu Jun 13 2024 Jakub Ružička - 3.3.6-1 +- Update to 3.3.6 + +* Thu Mar 07 2024 Jakub Ružička - 3.3.5-1 +- Update to 3.3.5 + +* Wed Jan 24 2024 Jakub Ružička - 3.3.4-1 +- Update to 3.3.4 + +* Sun Jan 21 2024 Fedora Release Engineering - 3.3.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Dec 13 2023 Jakub Ružička - 3.3.3-1 +- Update to 3.3.3 + +* Fri Oct 20 2023 Jakub Ružička - 3.3.2-1 +- Update to 3.3.2 + +* Tue Sep 12 2023 Jakub Ružička - 3.3.1-1 +- Update to 3.3.1 + +* Mon Aug 28 2023 Jakub Ružička - 3.3.0-1 +- Update to 3.3.0 + +* Thu Jul 27 2023 Jakub Ružička - 3.2.9-1 +- Update to 3.2.9 + +* Thu Jul 20 2023 Fedora Release Engineering - 3.2.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Mon Jun 26 2023 Jakub Ružička - 3.2.8-1 +- Update to 3.2.8 + +* Tue Jun 06 2023 Jakub Ružička - 3.2.7-1 +- Update to 3.2.7 +- Remove unneeded tests patch +- Use _datadir for config + +* Fri May 12 2023 Michel Alexandre Salim - 3.2.6-2 +- Add BR on libxdp on RHEL >= 9 to use with libbpf-1.x + +* Thu Apr 06 2023 Jakub Ružička - 3.2.6-1 +- Update to 3.2.6 +- Sync upstream packaging improvements + +* Thu Feb 02 2023 Jakub Ružička - 3.2.5-1 +- Update to 3.2.5 + +* Thu Jan 19 2023 Fedora Release Engineering - 3.2.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Mon Dec 12 2022 Jakub Ružička - 3.2.4-1 +- Update to 3.2.4 + +* Mon Nov 28 2022 Jakub Ružička - 3.2.3-2 +- Rebuilt for libbpf 1.0 transition + +* Mon Nov 21 2022 Jakub Ružička - 3.2.3-1 +- Update to 3.2.3 + +* Fri Nov 04 2022 Jakub Ružička - 3.2.2-2 +- New BuildRequires: libxdp (needed for libbpf >= 1.0) + +* Tue Nov 01 2022 Jakub Ružička - 3.2.2-1 +- Update to 3.2.2 + +* Fri Sep 09 2022 Jakub Ružička - 3.2.1-1 +- Update to 3.2.1 +- Remove patches included upstream +- Update Conflicts and move to knot-libs + +* Mon Aug 22 2022 Jakub Ružička - 3.2.0-1 +- Update to 3.2.0 +- Patch: fix tests on 32-bit platforms +- Patch: revert problematic hardening of service file +- Enable QUIC +- New knot-dnssecutils subpackage +- Debian compat (knot-utils vs knot-dnsutils) +- Remove bundled(jquery) version as it differes between distros + +* Thu Jul 21 2022 Fedora Release Engineering - 3.1.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu Apr 28 2022 Jakub Ružička - 3.1.8-1 +- Update to 3.1.8 + +* Wed Mar 30 2022 Jakub Ružička - 3.1.7-1 +- Update to 3.1.7 + +* Thu Feb 10 2022 Jakub Ružička - 3.1.6-1 +- Update to 3.1.6 +- Add dbus config +- Use _sharedstatedir for home + +* Thu Jan 20 2022 Fedora Release Engineering - 3.1.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Jan 05 2022 Jakub Ružička 3.1.5-1 +- Update to 3.1.5 + +* Sat Nov 06 2021 Adrian Reber - 3.1.4-2 +- Rebuilt for protobuf 3.19.0 + +* Thu Nov 04 2021 Jakub Ružička - 3.1.4-1 +- Update to 3.1.4 + +* Tue Oct 26 2021 Adrian Reber - 3.1.3-2 +- Rebuilt for protobuf 3.18.1 + +* Tue Oct 19 2021 Jakub Ružička - 3.1.3-1 +- Update to 3.1.3 + +* Thu Sep 09 2021 Jakub Ružička - 3.1.2-1 +- Update to 3.1.2 + +* Tue Aug 10 2021 Jakub Ružička - 3.1.1-1 +- Update to 3.1.1 +- Enable XDP on ARM and improve XDP config macros +- Remove patch included upstream + +* Wed Aug 04 2021 Jakub Ružička 3.1.0-2 +- Introduce a patch to fix tests on ppc64le +- Use autosetup macro to apply patches + +* Mon Aug 02 2021 Jakub Ružička - 3.1.0-1 +- Update to 3.1.0 +- Add missing BuildRequires including new libmnl for kxdpgun +- Temporarily disable XDP on ARM until issues are resolved + +* Thu Jul 22 2021 Fedora Release Engineering - 3.0.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri Jul 16 2021 Jakub Ružička - 3.0.8-1 +- Update to 3.0.8 +- Print failed tests during check + +* Thu Jun 17 2021 Jakub Ružička - 3.0.7-1 +- Update to 3.0.7 + +* Fri May 14 2021 Jakub Ružička - 3.0.6-1 +- Update to 3.0.6 + +* Tue Mar 30 2021 Jakub Ružička 3.0.5-1 +- Update to 3.0.5 +- Properly escape BASE_VERSION macro +- Include module dirs in main package + +* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 3.0.4-2 +- Rebuilt for updated systemd-rpm-macros + See https://pagure.io/fesco/issue/2583. + +* Mon Feb 01 2021 Jakub Ružička - 3.0.4-1 +- Update to 3.0.4 +- Move dnstap module to subpackage +- Move geoip module to subpackage +- Remove redundant VERSION macro + +* Tue Jan 26 2021 Fedora Release Engineering - 3.0.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Thu Jan 14 08:45:48 CET 2021 Adrian Reber - 3.0.3-2 +- Rebuilt for protobuf 3.14 + +* Thu Dec 17 2020 Jakub Ružička - 3.0.3-1 +- Update to 3.0.3 + +* Wed Nov 11 2020 Jakub Ružička - 3.0.2-2 +- Remove patch included in upstream release + +* Wed Nov 11 2020 Jakub Ružička - 3.0.2-1 +- Update to 3.0.2 + +* Thu Oct 29 2020 Jakub Ružička - 3.0.1-2 +- Respect GnuTLS insecure algorithms + +* Mon Oct 12 2020 Jakub Ružička - 3.0.1-1 +- Update to 3.0.1 +- Sync packaging from upstream + +* Thu Sep 24 2020 Adrian Reber - 3.0.0-2 +- Rebuilt for protobuf 3.13 + +* Thu Sep 10 2020 Jakub Ružička 3.0.0-1 +- New major upstream release 3.0.0 +- Sync packaging from upstream + +* Wed Sep 02 2020 Jakub Ružička 2.9.6-1 +- Update to 2.9.6 + +* Tue Jul 28 2020 Fedora Release Engineering - 2.9.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Sun Jun 14 2020 Adrian Reber - 2.9.5-2 +- Rebuilt for protobuf 3.12 + +* Mon May 25 2020 Tomas Krizek - 2.9.5-1 +- new upstream release 2.9.5 + +* Tue May 05 2020 Tomas Krizek - 2.9.4-1 +- new upstream release 2.9.4 + +* Tue Mar 03 2020 Tomas Krizek - 2.9.3-1 +- new upstream release 2.9.3 + +* Wed Jan 29 2020 Fedora Release Engineering - 2.9.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Fri Dec 13 2019 Tomas Krizek - 2.9.2-1 +- new upstream release 2.9.2 + +* Tue Nov 12 2019 Tomas Krizek - 2.9.1-1 +- New upstream release 2.9.1 +- add EPEL8 compatibility +- fix unsafe PGP keyring permissions + +* Tue Sep 24 2019 Tomas Krizek - 2.8.4-1 +- new upstream release 2.8.4 + +* Thu Jul 25 2019 Fedora Release Engineering - 2.8.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Tue Jul 16 2019 Tomas Krizek - 2.8.3-1 +- New upstream release 2.8.3 + +* Wed Jun 26 2019 Tomas Krizek - 2.8.2-1 +- New upstream release 2.8.2 + +* Wed May 29 2019 Tomas Krizek - 2.8.1-1 +- New upstream release 2.8.1 +- Resolves BZ#1700251 + +* Thu Feb 28 2019 Tomas Krizek - 2.7.6-3 +- Added 01-test_net-disable-udp-send-on-unconnected.patch to disable + unnecessary failing test. Fixes BZ#1675235 + +* Fri Feb 01 2019 Fedora Release Engineering - 2.7.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Wed Jan 23 2019 Tomas Krizek - 2.7.6-1 +Knot DNS 2.7.6 (2019-01-23) +=========================== + +Improvements: +------------- + - Zone status also shows when the zone load is scheduled + - Server workers status also shows background workers utilization + - Default control timeout for knotc was increased to 10 seconds + - Pkg-config files contain auxiliary variable with library filename + +Bugfixes: +--------- + - Configuration commit or server reload can drop some pending zone events + - Nonempty zone journal is created even though it's disabled #635 + - Zone is completely re-signed during empty dynamic update processing + - Server can crash when storing a big zone difference to the journal + - Failed to link on FreeBSD 12 with Clang + +* Mon Jan 07 2019 Tomas Krizek - 2.7.5-1 +Knot DNS 2.7.5 (2019-01-07) +=========================== + +Features: +--------- + - Keymgr supports NSEC3 salt handling + +Improvements: +------------- + - Zone history in journal is dropped apon AXFR-like zone update + - Libdnssec is no longer linked against libm #628 + - Libdnssec is explicitly linked against libpthread if PKCS #11 enabled #629 + - Better support for libknot packaging in Python + - Manually generated KSK is 'ready' by default + - Kdig supports '+timeout' as an alias for '+time' + - Kdig supports '+nocomments' option + - Kdig no longer prints empty lines between retries + - Kdig returns failure if operations not successfully resolved #632 + - Fixed repeating of the 'KSK submission, waiting for confirmation' log + - Various improvements in documentation, Dockerfile, and tests + +Bugfixes: +--------- + - Knotc fails to unset huge configuration section + - Kjournalprint sometimes fails to display zone journal content + - Improper timing of ZSK removal during ZSK rollover + - Missing UTC time zone indication in the 'iso' keymgr list output + - A race condition in the online signing module + +* Tue Nov 13 2018 Tomas Krizek - 2.7.4-1 +Knot DNS 2.7.4 (2018-11-13) +=========================== + +Features: +--------- + - Added SNI configuration for TLS in kdig (Thanks to Alexander Schultz) + +Improvements: +------------- + - Added warning log when DNSSEC events not successfully scheduled + - New semantic check on timer values in keymgr + - DS query no longer asks other addresses if got a negative answer + - Reintroduced 'rollover' configuration option for CDS/CDNSKEY publication + - Extended logging for zone loading + - Various documentation improvements + +Bugfixes: +--------- + - Failed to import module configuration #613 + - Improper Cflags value in libknot.pc if built with embedded LMDB #615 + - IXFR doesn't fall back to AXFR if malformed reply + - DNSSEC events not correctly scheduled for empty zone updates + - During algorithm rollover old keys get removed before DS TTL expires #617 + - Maximum zone's RRSIG TTL not considered during algorithm rollover #620 + +* Fri Oct 12 2018 Tomas Krizek - 2.7.3-1 +Knot DNS 2.7.3 (2018-10-11) +=========================== + +Features: +--------- + - New queryacl module for query access control + - Configurable answer rrset rotation #612 + - Configurable NSEC bitmap in online signing + +Improvements: +------------- + - Better error logging for KASP DB operations #601 + - Some documentation improvements + +Bugfixes: +--------- + - Keymgr "list" output doesn't show key size for ECDSA algorithms #602 + - Failed to link statically with embedded LMDB + - Configuration commit causes zone reload for all zones + - The statistics module overlooks TSIG record in a request + - Improper processing of an AXFR-style-IXFR response consisting of one-record messages + - Race condition in online signing during key rollover #600 + - Server can crash if geoip module is enabled in the geo mode + +* Wed Aug 29 2018 Tomas Krizek - 2.7.2-1 +Knot DNS 2.7.2 (2018-08-29) +=========================== + +Improvements: +------------- + - Keymgr list command displays also key size + - Kjournalprint displays total occupied size in the debug mode + - Server doesn't stop if failed to load a shared module from the module directory + - Libraries libcap-ng, pthread, and dl are linked selectively if needed + +Bugfixes: +--------- + - Sometimes incorrect result from dnssec_nsec_bitmap_contains (libdnssec) + - Server can crash when loading zone file difference and zone-in-journal is set + - Incorrect treatment of specific queries in the module RRL + - Failed to link module Cookies as a shared library + * Wed Aug 15 2018 Tomas Krizek - 2.7.1-1 Knot DNS 2.7.1 (2018-08-14) =========================== diff --git a/knot.tmpfiles b/knot.tmpfiles deleted file mode 100644 index 422c419..0000000 --- a/knot.tmpfiles +++ /dev/null @@ -1,2 +0,0 @@ -# Knot DNS runtime directory -d /var/run/knot 0755 knot knot - diff --git a/sources b/sources index d5ae23c..b941cb1 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (knot-2.7.1.tar.xz) = 547a146abb882885ff2ba0fe070a03b29138400dad78119e9c550019369a01902bc1c8f0fd12ca19367e716e506e680acc27f4d7801a30fbdec3f4cf6f4105e7 -SHA512 (knot-2.7.1.tar.xz.asc) = 86b9c34be9fd24a153a3261551167273974b9bed06cc8e28b1ce0af02f905dc1b904a4ecc71f0f17475cd76f60ebdf8d288b4a27e5ad808bf13f39f32491e8e6 +SHA512 (knot-3.5.2.tar.xz) = 4dd8e42088f792459859da807427024ded926c2a8fb5b9fd4596b631a184269e3d84f0cd4be9192f2546977c598c418f8d44cabccbc393f9f7cf2f0dd5adc595 +SHA512 (knot-3.5.2.tar.xz.asc) = 5f6ee7fedc0d5b904572d2f6d47858065cdc4efa7217b4e9dcbb38ae63a1533646ba2b042bb0c1fe533a3caf6ba41c81010616393d2a0adcea77712608931b38 diff --git a/tests/README.md b/tests/README.md index c52e8a5..e1d6352 100644 --- a/tests/README.md +++ b/tests/README.md @@ -2,7 +2,7 @@ Package tests ============= These tests implement the standard test interface in Fedora CI. -See https://fedoraproject.org/wiki/CI/Tests for details. +See https://docs.fedoraproject.org/en-US/ci/tests/ for details. Manual execution ---------------- @@ -12,11 +12,3 @@ modifications to your system. It's best to run these on a clean, throw-away testing system or a VM. ansible-playbook tests/tests.yml -e subjects=/path/to/knot.rpm,/path/to/knot-libs.rpm -e artifacts=/path/to/artifacts - -Automatic execution -------------------- - -These tests should eventually be automatically executed by the Fedora CI -pipeline. As of 2018-01-10, it is not supported for packages that aren't part -of Fedora Atomic. Once it is implemented, the results of these tests should be -visible in dist-git commits on src.fedoraproject.org diff --git a/tests/scripts/test_basic_zone.sh b/tests/scripts/test_basic_zone.sh new file mode 100755 index 0000000..9c08f0e --- /dev/null +++ b/tests/scripts/test_basic_zone.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# test basic system-wide functionality of Knot DNS +set -ex + +# create zone file from examples +cp /usr/share/doc/knot/samples/example.com.zone /var/lib/knot/example.com.zone +# configure knot to serve example.com zone using dark sed magic +sed 's/^#\?\([ \t]*-[ \t]*domain:[ \t]\+example.com\)[ \t]*$/\1/' -i /etc/knot/knot.conf + +# (re)start knotd +systemctl stop knot.service +systemctl start knot.service || systemctl status knot.service + +# check valid query is answered +dig @127.0.0.1 example.com | grep NOERROR + +# check query for non-existent zone is refused +dig @127.0.0.1 bad-example.com | grep REFUSED diff --git a/tests/test_basic_zone.yml b/tests/test_basic_zone.yml deleted file mode 100644 index 0f75c94..0000000 --- a/tests/test_basic_zone.yml +++ /dev/null @@ -1,33 +0,0 @@ ---- -- block: - - name: create zone file - shell: cp /usr/share/doc/knot/samples/example.com.zone /var/lib/knot/example.com.zone - - - name: configure knot to serve example.com zone - lineinfile: - path: /etc/knot/knot.conf - regexp: '^#? - domain: example.com$' - state: present - line: ' - domain: example.com' - - - name: start knot.service - service: - name: knot.service - state: restarted - - - name: check if query is answered - shell: dig @127.0.0.1 example.com - register: res - failed_when: "'NOERROR' not in res.stdout" - - - name: check query for non-existent zone is refused - shell: dig @127.0.0.1 example2.com - register: res - failed_when: "'REFUSED' not in res.stdout" - - rescue: - - set_fact: - test_basic_zone_failed: true - always: - - name: collect journal - shell: journalctl --since -10m > {{ artifacts }}/test_basic_zone_journal.log diff --git a/tests/tests.yml b/tests/tests.yml index b86e45f..8cf0411 100644 --- a/tests/tests.yml +++ b/tests/tests.yml @@ -1,25 +1,15 @@ --- - hosts: localhost remote_user: root - pre_tasks: - - package: # Install additional dependecies - name: bind-utils - state: latest roles: - - role: standard-test-rpm + - role: standard-test-basic tags: - classic - tasks: - - include_tasks: test_basic_zone.yml - - - set_fact: - tests_passed: '{{ test_basic_zone_failed is undefined }}' - - name: report results - debug: - msg: | - test_basic_zone: {{ 'FAILED' if test_basic_zone_failed is defined else 'OK'}} - - - name: fail playbook if tests failed - debug: - msg: --- {{ 'PASSED' if tests_passed else 'FAILED' }} --- - failed_when: not tests_passed + required_packages: + - bind-utils + tests: + - knotd-show-version: + run: knotd --version + - basic-zone: + dir: scripts + run: ./test_basic_zone.sh