cvsextras 47272f4
#!/bin/bash
cvsextras 47272f4
#
cvsextras 47272f4
# Xchkconfig: - 75 25
cvsextras 47272f4
# Xdescription: The clamd daemon listens for incoming connections on		\
cvsextras 47272f4
#               Unix or TCP socket and scans files or directories on demand.
cvsextras 47272f4
cvsextras 47272f4
test "$CLAMD_SERVICE" || {
cvsextras 47272f4
    echo $"*** $0 can not be called in this way"
cvsextras 47272f4
    echo $"*** Please see /usr/share/doc/clamav-server-*/README how"
cvsextras 47272f4
    echo $"*** the clamav-server can be configured"
cvsextras 47272f4
    exit 6
cvsextras 47272f4
}
cvsextras 47272f4
cvsextras 47272f4
# Source function library.
cvsextras 47272f4
. /etc/init.d/functions
cvsextras 47272f4
cvsextras 47272f4
# Get config.
cvsextras 47272f4
test -r /etc/sysconfig/network && . /etc/sysconfig/network
cvsextras 47272f4
cvsextras 47272f4
# Check that networking is up.
cvsextras 47272f4
test "$NETWORKING" != "no" || exit 6
cvsextras 47272f4
cvsextras 47272f4
lockfile=/var/lock/subsys/clamd.${CLAMD_SERVICE}
cvsextras 47272f4
sysconffile=/etc/sysconfig/clamd.${CLAMD_SERVICE}
cvsextras 47272f4
procname=clamd.${CLAMD_SERVICE}
cvsextras 47272f4
cvsextras 47272f4
CLAMD_CONFIGFILE=/etc/clamd.d/${CLAMD_SERVICE}.conf
cvsextras 47272f4
CLAMD_OPTIONS=
cvsextras 47272f4
## backward-compatibility check...
cvsextras 47272f4
for i in /var/run/clamd.${CLAMD_SERVICE}/clamd.sock \
cvsextras 47272f4
         /var/run/clamav.${CLAMD_SERVICE}/clamd.sock; do
cvsextras 47272f4
  CLAMD_SOCKET=$i
cvsextras 47272f4
  test ! -e "$i" || break
cvsextras 47272f4
done
cvsextras 47272f4
test -f "$sysconffile" && . "$sysconffile"
cvsextras 47272f4
cvsextras 47272f4
cvsextras 47272f4
RETVAL=0
cvsextras 47272f4
prog="clamd.${CLAMD_SERVICE}"
cvsextras 47272f4
cvsextras 47272f4
start () {
cvsextras 47272f4
	echo -n $"Starting $prog: "
cvsextras 47272f4
	daemon $procname  ${CLAMD_CONFIGFILE:+-c $CLAMD_CONFIGFILE} ${CLAMD_OPTIONS}
cvsextras 47272f4
	RETVAL=$?
cvsextras 47272f4
	echo
cvsextras 47272f4
	[ $RETVAL -eq 0 ] && touch $lockfile
cvsextras 47272f4
	return $RETVAL
cvsextras 47272f4
}
cvsextras 47272f4
cvsextras 47272f4
stop () {
cvsextras 47272f4
	echo -n $"Stopping $prog: "
cvsextras 47272f4
	killproc $procname
cvsextras 47272f4
	RETVAL=$?
cvsextras 47272f4
	echo
cvsextras 47272f4
	[ $RETVAL -eq 0 ] && rm -f touch $lockfile
cvsextras 47272f4
	return $RETVAL
cvsextras 47272f4
}
cvsextras 47272f4
cvsextras 47272f4
reload() {
cvsextras 47272f4
	rc=0
cvsextras 47272f4
	echo -n $"Reloading $prog: "
cvsextras 47272f4
	killproc $procname -SIGHUP  || rc=$?
cvsextras 47272f4
	echo
cvsextras 47272f4
	echo -n $"Loading new virus-database: "
cvsextras 47272f4
	killproc $procname -SIGUSR2 || rc=$?
cvsextras 47272f4
	echo
cvsextras 47272f4
	return $rc
cvsextras 47272f4
}
cvsextras 47272f4
cvsextras 47272f4
restart () {
cvsextras 47272f4
	stop
cvsextras 47272f4
	start
cvsextras 47272f4
}
cvsextras 47272f4
cvsextras 47272f4
# See how we were called.
cvsextras 47272f4
case "$1" in
cvsextras 47272f4
  start|stop|restart|reload)
cvsextras 47272f4
	$1 ;;
cvsextras 47272f4
  status)
cvsextras 47272f4
	status $procname ;;
cvsextras 47272f4
  condrestart)
cvsextras 47272f4
	test ! -f $lockfile || restart
cvsextras 47272f4
	;;
cvsextras 47272f4
  *)
cvsextras 47272f4
	echo $"Usage: $0 {start|stop|status|restart|reload|condrestart}"
cvsextras 47272f4
	exit 2
cvsextras 47272f4
esac