#!/bin/sh

conf_=/etc/pacserve/pacserve-ports.conf
iptables_bin=/usr/bin/iptables
source "$conf_"

function add_rule_()
{
  if ! "$iptables_bin" -C $@ >/dev/null 2>&1
  then
    echo "running \"iptables -A $@\""
    "$iptables_bin" -A $@ || exit 1
  fi
}

function drop_rule_()
{
  if "$iptables_bin" -C $@ >/dev/null 2>&1
  then
    echo "running \"iptables -D $@\""
    "$iptables_bin" -D $@ || exit 1
  fi
}


action_="$1"
shift

case "$action_" in
  open)
    for rule_ in "${PACSERVE_RULES[@]}"
    do
      add_rule_ "$rule_"
    done
    ;;
  close)
    for rule_ in "${PACSERVE_RULES[@]}"
    do
      drop_rule_ "$rule_"
    done
    ;;
  *)
    echo "Open or close pacserve ports. Ports can be configured in $conf_"
    echo
    echo "usage: $0 <open|close>"
    echo
    for (( i_=0; i_<"${#PACSERVE_RULES[@]}"; i_++ ))
    do
      echo "rule $i_: ${PACSERVE_RULES[i_]}"
    done
    ;;
esac
