Package: unbound Version: 1.4.16-1~bpo60+1 Severity: normal
The initscript for unbound doesn't support the 'status' command. This isn't LSB compatible and is hard to monitor. This patch adds this to the script. -- System Information: Debian Release: 6.0.4 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable') Architecture: amd64 (x86_64) Kernel: Linux 2.6.32-5-amd64 (SMP w/1 CPU core) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages unbound depends on: ii adduser 3.112+nmu2 add and remove users and groups ii libc6 2.11.3-3 Embedded GNU C Library: Shared lib ii libevent-1.4-2 1.4.13-stable-1 An asynchronous event notification ii libldns1 1.6.11-1~bpo60+1 ldns library for DNS programming ii libpython2.6 2.6.6-8+b1 Shared Python runtime library (ver ii libssl0.9.8 0.9.8o-4squeeze7 SSL shared libraries ii openssl 0.9.8o-4squeeze7 Secure Socket Layer (SSL) binary a ii unbound-anchor 1.4.16-1~bpo60+1 utility to securely fetch the root unbound recommends no packages. unbound suggests no packages. -- Configuration Files: /etc/unbound/unbound.conf changed [not included] -- no debconf information
--- unbound.orig 2012-03-30 10:57:44.687748433 +0200 +++ unbound 2012-03-30 11:18:30.507743942 +0200 @@ -88,6 +88,31 @@ fi } +do_status() { + echo -n "${NAME} is " + out="`/usr/sbin/unbound-control status 2>/dev/null`" + if [ $? -eq 0 ]; then # Running + echo "$out" | grep "running" | grep -q "`cat $PIDFILE`" + if [ $? -eq 0 ]; then + echo "running" + exit 0 + else # Data in PIDFILE is wrong + echo "running, but PIDFILE doesn't match" + exit 4 + fi + else # not running + echo -n "not running" + if [ -s $PIDFILE ]; then + echo " and a pid-file exists ($PIDFILE)" + exit 1 + fi + echo "" + exit 3 + fi + echo "unknown" + exit 4 +} + case "$1" in start) if $UNBOUND_ENABLE; then @@ -144,9 +169,13 @@ fi ;; + status) + do_status + ;; + *) N=/etc/init.d/$NAME - echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 + echo "Usage: $N {start|stop|restart|status|reload|force-reload}" >&2 exit 1 ;; esac