]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - src/initscripts/init.d/squid
squid: Implement intercept mode.
[people/pmueller/ipfire-2.x.git] / src / initscripts / init.d / squid
index 08a3029a202e802092fe4af0b5b2894a8aae99f2..c641c7d37987ce7fa753e4fc0df2aacba71da6d7 100644 (file)
@@ -15,8 +15,8 @@ transparent() {
                eval $(/usr/local/bin/readhash /var/ipfire/proxy/settings)
 
                # If the proxy port is not set we set the default to 800.
-               if [ -z $PROXY_PORT ]; then
-                       PROXY_PORT=800
+               if [ -z "${TRANSPARENT_PORT}" ]; then
+                       TRANSPARENT_PORT=800
                fi
 
                LOCALIP=`cat /var/ipfire/red/local-ipaddress | tr -d \n`
@@ -43,7 +43,7 @@ transparent() {
                
                iptables -t nat -A SQUID -i $1 -p tcp -d $LOCALIP --dport 80 -j RETURN
                
-               iptables -t nat -A SQUID -i $1 -p tcp --dport 80 -j REDIRECT --to-port $PROXY_PORT
+               iptables -t nat -A SQUID -i $1 -p tcp --dport 80 -j REDIRECT --to-port "${TRANSPARENT_PORT}"
 }
 
 case "$1" in
@@ -62,13 +62,25 @@ case "$1" in
                eval $(/usr/local/bin/readhash /var/ipfire/ethernet/settings)
 
                if [ -e /var/ipfire/proxy/enable -o -e /var/ipfire/proxy/enable_blue ]; then
-
                        # Add Address to errorpage stylesheet
                        sed "s|XXXhostXXX|$GREEN_ADDRESS|g" /var/ipfire/proxy/errorpage-$ERR_DESIGN.css > \
                                /etc/squid/errorpage.css
 
+                       boot_mesg "Creating Squid swap directories..."
+                       /usr/sbin/squid -z >/dev/null 2>&1
+                       evaluate_retval
+
+                       # Make sure, that the process above has finished.
+                       counter=5
+                       while [ ${counter} -gt 0 ]; do
+                               if pidofproc -s /usr/sbin/squid; then
+                                       sleep 1
+                               else
+                                       break
+                               fi
+                       done
+
                        boot_mesg "Starting Squid Proxy Server..."
-                       loadproc /usr/sbin/squid -z >/dev/null 2>&1
                        loadproc /usr/sbin/squid
                fi