summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--21-pdnsd46
1 files changed, 24 insertions, 22 deletions
diff --git a/21-pdnsd b/21-pdnsd
index 6952332..c9a7944 100644
--- a/21-pdnsd
+++ b/21-pdnsd
@@ -1,23 +1,25 @@
#!/bin/sh
-
-case "${reason}" in
- BOUND|REBIND|REBOOT|RENEW|TIMEOUT|STATIC)
- # Set the IP of "dynamic" entry for pdnsd
- SRVS=""
- for X in ${new_domain_name_servers}; do
- if [ -z "${SRVS}" ]; then
- SRVS="${X}"
- else
- SRVS="${SRVS},${X}"
- fi
- done
- pdnsd-ctl server dynamic up ${SRVS}
- ;;
- PREINIT|EXPIRE|FAIL|IPV4LL|NAK|NOCARRIER|RELEASE|STOP)
- # reset to values in /etc/pdnsd.conf
- pdnsd-ctl config
- ;;
- INFORM)
- # do nothing here
- ;;
-esac
+
+if pdnsd-ctl status >/dev/null 2>/dev/null; then
+ case "${reason}" in
+ BOUND|REBIND|REBOOT|RENEW|TIMEOUT|STATIC)
+ # Set the IP of "dynamic" entry for pdnsd
+ SRVS=""
+ for NAMESERVER in ${new_domain_name_servers}; do
+ if [ -z "${SRVS}" ]; then
+ SRVS="${NAMESERVER}"
+ else
+ SRVS="${SRVS},${NAMESERVER}"
+ fi
+ done
+ pdnsd-ctl server dynamic up ${SRVS}
+ ;;
+ PREINIT|EXPIRE|FAIL|IPV4LL|NAK|NOCARRIER|RELEASE|STOP)
+ # reset to values in /etc/pdnsd.conf
+ pdnsd-ctl config
+ ;;
+ INFORM)
+ # do nothing here
+ ;;
+ esac
+fi