Blame tests/shell/testcases/rule_management/0001addinsertposition_0
|
Packit Service |
e7ae83 |
#!/bin/bash
|
|
Packit Service |
e7ae83 |
|
|
Packit Service |
e7ae83 |
# tests for Netfilter bug #965 and the related fix
|
|
Packit Service |
e7ae83 |
# (regarding rule management with a given position/handle spec)
|
|
Packit Service |
e7ae83 |
|
|
Packit Service |
e7ae83 |
set -e
|
|
Packit Service |
e7ae83 |
|
|
Packit Service |
e7ae83 |
RULESET="flush ruleset
|
|
Packit Service |
e7ae83 |
table ip t {
|
|
Packit Service |
e7ae83 |
chain c {
|
|
Packit Service |
e7ae83 |
accept
|
|
Packit Service |
e7ae83 |
accept
|
|
Packit Service |
e7ae83 |
}
|
|
Packit Service |
e7ae83 |
}"
|
|
Packit Service |
e7ae83 |
|
|
Packit Service |
e7ae83 |
EXPECTED="table ip t {
|
|
Packit Service |
e7ae83 |
chain c {
|
|
Packit Service |
e7ae83 |
accept
|
|
Packit Service |
e7ae83 |
drop
|
|
Packit Service |
e7ae83 |
accept
|
|
Packit Service |
e7ae83 |
}
|
|
Packit Service |
e7ae83 |
}"
|
|
Packit Service |
e7ae83 |
|
|
Packit Service |
e7ae83 |
for arg in "position 2" "handle 2" "index 0"; do
|
|
Packit Service |
e7ae83 |
$NFT -f - <<< "$RULESET"
|
|
Packit Service |
e7ae83 |
$NFT add rule t c $arg drop || {
|
|
Packit Service |
e7ae83 |
$NFT list ruleset
|
|
Packit Service |
e7ae83 |
exit 1
|
|
Packit Service |
e7ae83 |
}
|
|
Packit Service |
e7ae83 |
|
|
Packit Service |
e7ae83 |
GET="$($NFT list ruleset)"
|
|
Packit Service |
e7ae83 |
if [ "$EXPECTED" != "$GET" ] ; then
|
|
Packit Service |
fbe584 |
$DIFF -u <(echo "$EXPECTED") <(echo "$GET")
|
|
Packit Service |
e7ae83 |
exit 1
|
|
Packit Service |
e7ae83 |
fi
|
|
Packit Service |
e7ae83 |
done
|
|
Packit Service |
e7ae83 |
|
|
Packit Service |
e7ae83 |
for arg in "position 3" "handle 3" "index 1"; do
|
|
Packit Service |
e7ae83 |
$NFT -f - <<< "$RULESET"
|
|
Packit Service |
e7ae83 |
$NFT insert rule t c $arg drop
|
|
Packit Service |
e7ae83 |
|
|
Packit Service |
e7ae83 |
GET="$($NFT list ruleset)"
|
|
Packit Service |
e7ae83 |
if [ "$EXPECTED" != "$GET" ] ; then
|
|
Packit Service |
fbe584 |
$DIFF -u <(echo "$EXPECTED") <(echo "$GET")
|
|
Packit Service |
e7ae83 |
exit 1
|
|
Packit Service |
e7ae83 |
fi
|
|
Packit Service |
e7ae83 |
done
|
|
Packit Service |
e7ae83 |
|
|
Packit Service |
e7ae83 |
EXPECTED="table ip t {
|
|
Packit Service |
e7ae83 |
chain c {
|
|
Packit Service |
e7ae83 |
accept
|
|
Packit Service |
e7ae83 |
accept
|
|
Packit Service |
e7ae83 |
drop
|
|
Packit Service |
e7ae83 |
}
|
|
Packit Service |
e7ae83 |
}"
|
|
Packit Service |
e7ae83 |
|
|
Packit Service |
e7ae83 |
for arg in "position 3" "handle 3" "index 1"; do
|
|
Packit Service |
e7ae83 |
$NFT -f - <<< "$RULESET"
|
|
Packit Service |
e7ae83 |
$NFT add rule t c $arg drop
|
|
Packit Service |
e7ae83 |
|
|
Packit Service |
e7ae83 |
GET="$($NFT list ruleset)"
|
|
Packit Service |
e7ae83 |
if [ "$EXPECTED" != "$GET" ] ; then
|
|
Packit Service |
fbe584 |
$DIFF -u <(echo "$EXPECTED") <(echo "$GET")
|
|
Packit Service |
e7ae83 |
exit 1
|
|
Packit Service |
e7ae83 |
fi
|
|
Packit Service |
e7ae83 |
done
|
|
Packit Service |
e7ae83 |
|
|
Packit Service |
e7ae83 |
EXPECTED="table ip t {
|
|
Packit Service |
e7ae83 |
chain c {
|
|
Packit Service |
e7ae83 |
drop
|
|
Packit Service |
e7ae83 |
accept
|
|
Packit Service |
e7ae83 |
accept
|
|
Packit Service |
e7ae83 |
}
|
|
Packit Service |
e7ae83 |
}"
|
|
Packit Service |
e7ae83 |
|
|
Packit Service |
e7ae83 |
for arg in "position 2" "handle 2" "index 0"; do
|
|
Packit Service |
e7ae83 |
$NFT -f - <<< "$RULESET"
|
|
Packit Service |
e7ae83 |
$NFT insert rule t c $arg drop
|
|
Packit Service |
e7ae83 |
|
|
Packit Service |
e7ae83 |
GET="$($NFT list ruleset)"
|
|
Packit Service |
e7ae83 |
if [ "$EXPECTED" != "$GET" ] ; then
|
|
Packit Service |
fbe584 |
$DIFF -u <(echo "$EXPECTED") <(echo "$GET")
|
|
Packit Service |
e7ae83 |
exit 1
|
|
Packit Service |
e7ae83 |
fi
|
|
Packit Service |
e7ae83 |
done
|