summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjvdias <jvdias@fedoraproject.org>2005-10-19 21:48:56 +0000
committerjvdias <jvdias@fedoraproject.org>2005-10-19 21:48:56 +0000
commit38a73ea995f2080736f599208f7f5c11e33338cb (patch)
tree4e2687b93d8d0409d064ac6f8348bed1d054d41a
parente54aef0196a1ef25dd64e36bacb6e46cf6de9efc (diff)
downloadbind-38a73ea995f2080736f599208f7f5c11e33338cb.tar.gz
bind-38a73ea995f2080736f599208f7f5c11e33338cb.tar.xz
bind-38a73ea995f2080736f599208f7f5c11e33338cb.zip
handle named -c option properly; allow -D option to be used with
bind-chroot
-rwxr-xr-xnamed.init30
1 files changed, 16 insertions, 14 deletions
diff --git a/named.init b/named.init
index f9f00d7..ffe8260 100755
--- a/named.init
+++ b/named.init
@@ -19,6 +19,8 @@
[ -r /etc/sysconfig/named ] && . /etc/sysconfig/named
+[ -n "$ROOTDIR" ] && ROOTDIR=`echo $ROOTDIR | sed 's#//*#/#g;s#/$##'`
+
RETVAL=0
named='named'
if [[ "$ENABLE_SDB" = [yY1]* ]] && [ -x /usr/sbin/named_sdb ]; then
@@ -28,20 +30,20 @@ prog=$named
[ -x /usr/sbin/$named ] || exit 1
-named_conf=/etc/named.conf
-c_opt=0
-if echo "$OPTIONS" | egrep -q '(\<|['"'"'"\ \ ])-c'; then
- named_conf=`echo ${OPTIONS} | sed 's/^.*[\ \ ]-c[\ \ ]*//;s/[\ \ '"'"'"].*$//'`;
- c_opt=1;
-fi;
-
-[ -r ${ROOTDIR}/${named_conf} ] || exit 1
-
-if [ ${c_opt} -eq 0 ]; then
- named_conf='';
-fi;
-
-[ -n "$ROOTDIR" ] && ROOTDIR=`echo $ROOTDIR | sed 's#//*#/#g;s#/$##'`
+nmdcOption()
+{ let i=0;
+ for a in $*;
+ do ((++i));
+ if [ $a = -c ]; then
+ ((++i));
+ eval 'echo $'$i;
+ elif [[ $a = -c* ]]; then
+ echo ${a#-c};
+ fi;
+ done;
+}
+named_conf=`nmdcOption $OPTIONS`;
+[ -r ${ROOTDIR}/${named_conf:-etc/named.conf} ] || exit 1
start() {
# Start daemons.