source: squid-ssl/trunk/fuentes/debian/squid-ssl.rc @ 5556

Last change on this file since 5556 was 5556, checked in by Juanma, 3 years ago

Fixed squid-ssl.rc descriptions

File size: 4.1 KB
Line 
1#! /bin/sh
2#
3# squid-ssl             Startup script for the SQUID-ssl HTTP proxy-cache.
4#
5# Version:      @(#)squid-ssl.rc  1.0  07-Jul-2006  luigi@debian.org
6#
7### BEGIN INIT INFO
8# Provides:          squid-ssl
9# Required-Start:    $network $remote_fs $syslog
10# Required-Stop:     $network $remote_fs $syslog
11# Should-Start:      $named
12# Should-Stop:       $named
13# Default-Start:     2 3 4 5
14# Default-Stop:      0 1 6
15# Short-Description: Squid-ssl HTTP Proxy version 3.x
16### END INIT INFO
17
18NAME=squid-ssl
19DESC="Squid-ssl HTTP Proxy"
20DAEMON=/usr/sbin/squid-ssl
21PIDFILE=/var/run/$NAME.pid
22CONFIG=/etc/squid-ssl/squid.conf
23SQUID_ARGS="-YC -f $CONFIG"
24
25[ ! -f /etc/default/squid-ssl ] || . /etc/default/squid-ssl
26
27. /lib/lsb/init-functions
28
29PATH=/bin:/usr/bin:/sbin:/usr/sbin
30
31[ -x $DAEMON ] || exit 0
32
33ulimit -n 65535
34
35find_cache_dir () {
36        w="     " # space tab
37        res=`$DAEMON -k parse -f $CONFIG 2>&1 |
38                grep "Processing:" |
39                sed s/.*Processing:\ // |
40                sed -ne '
41                        s/^['"$w"']*'$1'['"$w"']\+[^'"$w"']\+['"$w"']\+\([^'"$w"']\+\).*$/\1/p;
42                        t end;
43                        d;
44                        :end q'`
45        [ -n "$res" ] || res=$2
46        echo "$res"
47}
48
49grepconf () {
50        w="     " # space tab
51        res=`$DAEMON -k parse -f $CONFIG 2>&1 |
52                grep "Processing:" |
53                sed s/.*Processing:\ // |
54                sed -ne '
55                        s/^['"$w"']*'$1'['"$w"']\+\([^'"$w"']\+\).*$/\1/p;
56                        t end;
57                        d;
58                        :end q'`
59        [ -n "$res" ] || res=$2
60        echo "$res"
61}
62
63create_run_dir () {
64        run_dir=/var/run/squid-ssl
65        usr=`grepconf cache_effective_user proxy`
66        grp=`grepconf cache_effective_group proxy`
67
68        if [ "$(dpkg-statoverride --list $run_dir)" = "" ] &&
69           [ ! -e $run_dir ] ; then
70                mkdir -p $run_dir
71                chown $usr:$grp $run_dir
72                [ -x /sbin/restorecon ] && restorecon $run_dir
73        fi
74}
75
76start () {
77        cache_dir=`find_cache_dir cache_dir`
78        cache_type=`grepconf cache_dir`
79        run_dir=/var/run/squid-ssl
80
81        #
82        # Create run dir (needed for several workers on SMP)
83        #
84        create_run_dir
85
86        #
87        # Create spool dirs if they don't exist.
88        #
89        if test -d "$cache_dir" -a ! -d "$cache_dir/00"
90        then
91                log_warning_msg "Creating $DESC cache structure"
92                $DAEMON -z -f $CONFIG
93                [ -x /sbin/restorecon ] && restorecon -R $cache_dir
94        fi
95
96        umask 027
97        ulimit -n 65535
98        cd $run_dir
99        start-stop-daemon --quiet --start \
100                --pidfile $PIDFILE \
101                --exec $DAEMON -- $SQUID_ARGS < /dev/null
102        return $?
103}
104
105stop () {
106        PID=`cat $PIDFILE 2>/dev/null`
107        start-stop-daemon --stop --quiet --pidfile $PIDFILE --exec $DAEMON
108        #
109        #       Now we have to wait until squid has _really_ stopped.
110        #
111        sleep 2
112        if test -n "$PID" && kill -0 $PID 2>/dev/null
113        then
114                log_action_begin_msg " Waiting"
115                cnt=0
116                while kill -0 $PID 2>/dev/null
117                do
118                        cnt=`expr $cnt + 1`
119                        if [ $cnt -gt 24 ]
120                        then
121                                log_action_end_msg 1
122                                return 1
123                        fi
124                        sleep 5
125                        log_action_cont_msg ""
126                done
127                log_action_end_msg 0
128                return 0
129        else
130                return 0
131        fi
132}
133
134cfg_pidfile=`grepconf pid_filename`
135if test "${cfg_pidfile:-none}" != "none" -a "$cfg_pidfile" != "$PIDFILE"
136then
137        log_warning_msg "squid.conf pid_filename overrides init script"
138        PIDFILE="$cfg_pidfile"
139fi
140
141case "$1" in
142    start)
143        res=`$DAEMON -k parse -f $CONFIG 2>&1 | grep -o "FATAL .*"`
144        if test -n "$res";
145        then
146                log_failure_msg "$res"
147                exit 3
148        else
149                log_daemon_msg "Starting $DESC" "$NAME"
150                if start ; then
151                        log_end_msg $?
152                else
153                        log_end_msg $?
154                fi
155        fi
156        ;;
157    stop)
158        log_daemon_msg "Stopping $DESC" "$NAME"
159        if stop ; then
160                log_end_msg $?
161        else
162                log_end_msg $?
163        fi
164        ;;
165    reload|force-reload)
166        res=`$DAEMON -k parse -f $CONFIG 2>&1 | grep -o "FATAL .*"`
167        if test -n "$res";
168        then
169                log_failure_msg "$res"
170                exit 3
171        else
172                log_action_msg "Reloading $DESC configuration files"
173                start-stop-daemon --stop --signal 1 \
174                        --pidfile $PIDFILE --quiet --exec $DAEMON
175                log_action_end_msg 0
176        fi
177        ;;
178    restart)
179        res=`$DAEMON -k parse -f $CONFIG 2>&1 | grep -o "FATAL .*"`
180        if test -n "$res";
181        then
182                log_failure_msg "$res"
183                exit 3
184        else
185                log_daemon_msg "Restarting $DESC" "$NAME"
186                stop
187                if start ; then
188                        log_end_msg $?
189                else
190                        log_end_msg $?
191                fi
192        fi
193        ;;
194    status)
195        status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit 3
196        ;;
197    *)
198        echo "Usage: /etc/init.d/$NAME {start|stop|reload|force-reload|restart|status}"
199        exit 3
200        ;;
201esac
202
203exit 0
Note: See TracBrowser for help on using the repository browser.