<feed xmlns='http://www.w3.org/2005/Atom'>
<title>iptables, branch master</title>
<subtitle>iptables tree</subtitle>
<link rel='alternate' type='text/html' href='http://git.netfilter.org/iptables/'/>
<entry>
<title>extensions: physdev: add regression test for mask size</title>
<updated>2026-07-10T10:44:02+00:00</updated>
<author>
<name>Florian Westphal</name>
<email>fw@strlen.de</email>
</author>
<published>2026-07-10T10:42:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.netfilter.org/iptables/commit/?id=84faa6b539e79156a29f375a4eb14c24ec60be0b'/>
<id>84faa6b539e79156a29f375a4eb14c24ec60be0b</id>
<content type='text'>
This rule fails on recent kernels because of bogus mask
check added in kernel commit
8df772afc9d0 ("netfilter: x_physdev: reject empty or not-nul terminated device names").

Signed-off-by: Florian Westphal &lt;fw@strlen.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This rule fails on recent kernels because of bogus mask
check added in kernel commit
8df772afc9d0 ("netfilter: x_physdev: reject empty or not-nul terminated device names").

Signed-off-by: Florian Westphal &lt;fw@strlen.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: shell: add test case for connlimit match</title>
<updated>2026-05-29T14:41:43+00:00</updated>
<author>
<name>Florian Westphal</name>
<email>fw@strlen.de</email>
</author>
<published>2026-05-29T14:37:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.netfilter.org/iptables/commit/?id=5ef190fb293a97b1384bcac1f4f518f8091ecbb3'/>
<id>5ef190fb293a97b1384bcac1f4f518f8091ecbb3</id>
<content type='text'>
Check that basic functionality is there, 2 connections -&gt; ok, 3rd
connect -&gt; fail, connect to different port -&gt; ok, reconnect after
earlier ones have terminated -&gt; ok.

Assisted-by: Claude:claude-sonnet-4-6
Signed-off-by: Florian Westphal &lt;fw@strlen.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Check that basic functionality is there, 2 connections -&gt; ok, 3rd
connect -&gt; fail, connect to different port -&gt; ok, reconnect after
earlier ones have terminated -&gt; ok.

