summaryrefslogtreecommitdiffstats
path: root/bind-chroot-admin.in
diff options
context:
space:
mode:
authorjvdias <jvdias@fedoraproject.org>2006-06-14 05:26:43 +0000
committerjvdias <jvdias@fedoraproject.org>2006-06-14 05:26:43 +0000
commit9313e2afdfcaa6dda94e82d2cdf220365b241b08 (patch)
treef0f721828e1c3d33fb90df60221bc8b2c4dfbed9 /bind-chroot-admin.in
parent0fc8dd0fc4327d05a97cb898431c6537dad7e962 (diff)
fix bugs 191093, 189789; backport selected fixes from upstream v9_3_3b1 CVS
Diffstat (limited to 'bind-chroot-admin.in')
-rw-r--r--bind-chroot-admin.in13
1 files changed, 11 insertions, 2 deletions
diff --git a/bind-chroot-admin.in b/bind-chroot-admin.in
index 95e6eca..9395c6e 100644
--- a/bind-chroot-admin.in
+++ b/bind-chroot-admin.in
@@ -50,6 +50,15 @@ function rootdir()
return 1;
}
+function selinux_enabled()
+{
+ [ -e /etc/selinux/config ] && . /etc/selinux/config;
+ if [ -n "$SELINUX" ] && [ "$SELINUX" != 'disabled' ] ; then
+ return 0;
+ fi;
+ return 1;
+}
+
function check_dirs()
{
if [ -z "$BIND_CHROOT_PREFIX" ]; then
@@ -89,7 +98,7 @@ function check_dirs()
[ ! -e "${BIND_CHROOT_PREFIX}/etc/localtime" ] && [ -e /etc/localtime ] && /bin/cp -fp /etc/localtime "${BIND_CHROOT_PREFIX}/etc/localtime";
chown root:named "${BIND_CHROOT_PREFIX}"/dev/{random,null,zero};
chmod 660 "${BIND_CHROOT_PREFIX}"/dev/{random,null,zero};
- if [ -d /selinux ] && [ -e /selinux/enforce ] && [ -x /usr/bin/chcon ]; then
+ if selinux_enabled && [ -x /usr/bin/chcon ]; then
for dev in random zero null; do
/usr/bin/chcon --reference=/dev/$dev ${BIND_CHROOT_PREFIX}/dev/$dev;
done
@@ -250,7 +259,7 @@ function sync_files()
chmod 660 ${pfx}/var/named/{data/*,slaves/*} >/dev/null 2>&1;
chmod 770 ${pfx}/var/named/{data/*/.,slaves/*/.} >/dev/null 2>&1;
if [ -e $changed ]; then
- if [ -e /selinux/enforce ] && [ -x /sbin/restorecon ]; then
+ if selinux_enabled && [ -x /sbin/restorecon ]; then
/sbin/restorecon -R ${BIND_CHROOT_PREFIX}/etc ${BIND_CHROOT_PREFIX}/var/named ${BIND_CHROOT_PREFIX}/var/run/named >/dev/null 2>&1;
if [ -e ${BIND_CHROOT_PREFIX}/etc/localtime ] && [ -e /etc/localtime ] ; then
/usr/bin/chcon --reference=/etc/localtime ${BIND_CHROOT_PREFIX}/etc/localtime >/dev/null 2>&1;