6 License: http://cr.yp.to/distributors.html (free to use)
7 Group: Networking/Daemons
8 Source0: http://cr.yp.to/djbdns/%{name}-%{version}.tar.gz
9 # Source0-md5: 3147c5cd56832aa3b41955c7a51cbeb2
10 Source1: %{name}-doc.tar.gz
11 # Source1-md5: 1d6aed1a5d3d3eda3958fa3e7d808fc8
12 Source2: ftp://ftp.innominate.org/gpa/djb/%{name}-%{version}-man.tar.gz
13 # Source2-md5: 2b4e71fa4592858e4508538f78d50f61
14 Patch0: dnscache-1.05-multiple-ip.patch
15 Patch1: http://www.fefe.de/dns/%{name}-1.05-ipv6.diff
16 # based on http://www.ohse.de/uwe/patches/djbdns-1.05-multiip.diff
17 Patch2: %{name}-1.05-multiip.diff
18 Patch3: http://iksz.hu/package/djbdns-conf/djbdns-1.05-multi_tinydns_data.patch
19 Patch4: %{name}-srv.patch
20 Patch5: %{name}-glibc.patch
21 URL: http://cr.yp.to/djbdns.html
22 Requires(pre): /usr/bin/getgid
23 Requires(pre): /bin/id
24 Requires(pre): /usr/sbin/groupadd
25 Requires(pre): /usr/sbin/useradd
26 Requires(postun): /usr/sbin/userdel
27 Requires(postun): /usr/sbin/groupdel
29 Obsoletes: caching-nameserver
31 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
34 This is a set of DNS servers with security in mind. If you find a
35 security hole you can get a prize.
37 This package contains some basic DNS debugging tools and some
38 documentation. If you need a DNS server install one of the following
41 - djbdns-dnscache - a local DNS cache
42 - djbdns-tinydns - a DNS server
43 - djbdns-pickdns - a DNS load-balancing server
44 - djbdns-walldns - a reverse DNS wall
45 - djbdns-rbldns - an IP-address-listing DNS server
46 - djbdns-axfrdns - a DNS zone transfer server
49 Dies ist ein Satz von auf Sicherheit zielenden DNS-Servers. Man kriegt
50 ein Preis, wenn man ein Sicherheitsloch findet.
52 Dieses Paket enthält ein paar DNS-Werkzeugen und etwas Dokumentation.
53 Wenn du einen DNS-Server braucht, installe ein von den folgenden
56 - djbdns-dnscache - ein lokaler DNS-Cache
57 - djbdns-tinydns - ein DNS-Server
58 - djbdns-pickdns - ein Belastung ausgleichender DNS-Server
59 - djbdns-walldns - eine Wand Rückgekehrten DNSs
60 - djbdns-rbldns - ein IP-Adressen-Listen-DNS-Server
61 - djbdns-axfrdns - ein DNS-Zonen-Transfer-Server
64 Jest to alternatywny zestaw serwerów DNS'u, którego g³ównym celem jest
65 bezpieczeñstwo. Za znalezienie dziury w tym systemie zosta³a
66 wyznaczona nawet nagroda.
68 Ten pakiet zawiera kilka podstawowych narzêdzi DNS oraz trochê
69 dokumentacji. Je¶li potrzebujesz serwera DNS zainstaluj jeden z
70 nastêpuj±cych pakietów:
72 - djbdns-dnscache - lokalny cache DNS
73 - djbdns-tinydns - serwer DNS
74 - djbdns-pickdns - serwer DNS do równowa¿enia obci±¿eñ
75 - djbdns-walldns - ¶ciana dla odwrotnych zapytañ DNS
76 - djbdns-rbldns - serwer DNS list adresów IP
77 - djbdns-axfrdns - serwer transferów stref DNS
80 Summary: DJB's local DNS cache
81 Summary(de): DJBs lokaler DNS-Cache
82 Summary(pl): Lokalny cache DNS od DJB
83 Group: Networking/Daemons
84 PreReq: %{name} = %{version}
85 Requires(pre): /usr/bin/getgid
86 Requires(pre): /bin/id
87 Requires(pre): /usr/sbin/groupadd
88 Requires(pre): /usr/sbin/useradd
89 Requires(postun): /usr/sbin/userdel
90 Requires(postun): /usr/sbin/groupdel
91 Requires(post): diffutils
92 Requires(post): fileutils
93 Requires(preun): daemontools
94 Requires: daemontools >= 0.70-5
98 dnscache is a local DNS cache from the djbdns package. It accepts
99 recursive DNS queries from local clients such as web browsers and mail
100 transfer agents. It collects responses from remote DNS servers. It
101 caches the responses to save time later.
103 %description dnscache -l de
104 dnscache ist ein lokaler DNS-Cache aus dem djbdns-Paket. Es empfängt
105 rekursive DNS-Fragen von den lokalen Klienten, zum Beispiel
106 Web-Browsers und Mail-Transfer-Agenten. Es sammelt die Antworten von
107 den Fern-DNS-Servers. Es merkt sich die Antworten, um die Zeit später
110 %description dnscache -l pl
111 dnscache jest lokalnym cachem DNS z pakietu djbdns. Przyjmuje on
112 rekursywne zapytania DNS od lokalnych klientów takich, jak
113 przegl±darki WWW i agenci transferu poczty (MTA). Zbiera on odpowiedzi
114 od zdalnych serwerów DNS. Zapamiêtuje on odpowiedzi, ¿eby pó¼niej
118 Summary: DJB's DNS server
119 Summary(de): DJBs DNS-Server
120 Summary(pl): Serwer DNS od DJB
121 Group: Networking/Daemons
122 PreReq: %{name} = %{version}
123 Requires(pre): /usr/bin/getgid
124 Requires(pre): /bin/id
125 Requires(pre): /usr/sbin/groupadd
126 Requires(pre): /usr/sbin/useradd
127 Requires(postun): /usr/sbin/userdel
128 Requires(postun): /usr/sbin/groupdel
129 Requires(post): diffutils
130 Requires(preun): daemontools
131 Requires: daemontools >= 0.70-5
136 tinydns is a DNS server from the djbdns package. It accepts iterative
137 DNS queries from hosts around the Internet and responds with
138 locally-configured information.
140 %description tinydns -l de
141 tinydns ist ein DNS-Server aus dem djbdns-Paket. Es empfängt iterative
142 DNS-Fragen von dem Hosts aus allem Internet und antwortet mit den
143 lokal-konfigurierten Informationen.
145 %description tinydns -l pl
146 tinydns jest serwerem DNS z pakietu djbdns. Przyjmuje on iteracyjne
147 zapytania DNS od komputerów z ca³ego Internetu i odpowiada przy u¿yciu
148 lokalnie skonfigurowanych informacji.
151 Summary: DJB's load-balancing DNS server
152 Summary(de): DJBs Belastung ausgleichender DNS-Server
153 Summary(pl): Serwer DNS równowa¿±cy obci±¿enie od DJB
154 Group: Networking/Daemons
155 PreReq: %{name} = %{version}
156 Requires(pre): /usr/bin/getgid
157 Requires(pre): /bin/id
158 Requires(pre): /usr/sbin/groupadd
159 Requires(pre): /usr/sbin/useradd
160 Requires(postun): /usr/sbin/userdel
161 Requires(postun): /usr/sbin/groupdel
162 Requires(post): diffutils
163 Requires(preun): daemontools
164 Requires: daemontools >= 0.70-5
169 pickdns is a DNS load-balancing server from the djbdns package. It
170 accepts iterative DNS queries from hosts around the Internet and
171 responds with a dynamic selection of locally configured IP addresses
174 %description pickdns -l de
175 pickdns ist ein Belastung ausgleichender DNS-Server aus dem
176 djbdns-Paket. Es empfängt iterative DNS-Fragen von den Hosts aus allem
177 Internet und antwortet mit eine dynamische Auswahl von den
178 lokal-konfigurierten IP-Adressen mit 5-Sekunden-TTLs.
180 %description pickdns -l pl
181 pickdns jest równowa¿±cym obci±¿enie serwerem DNS z pakietu djbdns.
182 Odbiera on iteracyjne zapytania DNS od komputerów z ca³ego internetu i
183 odpowiada dynamicznym wyborem lokalnie skonfigurowanych adresów IP z
184 5-sekundowymi TTLami.
187 Summary: DJB's reverse DNS wall
188 Summary(de): DJBs Wand rückgekehrten DNSs
189 Summary(pl): ¦ciana dla odwrotnych zapytañ DNS od DJB
190 Group: Networking/Daemons
191 PreReq: %{name} = %{version}
192 Requires(pre): /usr/bin/getgid
193 Requires(pre): /bin/id
194 Requires(pre): /usr/sbin/groupadd
195 Requires(pre): /usr/sbin/useradd
196 Requires(postun): /usr/sbin/userdel
197 Requires(postun): /usr/sbin/groupdel
198 Requires(post): diffutils
199 Requires(preun): daemontools
200 Requires: daemontools >= 0.70-5
204 walldns is a reverse DNS wall from the djbdns package. It accepts
205 iterative DNS queries for in-addr.arpa domains from hosts around the
206 Internet and supplies generic responses that avoid revealing local
209 %description walldns -l de
210 walldns ist ein Wand rückgekehrten DNSs aus dem djbdns-Paket. Es
211 empfängt iterative DNS-Fragen für den in-addr.arpa-Domänen von den
212 Hosts aus allem Internet und liefert Antworte, die vermeiden
213 Informationen über die lokalen Hosts zu aufzudecken.
215 %description walldns -l pl
216 walldns jest ¶cian± dla odwrotnych zapytañ DNS z pakietu djbdns.
217 Przyjmuje ona iteracyjne zapytania DNS dla domen in-addr.arpa od
218 komputerów z ca³ego Internetu i dostarcza odpowiedzi, które unikaj±
219 ujawniania informacji o lokalnych komputerach.
222 Summary: DJB's IP-address-listing DNS server
223 Summary(de): DJBs IP-Adressen-Listen-DNS-Server
224 Summary(pl): Serwer DNS list adresów IP od DJB
225 Group: Networking/Daemons
226 PreReq: %{name} = %{version}
227 Requires(pre): /usr/bin/getgid
228 Requires(pre): /bin/id
229 Requires(pre): /usr/sbin/groupadd
230 Requires(pre): /usr/sbin/useradd
231 Requires(postun): /usr/sbin/userdel
232 Requires(postun): /usr/sbin/groupdel
233 Requires(post): diffutils
234 Requires(preun): daemontools
235 Requires: daemontools >= 0.70-5
240 rbldns is an IP-address-listing DNS server from the djbdns package. It
241 accepts iterative DNS queries from hosts around the Internet asking
242 about various IP addresses. It provides responses showing whether the
243 addresses are on a locally configured list, such as RBL or DUL.
245 %description rbldns -l de
246 rbldns ist ein IP-Adressen-Listen-DNS-Server aus dem djbdns-Paket. Es
247 empfängt iterative DNS-Fragen von den Hosts aus allem Internet
248 fragende nach verschiedene IP-Adresse. Es liefert Antworte, die zeugen
249 ob die Adresse sich auf einer lokal-konfigurierten Liste befinden, zum
250 Beispiel RBL oder DUL.
252 %description rbldns -l pl
253 rbldns jest serwerem DNS list adresów z pakietu djbdns. Przyjmuje on
254 iteracyjne zapytania DNS od komputerów z ca³ego Internetu pytaj±ce o
255 ró¿ne adresy IP. Dostarcza on odpowiedzi pokazuj±cych, czy adresy te
256 s± na lokalnie skonfigurowanej li¶cie takiej, jak RBL lub DUL.
259 Summary: DJB's DNS zone-transfer server
260 Summary(de): DJBs DNS-Zonen-Transfer-Server
261 Summary(pl): Serwer transferów stref DNS od DJB
262 Group: Networking/Daemons
263 PreReq: %{name} = %{version}
264 Requires(pre): /usr/bin/getgid
265 Requires(pre): /bin/id
266 Requires(pre): /usr/sbin/groupadd
267 Requires(pre): /usr/sbin/useradd
268 Requires(postun): /usr/sbin/userdel
269 Requires(postun): /usr/sbin/groupdel
270 Requires(preun): daemontools
271 Requires: %{name}-tinydns = %{version}
272 Requires: daemontools >= 0.70-5
278 axfrdns is a DNS zone transfer server from the djbdns package. It
279 reads a zone-transfer request in DNS-over-TCP format from its standard
280 input and responds with locally configured information.
282 %description axfrdns -l de
283 axfrdns ist ein DNS-Zonen-Transfer-Server aus dem djbdns-Paket. Es
284 liest ein Zonen-Transfer-Ersuchen im DNS-over-TCP-Format von seinem
285 standarden Eingabe und antwortet mit den lokal-konfigurierten
288 %description axfrdns -l pl
289 axfrdns jest serwerem transferów stref DNS z pakietu djbdns. Wczytuje
290 on ze standardowego wej¶cia pro¶bê o transfer strefy w formacie
291 DNS-over-TCP i odpowiada przy u¿yciu lokalnie skonfigurowanych
304 ln -s merge/djbdns/* .
307 echo %{__cc} %{rpmcflags} >conf-cc
308 echo %{_prefix} > conf-home
312 rm -rf $RPM_BUILD_ROOT
313 install -d $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_sysconfdir}}
314 install -d $RPM_BUILD_ROOT%{_mandir}/{man1,man5,man8}
316 install dnsroots.global $RPM_BUILD_ROOT%{_sysconfdir}
317 install axfr-get $RPM_BUILD_ROOT%{_bindir}
318 install axfrdns $RPM_BUILD_ROOT%{_bindir}
319 install axfrdns-conf $RPM_BUILD_ROOT%{_bindir}
320 install cachetest $RPM_BUILD_ROOT%{_bindir}
321 install dnscache $RPM_BUILD_ROOT%{_bindir}
322 install dnscache-conf $RPM_BUILD_ROOT%{_bindir}
323 install dnsfilter $RPM_BUILD_ROOT%{_bindir}
324 install dnsip $RPM_BUILD_ROOT%{_bindir}
325 install dnsipq $RPM_BUILD_ROOT%{_bindir}
326 install dnsmx $RPM_BUILD_ROOT%{_bindir}
327 install dnsname $RPM_BUILD_ROOT%{_bindir}
328 install dnsq $RPM_BUILD_ROOT%{_bindir}
329 install dnsqr $RPM_BUILD_ROOT%{_bindir}
330 install dnstrace $RPM_BUILD_ROOT%{_bindir}
331 install dnstxt $RPM_BUILD_ROOT%{_bindir}
332 install pickdns $RPM_BUILD_ROOT%{_bindir}
333 install pickdns-conf $RPM_BUILD_ROOT%{_bindir}
334 install pickdns-data $RPM_BUILD_ROOT%{_bindir}
335 install random-ip $RPM_BUILD_ROOT%{_bindir}
336 install rbldns $RPM_BUILD_ROOT%{_bindir}
337 install rbldns-conf $RPM_BUILD_ROOT%{_bindir}
338 install rbldns-data $RPM_BUILD_ROOT%{_bindir}
339 install rts $RPM_BUILD_ROOT%{_bindir}
340 install tinydns $RPM_BUILD_ROOT%{_bindir}
341 install tinydns-conf $RPM_BUILD_ROOT%{_bindir}
342 install tinydns-data $RPM_BUILD_ROOT%{_bindir}
343 install tinydns-edit $RPM_BUILD_ROOT%{_bindir}
344 install tinydns-get $RPM_BUILD_ROOT%{_bindir}
345 install walldns $RPM_BUILD_ROOT%{_bindir}
346 install walldns-conf $RPM_BUILD_ROOT%{_bindir}
347 install djbdns-man/*.1 $RPM_BUILD_ROOT%{_mandir}/man1
348 install djbdns-man/*.5 $RPM_BUILD_ROOT%{_mandir}/man5
349 install djbdns-man/*.8 $RPM_BUILD_ROOT%{_mandir}/man8
353 mkdir $RPM_BUILD_ROOT%{_sysconfdir}/dnscache
354 cd $RPM_BUILD_ROOT%{_sysconfdir}/dnscache
359 echo %{_sysconfdir}/dnscache/root>env/ROOT
360 echo 127.0.0.1 >env/IP
361 echo 0.0.0.0 >env/IPSEND
362 echo 1000000 >env/CACHESIZE
363 echo 3000000 >env/DATALIMIT
368 exec envdir ./env sh -c '
369 exec envuidgid dnscache softlimit -o250 -d "\$DATALIMIT" %{_bindir}/dnscache
374 exec setuidgid dnslog multilog t ./main
378 touch root/ip/127.0.0.1
380 ln $RPM_BUILD_ROOT%{_sysconfdir}/dnsroots.global root/servers/\@
381 dd if=/dev/zero of=seed bs=128c count=1
385 mkdir $RPM_BUILD_ROOT%{_sysconfdir}/tinydns
386 cd $RPM_BUILD_ROOT%{_sysconfdir}/tinydns
392 exec setuidgid dnslog multilog t ./main
395 echo %{_sysconfdir}/tinydns/root>env/ROOT
396 echo 127.0.0.1 >env/IP
400 exec envuidgid tinydns envdir ./env softlimit -d300000 %{_bindir}/tinydns
406 exec %{_bindir}/tinydns-edit data data.new add ns \${1+"\$@"}
408 cat>root/add-childns<<___
410 exec %{_bindir}/tinydns-edit data data.new add childns \${1+"\$@"}
412 cat>root/add-host<<___
414 exec %{_bindir}/tinydns-edit data data.new add host \${1+"\$@"}
416 cat>root/add-host6<<___
418 exec %{_bindir}/tinydns-edit data data.new add host6 \${1+"\$@"}
420 cat>root/add-alias<<___
422 exec %{_bindir}/tinydns-edit data data.new add alias \${1+"\$@"}
424 cat>root/add-alias6<<___
426 exec %{_bindir}/tinydns-edit data data.new add alias6 \${1+"\$@"}
430 exec %{_bindir}/tinydns-edit data data.new add mx \${1+"\$@"}
432 cat>root/Makefile<<___
434 %{_bindir}/tinydns-data
439 mkdir $RPM_BUILD_ROOT%{_sysconfdir}/pickdns
440 cd $RPM_BUILD_ROOT%{_sysconfdir}/pickdns
446 exec setuidgid dnslog multilog t ./main
449 echo %{_sysconfdir}/pickdns/root>env/ROOT
450 echo 127.0.0.1 >env/IP
454 exec envuidgid pickdns envdir ./env softlimit -d250000 %{_bindir}/pickdns
458 cat>root/Makefile<<___
460 %{_bindir}/pickdns-data
464 mkdir $RPM_BUILD_ROOT%{_sysconfdir}/walldns
465 cd $RPM_BUILD_ROOT%{_sysconfdir}/walldns
471 exec setuidgid dnslog multilog t ./main
474 echo %{_sysconfdir}/walldns/root>env/ROOT
475 echo 127.0.0.1 >env/IP
479 exec envuidgid walldns envdir ./env softlimit -d250000 %{_bindir}/walldns
485 mkdir $RPM_BUILD_ROOT%{_sysconfdir}/rbldns
486 cd $RPM_BUILD_ROOT%{_sysconfdir}/rbldns
492 exec setuidgid dnslog multilog t ./main
495 echo %{_sysconfdir}/rbldns/root>env/ROOT
496 echo 127.0.0.1 >env/IP
497 echo in-addr.arpa >env/BASE
501 exec envuidgid rbldns envdir ./env softlimit -d250000 %{_bindir}/rbldns
505 cat>root/Makefile<<___
507 %{_bindir}/rbldns-data
512 mkdir $RPM_BUILD_ROOT%{_sysconfdir}/axfrdns
513 cd $RPM_BUILD_ROOT%{_sysconfdir}/axfrdns
519 exec setuidgid dnslog multilog t ./main
522 echo %{_sysconfdir}/tinydns/root>env/ROOT
523 echo 127.0.0.1 >env/IP
527 exec envdir ./env sh -c '
528 exec envuidgid axfrdns softlimit -d300000 tcpserver -vDRHl0 -x tcp.cdb -- "\$IP" 53 %{_bindir}/axfrdns
533 tcprules tcp.cdb tcp.tmp < tcp
536 # sample line: 1.2.3.4:allow,AXFR="heaven.af.mil/3.2.1.in-addr.arpa"
540 ##### daemontools symlinks #####
541 install -d $RPM_BUILD_ROOT/service
542 cd $RPM_BUILD_ROOT/service
543 ln -s ..%{_sysconfdir}/dnscache
544 ln -s ..%{_sysconfdir}/tinydns
545 ln -s ..%{_sysconfdir}/pickdns
546 ln -s ..%{_sysconfdir}/walldns
547 ln -s ..%{_sysconfdir}/rbldns
548 ln -s ..%{_sysconfdir}/axfrdns
551 rm -rf $RPM_BUILD_ROOT
554 if [ -n "`getgid djbdns`" ]; then
555 if [ "`getgid djbdns`" != "32" ]; then
556 echo "Error: group djbdns doesn't have gid=32. Correct this before installing djbdns." 1>&2
560 /usr/sbin/groupadd -g 32 -r -f djbdns
562 if [ -n "`id -u dnslog 2>/dev/null`" ]; then
563 if [ "`id -u dnslog`" != "32" ]; then
564 echo "Error: user dnslog doesn't have uid=32. Correct this before installing djbdns." 1>&2
568 /usr/sbin/useradd -u 32 -r -d / -s /bin/false -c "djbdns User" -g djbdns dnslog 1>&2
572 if [ "$1" = "0" ]; then
573 /usr/sbin/userdel dnslog
574 /usr/sbin/groupdel djbdns
578 if [ -n "`id -u dnscache 2>/dev/null`" ]; then
579 if [ "`id -u dnscache`" != "33" ]; then
580 echo "Error: user dnscache doesn't have uid=33. Correct this before installing djbdns-dnscache." 1>&2
584 /usr/sbin/useradd -u 33 -r -d /etc/dnscache -s /bin/false -c "djbdns User" -g djbdns dnscache 1>&2
588 if [ \! -s /etc/dnscache/seed ]; then
589 dd if=/dev/urandom of=/etc/dnscache/seed bs=128c count=1
591 if diff -u /etc/{dnscache,pickdns}/env/IP >/dev/zero 2>&1;then
592 echo "Warning: dnscache and pickdns can't work on the same"
593 echo "IP address. You have to edit either /etc/dnscache/env/IP"
594 echo "or /etc/pickdns/env/IP."
596 if diff -u /etc/{dnscache,rbldns}/env/IP >/dev/zero 2>&1;then
597 echo "Warning: dnscache and rbldns can't work on the same"
598 echo "IP address. You have to edit either /etc/dnscache/env/IP"
599 echo "or /etc/rbldns/env/IP."
601 if diff -u /etc/{dnscache,tinydns}/env/IP >/dev/zero 2>&1;then
602 echo "Warning: dnscache and tinydns can't work on the same"
603 echo "IP address. You have to edit either /etc/dnscache/env/IP"
604 echo "or /etc/tinydns/env/IP."
606 if diff -u /etc/{dnscache,walldns}/env/IP >/dev/zero 2>&1;then
607 echo "Warning: dnscache and walldns can't work on the same"
608 echo "IP address. You have to edit either /etc/dnscache/env/IP"
609 echo "or /etc/walldns/env/IP."
613 if [ "$1" = "0" ]; then
614 svc -d /service/dnscache
618 if [ "$1" = "0" ]; then
619 /usr/sbin/userdel dnscache
623 if [ -n "`id -u tinydns 2>/dev/null`" ]; then
624 if [ "`id -u tinydns`" != "34" ]; then
625 echo "Error: user tinydns doesn't have uid=34. Correct this before installing djbdns-tinydns." 1>&2
629 /usr/sbin/useradd -u 34 -r -d /etc/tinydns -s /bin/false -c "djbdns User" -g djbdns tinydns 1>&2
633 if diff -u /etc/{dnscache,tinydns}/env/IP >/dev/zero 2>&1;then
634 echo "Warning: dnscache and tinydns can't work on the same"
635 echo "IP address. You have to edit either /etc/dnscache/env/IP"
636 echo "or /etc/tinydns/env/IP."
638 if diff -u /etc/{pick,tiny}dns/env/IP >/dev/zero 2>&1;then
639 echo "Warning: pickdns and tinydns can't work on the same"
640 echo "IP address. You have to edit either /etc/pickdns/env/IP"
641 echo "or /etc/tinydns/env/IP."
643 if diff -u /etc/{rbl,tiny}dns/env/IP >/dev/zero 2>&1;then
644 echo "Warning: rbldns and tinydns can't work on the same"
645 echo "IP address. You have to edit either /etc/rbldns/env/IP"
646 echo "or /etc/tinydns/env/IP."
648 if diff -u /etc/{tiny,wall}dns/env/IP >/dev/zero 2>&1;then
649 echo "Warning: tinydns and walldns can't work on the same"
650 echo "IP address. You have to edit either /etc/tinydns/env/IP"
651 echo "or /etc/walldns/env/IP."
655 if [ "$1" = "0" ]; then
656 svc -d /service/tinydns
660 if [ "$1" = "0" ]; then
661 /usr/sbin/userdel tinydns
665 if [ -n "`id -u pickdns 2>/dev/null`" ]; then
666 if [ "`id -u pickdns`" != "35" ]; then
667 echo "Error: user pickdns doesn't have uid=35. Correct this before installing djbdns-pickdns." 1>&2
671 /usr/sbin/useradd -u 35 -r -d /etc/pickdns -s /bin/false -c "djbdns User" -g djbdns pickdns 1>&2
675 if diff -u /etc/{dnscache,pickdns}/env/IP >/dev/zero 2>&1;then
676 echo "Warning: dnscache and pickdns can't work on the same"
677 echo "IP address. You have to edit either /etc/dnscache/env/IP"
678 echo "or /etc/pickdns/env/IP."
680 if diff -u /etc/{pick,rbl}dns/env/IP >/dev/zero 2>&1;then
681 echo "Warning: pickdns and rbldns can't work on the same"
682 echo "IP address. You have to edit either /etc/pickdns/env/IP"
683 echo "or /etc/rbldns/env/IP."
685 if diff -u /etc/{pick,tiny}dns/env/IP >/dev/zero 2>&1;then
686 echo "Warning: pickdns and tinydns can't work on the same"
687 echo "IP address. You have to edit either /etc/pickdns/env/IP"
688 echo "or /etc/tinydns/env/IP."
690 if diff -u /etc/{pick,wall}dns/env/IP >/dev/zero 2>&1;then
691 echo "Warning: pickdns and walldns can't work on the same"
692 echo "IP address. You have to edit either /etc/pickdns/env/IP"
693 echo "or /etc/walldns/env/IP."
697 if [ "$1" = "0" ]; then
698 svc -d /service/pickdns
702 if [ "$1" = "0" ]; then
703 /usr/sbin/userdel pickdns
707 if [ -n "`id -u walldns 2>/dev/null`" ]; then
708 if [ "`id -u walldns`" != "36" ]; then
709 echo "Error: user walldns doesn't have uid=36. Correct this before installing djbdns-walldns." 1>&2
713 /usr/sbin/useradd -u 36 -r -d /etc/walldns -s /bin/false -c "djbdns User" -g djbdns walldns 1>&2
717 if diff -u /etc/{dnscache,walldns}/env/IP >/dev/zero 2>&1;then
718 echo "Warning: dnscache and walldns can't work on the same"
719 echo "IP address. You have to edit either /etc/dnscache/env/IP"
720 echo "or /etc/walldns/env/IP."
722 if diff -u /etc/{pick,wall}dns/env/IP >/dev/zero 2>&1;then
723 echo "Warning: pickdns and walldns can't work on the same"
724 echo "IP address. You have to edit either /etc/pickdns/env/IP"
725 echo "or /etc/walldns/env/IP."
727 if diff -u /etc/{rbl,wall}dns/env/IP >/dev/zero 2>&1;then
728 echo "Warning: rbldns and walldns can't work on the same"
729 echo "IP address. You have to edit either /etc/rbldns/env/IP"
730 echo "or /etc/walldns/env/IP."
732 if diff -u /etc/{tiny,wall}dns/env/IP >/dev/zero 2>&1;then
733 echo "Warning: tinydns and walldns can't work on the same"
734 echo "IP address. You have to edit either /etc/tinydns/env/IP"
735 echo "or /etc/walldns/env/IP."
739 if [ "$1" = "0" ]; then
740 svc -d /service/walldns
744 if [ "$1" = "0" ]; then
745 /usr/sbin/userdel walldns
749 if [ -n "`id -u rbldns 2>/dev/null`" ]; then
750 if [ "`id -u rbldns`" != "37" ]; then
751 echo "Error: user rbldns doesn't have uid=37. Correct this before installing djbdns-rbldns." 1>&2
755 /usr/sbin/useradd -u 37 -r -d /etc/rbldns -s /bin/false -c "djbdns User" -g djbdns rbldns 1>&2
759 if diff -u /etc/{dnscache,rbldns}/env/IP >/dev/zero 2>&1;then
760 echo "Warning: dnscache and rbldns can't work on the same"
761 echo "IP address. You have to edit either /etc/dnscache/env/IP"
762 echo "or /etc/rbldns/env/IP."
764 if diff -u /etc/{pick,rbl}dns/env/IP >/dev/zero 2>&1;then
765 echo "Warning: pickdns and rbldns can't work on the same"
766 echo "IP address. You have to edit either /etc/pickdns/env/IP"
767 echo "or /etc/rbldns/env/IP."
769 if diff -u /etc/{rbl,tiny}dns/env/IP >/dev/zero 2>&1;then
770 echo "Warning: rbldns and tinydns can't work on the same"
771 echo "IP address. You have to edit either /etc/rbldns/env/IP"
772 echo "or /etc/tinydns/env/IP."
774 if diff -u /etc/{rbl,wall}dns/env/IP >/dev/zero 2>&1;then
775 echo "Warning: rbldns and walldns can't work on the same"
776 echo "IP address. You have to edit either /etc/rbldns/env/IP"
777 echo "or /etc/walldns/env/IP."
781 if [ "$1" = "0" ]; then
782 svc -d /service/rbldns
786 if [ "$1" = "0" ]; then
787 /usr/sbin/userdel rbldns
791 if [ -n "`id -u axfrdns 2>/dev/null`" ]; then
792 if [ "`id -u axfrdns`" != "38" ]; then
793 echo "Error: user axfrdns doesn't have uid=38. Correct this before installing djbdns-axfrdns." 1>&2
797 /usr/sbin/useradd -u 38 -r -d /etc/axfrdns -s /bin/false -c "djbdns User" -g djbdns axfrdns 1>&2
801 if [ "$1" = "0" ]; then
802 svc -d /service/axfrdns
806 if [ "$1" = "0" ]; then
807 /usr/sbin/userdel axfrdns
811 %defattr(644,root,root,755)
812 %doc CHANGES TODO MULTIPLEIP TINYDNS doc/*
813 %attr(755,root,root) %{_bindir}/cachetest
814 %attr(755,root,root) %{_bindir}/dns[f-t]*
815 %attr(755,root,root) %{_bindir}/axfr-get
817 %{_mandir}/man8/axfr-get*
820 %defattr(644,root,root,755)
821 %attr(755,root,root) %{_bindir}/dnscache*
822 %config %attr(644,root,root) %{_sysconfdir}/dnsroots.global
823 %dir %attr(3755,root,root) %{_sysconfdir}/dnscache
824 %dir %attr(2755,root,root) %{_sysconfdir}/dnscache/log
825 %dir %attr(2755,dnslog,djbdns) %{_sysconfdir}/dnscache/log/main
826 %attr(644,dnslog,djbdns) %{_sysconfdir}/dnscache/log/status
827 %dir %attr(2755,root,root) %{_sysconfdir}/dnscache/env
828 %config %attr(644,root,root) %{_sysconfdir}/dnscache/env/*
829 %attr(755,root,root) %{_sysconfdir}/dnscache/run
830 %attr(755,root,root) %{_sysconfdir}/dnscache/log/run
831 %dir %attr(2755,root,root) %{_sysconfdir}/dnscache/root
832 %dir %attr(2755,root,root) %{_sysconfdir}/dnscache/root/*
833 %config %attr(600,root,root) %{_sysconfdir}/dnscache/root/ip/*
834 %config %attr(644,root,root) %{_sysconfdir}/dnscache/root/servers/*
835 %ghost %attr(600,root,root) %{_sysconfdir}/dnscache/seed
836 %{_mandir}/man8/dnscache*
840 %defattr(644,root,root,755)
841 %attr(755,root,root) %{_bindir}/tinydns*
842 %dir %attr(3755,root,root) %{_sysconfdir}/tinydns
843 %dir %attr(2755,root,root) %{_sysconfdir}/tinydns/log
844 %dir %attr(2755,dnslog,djbdns) %{_sysconfdir}/tinydns/log/main
845 %attr(644,dnslog,djbdns) %{_sysconfdir}/tinydns/log/status
846 %attr(755,root,root) %{_sysconfdir}/tinydns/log/run
847 %dir %attr(2755,root,root) %{_sysconfdir}/tinydns/env
848 %config %attr(644,root,root) %{_sysconfdir}/tinydns/env/*
849 %attr(755,root,root) %{_sysconfdir}/tinydns/run
850 %dir %attr(2755,root,root) %{_sysconfdir}/tinydns/root
851 %attr(644,root,root) %{_sysconfdir}/tinydns/root/Makefile
852 %config %attr(644,root,root) %{_sysconfdir}/tinydns/root/data
853 %attr(755,root,root) %{_sysconfdir}/tinydns/root/add-*
854 %{_mandir}/man8/tinydns*
858 %defattr(644,root,root,755)
859 %attr(755,root,root) %{_bindir}/pickdns*
860 %dir %attr(3755,root,root) %{_sysconfdir}/pickdns
861 %dir %attr(2755,root,root) %{_sysconfdir}/pickdns/log
862 %dir %attr(2755,dnslog,djbdns) %{_sysconfdir}/pickdns/log/main
863 %attr(644,dnslog,djbdns) %{_sysconfdir}/pickdns/log/status
864 %attr(755,root,root) %{_sysconfdir}/pickdns/log/run
865 %dir %attr(2755,root,root) %{_sysconfdir}/pickdns/env
866 %config %attr(644,root,root) %{_sysconfdir}/pickdns/env/*
867 %attr(755,root,root) %{_sysconfdir}/pickdns/run
868 %dir %attr(2755,root,root) %{_sysconfdir}/pickdns/root
869 %attr(644,root,root) %{_sysconfdir}/pickdns/root/Makefile
870 %config %attr(644,root,root) %{_sysconfdir}/pickdns/root/data
871 %{_mandir}/man8/pickdns*
875 %defattr(644,root,root,755)
876 %attr(755,root,root) %{_bindir}/walldns*
877 %dir %attr(3755,root,root) %{_sysconfdir}/walldns
878 %dir %attr(2755,root,root) %{_sysconfdir}/walldns/log
879 %dir %attr(2755,dnslog,djbdns) %{_sysconfdir}/walldns/log/main
880 %attr(644,dnslog,djbdns) %{_sysconfdir}/walldns/log/status
881 %attr(755,root,root) %{_sysconfdir}/walldns/log/run
882 %dir %attr(2755,root,root) %{_sysconfdir}/walldns/env
883 %config %attr(644,root,root) %{_sysconfdir}/walldns/env/*
884 %attr(755,root,root) %{_sysconfdir}/walldns/run
885 %dir %attr(2755,root,root) %{_sysconfdir}/walldns/root
886 %{_mandir}/man8/walldns*
890 %defattr(644,root,root,755)
891 %attr(755,root,root) %{_bindir}/rbldns*
892 %dir %attr(3755,root,root) %{_sysconfdir}/rbldns
893 %dir %attr(2755,root,root) %{_sysconfdir}/rbldns/log
894 %dir %attr(2755,dnslog,djbdns) %{_sysconfdir}/rbldns/log/main
895 %attr(644,dnslog,djbdns) %{_sysconfdir}/rbldns/log/status
896 %attr(755,root,root) %{_sysconfdir}/rbldns/log/run
897 %dir %attr(2755,root,root) %{_sysconfdir}/rbldns/env
898 %config %attr(644,root,root) %{_sysconfdir}/rbldns/env/*
899 %attr(755,root,root) %{_sysconfdir}/rbldns/run
900 %dir %attr(2755,root,root) %{_sysconfdir}/rbldns/root
901 %attr(644,root,root) %{_sysconfdir}/rbldns/root/Makefile
902 %config %attr(644,root,root) %{_sysconfdir}/rbldns/root/data
903 %{_mandir}/man8/rbldns*
907 %defattr(644,root,root,755)
908 %attr(755,root,root) %{_bindir}/axfrdns*
909 %dir %attr(3755,root,root) %{_sysconfdir}/axfrdns
910 %dir %attr(2755,root,root) %{_sysconfdir}/axfrdns/log
911 %dir %attr(2755,dnslog,djbdns) %{_sysconfdir}/axfrdns/log/main
912 %attr(644,dnslog,djbdns) %{_sysconfdir}/axfrdns/log/status
913 %attr(755,root,root) %{_sysconfdir}/axfrdns/log/run
914 %dir %attr(2755,root,root) %{_sysconfdir}/axfrdns/env
915 %config %attr(644,root,root) %{_sysconfdir}/axfrdns/env/*
916 %attr(755,root,root) %{_sysconfdir}/axfrdns/run
917 %attr(644,root,root) %{_sysconfdir}/axfrdns/Makefile
918 %config %attr(644,root,root) %{_sysconfdir}/axfrdns/tcp
919 %{_mandir}/man8/axfrdns*