fix bug 186577 - libbind.pc, more .spec file cleanup; add sample
configuration files to %doc; rebuild for new gcc and glibc
This commit is contained in:
parent
781dfac42c
commit
053216a5df
|
@ -198,11 +198,14 @@ function sync_files()
|
||||||
ng=$?
|
ng=$?
|
||||||
shopt -s nullglob;
|
shopt -s nullglob;
|
||||||
pfx=''
|
pfx=''
|
||||||
|
changed=`/bin/mktemp /tmp/XXXXXX`;
|
||||||
|
rm -f $changed
|
||||||
if rootdir ; then # chroot is enabled
|
if rootdir ; then # chroot is enabled
|
||||||
/usr/bin/find /{etc/{named.*,rndc.*},${BIND_DIR#/}{/*,/data/*,/slaves/*}} -maxdepth 0 -type f |
|
/usr/bin/find /{etc/{named.*,rndc.*},${BIND_DIR#/}{/*,/data/*,/slaves/*}} -maxdepth 0 -type f |
|
||||||
while read f;
|
while read f;
|
||||||
do
|
do
|
||||||
replace_with_link ${BIND_CHROOT_PREFIX}/$f $f;
|
replace_with_link ${BIND_CHROOT_PREFIX}/$f $f;
|
||||||
|
[ ! -e $changed ] && touch $changed;
|
||||||
done;
|
done;
|
||||||
pfx=${BIND_CHROOT_PREFIX}
|
pfx=${BIND_CHROOT_PREFIX}
|
||||||
else # chroot is disabled
|
else # chroot is disabled
|
||||||
|
@ -211,31 +214,54 @@ function sync_files()
|
||||||
do
|
do
|
||||||
if [ ! -d "$f" ]; then
|
if [ ! -d "$f" ]; then
|
||||||
replace_with_file $f ${f#$BIND_CHROOT_PREFIX};
|
replace_with_file $f ${f#$BIND_CHROOT_PREFIX};
|
||||||
|
[ ! -e $changed ] && touch $changed;
|
||||||
fi;
|
fi;
|
||||||
done
|
done
|
||||||
fi;
|
fi;
|
||||||
if [ $ng -eq 1 ]; then
|
if [ ! -e ${pfx}/etc/rndc.key ]; then
|
||||||
shopt -u nullglob;
|
echo 'key "rndckey" {
|
||||||
fi;
|
algorithm hmac-md5;
|
||||||
|
secret "'`/usr/sbin/dns-keygen`'";
|
||||||
|
};' > /etc/rndc.key;
|
||||||
|
elif /bin/egrep -q '@KEY@' /etc/rndc.key; then
|
||||||
|
/bin/sed -i -e 's^@KEY@^'`/usr/sbin/dns-keygen`'^' /etc/rndc.key ;
|
||||||
|
fi
|
||||||
chown root:named ${pfx}/var/named/* >/dev/null 2>&1;
|
chown root:named ${pfx}/var/named/* >/dev/null 2>&1;
|
||||||
chmod 750 ${pfx}/var/named >/dev/null 2>&1;
|
chmod 750 ${pfx}/var/named >/dev/null 2>&1;
|
||||||
chmod 640 ${pfx}/var/named/* >/dev/null 2>&1;
|
chmod 640 ${pfx}/var/named/* >/dev/null 2>&1;
|
||||||
chown named:named ${pfx}/var/named/{data{,/*},slaves{,*/}} >/dev/null 2>&1;
|
chown named:named ${pfx}/var/named/{data{,/*},slaves{,*/}} >/dev/null 2>&1;
|
||||||
chmod 770 ${pfx}/var/named/{data,slaves} >/dev/null 2>&1;
|
chmod 770 ${pfx}/var/named/{data,slaves} >/dev/null 2>&1;
|
||||||
chmod 640 ${pfx}/var/named/{data/*,slaves/*} >/dev/null 2>&1;
|
chmod 640 ${pfx}/var/named/{data/*,slaves/*} >/dev/null 2>&1;
|
||||||
|
if [ -e $changed ]; then
|
||||||
|
if [ -e /selinux/enforce ] && [ -x /sbin/restorecon ]; then
|
||||||
|
if [ -n "$pfx" ]; then
|
||||||
|
/sbin/restorecon -R $pfx/etc $pfx/var/named $pfx/var/run/named >/dev/null 2>&1;
|
||||||
|
if [ -e $pfx/etc/localtime ] && [ -e /etc/localtime ] ; then
|
||||||
|
/usr/bin/chcon --reference=/etc/localtime $pfx/etc/localtime >/dev/null 2>&1;
|
||||||
|
fi;
|
||||||
|
else
|
||||||
|
/sbin/restorecon /etc/{named,rndc}.* >/dev/null 2>&1;
|
||||||
|
/usr/bin/chcon --reference=/etc/named.conf /etc/named.* >/dev/null 2>&1;
|
||||||
|
/sbin/restorecon -e /var/named/chroot /var/named{/,/data/,/slaves/}* >/dev/null 2>&1;
|
||||||
|
fi;
|
||||||
|
fi;
|
||||||
|
/sbin/service named condrestart
|
||||||
|
rm -f $changed;
|
||||||
|
fi;
|
||||||
|
if [ $ng -eq 1 ]; then
|
||||||
|
shopt -u nullglob;
|
||||||
|
fi;
|
||||||
}
|
}
|
||||||
|
|
||||||
case $1 in
|
case $1 in
|
||||||
-e|--enable)
|
-e|--enable)
|
||||||
enable_bind_chroot;
|
enable_bind_chroot;
|
||||||
sync_files;
|
sync_files;
|
||||||
/sbin/service named condrestart
|
|
||||||
exit $?;
|
exit $?;
|
||||||
;;
|
;;
|
||||||
-d|--disable)
|
-d|--disable)
|
||||||
disable_bind_chroot;
|
disable_bind_chroot;
|
||||||
sync_files;
|
sync_files;
|
||||||
/sbin/service named condrestart
|
|
||||||
/bin/umount ${BIND_CHROOT_PREFIX}/proc >/dev/null 2>&1 || :;
|
/bin/umount ${BIND_CHROOT_PREFIX}/proc >/dev/null 2>&1 || :;
|
||||||
/bin/umount ${BIND_CHROOT_PREFIX}/var/run/dbus >/dev/null 2>&1 || :;
|
/bin/umount ${BIND_CHROOT_PREFIX}/var/run/dbus >/dev/null 2>&1 || :;
|
||||||
exit $?;
|
exit $?;
|
||||||
|
|
11
bind.spec
11
bind.spec
|
@ -52,6 +52,9 @@ Source25: rfc1912.txt
|
||||||
Source26: bind-chroot-admin.in
|
Source26: bind-chroot-admin.in
|
||||||
Source27: named.rfc1912.zones
|
Source27: named.rfc1912.zones
|
||||||
Source28: libbind.pc
|
Source28: libbind.pc
|
||||||
|
Source29: named.conf.sample
|
||||||
|
Source30: named.rfc1912.zones.sample
|
||||||
|
Source31: named.root.hints
|
||||||
#
|
#
|
||||||
Patch: bind-9.2.0rc3-varrun.patch
|
Patch: bind-9.2.0rc3-varrun.patch
|
||||||
Patch1: bind-9.3.2b2-rndckey.patch
|
Patch1: bind-9.3.2b2-rndckey.patch
|
||||||
|
@ -464,10 +467,10 @@ sed -e 's^@BIND_CHROOT_PREFIX@^'%{chroot_prefix}'^;s^@BIND_DIR@^'%{bind_dir}'^'
|
||||||
install -m 754 bind-chroot-admin ${RPM_BUILD_ROOT}/%{_sbindir}
|
install -m 754 bind-chroot-admin ${RPM_BUILD_ROOT}/%{_sbindir}
|
||||||
# sample bind configuration files for %doc:
|
# sample bind configuration files for %doc:
|
||||||
mkdir -p sample/etc sample/var/named/{data,slaves}
|
mkdir -p sample/etc sample/var/named/{data,slaves}
|
||||||
cp -fp %{_sourcedir}/named.conf.sample sample/etc/named.conf
|
cp -fp %{SOURCE29} sample/etc/named.conf
|
||||||
cp -fp %{_sourcedir}/named.rfc1912.zones.sample sample/etc/named.rfc1912.zones
|
cp -fp %{SOURCE30} sample/etc/named.rfc1912.zones
|
||||||
cp -fp %{_sourcedir}/named.root.hints sample/etc/
|
cp -fp %{SOURCE31} sample/etc/
|
||||||
cp -fp %{_sourcedir}/{named.root,named.local,localhost.zone,localdomain.zone,named.ip6.local,named.broadcast,named.zero} sample/var/named
|
cp -fp %{SOURCE17} %{SOURCE18} %{SOURCE19} %{SOURCE20} %{SOURCE21} %{SOURCE22} %{SOURCE23} sample/var/named
|
||||||
for f in my.internal.zone.db slaves/my.slave.internal.zone.db slaves/my.ddns.internal.zone.db my.external.zone.db; do
|
for f in my.internal.zone.db slaves/my.slave.internal.zone.db slaves/my.ddns.internal.zone.db my.external.zone.db; do
|
||||||
echo '@ in soa localhost. root 1 3H 15M 1W 1D
|
echo '@ in soa localhost. root 1 3H 15M 1W 1D
|
||||||
ns localhost.' > sample/var/named/$f;
|
ns localhost.' > sample/var/named/$f;
|
||||||
|
|
|
@ -2,5 +2,5 @@
|
||||||
Name: libbind
|
Name: libbind
|
||||||
Description: BIND 8 compatible DNS Resolver Library
|
Description: BIND 8 compatible DNS Resolver Library
|
||||||
Version: 9.3.2
|
Version: 9.3.2
|
||||||
Libs: -L/usr/lib -lbind
|
Libs: -lbind
|
||||||
Cflags: -I/usr/include/bind
|
Cflags: -I/usr/include/bind
|
|
@ -5,6 +5,8 @@
|
||||||
// ISC BIND named(8) DNS server as a caching only nameserver
|
// ISC BIND named(8) DNS server as a caching only nameserver
|
||||||
// (as a localhost DNS resolver only).
|
// (as a localhost DNS resolver only).
|
||||||
//
|
//
|
||||||
|
// See /usr/share/doc/bind*/sample/ for example named configuration files.
|
||||||
|
//
|
||||||
// DO NOT EDIT THIS FILE - use system-config-bind or an editor
|
// DO NOT EDIT THIS FILE - use system-config-bind or an editor
|
||||||
// to create named.conf - edits to this file will be lost on
|
// to create named.conf - edits to this file will be lost on
|
||||||
// bind-config package upgrade.
|
// bind-config package upgrade.
|
||||||
|
|
|
@ -0,0 +1,127 @@
|
||||||
|
//
|
||||||
|
// Sample named.conf BIND DNS server 'named' configuration file
|
||||||
|
// for the Red Hat BIND distribution.
|
||||||
|
//
|
||||||
|
// See the BIND Administrator's Reference Manual (ARM) for details, in:
|
||||||
|
// file:///usr/share/doc/bind-*/arm/Bv9ARM.html
|
||||||
|
// Also see the BIND Configuration GUI : /usr/bin/system-config-bind and
|
||||||
|
// its manual.
|
||||||
|
//
|
||||||
|
options
|
||||||
|
{
|
||||||
|
/* make named use port 53 for the source of all queries, to allow
|
||||||
|
* firewalls to block all ports except 53:
|
||||||
|
*/
|
||||||
|
query-source port 53;
|
||||||
|
query-source-v6 port 53;
|
||||||
|
|
||||||
|
// Put files that named is allowed to write in the data/ directory:
|
||||||
|
directory "/var/named"; // the default
|
||||||
|
dump-file "data/cache_dump.db";
|
||||||
|
statistics-file "data/named_stats.txt";
|
||||||
|
memstatistics-file "data/named_mem_stats.txt";
|
||||||
|
|
||||||
|
};
|
||||||
|
logging
|
||||||
|
{
|
||||||
|
/* If you want to enable debugging, eg. using the 'rndc trace' command,
|
||||||
|
* named will try to write the 'named.run' file in the $directory (/var/named).
|
||||||
|
* By default, SELinux policy does not allow named to modify the /var/named directory,
|
||||||
|
* so put the default debug log file in data/ :
|
||||||
|
*/
|
||||||
|
channel default_debug {
|
||||||
|
file "data/named.run";
|
||||||
|
severity dynamic;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
//
|
||||||
|
// All BIND 9 zones are in a "view", which allow different zones to be served
|
||||||
|
// to different types of client addresses, and for options to be set for groups
|
||||||
|
// of zones.
|
||||||
|
//
|
||||||
|
// By default, if named.conf contains no "view" clauses, all zones are in the
|
||||||
|
// "default" view, which matches all clients.
|
||||||
|
//
|
||||||
|
// If named.conf contains any "view" clause, then all zones MUST be in a view;
|
||||||
|
// so it is recommended to start off using views to avoid having to restructure
|
||||||
|
// your configuration files in the future.
|
||||||
|
//
|
||||||
|
view "localhost_resolver"
|
||||||
|
{
|
||||||
|
/* This view sets up named to be a localhost resolver ( caching only nameserver ).
|
||||||
|
* If all you want is a caching-only nameserver, then you need only define this view:
|
||||||
|
*/
|
||||||
|
match-clients { localhost; };
|
||||||
|
match-destinations { localhost; };
|
||||||
|
recursion yes;
|
||||||
|
# all views must contain the root hints zone:
|
||||||
|
include "/etc/named.root.hints";
|
||||||
|
|
||||||
|
/* these are zones that contain definitions for all the localhost
|
||||||
|
* names and addresses, as recommended in RFC1912 - these names should
|
||||||
|
* ONLY be served to localhost clients:
|
||||||
|
*/
|
||||||
|
include "/etc/named.rfc1912.zones";
|
||||||
|
};
|
||||||
|
view "internal"
|
||||||
|
{
|
||||||
|
/* This view will contain zones you want to serve only to "internal" clients
|
||||||
|
that connect via your directly attached LAN interfaces - "localnets" .
|
||||||
|
*/
|
||||||
|
match-clients { !localnets; !localhost; };
|
||||||
|
match-destinations { !localnets; !localhost; };
|
||||||
|
recursion yes;
|
||||||
|
// all views must contain the root hints zone:
|
||||||
|
include "/etc/named.root.hints";
|
||||||
|
|
||||||
|
// include "named.rfc1912.zones";
|
||||||
|
// you should not serve your rfc1912 names to non-localhost clients.
|
||||||
|
|
||||||
|
// These are your "authoritative" internal zones, and would probably
|
||||||
|
// also be included in the "localhost_resolver" view above :
|
||||||
|
|
||||||
|
zone "my.internal.zone" {
|
||||||
|
type master;
|
||||||
|
file "my.internal.zone.db";
|
||||||
|
};
|
||||||
|
zone "my.slave.internal.zone" {
|
||||||
|
type slave;
|
||||||
|
file "slaves/my.slave.internal.zone.db";
|
||||||
|
masters { /* put master nameserver IPs here */ 127.0.0.1; } ;
|
||||||
|
// put slave zones in the slaves/ directory so named can update them
|
||||||
|
};
|
||||||
|
zone "my.ddns.internal.zone" {
|
||||||
|
type master;
|
||||||
|
allow-update { key ddns_key; };
|
||||||
|
file "slaves/my.ddns.internal.zone.db";
|
||||||
|
// put dynamically updateable zones in the slaves/ directory so named can update them
|
||||||
|
};
|
||||||
|
};
|
||||||
|
key ddns_key
|
||||||
|
{
|
||||||
|
algorithm hmac-md5;
|
||||||
|
secret "use /usr/sbin/dns-keygen to generate TSIG keys";
|
||||||
|
};
|
||||||
|
view "external"
|
||||||
|
{
|
||||||
|
/* This view will contain zones you want to serve only to "external" clients
|
||||||
|
* that have addresses that are not on your directly attached LAN interface subnets:
|
||||||
|
*/
|
||||||
|
match-clients { !localnets; !localhost; };
|
||||||
|
match-destinations { !localnets; !localhost; };
|
||||||
|
|
||||||
|
recursion no;
|
||||||
|
// you'd probably want to deny recursion to external clients, so you don't
|
||||||
|
// end up providing free DNS service to all takers
|
||||||
|
|
||||||
|
// all views must contain the root hints zone:
|
||||||
|
include "/etc/named.root.hints";
|
||||||
|
|
||||||
|
// These are your "authoritative" external zones, and would probably
|
||||||
|
// contain entries for just your web and mail servers:
|
||||||
|
|
||||||
|
zone "my.external.zone" {
|
||||||
|
type master;
|
||||||
|
file "my.external.zone.db";
|
||||||
|
};
|
||||||
|
};
|
|
@ -5,7 +5,8 @@
|
||||||
// ISC BIND named zone configuration for zones recommended by
|
// ISC BIND named zone configuration for zones recommended by
|
||||||
// RFC 1912 section 4.1 : localhost TLDs and address zones
|
// RFC 1912 section 4.1 : localhost TLDs and address zones
|
||||||
//
|
//
|
||||||
|
// See /usr/share/doc/bind*/sample/ for example named configuration files.
|
||||||
|
//
|
||||||
zone "." IN {
|
zone "." IN {
|
||||||
type hint;
|
type hint;
|
||||||
file "named.ca";
|
file "named.ca";
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
// named.rfc1912.zones:
|
||||||
|
//
|
||||||
|
// ISC BIND named zone configuration for zones recommended by
|
||||||
|
// RFC 1912 section 4.1 : localhost TLDs and address zones
|
||||||
|
//
|
||||||
|
zone "localdomain" IN {
|
||||||
|
type master;
|
||||||
|
file "localdomain.zone";
|
||||||
|
allow-update { none; };
|
||||||
|
};
|
||||||
|
|
||||||
|
zone "localhost" IN {
|
||||||
|
type master;
|
||||||
|
file "localhost.zone";
|
||||||
|
allow-update { none; };
|
||||||
|
};
|
||||||
|
|
||||||
|
zone "0.0.127.in-addr.arpa" IN {
|
||||||
|
type master;
|
||||||
|
file "named.local";
|
||||||
|
allow-update { none; };
|
||||||
|
};
|
||||||
|
|
||||||
|
zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
|
||||||
|
type master;
|
||||||
|
file "named.ip6.local";
|
||||||
|
allow-update { none; };
|
||||||
|
};
|
||||||
|
|
||||||
|
zone "255.in-addr.arpa" IN {
|
||||||
|
type master;
|
||||||
|
file "named.broadcast";
|
||||||
|
allow-update { none; };
|
||||||
|
};
|
||||||
|
|
||||||
|
zone "0.in-addr.arpa" IN {
|
||||||
|
type master;
|
||||||
|
file "named.zero";
|
||||||
|
allow-update { none; };
|
||||||
|
};
|
|
@ -0,0 +1,15 @@
|
||||||
|
//
|
||||||
|
// The 'named.root' root cache hints zone for the bind DNS 'named' nameserver.
|
||||||
|
//
|
||||||
|
// named's cache must be primed with the addresses of the root zone '.' nameservers.
|
||||||
|
// The root zone file can be obtained by querying the root 'A' nameserver:
|
||||||
|
// $ dig . ns @198.41.0.4 > named.root
|
||||||
|
// Or by download via FTP / HTTP:
|
||||||
|
// $ wget ftp://ftp.rs.internic.net/domain/named.root
|
||||||
|
//
|
||||||
|
// Every view that is to provide recursive service must include this zone.
|
||||||
|
//
|
||||||
|
zone "." IN {
|
||||||
|
type hint;
|
||||||
|
file "named.root";
|
||||||
|
};
|
Loading…
Reference in New Issue