On Sun, Jul 21, 2019 at 02:14:07AM +0200, Florian Westphal wrote:
> This makes nft behave like 0.9.0 -- the ruleset
>
> flush ruleset
> table inet filter {
> }
> table inet filter {
> chain test {
> counter
> }
> }
>
> loads again without generating an error message.
> I've added a test case for this, without this it will create an error,
> and with a checkout of the 'fixes' tag we get crash.
>
> Closes: https://bugzilla.netfilter.org/show_bug.cgi?id=1351
This one should fix this bugzilla:
http://git.netfilter.org/nftables/commit/?id=3ab02db5f836ae0cf9fe7fba616d7eb52139d537
more comments below.
[...]
> diff --git a/tests/shell/testcases/cache/0003_cache_update_0
> b/tests/shell/testcases/cache/0003_cache_update_0
> index 05edc9c7c33e..fb4b0e24c790 100755
> --- a/tests/shell/testcases/cache/0003_cache_update_0
> +++ b/tests/shell/testcases/cache/0003_cache_update_0
> @@ -48,3 +48,15 @@ $NFT -f - >/dev/null <<EOF
> add rule ip t4 c meta l4proto igmp accept
> add rule ip t4 c index 2 drop
> EOF
> +
> +# Trigger a crash or rule restore error with nft 0.9.1
> +$NFT -f - >/dev/null <<EOF
> +flush ruleset
> +table inet testfilter {
> +}
> +table inet testfilter {
> + chain test {
> + counter
> + }
> +}
> +EOF
I have applied this test as an separated patch, thanks Florian.