Root/package/network/config/firewall/files/bin/fw

1#!/bin/sh
2FW_LIBDIR=/lib/firewall
3
4. /lib/functions.sh
5. ${FW_LIBDIR}/fw.sh
6
7case "$(type fw)" in
8    *function) ;;
9    *) exit 255;;
10esac
11
12usage() {
13    echo $0 "<command>" "<family>" "<table>" "<chain>" "<target>" "{" "<rules>" "}"
14    exit 0
15}
16
17cmd=$1
18shift
19case "$cmd" in
20    --help|help) usage ;;
21    start|stop|reload|restart)
22        . ${FW_LIBDIR}/core.sh
23        fw_$cmd
24        exit $?
25    ;;
26esac
27
28fam=$1
29shift
30case "$fam" in
31    ip)
32        fam=i
33        if [ $# -gt 2 ]; then
34            for p in $(seq 2 $(($# - 1))); do
35                if eval "[ \$$p == '}' ]"; then
36                    fam=I
37                    break
38                fi
39            done
40        fi ;;
41    ip4) fam=4 ;;
42    ip6) fam=6 ;;
43    arp) fam=a ;;
44    eth) fam=e ;;
45    -*) exec $0 $cmd ${fam##*-} "$@" ;;
46esac
47
48fw "$cmd" "$fam" "$@"
49exit $?
50

Archive Download this file



interactive