chown -R squid:squid /var/log/squid
chown -R squid:squid /var/log/squidGuard
+
transparent() {
DEVICE=$1
-
+
eval $(/usr/local/bin/readhash /var/ipfire/ethernet/settings)
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
evaluate_retval
exit
fi
+
+
+ eval $(/usr/local/bin/readhash /var/ipfire/proxy/advanced/settings)
+ 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 "Starting Squid Proxy Server..."
loadproc /usr/sbin/squid -z >/dev/null 2>&1
loadproc /usr/sbin/squid
fi
- eval $(/usr/local/bin/readhash /var/ipfire/ethernet/settings)
-
if [ -e /var/ipfire/proxy/transparent ]; then
transparent $GREEN_DEV
fi
boot_mesg "Stopping Squid Proxy Server..."
squid -k shutdown >/dev/null 2>&1
evaluate_retval
- killproc /usr/bin/squidGuard >/dev/null
- killproc /usr/sbin/updxlrator >/dev/null
+
+ # Stop squidGuard, updxlrator, squidclamav
+ # and redirect_wrappers.
+ killproc /usr/bin/squidGuard >/dev/null &
+ killproc /usr/sbin/updxlrator >/dev/null &
+ killproc /usr/bin/squidclamav >/dev/null &
+ killproc /usr/sbin/redirect_wrapper >/dev/null &
+
+ # Wait until all redirectors have been stopped.
+ wait
+
+ # If squid is still running, wait up to 30 seconds
+ # before we go on to kill it.
+ counter=30
+
+ while [ ${counter} -gt 0 ]; do
+ statusproc /usr/sbin/squid >/dev/null && break;
+ sleep 1
+ counter=$(( ${counter} - 1))
+ done
+
+ # Kill squid service, if still running.
killproc /usr/sbin/squid >/dev/null
+
+ # Trash remain pid file from squid.
rm -rf /var/run/squid.pid
fi
;;