#!/bin/sh
# $Id: create_rules,v 1.0.9.1 1998/06/01 19:35:24 jens Exp $
# $Date: 1998/06/01 19:35:24 $
#
# File: create_rules
# Desc: Update all rules-files
# 
# Author : Jens Hellmerichs-Friedrich
# 
#   This program is free software; you can redistribute it and/or modify
#   it under the terms of the GNU General Public License as published by
#   the Free Software Foundation; either version 2, or (at your option)
#   any later version.
#
#   This program is distributed in the hope that it will be useful,
#   but WITHOUT ANY WARRANTY; without even the implied warranty of
#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#   GNU General Public License for more details.
#
# (c) Copyright 1998 Jens Hellmerichs-Friedrich
#
# $Log: create_rules,v $
# Revision 1.0.9.1  1998/06/01 19:35:24  jens
# initial ci -r 1.0.9
#
# Revision 1.0  1998/06/01 19:32:58  jens
# initial ci -r 1.0
#
# 

# where is the firewall-package located ?
[ -z "$FWDIR" ] && FWDIR=`echo $0 | sed -e 's/[\/][A-Za-z0-9_\.-]*$//'`

usage ()
{
    echo "Usage: $0 all | Firewall | <service>"
    echo "all         create all files in $FWDIR/rules"
    echo "Firewall    create all files in $FWDIR/rules/Firewall"
    echo "<service>   create rules file in $FWDIR/rules/<service>.rules"
    exit 1
}
        
testing=false
verbose=false
setup=false

if [ "$#" -eq 0 ]; then
    for file in $FWDIR/rules/[a-z]*.rules; do
        rule=`basename $file | sed -e 's/\.rules//'`
        echo "update $rule.rules"
        $FWDIR/cgi-bin/create_service_rules.cgi $rule > /dev/null
    done
    echo "update Firewall-rules..."
    $FWDIR/cgi-bin/create_fw_rules.cgi > /dev/null
fi

while [ $# -gt 0 ]; do
  case "$1" in

      -h) usage;;

      all)
          for file in $FWDIR/rules/[a-z]*.rules; do
              rule=`basename $file | sed -e 's/\.rules//'`
              echo "update $rule.rules"
              $FWDIR/cgi-bin/create_service_rules.cgi $rule > /dev/null
          done
          echo "update Firewall-rules..."
          $FWDIR/cgi-bin/create_fw_rules.cgi > /dev/null
          ;;

      *)
          fw_svc="./"
          [ `echo "$1" | grep -i -c Firewall` -gt 0 ] && fw_svc="Firewall"
          if [ "$fw_svc" = Firewall ]; then
              echo "update Firewall-rules..."
              $FWDIR/cgi-bin/create_fw_rules.cgi > /dev/null
          else
              rule=`echo $1 | sed 's/^.*\///'`
              rule=`echo $rule | sed 's/\.rules$//'`
              $FWDIR/cgi-bin/create_service_rules.cgi $rule > /dev/null
          fi
          ;;

  esac
  shift
done
