]>
Commit | Line | Data |
---|---|---|
f7ff12a3 | 1 | #!/bin/sh |
66c36198 PM |
2 | ############################################################################### |
3 | # # | |
4 | # IPFire.org - A linux based firewall # | |
5 | # Copyright (C) 2007-2022 IPFire Team <info@ipfire.org> # | |
6 | # # | |
7 | # This program is free software: you can redistribute it and/or modify # | |
8 | # it under the terms of the GNU General Public License as published by # | |
9 | # the Free Software Foundation, either version 3 of the License, or # | |
10 | # (at your option) any later version. # | |
11 | # # | |
12 | # This program is distributed in the hope that it will be useful, # | |
13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of # | |
14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # | |
15 | # GNU General Public License for more details. # | |
16 | # # | |
17 | # You should have received a copy of the GNU General Public License # | |
18 | # along with this program. If not, see <http://www.gnu.org/licenses/>. # | |
19 | # # | |
20 | ############################################################################### | |
f7ff12a3 MT |
21 | |
22 | . /etc/sysconfig/rc | |
23 | . $rc_functions | |
24 | ||
25 | case "$1" in | |
26 | start) | |
bfa65be8 AF |
27 | if [ $(basename $0) == "clamav" ]; then |
28 | boot_mesg "Starting Clamav Definition Updater..." | |
29 | loadproc /usr/bin/freshclam -d -c 10 | |
4558108c | 30 | |
bfa65be8 | 31 | COUNTER=0 |
4558108c | 32 | while [ "$COUNTER" -lt "61" ]; do |
63decf77 | 33 | [ -e "/var/lib/clamav/main.cld" ] || \ |
aeefbca7 | 34 | [ -e "/var/lib/clamav/main.cvd" ] && \ |
63decf77 AF |
35 | [ -e "/var/lib/clamav/bytecode.cld" ] || \ |
36 | [ -e "/var/lib/clamav/bytecode.cvd" ] && \ | |
37 | [ -e "/var/lib/clamav/daily.cld" ] || \ | |
38 | [ -e "/var/lib/clamav/daily.cvd" ] && \ | |
bfa65be8 | 39 | break |
4558108c | 40 | if [ "$COUNTER" -lt "1" ]; then |
aeefbca7 | 41 | boot_mesg -n "Downloading database" |
4558108c AF |
42 | else |
43 | boot_mesg -n "." | |
44 | fi | |
45 | sleep 15 | |
bfa65be8 AF |
46 | COUNTER=$(($COUNTER + 1)) |
47 | done | |
4558108c AF |
48 | if [ "$COUNTER" -gt "0" ]; then |
49 | boot_mesg | |
50 | fi | |
51 | if [ "$COUNTER" -gt "60" ]; then | |
52 | boot_mesg "Download takes longer than 15min check freshclam status!" | |
53 | echo_failure; | |
54 | exit 1; | |
55 | fi | |
56 | ||
57 | boot_mesg "Starting Clamav Daemon..." | |
bfa65be8 AF |
58 | loadproc /usr/sbin/clamd |
59 | else | |
60 | boot_mesg "Starting Clamav in background..." | |
61 | /etc/init.d/clamav start > /dev/tty12 < /dev/tty12 & | |
62 | echo_ok; | |
63 | exit 0; | |
64 | fi | |
f7ff12a3 MT |
65 | ;; |
66 | ||
67 | stop) | |
68 | boot_mesg "Stopping Clamav Definition Updater..." | |
69 | killproc /usr/bin/freshclam | |
aeefbca7 | 70 | rm -rf /var/lib/clamav/*.tmp |
4558108c | 71 | |
f7ff12a3 MT |
72 | boot_mesg "Stopping Clamav Daemon..." |
73 | killproc /usr/sbin/clamd | |
74 | ;; | |
75 | ||
76 | restart) | |
77 | $0 stop | |
78 | sleep 1 | |
79 | $0 start | |
80 | ;; | |
81 | ||
82 | status) | |
83 | statusproc /usr/sbin/clamd | |
84 | statusproc /usr/bin/freshclam | |
85 | ;; | |
86 | ||
87 | *) | |
88 | echo "Usage: $0 {start|stop|restart|status}" | |
89 | exit 1 | |
90 | ;; | |
91 | esac |