aboutsummaryrefslogtreecommitdiffstats
path: root/extra/clamav/freshclam.initd
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2009-07-02 17:30:47 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2009-07-02 17:30:47 +0000
commit0c4a43f330873842ae85f7f41a923454b8ce4812 (patch)
tree96cbd7bbb6a650123c4585d3bbf211df966c440d /extra/clamav/freshclam.initd
parent439bbcd25575f703552d5c0740b1019693ddd19a (diff)
extra/clamav: make a default config that works out of the box
this includes fixes to init.d scripts, and logrotate config
Diffstat (limited to 'extra/clamav/freshclam.initd')
-rw-r--r--extra/clamav/freshclam.initd36
1 files changed, 30 insertions, 6 deletions
diff --git a/extra/clamav/freshclam.initd b/extra/clamav/freshclam.initd
index e4643bc6092..7961c7f8070 100644
--- a/extra/clamav/freshclam.initd
+++ b/extra/clamav/freshclam.initd
@@ -1,23 +1,32 @@
#!/sbin/runscript
+opts="logfix reload"
+
NAME=freshclam
DAEMON=/usr/bin/$NAME
+CONF=/etc/clamav/freshclam.conf
depend() {
need net
}
start() {
- ebegin "Starting ${NAME}"
- start-stop-daemon --start --quiet --background \
- --exec ${DAEMON} -- -d ${OPTS}
- eend $?
+ ebegin "Starting freshclam"
+ start-stop-daemon --start --quiet \
+ --nicelevel ${FRESHCLAM_NICELEVEL:-0} \
+ --exec /usr/bin/freshclam -- -d
+ retcode=$?
+ if [ ${retcode} = 1 ]; then
+ eend 0
+ einfo "Virus databases are already up to date."
+ else
+ eend ${retcode} "Failed to start freshclam"
+ fi
}
stop() {
ebegin "Stopping ${NAME}"
- start-stop-daemon --stop --quiet \
- --exec ${DAEMON} --name $NAME \
+ start-stop-daemon --stop --quiet --name ${NAME}
eend $?
}
@@ -32,3 +41,18 @@ reload() {
eend $?
}
+
+logfix() {
+ # fix freshclam log permissions
+ # (might be clobbered by logrotate or something)
+ logfile=$(awk '$1 == "UpdateLogFile" { print $2 }' $CONF)
+ local freshclam_user=$(awk '$1 == "DatabaseOwner" { print $2 }' $CONF)
+ if [ -n "${logfile}" -a -n "${clamav_user}" ]; then
+ if [ ! -f "${logfile}" ]; then
+ touch ${logfile}
+ fi
+ chown ${freshclam_user} ${logfile}
+ chmod 640 ${logfile}
+ fi
+}
+