X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=djbdns.spec;h=7b2d9aacd9a1526a369c473d79b09d9897422f16;hb=5730834710e049ac52dc06a10a47d09d5d78ad0d;hp=060fd87239d2786a2233f8469b38a84baa8e0257;hpb=7106823e6c2fe3791d842c7be08cf48454cafd63;p=packages%2Fdjbdns.git diff --git a/djbdns.spec b/djbdns.spec index 060fd87..7b2d9aa 100644 --- a/djbdns.spec +++ b/djbdns.spec @@ -1,41 +1,399 @@ -Summary: DJB DNS -Summary(pl): DJB DNS +# TODO +# - warning: Installed (but unpackaged) file(s) found: +# /etc/rbldns/data +# /usr/bin/random-ip +Summary: DJB DNS +Summary(pl.UTF-8): DJB DNS Name: djbdns Version: 1.05 -Release: 3 -License: GPL +Release: 25 +# http://cr.yp.to/distributors.html +License: Public Domain Group: Networking/Daemons -Group(de): Netzwerkwesen/Server -Group(pl): Sieciowe/Serwery Source0: http://cr.yp.to/djbdns/%{name}-%{version}.tar.gz +# Source0-md5: 3147c5cd56832aa3b41955c7a51cbeb2 Source1: %{name}-doc.tar.gz +# Source1-md5: 1d6aed1a5d3d3eda3958fa3e7d808fc8 +Source2: ftp://ftp.innominate.org/gpa/djb/%{name}-%{version}-man.tar.gz +# Source2-md5: 2b4e71fa4592858e4508538f78d50f61 +Source3: http://www.sericyb.com.au/tinydns-notify +# NoSource3-md5: 2213bdc8c58c10cb8770b7e5b0d67aea +Source4: http://www.sericyb.com.au/tinydns-log +# NoSource4-md5: a9af7707a7cb7c41e855f441e242e422 Patch0: dnscache-1.05-multiple-ip.patch +# adds IPv6 support +Patch1: http://www.fefe.de/dns/%{name}-1.05-test22.diff.bz2 +Patch3: http://iksz.hu/package/djbdns-conf/%{name}-1.05-multi_tinydns_data.patch +Patch4: %{name}-srv.patch +Patch5: %{name}-glibc.patch +# http://www.iecc.com/rbldns-patch.txt +Patch6: %{name}-rbldns_a.patch +# http://core.segfault.pl/~hobbit/tinydns-include.patch +Patch8: %{name}-tinydns-include.patch +Patch9: %{name}-tinydns-log-ipv6.patch +# http://romana.now.ie/software/djbdns-cachestats.patch +Patch10: %{name}-cachestats.patch +Patch11: %{name}-ipv6-incfix.patch +Patch12: %{name}-dnscache-merge-similar-outgoing-queries.patch +# http://www.your.org/dnscache/0001-dnscache-merge-similar-outgoing-queries.patch +Patch13: %{name}-dnscache-cache-soa-records.patch +# http://www.your.org/dnscache/0002-dnscache-cache-soa-records.patch URL: http://cr.yp.to/djbdns.html -Requires: daemontools +BuildRequires: rpm-perlprov +BuildRequires: rpmbuild(macros) >= 1.202 +Requires(postun): /usr/sbin/groupdel +Requires(postun): /usr/sbin/userdel +Requires(pre): /bin/id +Requires(pre): /usr/bin/getgid +Requires(pre): /usr/sbin/groupadd +Requires(pre): /usr/sbin/useradd +Provides: group(djbdns) +Provides: nameserver +Provides: user(dnslog) +Obsoletes: caching-nameserver BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %description -DJB DNS Tools. +This is a set of DNS servers with security in mind. If you find a +security hole you can get a prize. -%description -l pl -Narzêdzia DJB do obs³ugi DNS. +This package contains some basic DNS debugging tools and some +documentation. If you need a DNS server install one of the following +packages: + + - djbdns-dnscache - a local DNS cache + - djbdns-dnscachex - an external DNS cache + - djbdns-tinydns - a DNS server + - djbdns-tinydns-notify - a tool to send NOTIFY requests + - djbdns-pickdns - a DNS load-balancing server + - djbdns-walldns - a reverse DNS wall + - djbdns-rbldns - an IP-address-listing DNS server + - djbdns-axfrdns - a DNS zone transfer server + +%description -l de.UTF-8 +Dies ist ein Satz von auf Sicherheit zielenden DNS-Servers. Man kriegt +ein Preis, wenn man ein Sicherheitsloch findet. + +Dieses Paket enthält ein paar DNS-Werkzeugen und etwas Dokumentation. +Wenn du einen DNS-Server braucht, installe ein von den folgenden +Paketen: + + - djbdns-dnscache - ein lokaler DNS-Cache + - djbdns-tinydns - ein DNS-Server + - djbdns-pickdns - ein Belastung ausgleichender DNS-Server + - djbdns-walldns - eine Wand Rückgekehrten DNSs + - djbdns-rbldns - ein IP-Adressen-Listen-DNS-Server + - djbdns-axfrdns - ein DNS-Zonen-Transfer-Server + +%description -l pl.UTF-8 +Jest to alternatywny zestaw serwerów DNS'u, którego głównym celem jest +bezpieczeństwo. Za znalezienie dziury w tym systemie została +wyznaczona nawet nagroda. + +Ten pakiet zawiera kilka podstawowych narzędzi DNS oraz trochę +dokumentacji. Jeśli potrzebujesz serwera DNS zainstaluj jeden z +następujących pakietów: + + - djbdns-dnscache - lokalny cache DNS + - djbdns-tinydns - serwer DNS + - djbdns-tinydns-notify - narzędzie do wysyłania komunikatów NOTIFY + - djbdns-pickdns - serwer DNS do równoważenia obciążeń + - djbdns-walldns - ściana dla odwrotnych zapytań DNS + - djbdns-rbldns - serwer DNS list adresów IP + - djbdns-axfrdns - serwer transferów stref DNS + +%package dnscache +Summary: DJB's local DNS cache +Summary(de.UTF-8): DJBs lokaler DNS-Cache +Summary(pl.UTF-8): Lokalny cache DNS od DJB +Group: Networking/Daemons +Requires(post): diffutils +Requires(post): fileutils +Requires(postun): /usr/sbin/groupdel +Requires(postun): /usr/sbin/userdel +Requires(pre): /bin/id +Requires(pre): /usr/sbin/groupadd +Requires(pre): /usr/sbin/useradd +Requires(preun): daemontools +Requires: %{name} = %{version}-%{release} +Requires: daemontools >= 0.70-5 +Provides: user(dnscache) +Obsoletes: dnscache + +%description dnscache +dnscache is a local DNS cache from the djbdns package. It accepts +recursive DNS queries from local clients such as web browsers and mail +transfer agents. It collects responses from remote DNS servers. It +caches the responses to save time later. + +%description dnscache -l de.UTF-8 +dnscache ist ein lokaler DNS-Cache aus dem djbdns-Paket. Es empfängt +rekursive DNS-Fragen von den lokalen Klienten, zum Beispiel +Web-Browsers und Mail-Transfer-Agenten. Es sammelt die Antworten von +den Fern-DNS-Servers. Es merkt sich die Antworten, um die Zeit später +zu sparen. + +%description dnscache -l pl.UTF-8 +dnscache jest lokalnym cachem DNS z pakietu djbdns. Przyjmuje on +rekursywne zapytania DNS od lokalnych klientów takich, jak +przeglądarki WWW i agenci transferu poczty (MTA). Zbiera on odpowiedzi +od zdalnych serwerów DNS. Zapamiętuje on odpowiedzi, żeby później +oszczędzić czas. + +%package dnscachex +Summary: DJB's external DNS cache +Summary(pl.UTF-8): Zewnętrzny cache DNS od DJB +Group: Networking/Daemons +Requires(post): diffutils +Requires(post): fileutils +Requires(preun): daemontools +Requires: %{name}-dnscache = %{version}-%{release} + +%description dnscachex +dnscachex is an external DNS cache from the djbdns package. It accepts +recursive DNS queries from external clients such as web browsers and +mail transfer agents. It collects responses from remote DNS servers. +It caches the responses to save time later. + +%description dnscachex -l pl.UTF-8 +dnscache jest zewnętrznym cachem DNS z pakietu djbdns. Przyjmuje on +rekursywne zapytania DNS od zewnętrznych klientów takich jak +przeglądarki WWW i agenci transferu poczty (MTA). Zbiera on odpowiedzi +od zdalnych serwerów DNS. Zapamiętuje on odpowiedzi, żeby później +oszczędzić czas. + +%package tinydns +Summary: DJB's DNS server +Summary(de.UTF-8): DJBs DNS-Server +Summary(pl.UTF-8): Serwer DNS od DJB +Group: Networking/Daemons +Requires(post): diffutils +Requires(postun): /usr/sbin/groupdel +Requires(postun): /usr/sbin/userdel +Requires(pre): /bin/id +Requires(pre): /usr/sbin/groupadd +Requires(pre): /usr/sbin/useradd +Requires(preun): daemontools +Requires: %{name} = %{version}-%{release} +Requires: daemontools >= 0.70-5 +Requires: make +Provides: user(tinydns) +Obsoletes: tinydns + +%description tinydns +tinydns is a DNS server from the djbdns package. It accepts iterative +DNS queries from hosts around the Internet and responds with +locally-configured information. + +%description tinydns -l de.UTF-8 +tinydns ist ein DNS-Server aus dem djbdns-Paket. Es empfängt iterative +DNS-Fragen von dem Hosts aus allem Internet und antwortet mit den +lokal-konfigurierten Informationen. + +%description tinydns -l pl.UTF-8 +tinydns jest serwerem DNS z pakietu djbdns. Przyjmuje on iteracyjne +zapytania DNS od komputerów z całego Internetu i odpowiada przy użyciu +lokalnie skonfigurowanych informacji. + +%package tinydns-notify +Summary: DNS NOTIFY sending tool +Summary(pl.UTF-8): Narzędzie do wysyłania komunikatów DNS NOTIFY +License: Free to use +Group: Networking/Daemons +URL: http://www.sericyb.com.au/tinydns-notify +Requires: %{name} = %{version}-%{release} +Requires: perl-Net-DNS +Requires: perl-modules +Obsoletes: tinydns-notify + +%description tinydns-notify +tinydns-notify is a tool written in Perl, which extracts zones and +their nameservers from tinydns-data files and sends DNS NOTIFY +requests to nameservers listed in notify-list file. + +%description tinydns-notify -l pl.UTF-8 +tinydns-notify jest napisanym w Perlu narzędziem, które czyta pliki +stref i odpowiadające im serwery nazw z plików tinydns-data, a +następnie wysyła żądania NOTIFY do serwerów wyspecyfikowanych w pliku +notify-list. + +%package pickdns +Summary: DJB's load-balancing DNS server +Summary(de.UTF-8): DJBs Belastung ausgleichender DNS-Server +Summary(pl.UTF-8): Serwer DNS równoważący obciążenie od DJB +Group: Networking/Daemons +Requires(post): diffutils +Requires(postun): /usr/sbin/groupdel +Requires(postun): /usr/sbin/userdel +Requires(pre): /bin/id +Requires(pre): /usr/sbin/groupadd +Requires(pre): /usr/sbin/useradd +Requires(preun): daemontools +Requires: %{name} = %{version}-%{release} +Requires: daemontools >= 0.70-5 +Requires: make +Provides: user(pickdns) +Obsoletes: pickdns + +%description pickdns +pickdns is a DNS load-balancing server from the djbdns package. It +accepts iterative DNS queries from hosts around the Internet and +responds with a dynamic selection of locally configured IP addresses +with 5-second TTLs. + +%description pickdns -l de.UTF-8 +pickdns ist ein Belastung ausgleichender DNS-Server aus dem +djbdns-Paket. Es empfängt iterative DNS-Fragen von den Hosts aus allem +Internet und antwortet mit eine dynamische Auswahl von den +lokal-konfigurierten IP-Adressen mit 5-Sekunden-TTLs. + +%description pickdns -l pl.UTF-8 +pickdns jest równoważącym obciążenie serwerem DNS z pakietu djbdns. +Odbiera on iteracyjne zapytania DNS od komputerów z całego internetu i +odpowiada dynamicznym wyborem lokalnie skonfigurowanych adresów IP z +5-sekundowymi TTLami. + +%package walldns +Summary: DJB's reverse DNS wall +Summary(de.UTF-8): DJBs Wand rückgekehrten DNSs +Summary(pl.UTF-8): Ściana dla odwrotnych zapytań DNS od DJB +Group: Networking/Daemons +Requires(post): diffutils +Requires(postun): /usr/sbin/groupdel +Requires(postun): /usr/sbin/userdel +Requires(pre): /bin/id +Requires(pre): /usr/sbin/groupadd +Requires(pre): /usr/sbin/useradd +Requires(preun): daemontools +Requires: %{name} = %{version}-%{release} +Requires: daemontools >= 0.70-5 +Provides: user(walldns) +Obsoletes: walldns + +%description walldns +walldns is a reverse DNS wall from the djbdns package. It accepts +iterative DNS queries for in-addr.arpa domains from hosts around the +Internet and supplies generic responses that avoid revealing local +host information. + +%description walldns -l de.UTF-8 +walldns ist ein Wand rückgekehrten DNSs aus dem djbdns-Paket. Es +empfängt iterative DNS-Fragen für den in-addr.arpa-Domänen von den +Hosts aus allem Internet und liefert Antworte, die vermeiden +Informationen über die lokalen Hosts zu aufzudecken. + +%description walldns -l pl.UTF-8 +walldns jest ścianą dla odwrotnych zapytań DNS z pakietu djbdns. +Przyjmuje ona iteracyjne zapytania DNS dla domen in-addr.arpa od +komputerów z całego Internetu i dostarcza odpowiedzi, które unikają +ujawniania informacji o lokalnych komputerach. + +%package rbldns +Summary: DJB's IP-address-listing DNS server +Summary(de.UTF-8): DJBs IP-Adressen-Listen-DNS-Server +Summary(pl.UTF-8): Serwer DNS list adresów IP od DJB +Group: Networking/Daemons +Requires(post): diffutils +Requires(postun): /usr/sbin/groupdel +Requires(postun): /usr/sbin/userdel +Requires(pre): /bin/id +Requires(pre): /usr/sbin/groupadd +Requires(pre): /usr/sbin/useradd +Requires(preun): daemontools +Requires: %{name} = %{version}-%{release} +Requires: daemontools >= 0.70-5 +Requires: make +Provides: user(rbldns) +Obsoletes: rbldns +#Obsoletes: rbldnsd + +%description rbldns +rbldns is an IP-address-listing DNS server from the djbdns package. It +accepts iterative DNS queries from hosts around the Internet asking +about various IP addresses. It provides responses showing whether the +addresses are on a locally configured list, such as RBL or DUL. + +%description rbldns -l de.UTF-8 +rbldns ist ein IP-Adressen-Listen-DNS-Server aus dem djbdns-Paket. Es +empfängt iterative DNS-Fragen von den Hosts aus allem Internet +fragende nach verschiedene IP-Adresse. Es liefert Antworte, die zeugen +ob die Adresse sich auf einer lokal-konfigurierten Liste befinden, zum +Beispiel RBL oder DUL. + +%description rbldns -l pl.UTF-8 +rbldns jest serwerem DNS list adresów z pakietu djbdns. Przyjmuje on +iteracyjne zapytania DNS od komputerów z całego Internetu pytające o +różne adresy IP. Dostarcza on odpowiedzi pokazujących, czy adresy te +są na lokalnie skonfigurowanej liście takiej, jak RBL lub DUL. + +%package axfrdns +Summary: DJB's DNS zone-transfer server +Summary(de.UTF-8): DJBs DNS-Zonen-Transfer-Server +Summary(pl.UTF-8): Serwer transferów stref DNS od DJB +Group: Networking/Daemons +Requires(postun): /usr/sbin/groupdel +Requires(postun): /usr/sbin/userdel +Requires(pre): /bin/id +Requires(pre): /usr/sbin/groupadd +Requires(pre): /usr/sbin/useradd +Requires(preun): daemontools +Requires: %{name} = %{version}-%{release} +Requires: %{name}-tinydns = %{version}-%{release} +Requires: daemontools >= 0.70-5 +Requires: make +Requires: ucspi-tcp +Provides: user(axfrdns) +Obsoletes: axfrdns + +%description axfrdns +axfrdns is a DNS zone transfer server from the djbdns package. It +reads a zone-transfer request in DNS-over-TCP format from its standard +input and responds with locally configured information. + +%description axfrdns -l de.UTF-8 +axfrdns ist ein DNS-Zonen-Transfer-Server aus dem djbdns-Paket. Es +liest ein Zonen-Transfer-Ersuchen im DNS-over-TCP-Format von seinem +standarden Eingabe und antwortet mit den lokal-konfigurierten +Informationen. + +%description axfrdns -l pl.UTF-8 +axfrdns jest serwerem transferów stref DNS z pakietu djbdns. Wczytuje +on ze standardowego wejścia prośbę o transfer strefy w formacie +DNS-over-TCP i odpowiada przy użyciu lokalnie skonfigurowanych +informacji. %prep -%setup -q -%patch0 -p1 +%setup -q -a1 -a2 +install %{SOURCE3} . +install %{SOURCE4} . -tar zxf %{SOURCE1} +%patch1 -p1 +%patch0 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 +%patch6 -p1 +%patch8 -p1 +%patch9 -p1 +%patch10 -p1 +%patch11 -p1 +%patch12 -p1 +%patch13 -p1 cd doc ln -s merge/djbdns/* . %build echo %{__cc} %{rpmcflags} >conf-cc -echo /usr >conf-home -%{__make} +echo %{_prefix} > conf-home +%{__make} %install rm -rf $RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_sysconfdir}} +install -d $RPM_BUILD_ROOT%{_mandir}/{man1,man5,man8} + +install tinydns-notify $RPM_BUILD_ROOT%{_bindir} +install tinydns-log $RPM_BUILD_ROOT%{_bindir} install dnsroots.global $RPM_BUILD_ROOT%{_sysconfdir} install axfr-get $RPM_BUILD_ROOT%{_bindir} @@ -60,7 +418,6 @@ install random-ip $RPM_BUILD_ROOT%{_bindir} install rbldns $RPM_BUILD_ROOT%{_bindir} install rbldns-conf $RPM_BUILD_ROOT%{_bindir} install rbldns-data $RPM_BUILD_ROOT%{_bindir} -install rts $RPM_BUILD_ROOT%{_bindir} install tinydns $RPM_BUILD_ROOT%{_bindir} install tinydns-conf $RPM_BUILD_ROOT%{_bindir} install tinydns-data $RPM_BUILD_ROOT%{_bindir} @@ -68,14 +425,744 @@ install tinydns-edit $RPM_BUILD_ROOT%{_bindir} install tinydns-get $RPM_BUILD_ROOT%{_bindir} install walldns $RPM_BUILD_ROOT%{_bindir} install walldns-conf $RPM_BUILD_ROOT%{_bindir} +install djbdns-man/*.1 $RPM_BUILD_ROOT%{_mandir}/man1 +install djbdns-man/*.5 $RPM_BUILD_ROOT%{_mandir}/man5 +install djbdns-man/*.8 $RPM_BUILD_ROOT%{_mandir}/man8 + +make_supervise_service() { + %{?debug:set -x} + local service="$1" + local svcdir=$RPM_BUILD_ROOT%{_sysconfdir}/$service + local logdir=$RPM_BUILD_ROOT/var/log/djbdns/$service + + install -d $svcdir/supervise $svcdir/log/supervise $logdir + touch $logdir/{lock,state} + + touch $svcdir/log/supervise/{lock,status} + mkfifo $svcdir/log/supervise/{control,ok} + touch $svcdir/supervise/{lock,status} + mkfifo $svcdir/supervise/{control,ok} +} + +##### DNSCACHE ##### +make_supervise_service dnscache +s=$RPM_BUILD_ROOT%{_sysconfdir}/dnscache +mkdir $s/env +echo %{_sysconfdir}/dnscache/root > $s/env/ROOT +echo 127.0.0.1 > $s/env/IP +echo 0.0.0.0 > $s/env/IPSEND +echo 1000000 > $s/env/CACHESIZE +echo 3000000 > $s/env/DATALIMIT +touch $s/env/IGNOREIP +cat>$s/run<<'EOF' +#!/bin/sh +exec 2>&1 +exec $s/log/run<<'EOF' +#!/bin/sh +exec setuidgid dnslog multilog t /var/log/djbdns/dnscache +EOF +mkdir $s/root +mkdir $s/root/ip +touch $s/root/ip/127.0.0.1 +mkdir $s/root/servers +ln $RPM_BUILD_ROOT%{_sysconfdir}/dnsroots.global $s/root/servers/@ +dd if=/dev/zero of=$s/seed bs=128c count=1 + +##### DNSCACHEX ##### +make_supervise_service dnscachex +s=$RPM_BUILD_ROOT%{_sysconfdir}/dnscachex +mkdir $s/env +echo %{_sysconfdir}/dnscachex/root > $s/env/ROOT +echo 127.0.0.1 > $s/env/IP +echo 0.0.0.0 > $s/env/IPSEND +echo 1000000 > $s/env/CACHESIZE +echo 3000000 > $s/env/DATALIMIT +touch $s/env/IGNOREIP +cat>$s/run<<'EOF' +#!/bin/sh +exec 2>&1 +exec $s/log/run<<'EOF' +#!/bin/sh +exec setuidgid dnslog multilog t /var/log/djbdns/dnscachex +EOF +mkdir $s/root +mkdir $s/root/ip +touch $s/root/ip/127.0.0.1 +mkdir $s/root/servers +ln $RPM_BUILD_ROOT%{_sysconfdir}/dnsroots.global $s/root/servers/@ +dd if=/dev/zero of=$s/seed bs=128c count=1 + +##### TINYDNS ##### +make_supervise_service tinydns +s=$RPM_BUILD_ROOT%{_sysconfdir}/tinydns +cat>$s/log/run< $s/env/ROOT +echo 127.0.0.1 > $s/env/IP +cat>$s/run<&1 +exec envuidgid tinydns envdir ./env softlimit -d300000 %{_bindir}/tinydns +EOF +mkdir $s/root +touch $s/root/data +cat>$s/root/add-ns<<'EOF' +#!/bin/sh +exec %{_bindir}/tinydns-edit data data.new add ns ${1+"$@"} +EOF +cat>$s/root/add-childns<<'EOF' +#!/bin/sh +exec %{_bindir}/tinydns-edit data data.new add childns ${1+"$@"} +EOF +cat>$s/root/add-host<<'EOF' +#!/bin/sh +exec %{_bindir}/tinydns-edit data data.new add host ${1+"$@"} +EOF +cat>$s/root/add-host6<<'EOF' +#!/bin/sh +exec %{_bindir}/tinydns-edit data data.new add host6 ${1+"$@"} +EOF +cat>$s/root/add-alias<<'EOF' +#!/bin/sh +exec %{_bindir}/tinydns-edit data data.new add alias ${1+"$@"} +EOF +cat>$s/root/add-alias6<<'EOF' +#!/bin/sh +exec %{_bindir}/tinydns-edit data data.new add alias6 ${1+"$@"} +EOF +cat>$s/root/add-mx<<'EOF' +#!/bin/sh +exec %{_bindir}/tinydns-edit data data.new add mx ${1+"$@"} +EOF +cat>$s/root/Makefile<<'EOF' +data.cdb: data + %{_bindir}/tinydns-data +EOF + +##### PICKDNS ##### +make_supervise_service pickdns +s=$RPM_BUILD_ROOT%{_sysconfdir}/pickdns +cat>$s/log/run< $s/env/ROOT +echo 127.0.0.1 > $s/env/IP +cat>$s/run<&1 +exec envuidgid pickdns envdir ./env softlimit -d250000 %{_bindir}/pickdns +EOF +mkdir $s/root +touch $s/root/data +cat>$s/root/Makefile<$s/log/run< $s/env/ROOT +echo 127.0.0.1 > $s/env/IP +cat>$s/run<&1 +exec envuidgid walldns envdir ./env softlimit -d250000 %{_bindir}/walldns +EOF +mkdir $s/root + +##### RBLDNS ##### +make_supervise_service rbldns +s=$RPM_BUILD_ROOT%{_sysconfdir}/rbldns +cat>$s/log/run< $s/env/ROOT +echo 127.0.0.1 > $s/env/IP +echo in-addr.arpa > $s/env/BASE +cat>$s/run<&1 +exec envuidgid rbldns envdir ./env softlimit -d250000 %{_bindir}/rbldns +EOF +mkdir $s/root +touch $s/root/data +cat>$s/root/Makefile<$s/data<$s/log/run< $s/env/ROOT +echo 127.0.0.1 > $s/env/IP +cat>$s/run<<'EOF' +#!/bin/sh +exec 2>&1 +exec envdir ./env sh -c ' + exec envuidgid axfrdns softlimit -d300000 tcpserver -vDRHl0 -x tcp.cdb -- "$IP" 53 %{_bindir}/axfrdns +' +EOF +cat>$s/Makefile<<'EOF' +tcp.cdb: tcp + tcprules tcp.cdb tcp.tmp < tcp +EOF +cat>$s/tcp<<'EOF' +# sample line: 1.2.3.4:allow,AXFR="heaven.af.mil/3.2.1.in-addr.arpa" +:deny +EOF + +##### daemontools symlinks ##### +install -d $RPM_BUILD_ROOT/service +cd $RPM_BUILD_ROOT/service +ln -s ..%{_sysconfdir}/dnscache +ln -s ..%{_sysconfdir}/dnscachex +ln -s ..%{_sysconfdir}/tinydns +ln -s ..%{_sysconfdir}/pickdns +ln -s ..%{_sysconfdir}/walldns +ln -s ..%{_sysconfdir}/rbldns +ln -s ..%{_sysconfdir}/axfrdns %clean rm -rf $RPM_BUILD_ROOT +%pre +%groupadd -g 32 -r -f djbdns +%useradd -u 32 -r -d / -s /bin/false -c "djbdns User" -g djbdns dnslog + +%postun +if [ "$1" = "0" ]; then + %userremove dnslog + %groupremove djbdns +fi + +%pre dnscache +%useradd -P %{name}-dnscache -u 33 -r -d /etc/dnscache -s /bin/false -c "djbdns User" -g djbdns dnscache + +%post dnscache +if [ ! -s %{_sysconfdir}/dnscache/seed ]; then + dd if=/dev/urandom of=%{_sysconfdir}/dnscache/seed bs=128c count=1 +fi +if diff -u %{_sysconfdir}/{dnscache,pickdns}/env/IP >/dev/zero 2>&1;then + echo "Warning: dnscache and pickdns can't work on the same" + echo "IP address. You have to edit either %{_sysconfdir}/dnscache/env/IP" + echo "or %{_sysconfdir}/pickdns/env/IP." +fi +if diff -u %{_sysconfdir}/{dnscache,dnscachex}/env/IP >/dev/zero 2>&1;then + echo "Warning: dnscache and dnscachex can't work on the same" + echo "IP address. You have to edit either %{_sysconfdir}/dnscache/env/IP" + echo "or %{_sysconfdir}/dnscachex/env/IP." +fi +if diff -u %{_sysconfdir}/{dnscache,rbldns}/env/IP >/dev/zero 2>&1;then + echo "Warning: dnscache and rbldns can't work on the same" + echo "IP address. You have to edit either %{_sysconfdir}/dnscache/env/IP" + echo "or %{_sysconfdir}/rbldns/env/IP." +fi +if diff -u %{_sysconfdir}/{dnscache,tinydns}/env/IP >/dev/zero 2>&1;then + echo "Warning: dnscache and tinydns can't work on the same" + echo "IP address. You have to edit either %{_sysconfdir}/dnscache/env/IP" + echo "or %{_sysconfdir}/tinydns/env/IP." +fi +if diff -u %{_sysconfdir}/{dnscache,walldns}/env/IP >/dev/zero 2>&1;then + echo "Warning: dnscache and walldns can't work on the same" + echo "IP address. You have to edit either %{_sysconfdir}/dnscache/env/IP" + echo "or %{_sysconfdir}/walldns/env/IP." +fi + +if [ -f /service/dnscache/supervise/lock ]; then + svc -t /service/dnscache{,/log} +fi + +%preun dnscache +if [ "$1" = "0" ]; then + # http://cr.yp.to/daemontools/faq/create.html#remove + if [ -f /service/dnscache/supervise/lock ]; then + cd /service/dnscache + rm /service/dnscache + svc -dx . log + fi +fi + +%postun dnscache +if [ "$1" = "0" ]; then + %userremove dnscache +fi + +%post dnscachex +if [ ! -s %{_sysconfdir}/dnscachex/seed ]; then + dd if=/dev/urandom of=%{_sysconfdir}/dnscachex/seed bs=128c count=1 +fi +if diff -u %{_sysconfdir}/{dnscachex,dnscache}/env/IP >/dev/zero 2>&1;then + echo "Warning: dnscachex and dnscache can't work on the same" + echo "IP address. You have to edit either %{_sysconfdir}/dnscachex/env/IP" + echo "or %{_sysconfdir}/dnscache/env/IP." +fi +if diff -u %{_sysconfdir}/{dnscachex,pickdns}/env/IP >/dev/zero 2>&1;then + echo "Warning: dnscachex and pickdns can't work on the same" + echo "IP address. You have to edit either %{_sysconfdir}/dnscachex/env/IP" + echo "or %{_sysconfdir}/pickdns/env/IP." +fi +if diff -u %{_sysconfdir}/{dnscachex,rbldns}/env/IP >/dev/zero 2>&1;then + echo "Warning: dnscachex and rbldns can't work on the same" + echo "IP address. You have to edit either %{_sysconfdir}/dnscachex/env/IP" + echo "or %{_sysconfdir}/rbldns/env/IP." +fi +if diff -u %{_sysconfdir}/{dnscachex,tinydns}/env/IP >/dev/zero 2>&1;then + echo "Warning: dnscachex and tinydns can't work on the same" + echo "IP address. You have to edit either %{_sysconfdir}/dnscachex/env/IP" + echo "or %{_sysconfdir}/tinydns/env/IP." +fi +if diff -u %{_sysconfdir}/{dnscachex,walldns}/env/IP >/dev/zero 2>&1;then + echo "Warning: dnscachex and walldns can't work on the same" + echo "IP address. You have to edit either %{_sysconfdir}/dnscachex/env/IP" + echo "or %{_sysconfdir}/walldns/env/IP." +fi + +if [ -f /service/dnscachex/supervise/lock ]; then + svc -t /service/dnscachex{,/log} +fi + +%preun dnscachex +if [ "$1" = "0" ]; then + # http://cr.yp.to/daemontools/faq/create.html#remove + if [ -f /service/dnscachex/supervise/lock ]; then + cd /service/dnscachex + rm /service/dnscachex + svc -dx . log + fi +fi + +%pre tinydns +%useradd -P %{name}-tinydns -u 34 -r -d /etc/tinydns -s /bin/false -c "djbdns User" -g djbdns tinydns + +%post tinydns +if diff -u %{_sysconfdir}/{dnscache,tinydns}/env/IP >/dev/zero 2>&1;then + echo "Warning: dnscache and tinydns can't work on the same" + echo "IP address. You have to edit either %{_sysconfdir}/dnscache/env/IP" + echo "or %{_sysconfdir}/tinydns/env/IP." +fi +if diff -u %{_sysconfdir}/{dnscachex,tinydns}/env/IP >/dev/zero 2>&1;then + echo "Warning: dnscachex and tinydns can't work on the same" + echo "IP address. You have to edit either %{_sysconfdir}/dnscachex/env/IP" + echo "or %{_sysconfdir}/tinydns/env/IP." +fi +if diff -u %{_sysconfdir}/{pick,tiny}dns/env/IP >/dev/zero 2>&1;then + echo "Warning: pickdns and tinydns can't work on the same" + echo "IP address. You have to edit either %{_sysconfdir}/pickdns/env/IP" + echo "or %{_sysconfdir}/tinydns/env/IP." +fi +if diff -u %{_sysconfdir}/{rbl,tiny}dns/env/IP >/dev/zero 2>&1;then + echo "Warning: rbldns and tinydns can't work on the same" + echo "IP address. You have to edit either %{_sysconfdir}/rbldns/env/IP" + echo "or %{_sysconfdir}/tinydns/env/IP." +fi +if diff -u %{_sysconfdir}/{tiny,wall}dns/env/IP >/dev/zero 2>&1;then + echo "Warning: tinydns and walldns can't work on the same" + echo "IP address. You have to edit either %{_sysconfdir}/tinydns/env/IP" + echo "or %{_sysconfdir}/walldns/env/IP." +fi + +if [ -f /service/tinydns/supervise/lock ]; then + svc -t /service/tinydns{,/log} +fi + +%preun tinydns +if [ "$1" = "0" ]; then + # http://cr.yp.to/daemontools/faq/create.html#remove + if [ -f /service/tinydns/supervise/lock ]; then + cd /service/tinydns + rm /service/tinydns + svc -dx . log + fi +fi + +%postun tinydns +if [ "$1" = "0" ]; then + %userremove tinydns +fi + +%pre pickdns +%useradd -P %{name}-pickdns -u 35 -r -d /etc/pickdns -s /bin/false -c "djbdns User" -g djbdns pickdns + +%post pickdns +if diff -u %{_sysconfdir}/{dnscache,pickdns}/env/IP >/dev/zero 2>&1;then + echo "Warning: dnscache and pickdns can't work on the same" + echo "IP address. You have to edit either %{_sysconfdir}/dnscache/env/IP" + echo "or %{_sysconfdir}/pickdns/env/IP." +fi +if diff -u %{_sysconfdir}/{dnscachex,pickdns}/env/IP >/dev/zero 2>&1;then + echo "Warning: dnscachex and pickdns can't work on the same" + echo "IP address. You have to edit either %{_sysconfdir}/dnscachex/env/IP" + echo "or %{_sysconfdir}/pickdns/env/IP." +fi +if diff -u %{_sysconfdir}/{pick,rbl}dns/env/IP >/dev/zero 2>&1;then + echo "Warning: pickdns and rbldns can't work on the same" + echo "IP address. You have to edit either %{_sysconfdir}/pickdns/env/IP" + echo "or %{_sysconfdir}/rbldns/env/IP." +fi +if diff -u %{_sysconfdir}/{pick,tiny}dns/env/IP >/dev/zero 2>&1;then + echo "Warning: pickdns and tinydns can't work on the same" + echo "IP address. You have to edit either %{_sysconfdir}/pickdns/env/IP" + echo "or %{_sysconfdir}/tinydns/env/IP." +fi +if diff -u %{_sysconfdir}/{pick,wall}dns/env/IP >/dev/zero 2>&1;then + echo "Warning: pickdns and walldns can't work on the same" + echo "IP address. You have to edit either %{_sysconfdir}/pickdns/env/IP" + echo "or %{_sysconfdir}/walldns/env/IP." +fi + +if [ -f /service/pickdns/supervise/lock ]; then + svc -t /service/pickdns{,/log} +fi + +%preun pickdns +if [ "$1" = "0" ]; then + # http://cr.yp.to/daemontools/faq/create.html#remove + if [ -f /service/pickdns/supervise/lock ]; then + cd /service/pickdns + rm /service/pickdns + svc -dx . log + fi +fi + +%postun pickdns +if [ "$1" = "0" ]; then + %userremove pickdns +fi + +%pre walldns +%useradd -P %{name}-walldns -u 36 -r -d /etc/walldns -s /bin/false -c "djbdns User" -g djbdns walldns + +%post walldns +if diff -u %{_sysconfdir}/{dnscache,walldns}/env/IP >/dev/zero 2>&1;then + echo "Warning: dnscache and walldns can't work on the same" + echo "IP address. You have to edit either %{_sysconfdir}/dnscache/env/IP" + echo "or %{_sysconfdir}/walldns/env/IP." +fi +if diff -u %{_sysconfdir}/{dnscachex,walldns}/env/IP >/dev/zero 2>&1;then + echo "Warning: dnscachex and walldns can't work on the same" + echo "IP address. You have to edit either %{_sysconfdir}/dnscachex/env/IP" + echo "or %{_sysconfdir}/walldns/env/IP." +fi +if diff -u %{_sysconfdir}/{pick,wall}dns/env/IP >/dev/zero 2>&1;then + echo "Warning: pickdns and walldns can't work on the same" + echo "IP address. You have to edit either %{_sysconfdir}/pickdns/env/IP" + echo "or %{_sysconfdir}/walldns/env/IP." +fi +if diff -u %{_sysconfdir}/{rbl,wall}dns/env/IP >/dev/zero 2>&1;then + echo "Warning: rbldns and walldns can't work on the same" + echo "IP address. You have to edit either %{_sysconfdir}/rbldns/env/IP" + echo "or %{_sysconfdir}/walldns/env/IP." +fi +if diff -u %{_sysconfdir}/{tiny,wall}dns/env/IP >/dev/zero 2>&1;then + echo "Warning: tinydns and walldns can't work on the same" + echo "IP address. You have to edit either %{_sysconfdir}/tinydns/env/IP" + echo "or %{_sysconfdir}/walldns/env/IP." +fi + +if [ -f /service/walldns/supervise/lock ]; then + svc -t /service/walldns{,/log} +fi + +%preun walldns +if [ "$1" = "0" ]; then + # http://cr.yp.to/daemontools/faq/create.html#remove + if [ -f /service/walldns/supervise/lock ]; then + cd /service/walldns + rm /service/walldns + svc -dx . log + fi +fi + +%postun walldns +if [ "$1" = "0" ]; then + %userremove walldns +fi + +%pre rbldns +%useradd -P %{name}-rbldns -u 37 -r -d /etc/rbldns -s /bin/false -c "djbdns User" -g djbdns rbldns + +%post rbldns +if diff -u %{_sysconfdir}/{dnscache,rbldns}/env/IP >/dev/zero 2>&1;then + echo "Warning: dnscache and rbldns can't work on the same" + echo "IP address. You have to edit either %{_sysconfdir}/dnscache/env/IP" + echo "or %{_sysconfdir}/rbldns/env/IP." +fi +if diff -u %{_sysconfdir}/{dnscachex,rbldns}/env/IP >/dev/zero 2>&1;then + echo "Warning: dnscachex and rbldns can't work on the same" + echo "IP address. You have to edit either %{_sysconfdir}/dnscachex/env/IP" + echo "or %{_sysconfdir}/rbldns/env/IP." +fi +if diff -u %{_sysconfdir}/{pick,rbl}dns/env/IP >/dev/zero 2>&1;then + echo "Warning: pickdns and rbldns can't work on the same" + echo "IP address. You have to edit either %{_sysconfdir}/pickdns/env/IP" + echo "or %{_sysconfdir}/rbldns/env/IP." +fi +if diff -u %{_sysconfdir}/{rbl,tiny}dns/env/IP >/dev/zero 2>&1;then + echo "Warning: rbldns and tinydns can't work on the same" + echo "IP address. You have to edit either %{_sysconfdir}/rbldns/env/IP" + echo "or %{_sysconfdir}/tinydns/env/IP." +fi +if diff -u %{_sysconfdir}/{rbl,wall}dns/env/IP >/dev/zero 2>&1;then + echo "Warning: rbldns and walldns can't work on the same" + echo "IP address. You have to edit either %{_sysconfdir}/rbldns/env/IP" + echo "or %{_sysconfdir}/walldns/env/IP." +fi + +if [ -f /service/rbldns/supervise/lock ]; then + svc -t /service/rbldns{,/log} +fi + +%preun rbldns +if [ "$1" = "0" ]; then + # http://cr.yp.to/daemontools/faq/create.html#remove + if [ -f /service/rbldns/supervise/lock ]; then + cd /service/rbldns + rm /service/rbldns + svc -dx . log + fi +fi + +%postun rbldns +if [ "$1" = "0" ]; then + %userremove rbldns +fi + +%pre axfrdns +%useradd -P %{name}-axfrdns -u 38 -r -d /etc/axfrdns -s /bin/false -c "djbdns User" -g djbdns axfrdns + +%preun axfrdns +if [ "$1" = "0" ]; then + # http://cr.yp.to/daemontools/faq/create.html#remove + if [ -f /service/axfrdns/supervise/lock ]; then + cd /service/axfrdns + rm /service/axfrdns + svc -dx . log + fi +fi + +%postun axfrdns +if [ "$1" = "0" ]; then + %userremove axfrdns +fi + %files %defattr(644,root,root,755) -%doc *.gz doc/* -%attr(755,root,root) %{_bindir}/* -%attr(644,root,root) %{_sysconfdir}/* +%doc CHANGES TODO MULTIPLEIP TINYDNS doc/* +%attr(755,root,root) %{_bindir}/cachetest +%attr(755,root,root) %{_bindir}/dns[f-t]* +%attr(755,root,root) %{_bindir}/axfr-get +%{_mandir}/man[15]/* +%{_mandir}/man8/axfr-get* +%dir %attr(751,root,root) %dir /var/log/djbdns + +%files dnscache +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/dnscache* +%config %{_sysconfdir}/dnsroots.global +%dir %attr(1755,root,root) %{_sysconfdir}/dnscache +%attr(700,root,root) %dir %{_sysconfdir}/dnscache/supervise +%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %ghost %{_sysconfdir}/dnscache/supervise/* + +%dir %attr(1755,root,root) %{_sysconfdir}/dnscache/log +%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/dnscache/log/run +%attr(700,root,root) %dir %{_sysconfdir}/dnscache/log/supervise +%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %ghost %{_sysconfdir}/dnscache/log/supervise/* +%attr(751,dnslog,djbdns) %dir /var/log/djbdns/dnscache +%attr(600,dnslog,djbdns) %ghost /var/log/djbdns/dnscache/lock +%attr(640,dnslog,djbdns) %ghost /var/log/djbdns/dnscache/state + +%dir %attr(2755,root,root) %{_sysconfdir}/dnscache/env +%config %{_sysconfdir}/dnscache/env/* +%attr(755,root,root) %{_sysconfdir}/dnscache/run +%dir %{_sysconfdir}/dnscache/root +%dir %{_sysconfdir}/dnscache/root/ip +%dir %{_sysconfdir}/dnscache/root/servers +%config %attr(600,root,root) %{_sysconfdir}/dnscache/root/ip/* +%config %{_sysconfdir}/dnscache/root/servers/* +%ghost %attr(600,root,root) %{_sysconfdir}/dnscache/seed +%{_mandir}/man8/dnscache* +/service/dnscache + +%files dnscachex +%defattr(644,root,root,755) +%dir %attr(1755,root,root) %{_sysconfdir}/dnscachex +%attr(700,root,root) %dir %{_sysconfdir}/dnscachex/supervise +%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %ghost %{_sysconfdir}/dnscachex/supervise/* + +%dir %attr(1755,root,root) %{_sysconfdir}/dnscachex/log +%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/dnscachex/log/run +%attr(700,root,root) %dir %{_sysconfdir}/dnscachex/log/supervise +%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %ghost %{_sysconfdir}/dnscachex/log/supervise/* +%attr(751,dnslog,djbdns) %dir /var/log/djbdns/dnscachex +%attr(600,dnslog,djbdns) %ghost /var/log/djbdns/dnscachex/lock +%attr(640,dnslog,djbdns) %ghost /var/log/djbdns/dnscachex/state + +%dir %attr(2755,root,root) %{_sysconfdir}/dnscachex/env +%config %{_sysconfdir}/dnscachex/env/* +%attr(755,root,root) %{_sysconfdir}/dnscachex/run +%dir %{_sysconfdir}/dnscachex/root +%dir %{_sysconfdir}/dnscachex/root/ip +%dir %{_sysconfdir}/dnscachex/root/servers +%config %attr(600,root,root) %{_sysconfdir}/dnscachex/root/ip/* +%config %{_sysconfdir}/dnscachex/root/servers/* +%ghost %attr(600,root,root) %{_sysconfdir}/dnscachex/seed +/service/dnscachex + +%files tinydns +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/tinydns* +%dir %attr(3755,root,root) %{_sysconfdir}/tinydns +%attr(700,root,root) %dir %{_sysconfdir}/tinydns/supervise +%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %ghost %{_sysconfdir}/tinydns/supervise/* + +%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/tinydns/log/run +%dir %attr(1755,root,root) %{_sysconfdir}/tinydns/log +%attr(700,root,root) %dir %{_sysconfdir}/tinydns/log/supervise +%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %ghost %{_sysconfdir}/tinydns/log/supervise/* +%attr(751,dnslog,djbdns) %dir /var/log/djbdns/tinydns +%attr(600,dnslog,djbdns) %ghost /var/log/djbdns/tinydns/lock +%attr(640,dnslog,djbdns) %ghost /var/log/djbdns/tinydns/state + +%dir %attr(2755,root,root) %{_sysconfdir}/tinydns/env +%config %{_sysconfdir}/tinydns/env/* +%attr(755,root,root) %{_sysconfdir}/tinydns/run +%dir %attr(2755,root,root) %{_sysconfdir}/tinydns/root +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/tinydns/root/Makefile +%config %{_sysconfdir}/tinydns/root/data +%attr(755,root,root) %{_sysconfdir}/tinydns/root/add-* +%{_mandir}/man8/tinydns* +/service/tinydns + +%files tinydns-notify +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/tinydns-notify + +%files pickdns +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/pickdns* +%dir %attr(3755,root,root) %{_sysconfdir}/pickdns +%attr(700,root,root) %dir %{_sysconfdir}/pickdns/supervise +%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %ghost %{_sysconfdir}/pickdns/supervise/* + +%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pickdns/log/run +%dir %attr(1755,root,root) %{_sysconfdir}/pickdns/log +%attr(700,root,root) %dir %{_sysconfdir}/pickdns/log/supervise +%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %ghost %{_sysconfdir}/pickdns/log/supervise/* +%attr(751,dnslog,djbdns) %dir /var/log/djbdns/pickdns +%attr(600,dnslog,djbdns) %ghost /var/log/djbdns/pickdns/lock +%attr(640,dnslog,djbdns) %ghost /var/log/djbdns/pickdns/state + +%dir %attr(2755,root,root) %{_sysconfdir}/pickdns/env +%config %{_sysconfdir}/pickdns/env/* +%attr(755,root,root) %{_sysconfdir}/pickdns/run +%dir %attr(2755,root,root) %{_sysconfdir}/pickdns/root +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pickdns/root/Makefile +%config %{_sysconfdir}/pickdns/root/data +%{_mandir}/man8/pickdns* +/service/pickdns + +%files walldns +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/walldns* +%dir %attr(3755,root,root) %{_sysconfdir}/walldns +%attr(700,root,root) %dir %{_sysconfdir}/walldns/supervise +%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %ghost %{_sysconfdir}/walldns/supervise/* + +%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/walldns/log/run +%dir %attr(1755,root,root) %{_sysconfdir}/walldns/log +%attr(700,root,root) %dir %{_sysconfdir}/walldns/log/supervise +%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %ghost %{_sysconfdir}/walldns/log/supervise/* +%attr(751,dnslog,djbdns) %dir /var/log/djbdns/walldns +%attr(600,dnslog,djbdns) %ghost /var/log/djbdns/walldns/lock +%attr(640,dnslog,djbdns) %ghost /var/log/djbdns/walldns/state + +%dir %attr(2755,root,root) %{_sysconfdir}/walldns/env +%config %{_sysconfdir}/walldns/env/* +%attr(755,root,root) %{_sysconfdir}/walldns/run +%dir %attr(2755,root,root) %{_sysconfdir}/walldns/root +%{_mandir}/man8/walldns* +/service/walldns + +%files rbldns +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/rbldns* +%dir %attr(3755,root,root) %{_sysconfdir}/rbldns +%attr(700,root,root) %dir %{_sysconfdir}/rbldns/supervise +%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %ghost %{_sysconfdir}/rbldns/supervise/* + +%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rbldns/log/run +%dir %attr(1755,root,root) %{_sysconfdir}/rbldns/log +%attr(700,root,root) %dir %{_sysconfdir}/rbldns/log/supervise +%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %ghost %{_sysconfdir}/rbldns/log/supervise/* +%attr(751,dnslog,djbdns) %dir /var/log/djbdns/rbldns +%attr(600,dnslog,djbdns) %ghost /var/log/djbdns/rbldns/lock +%attr(640,dnslog,djbdns) %ghost /var/log/djbdns/rbldns/state + +%dir %attr(2755,root,root) %{_sysconfdir}/rbldns/env +%config %{_sysconfdir}/rbldns/env/* +%attr(755,root,root) %{_sysconfdir}/rbldns/run +%dir %attr(2755,root,root) %{_sysconfdir}/rbldns/root +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rbldns/root/Makefile +%config %{_sysconfdir}/rbldns/root/data +%{_mandir}/man8/rbldns* +/service/rbldns + +%files axfrdns +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/axfrdns* +%dir %attr(3755,root,root) %{_sysconfdir}/axfrdns +%attr(700,root,root) %dir %{_sysconfdir}/axfrdns/supervise +%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %ghost %{_sysconfdir}/axfrdns/supervise/* + +%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/axfrdns/log/run +%dir %attr(1755,root,root) %{_sysconfdir}/axfrdns/log +%attr(700,root,root) %dir %{_sysconfdir}/axfrdns/log/supervise +%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %ghost %{_sysconfdir}/axfrdns/log/supervise/* +%attr(751,dnslog,djbdns) %dir /var/log/djbdns/axfrdns +%attr(600,dnslog,djbdns) %ghost /var/log/djbdns/axfrdns/lock +%attr(640,dnslog,djbdns) %ghost /var/log/djbdns/axfrdns/state + +%dir %attr(2755,root,root) %{_sysconfdir}/axfrdns/env +%config %{_sysconfdir}/axfrdns/env/* +%attr(755,root,root) %{_sysconfdir}/axfrdns/run +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/axfrdns/Makefile +%config %{_sysconfdir}/axfrdns/tcp +%{_mandir}/man8/axfrdns* +/service/axfrdns