[Shorewall-users] 1.2.10 Preview

Tom Eastep
Mon, 18 Mar 2002 17:10:16 -0000

Thanks, Dario -- I''ll take a look.

-Tom

----- Original Message -----
From: "Dario Lesca" <d.lesca@ivrea.osra.it>
To: "Shorewall Firewall" <shorewall-users@shorewall.net>
Sent: Monday, March 18, 2002 8:43 AM
Subject: Re: [Shorewall-users] 1.2.10 Preview


> ----- Original Message -----
> From: "Tom Eastep" <teastep@shorewall.net>
> >
> >     shorewall try <configuration directory>
> >
>
> Following your suggest into "Re: [Shorewall-users] HowTo avoid to be
close
> out
> when active a new configurations from remote host", I have generate
> the following script.
>
> Now that this option has been inserted into shorewall, I will throw mine
> script.
> Check if something could be useful for you (perhaps it is in Italian, if
you
> thing
> it could be useful for you i can translate the comment)
>
> Many Thanks.
>
> Dario Lesca
>
> -----------------[setupshwconf.sh]--------------
> #!/bin/bash
>
> # Run shorewall and get status ...
> function test_shorewall
> {
>         test $# != 2 && exit 1
>         config=$1
>         azione=$2
>         flog=/tmp/setupshwconf.log
>         stat=/tmp/setupshwconf.stat
>         function my_run {
>                 c=$2
>                 a=$3
>                 cmd="shorewall -c $c $a"
>                 date
>                 echo $cmd
>                 eval $cmd
>                 echo $? > $stat
>         }
>
>         rm -rf $stat
>
>         my_run shw_stat "$config" "$azione"
2>&1 |
>         awk -v flog=$flog ''{printf "."; print $0 >
flog}''
>
>         test -f $stat && st=$(cat $stat) || st=10
>         rm -rf $stat
>         echo " (status=$st)"
>
>         return $st
> }
>
> SHOREWALL=/etc/shorewall
> NEW_CONFIG=$(cd $1 && pwd -P)
> CURR_CONFIG=$SHOREWALL/Config/Current.cfg
>
> if [ ! -d "$1" ]
> then
>         echo "Usage: $(basename $0) {directory whit config file of
> shorewall}"
>         if test -f $CURR_CONFIG
>         then
>                 echo "       (last config files from: $(cat
$CURR_CONFIG))"
>         fi
>         exit 2
> fi
>
> echo "Verifica sintassi nuova configurazione ..."
> if ! test_shorewall $NEW_CONFIG check
> then
>         tput bel
>         echo "ATTENZIONE: I file utilizzati contengono qualche
errore"
>         echo "Procedura interrotta, nulla di fatto."
>         exit 1
> fi
>
> cat << EOF
> OK: File di configurazione privi di errori sintattici.
>
> Si procede ora con l''attivazione della nuova configurazione.
>
> Per prevenire eventuali errori di configurazione, dopo la sua
> attivazione verra'' richiesto di digitare la stringa OK.
>
> Se entro $sec secondi non verra'' digitato nulla, sara''
ripristinata
> la configurazione precedente, oppure disattivato il firewall nel
> caso nessuna configurazione sia stata ancora attivata.
>
> EOF
>
> sleep 3
>
> echo "Attivazione nuova configurazione ..."
> if ! test_shorewall $NEW_CONFIG restart
> then
>         tput bel
>         echo "ATTENZIONE: caricamento nuova configurazione
fallito!"
>         inp="ERROR!"
> else
>         echo "Nuova configurazione attivata."
>         echo
>
>         stty -echo
>         str="Per renderla operativa digitare OK entro %2d secondi:
"
>         nch=$(printf "$str" 0|wc -c)
>         sec=9
>         while [ -z "$inp" -a $sec != 0 ]
>         do
>                 tput bel
>                 printf "$str" $sec
>                 read -t 1 inp
>                 i=$nch
>                 while [ $i -gt 0 ]
>                 do
>                         printf " \b\b"
>                         i=$[$i - 1]
>                 done
>                 sec=$[$sec - 1]
>         done
>         stty echo
> fi
>
> if test "$inp" = OK
> then
>         echo "OK: Attivo la nuova configurazione."
>         cp -va $NEW_CONFIG/* $SHOREWALL/.
>         echo $NEW_CONFIG > $CURR_CONFIG
>
>         echo "Avvio la nuova configurazione ..."
>         azione=restart
> else
>         echo "ATTENZIONE!: La nuova configurazione non e''
stata attivata."
>         echo
>         if test -f $CURR_CONFIG
>         then
>                 echo "Ripristino la configurazione precedente
..."
>                 azione=restart
>         else
>                 echo "Disattivo il firewall ..."
>                 azione=clear
>         fi
> fi
> service shorewall $azione
>
> echo "Termime Procedura."
>
> --------------------------------[setupshwconf.sh]--------------
>
>
> _______________________________________________
> Shorewall-users mailing list
> Shorewall-users@shorewall.net
> http://www.shorewall.net/mailman/listinfo/shorewall-users
>