Assisted-by: Claude:claude-sonnet-4-6
Signed-off-by: Florian Westphal &lt;fw@strlen.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: shell: add test case for checkentry hook validations</title>
<updated>2026-04-23T15:21:08+00:00</updated>
<author>
<name>Florian Westphal</name>
<email>fw@strlen.de</email>
</author>
<published>2026-04-19T13:37:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.netfilter.org/iptables/commit/?id=f9ed681f9c8896d7f09f21a8425983fb5ccf6114'/>
<id>f9ed681f9c8896d7f09f21a8425983fb5ccf6114</id>
<content type='text'>
A few matches/targets reject based on the calling hook mask
from their checkentry functions.  Some are cosmetic (reject
nonsensical rule that would not work, but others are mandatory
rejects, in particular TCPMSS which may need skb_dst()
depending on the requested mode of operation.

For -legacy this yields:
xt_TCPMSS: path-MTU clamping only supported in FORWARD, OUTPUT and POSTROUTING hooks
xt_addrtype: output interface limitation not valid in PREROUTING and INPUT
xt_addrtype: input interface limitation not valid in POSTROUTING and OUTPUT
xt_physdev: --physdev-out and --physdev-is-out only supported in the FORWARD and POSTROUTING chains with bridged traffic
xt_physdev: --physdev-out and --physdev-is-out only supported in the FORWARD and POSTROUTING chains with bridged traffic
xt_policy: input policy not valid in POSTROUTING and OUTPUT
xt_policy: output policy not valid in PREROUTING and INPUT

... in dmesg.  -j SET is currently missing, could be added
later (needs an existing ipset).

Signed-off-by: Florian Westphal &lt;fw@strlen.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A few matches/targets reject based on the calling hook mask
from their checkentry functions.  Some are cosmetic (reject
nonsensical rule that would not work, but others are mandatory
rejects, in particular TCPMSS which may need skb_dst()
depending on the requested mode of operation.

For -legacy this yields:
xt_TCPMSS: path-MTU clamping only supported in FORWARD, OUTPUT and POSTROUTING hooks
xt_addrtype: output interface limitation not valid in PREROUTING and INPUT
xt_addrtype: input interface limitation not valid in POSTROUTING and OUTPUT
xt_physdev: --physdev-out and --physdev-is-out only supported in the FORWARD and POSTROUTING chains with bridged traffic
xt_physdev: --physdev-out and --physdev-is-out only supported in the FORWARD and POSTROUTING chains with bridged traffic
xt_policy: input policy not valid in POSTROUTING and OUTPUT
xt_policy: output policy not valid in PREROUTING and INPUT

... in dmesg.  -j SET is currently missing, could be added
later (needs an existing ipset).

Signed-off-by: Florian Westphal &lt;fw@strlen.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>extensions: libipt_REJECT: Drop ancient kernel compat hack</title>
<updated>2026-04-18T08:37:41+00:00</updated>
<author>
<name>Tommi Rantala</name>
<email>tommi.rantala@cujo.com</email>
</author>
<published>2026-04-15T15:57:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.netfilter.org/iptables/commit/?id=5812fe5585e7187753439a654ccf1dbc4c7c515a'/>
<id>5812fe5585e7187753439a654ccf1dbc4c7c515a</id>
<content type='text'>
The IPT_ICMP_ADMIN_PROHIBITED fallback define and associated
compatibility notes were relevant for 2.4 kernels. The INCOMPATIBILITIES
file referencing these was already dropped in commit 92ce78d04677
("Drop INCOMPATIBILITIES file"), so clean up the remaining leftovers in
the REJECT extension source and man page.

Signed-off-by: Tommi Rantala &lt;tommi.rantala@cujo.com&gt;
Signed-off-by: Florian Westphal &lt;fw@strlen.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The IPT_ICMP_ADMIN_PROHIBITED fallback define and associated
compatibility notes were relevant for 2.4 kernels. The INCOMPATIBILITIES
file referencing these was already dropped in commit 92ce78d04677
("Drop INCOMPATIBILITIES file"), so clean up the remaining leftovers in
the REJECT extension source and man page.

Signed-off-by: Tommi Rantala &lt;tommi.rantala@cujo.com&gt;
Signed-off-by: Florian Westphal &lt;fw@strlen.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>arptables: Warn when ignoring '-p' option</title>
<updated>2026-04-04T09:37:56+00:00</updated>
<author>
<name>Phil Sutter</name>
<email>phil@nwl.cc</email>
</author>
<published>2026-04-02T14:20:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.netfilter.org/iptables/commit/?id=264d7572c7fb31b015f2428ef2ade47318652efc'/>
<id>264d7572c7fb31b015f2428ef2ade47318652efc</id>
<content type='text'>
Legacy arptables has been silently ignoring this flag (plus mandatory
argument) since day 1. Retain compatibility to that behaviour but inform
users that a part of their rule does nothing.

Since arp is the only family which didn't provide a proto_parse
callback, implement one for the sole purpose of printing the warning. As
a side-effect, caller no longer has to check callback's existence.

Signed-off-by: Phil Sutter &lt;phil@nwl.cc&gt;
Acked-by: Pablo Neira Ayuso &lt;pablo@netfilter.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Legacy arptables has been silently ignoring this flag (plus mandatory
argument) since day 1. Retain compatibility to that behaviour but inform
users that a part of their rule does nothing.

Since arp is the only family which didn't provide a proto_parse
callback, implement one for the sole purpose of printing the warning. As
a side-effect, caller no longer has to check callback's existence.

Signed-off-by: Phil Sutter &lt;phil@nwl.cc&gt;
Acked-by: Pablo Neira Ayuso &lt;pablo@netfilter.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>xtables-translate: Return non-zero if translation fails</title>
<updated>2026-03-13T11:35:14+00:00</updated>
<author>
<name>Phil Sutter</name>
<email>phil@nwl.cc</email>
</author>
<published>2026-03-10T16:22:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.netfilter.org/iptables/commit/?id=781a87c08be51bd874c196e1555073eb7a3cbc09'/>
<id>781a87c08be51bd874c196e1555073eb7a3cbc09</id>
<content type='text'>
Untranslated parts in output are easily overlooked and also don't disrupt
piping into nft (which is a bad idea to begin with), so make a little
noise if things go sideways:

| # iptables-translate -A FORWARD -m recent --set
| nft # -A FORWARD -m recent --set
| Translation not (fully) implemented

| # cat /tmp/input.ipt
| *filter
| -A FORWARD -s 1.2.3.4
| -A FORWARD -m recent --set
| COMMIT
| # iptables-restore-translate -f /tmp/input.ipt
| # Translated by iptables-restore-translate v1.8.13 on Tue Mar 10 17:29:17 2026
| add table ip filter
| add rule ip filter FORWARD ip saddr 1.2.3.4 counter
| # -t filter -A FORWARD -m recent --set
| iptables-translate-restore: line 3 failed

Signed-off-by: Phil Sutter &lt;phil@nwl.cc&gt;
Acked-by: Florian Westphal &lt;fw@strlen.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Untranslated parts in output are easily overlooked and also don't disrupt
piping into nft (which is a bad idea to begin with), so make a little
noise if things go sideways:

| # iptables-translate -A FORWARD -m recent --set
| nft # -A FORWARD -m recent --set
| Translation not (fully) implemented

| # cat /tmp/input.ipt
| *filter
| -A FORWARD -s 1.2.3.4
| -A FORWARD -m recent --set
| COMMIT
| # iptables-restore-translate -f /tmp/input.ipt
| # Translated by iptables-restore-translate v1.8.13 on Tue Mar 10 17:29:17 2026
| add table ip filter
| add rule ip filter FORWARD ip saddr 1.2.3.4 counter
| # -t filter -A FORWARD -m recent --set
| iptables-translate-restore: line 3 failed

Signed-off-by: Phil Sutter &lt;phil@nwl.cc&gt;
Acked-by: Florian Westphal &lt;fw@strlen.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nft: Use the current name for the desired NFTNL_EXPR_BITWISE_OP</title>
<updated>2026-03-05T22:17:18+00:00</updated>
<author>
<name>Phil Sutter</name>
<email>phil@nwl.cc</email>
</author>
<published>2026-02-14T15:05:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.netfilter.org/iptables/commit/?id=5c7377b88a0f6c64133052ce69cdd659bf39564a'/>
<id>5c7377b88a0f6c64133052ce69cdd659bf39564a</id>
<content type='text'>
Since refreshing nf_tables.h, the new name is available.

Signed-off-by: Phil Sutter &lt;phil@nwl.cc&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since refreshing nf_tables.h, the new name is available.

Signed-off-by: Phil Sutter &lt;phil@nwl.cc&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>include: linux: nf_tables.h: Sync with current kernel UAPI headers</title>
<updated>2026-03-05T22:17:18+00:00</updated>
<author>
<name>Phil Sutter</name>
<email>phil@nwl.cc</email>
</author>
<published>2026-02-14T14:57:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.netfilter.org/iptables/commit/?id=52d3ada0cfbfee70ec5a17487eee0875e0e67820'/>
<id>52d3ada0cfbfee70ec5a17487eee0875e0e67820</id>
<content type='text'>
We want NFT_BITWISE_MASK_XOR, use the occasion to sync it entirely.

Signed-off-by: Phil Sutter &lt;phil@nwl.cc&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We want NFT_BITWISE_MASK_XOR, use the occasion to sync it entirely.

Signed-off-by: Phil Sutter &lt;phil@nwl.cc&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: iptables-test, xlate-test: use `os.unshare` Python function</title>
<updated>2026-03-05T10:53:57+00:00</updated>
<author>
<name>Jeremy Sowden</name>
<email>jeremy@azazel.net</email>
</author>
<published>2026-03-04T18:13:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.netfilter.org/iptables/commit/?id=4986dbaefd1c8b79de92f7d8ac2aea5de04b029e'/>
<id>4986dbaefd1c8b79de92f7d8ac2aea5de04b029e</id>
<content type='text'>
Since Python 3.12 the standard library has included an `os.unshare` function.
Use it if it is available.

Signed-off-by: Jeremy Sowden &lt;jeremy@azazel.net&gt;
Signed-off-by: Phil Sutter &lt;phil@nwl.cc&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since Python 3.12 the standard library has included an `os.unshare` function.
Use it if it is available.

Signed-off-by: Jeremy Sowden &lt;jeremy@azazel.net&gt;
Signed-off-by: Phil Sutter &lt;phil@nwl.cc&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>configure: Bump version for 1.8.13 release</title>
<updated>2026-03-03T23:41:48+00:00</updated>
<author>
<name>Pablo Neira Ayuso</name>
<email>pablo@netfilter.org</email>
</author>
<published>2026-03-03T23:41:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.netfilter.org/iptables/commit/?id=afd52551c98871b8ac0321eed8efa0845956037c'/>
<id>afd52551c98871b8ac0321eed8efa0845956037c</id>
<content type='text'>
Signed-off-by: Pablo Neira Ayuso &lt;pablo@netfilter.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Pablo Neira Ayuso &lt;pablo@netfilter.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
