File: systemv-init.in

package info (click to toggle)
e2guardian 5.5.9-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 6,352 kB
  • sloc: cpp: 26,398; makefile: 640; sh: 324; perl: 55
file content (124 lines) | stat: -rwxr-xr-x 3,502 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
#!/bin/sh
#
# Startup script for e2guardian
#
# chkconfig: 35 92 8
# description: A web content filtering plugin for web \
#              proxies, developed to filter using lists of \
#              banned phrases, MIME types, filename \
#              extensions and PICS labelling.
# processname: e2guardian
# pidfile: @E2PIDDIR@/e2guardian.pid
# config: @E2CONFDIR@/e2guardian.conf

### BEGIN INIT INFO
# Provides:     e2guardian
# Required-Start:       squid
# Should-Start:
# Required-Stop:        squid
# Should-Stop:
# Default-Start:        3 5
# Default-Stop: 0 1 2 6
# Short-Description:    E2guardian web content filter
# Description:  E2guardian web content filter
### END INIT INFO

# File includes changes by Thomas Jarosch
function wait_for_pid()
{
    local PID=$1
    local RET=0
    
    if [ $PID -eq 0 ] ; then
        return $RET
    fi
    
    # give 60 secs then KILL
    local COUNTDOWN=60

    while [ -d /proc/${PID} ] && [ $COUNTDOWN -gt 0 ] ; do
        sleep 1
        COUNTDOWN=$[$COUNTDOWN-1]
    done

    if [ -d /proc/${PID} ]; then
        COMMAND=`ps h -o command ${PID}`
        logger "e2guardian: timeout waiting for PID ${PID}: ${COMMAND}; sending SIGKILL"
        kill -KILL $PID >/dev/null 2>&1
        RET=1
    fi
    
    return $RET
}

# See how we were called.

case "$1" in
start)
        if [ -f @E2BINDIR@/e2guardian ] &&
           [ -f @E2CONFDIR@/e2guardian.conf ]; then
                echo -n "Starting e2guardian: "
                if @E2BINDIR@/e2guardian 2> /dev/null; then
                        echo -e "\\033[60G\c"
                        echo -e "[ \\033[1;32m\c"
                        echo -e "OK\c"
                        echo -e "\\033[0;39m\c"
                        echo " ]"
                        [ -d /var/lock/subsys ] && touch /var/lock/subsys/e2guardian
                else
                        echo -e "\\033[60G\c"
                        echo -e "[ \\033[1;31m\c"
                        echo -e "FAILED\c"
                        echo -e "\\033[0;39m\c"
                        echo " ]"
                fi
        fi
        ;;
stop)
        echo -n "Shutting down e2guardian: "
        WAITPID=0
        if [ -f @E2PIDDIR@/e2guardian.pid ] ; then
            WAITPID=`cat @E2PIDDIR@/e2guardian.pid`
        fi
        if @E2BINDIR@/e2guardian -q 2> /dev/null; then
                if wait_for_pid $WAITPID ; then
                    echo -e "\\033[60G\c"
                    echo -e "[ \\033[1;32m\c"
                    echo -e "OK\c"
                    echo -e "\\033[0;39m\c"
                    echo " ]"
                else
                    echo -e "\\033[60G\c"
                    echo -e "[ \\033[1;31m\c"
                    echo -e "FAILED\c"
                    echo -e "\\033[0;39m\c"
                    echo " ]"
                fi
                /bin/rm -f @E2PIDDIR@/e2guardian.pid
                /bin/rm -f /tmp/.dguardianipc
                [ -d /var/lock/subsys ] && /bin/rm -f /var/lock/subsys/e2guardian
        else
                echo -e "\\033[60G\c"
                echo -e "[ \\033[1;31m\c"
                echo -e "FAILED\c"
                echo -e "\\033[0;39m\c"
                echo " ]"
        fi
        ;;
restart)
        $0 stop
        $0 start
        ;;
status)
        if [ -f @E2BINDIR@/e2guardian ]; then
                @E2BINDIR@/e2guardian -s
        fi
        ;;
        
*)

        echo "Usage: $0 {start|stop|restart|status}" >&2
        ;;
esac

exit 0