2014-02-04 16:04:04 +00:00
|
|
|
%global _hardened_build 1
|
|
|
|
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}}
|
|
|
|
|
2014-07-09 22:20:03 +00:00
|
|
|
# TODO:
|
|
|
|
# - split into subpackages
|
|
|
|
# - documentation building
|
|
|
|
|
2014-02-04 16:04:04 +00:00
|
|
|
Summary: An authoritative DNS daemon
|
|
|
|
Name: knot
|
2014-08-19 17:07:39 +00:00
|
|
|
Version: 1.5.1
|
2014-06-18 15:34:28 +00:00
|
|
|
Release: 1%{?dist}
|
2014-02-04 16:04:04 +00:00
|
|
|
License: GPLv3
|
|
|
|
Group: System Environment/Daemons
|
|
|
|
URL: http://www.knot-dns.cz
|
|
|
|
Source0: http://public.nic.cz/files/knot-dns/%{name}-%{version}.tar.gz
|
|
|
|
Source1: %{name}.conf
|
|
|
|
Source2: %{name}.init
|
|
|
|
|
|
|
|
BuildRequires: flex bison openssl-devel userspace-rcu-devel libcap-ng-devel libidn-devel
|
|
|
|
BuildRequires: texinfo
|
|
|
|
|
|
|
|
Requires(post): info
|
|
|
|
Requires(preun): info
|
|
|
|
|
|
|
|
Requires(post): chkconfig
|
|
|
|
Requires(preun): chkconfig
|
|
|
|
Requires(preun): initscripts
|
|
|
|
|
|
|
|
%description
|
|
|
|
Knot DNS is a high-performance authoritative DNS server implementation.
|
|
|
|
|
|
|
|
%prep
|
|
|
|
%setup -q
|
|
|
|
|
|
|
|
%build
|
|
|
|
# disable debug code (causes unused warnings)
|
|
|
|
CFLAGS="%{optflags} -DNDEBUG -Wno-unused"
|
|
|
|
%configure
|
|
|
|
make %{?_smp_mflags}
|
|
|
|
|
|
|
|
%install
|
|
|
|
make install DESTDIR=%{buildroot}
|
|
|
|
|
|
|
|
# install customized configuration file
|
|
|
|
rm %{buildroot}%{_sysconfdir}/%{name}/*
|
|
|
|
install -p -m 0644 -D %{SOURCE1} %{buildroot}%{_sysconfdir}/%{name}/%{name}.conf
|
|
|
|
|
|
|
|
# install service file and create rundir
|
|
|
|
install -p -m 0755 -D %{SOURCE2} %{buildroot}%{_initddir}/%{name}
|
|
|
|
install -d -m 0755 %{buildroot}%{_localstatedir}/run/%{name}
|
|
|
|
|
|
|
|
# create storage dir and key dir
|
|
|
|
mkdir -p %{buildroot}%{_sharedstatedir}
|
|
|
|
install -d -m 0775 %{buildroot}%{_sharedstatedir}/%{name}
|
|
|
|
install -d -m 0750 %{buildroot}%{_sharedstatedir}/%{name}/keys
|
|
|
|
|
|
|
|
# install config samples into docdir
|
|
|
|
install -d -m 0755 %{buildroot}%{_pkgdocdir}/samples
|
2014-07-09 22:20:03 +00:00
|
|
|
for sample_file in knot.sample.conf example.com.zone; do
|
2014-02-04 16:04:04 +00:00
|
|
|
install -p -m 0644 samples/${sample_file} %{buildroot}%{_pkgdocdir}/samples
|
|
|
|
done
|
|
|
|
|
2014-07-09 22:20:03 +00:00
|
|
|
# remove libarchive files
|
|
|
|
rm %{buildroot}%{_libdir}/*.la
|
|
|
|
|
|
|
|
# remove .so files, the headers are not available
|
|
|
|
rm %{buildroot}%{_libdir}/*.so
|
|
|
|
|
2014-02-04 16:04:04 +00:00
|
|
|
%check
|
|
|
|
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
|
|
|
|
exit 0
|
|
|
|
|
|
|
|
%post
|
2014-07-09 22:20:03 +00:00
|
|
|
/sbin/ldconfig
|
2014-02-04 16:04:04 +00:00
|
|
|
/sbin/chkconfig --add %{name}
|
|
|
|
|
|
|
|
%preun
|
|
|
|
if [ $1 -eq 0 ] ; then
|
|
|
|
/sbin/service %{name} stop >/dev/null 2>&1
|
|
|
|
/sbin/chkconfig --del %{name}
|
|
|
|
fi
|
|
|
|
|
|
|
|
%postun
|
2014-07-09 22:20:03 +00:00
|
|
|
/sbin/ldconfig
|
2014-02-04 16:04:04 +00:00
|
|
|
if [ "$1" -ge "1" ] ; then
|
|
|
|
/sbin/service %{name} condrestart >/dev/null 2>&1 || :
|
|
|
|
fi
|
|
|
|
|
|
|
|
%files
|
|
|
|
%doc COPYING AUTHORS NEWS README THANKS
|
|
|
|
%{_initddir}/%{name}
|
|
|
|
%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(750,root,knot) %{_sharedstatedir}/%{name}/keys
|
|
|
|
%dir %attr(-,knot,knot) %{_localstatedir}/run/%{name}
|
|
|
|
%{_bindir}/*
|
|
|
|
%{_sbindir}/*
|
2014-07-09 22:20:03 +00:00
|
|
|
%{_libdir}/libknot.so.*
|
|
|
|
%{_libdir}/libzscanner.so.*
|
2014-02-04 16:04:04 +00:00
|
|
|
%{_mandir}/man1/*
|
|
|
|
%{_mandir}/man5/*
|
|
|
|
%{_mandir}/man8/*
|
|
|
|
|
|
|
|
%changelog
|
2014-08-19 17:07:39 +00:00
|
|
|
* Tue Aug 19 2014 Jan Vcelak <jvcelak@fedoraproject.org> 1.5.1-1
|
|
|
|
- new upstream release:
|
|
|
|
+ logging: unified logging messages
|
|
|
|
+ logging: support for systemd journal
|
|
|
|
+ DDNS: processing updates in bulk
|
|
|
|
+ DDNS: fix signing of responses with TSIG
|
|
|
|
+ DDNS: fix prerequisites checking in apex node
|
|
|
|
+ DNSSEC: fix domain names conversion to canonical format before signing
|
|
|
|
+ DNSSEC: semantic checks for signing keys
|
|
|
|
+ EDNS: fix inclusion of OPT record into some packets
|
|
|
|
+ knsupdate: fix use of zone origin for deletions
|
|
|
|
|
2014-07-09 22:20:03 +00:00
|
|
|
* Thu Jul 10 2014 Jan Vcelak <jvcelak@fedoraproject.org> 1.5.0-1
|
|
|
|
- update to 1.5.0
|
|
|
|
+ reimplemented DDNS forwarding
|
|
|
|
+ transfer sizes logged in bytes
|
|
|
|
+ logging of outgoing/incoming NOTIFY messages
|
|
|
|
+ zone flush planning after bootstrap
|
|
|
|
+ DDNS signing changes freeing
|
|
|
|
+ knotc key handling
|
|
|
|
- update to 1.5.0-rc2
|
|
|
|
+ edns-client-subnet support in kdig
|
|
|
|
+ optional asynchronous startup (config 'asynchronous-start')
|
|
|
|
+ preempt task queue for faster reload
|
|
|
|
+ lazy zone file write after zone transfer (config 'zonefile-sync')
|
|
|
|
+ close zone transfer after SERVFAIL response
|
|
|
|
+ incremental to full zone transfer fallback, wrong log message
|
|
|
|
+ zone events corner cases, reload replanning
|
|
|
|
- update to 1.5.0-rc1
|
|
|
|
+ Pluggable query processing modules
|
|
|
|
+ Synthetic IPv4/IPv6 reverse/forward records (optional module)
|
|
|
|
+ Dnstap support in both utilities & server (optional module)
|
|
|
|
+ NOTIFY message support and new TSIG section in kdig
|
|
|
|
+ Multi-master support
|
|
|
|
+ Query processing and core functionality overhaul
|
|
|
|
+ Performance and reduced memory footprint
|
|
|
|
+ Faster zone events scheduling
|
|
|
|
+ RFC compliant queries/responses in some corner cases
|
|
|
|
+ Log messages
|
|
|
|
+ New documentation (Sphinx)
|
|
|
|
- enabled dynamic linking
|
|
|
|
- removed info pages
|
|
|
|
|
2014-06-18 15:34:28 +00:00
|
|
|
* Wed Jun 18 2014 Jan Vcelak <jvcelak@fedoraproject.org> 1.4.7-1
|
|
|
|
- update to 1.4.7
|
|
|
|
+ Fixed DDNS corner cases
|
|
|
|
+ Fixed zone EXPIRE timer
|
|
|
|
+ Fixed semantic checks false positives
|
|
|
|
+ Fixed sending malformed IXFR with automatic DNSSEC
|
|
|
|
+ Fixed NAPTR record serialization
|
|
|
|
|
2014-05-22 13:59:08 +00:00
|
|
|
* Thu May 22 2014 Jan Vcelak <jvcelak@fedoraproject.org> 1.4.6-2
|
2014-05-22 11:40:00 +00:00
|
|
|
- update to 1.4.6
|
|
|
|
+ DNSSEC: fix possible signing loop when doing key rollover
|
|
|
|
+ RRL: fixed sending of malformed UDP empty responses
|
|
|
|
|
2014-04-14 19:50:20 +00:00
|
|
|
* Mon Apr 14 2014 Jan Vcelak <jvcelak@fedoraproject.org> 1.4.5-1
|
|
|
|
- update to 1.4.5
|
|
|
|
+ fix weakness in TSIG digest checking
|
|
|
|
|
2014-03-27 16:06:28 +00:00
|
|
|
* Thu Mar 27 2014 Jan Vcelak <jvcelak@fedoraproject.org> 1.4.4-1
|
|
|
|
- update to 1.4.4
|
|
|
|
+ server is logging remote control commands
|
|
|
|
+ 'knotc reload' doesn't refresh unchanged zones
|
|
|
|
+ 'knotc -f refresh' forces zone retransfer
|
|
|
|
+ missing notifications after DDNS/automatic resign
|
|
|
|
+ zone is rebootstrapped if the zone file is unreadable
|
|
|
|
+ progressive bootstrap retry backoff
|
|
|
|
+ zone file parser allows asterisk as part of the label
|
|
|
|
+ journal maximum entry size fixes
|
|
|
|
+ sign DNSKEYs in non-apex nodes as regular RR sets
|
|
|
|
+ various spelling and typo fixes
|
|
|
|
|
2014-02-18 14:31:42 +00:00
|
|
|
* Tue Feb 18 2014 Jan Vcelak <jvcelak@fedoraproject.org> 1.4.3-1
|
|
|
|
- update to 1.4.3
|
|
|
|
+ DNSSEC: fixes in authenticated denial proofs
|
|
|
|
+ zone parser: case insensitive comparison of $ORIGIN
|
|
|
|
+ journal: fix corruption if zone loading fails
|
|
|
|
+ config: add support for includes of directories
|
|
|
|
|
2014-02-04 16:04:04 +00:00
|
|
|
* Tue Feb 04 2014 Jan Vcelak <jvcelak@fedoraproject.org> 1.4.2-1
|
|
|
|
- initial package for RHEL
|
|
|
|
|