#! /bin/bash

# c't/ODS-Kommunikationsserver V3.1+    
# (c) Klaus Fller & Redaktion c't 1996
# Anpassung an Version 3.0 von Reiner Klaproth, klaproth@online.de
# header geaendert, efl, 23aug01
# Nutzung gem der GNU Public License  
# $Header: proxy-config V 3.1+, 27.9.99

# httpd-config <name>:<port>
#	Konfiuriert einen Parent-Proxy, oder schaltet ihn aus, wenn 
#	<Name> leer ist.

# Das ist kein Konfigurations-Attribut.  Das wird whrend des
# Betriebs an- und abgeschaltet, je nachdem, ob die Leitung nach auen 
# steht oder nicht.
CONF_FILE=/etc/squid/squid.conf

if ! [ -f $CONF_FILE.in ]; then
	egrep -v "cache_peer|offline_mode" $CONF_FILE > $CONF_FILE.in
fi
cp -f $CONF_FILE.in $CONF_FILE.tmp
	
if [ ! -z "$1" ]; then
	  if [ "$1" = "offline" ]; then
	    # Wir gehen auf offline-Mode
	    echo "offline_mode on" >> $CONF_FILE.tmp
	  else
	    ipn=`echo $1 | cut -d: -f1`
	    port=`echo $1 | cut -d: -f2`
	    echo "cache_peer $ipn parent $port 3130 " >> $CONF_FILE.tmp
	    echo "offline_mode off" >> $CONF_FILE.tmp
	  fi
	else 
	  echo "offline_mode off" >> $CONF_FILE.tmp
fi
# Wir machen nur was, wenn es sich lohnt!
difs=`diff $CONF_FILE $CONF_FILE.tmp`
if ! [ -z "$difs" ]; then
	rm -f $CONF_FILE
	mv -f $CONF_FILE.tmp $CONF_FILE
	chgrp squid $CONF_FILE
	chmod 640 $CONF_FILE
	/usr/squid/bin/squid -k reconfigure >/dev/null 2>&1
fi
exit 0
