blob: 4cb2745bc252355aad4072e4828a4bf5e548af90 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
#!/bin/bash -x
die() {
echo "E: $@"
exit 1
}
cmds="iptables ip6tables"
[[ $XT_MULTI == *xtables-nft-multi ]] && cmds+=" arptables ebtables"
declare -A invnames
invnames["existing"]="c2"
invnames["spaced"]="foo bar"
invnames["dashed"]="-foo"
invnames["negated"]="!foo"
# XXX: ebtables-nft accepts 255 chars
#invnames["overlong"]="thisisquitealongnameforachain"
invnames["standard target"]="ACCEPT"
invnames["extension target"]="DNAT"
for cmd in $cmds; do
$XT_MULTI $cmd -N c1 || die "$cmd: can't add chain c1"
$XT_MULTI $cmd -N c2 || die "$cmd: can't add chain c2"
for key in "${!invnames[@]}"; do
val="${invnames[$key]}"
if [[ $key == "extension target" ]]; then
if [[ $cmd == "arptables" ]]; then
val="mangle"
elif [[ $cmd == "ebtables" ]]; then
val="dnat"
fi
fi
$XT_MULTI $cmd -N "$val" && \
die "$cmd: added chain with $key name"
$XT_MULTI $cmd -E c1 "$val" && \
die "$cmd: renamed to $key name"
done
done
exit 0
|