<feed xmlns='http://www.w3.org/2005/Atom'>
<title>firewall4/root/usr/share, branch master</title>
<subtitle>OpenWrt nftables firewall</subtitle>
<id>https://git.openwrt.org/project/firewall4/atom?h=master</id>
<link rel='self' href='https://git.openwrt.org/project/firewall4/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firewall4/'/>
<updated>2026-08-27T16:26:56Z</updated>
<entry>
<title>fw4: support forwardings in procd and netifd firewall data</title>
<updated>2026-08-27T16:26:56Z</updated>
<author>
<name>Daniel Golle</name>
</author>
<published>2026-06-04T21:50:38Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firewall4/commit/?id=c2ae8c8940a89407da32fbd662d4010ee2c9bbe6'/>
<id>urn:sha1:c2ae8c8940a89407da32fbd662d4010ee2c9bbe6</id>
<content type='text'>
Zones synthesised from published firewall data can now also declare
the forwardings between them. All zones are parsed before any
forwarding, so resolution is independent of declaration order.

Signed-off-by: Daniel Golle &lt;daniel@makrotopia.org&gt;
</content>
</entry>
<entry>
<title>fw4: support zones in procd and netifd firewall data</title>
<updated>2026-08-27T16:26:56Z</updated>
<author>
<name>Daniel Golle</name>
</author>
<published>2026-06-04T21:50:33Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firewall4/commit/?id=b263f8ccbda7ea103cdfe553b631663438d0725e'/>
<id>urn:sha1:b263f8ccbda7ea103cdfe553b631663438d0725e</id>
<content type='text'>
Zone specs were collected from published firewall data but never
parsed. Accept them from the netifd interface data channel and from
procd service data, keep their declared names, default their policies
to drop to stay fail-closed, and attribute diagnostics for malformed
specs to their publisher.

Signed-off-by: Daniel Golle &lt;daniel@makrotopia.org&gt;
</content>
</entry>
<entry>
<title>fw4: anchor per-interface ubus firewall specs by kind</title>
<updated>2026-08-27T16:26:24Z</updated>
<author>
<name>Daniel Golle</name>
</author>
<published>2026-06-04T21:50:24Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firewall4/commit/?id=d92213a9345efc984ff9c191e3b32eaedeac695d'/>
<id>urn:sha1:d92213a9345efc984ff9c191e3b32eaedeac695d</id>
<content type='text'>
Only rule and nat specs pin to the publishing interface device, which
protocol handlers such as 464xlat rely on; zone, forwarding, redirect
and ipset specs resolve through their own references, and an explicit
device on them is kept. An empty device opts a rule or nat out of the
pin and then requires a zone reference.

Signed-off-by: Daniel Golle &lt;daniel@makrotopia.org&gt;
</content>
</entry>
<entry>
<title>fw4: accept a source rewrite range for ICMP</title>
<updated>2026-08-27T16:26:05Z</updated>
<author>
<name>Daniel Golle</name>
</author>
<published>2026-08-22T12:30:31Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firewall4/commit/?id=2b55562cdfb294e6baae14fa41f8d2f4b5c30556'/>
<id>urn:sha1:2b55562cdfb294e6baae14fa41f8d2f4b5c30556</id>
<content type='text'>
A snat_port range on proto icmp maps the ICMP identifier rather than
a port. map.sh emits one per MAP-E portset (RFC 7597) and firewall3
accepted it, while fw4 rejects the section, breaking ICMP source NAT
for MAP. Accept the range for ICMP and infer the IPv6 family for
ipv6-icmp; port match options still require UDP or TCP.

Fixes: 59dbb982b7fe ("Initial commit")
Signed-off-by: Daniel Golle &lt;daniel@makrotopia.org&gt;
</content>
</entry>
<entry>
<title>fw4: warn about ubus firewall specs of unknown type</title>
<updated>2026-08-27T16:26:05Z</updated>
<author>
<name>Daniel Golle</name>
</author>
<published>2026-08-22T03:29:33Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firewall4/commit/?id=500d30940e55a0090a93c6a958df694be5a21340'/>
<id>urn:sha1:500d30940e55a0090a93c6a958df694be5a21340</id>
<content type='text'>
A typo in the type field silently disables the spec. Warn instead;
entries without a type field remain ignored as before.

Fixes: 59dbb982b7fe ("Initial commit")
Signed-off-by: Daniel Golle &lt;daniel@makrotopia.org&gt;
</content>
</entry>
<entry>
<title>fw4: skip zones with duplicate names</title>
<updated>2026-08-27T16:12:55Z</updated>
<author>
<name>Daniel Golle</name>
</author>
<published>2026-08-22T03:29:13Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firewall4/commit/?id=22afe51bed7cf42015eb2403a84b571c3c670ad8'/>
<id>urn:sha1:22afe51bed7cf42015eb2403a84b571c3c670ad8</id>
<content type='text'>
Same-named zones emit duplicate defines and nft rejects the whole
ruleset. Keep the first zone of a name, skip later ones with a
diagnostic; a zone published over ubus never displaces a uci zone.

Fixes: 59dbb982b7fe ("Initial commit")
Signed-off-by: Daniel Golle &lt;daniel@makrotopia.org&gt;
</content>
</entry>
<entry>
<title>fw4: fix reading kernel version</title>
<updated>2025-03-17T17:36:00Z</updated>
<author>
<name>Mieczyslaw Nalewaj</name>
</author>
<published>2024-11-20T17:52:26Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firewall4/commit/?id=b6e5157527d361f99ad52eaa6da273cb0f2dfd59'/>
<id>urn:sha1:b6e5157527d361f99ad52eaa6da273cb0f2dfd59</id>
<content type='text'>
Fix reading kernel version for kernels with revision 0 e.g. 6.12
Repair incorrect shift of the revision number causing incorrect value for &gt; 255.

Signed-off-by: Mieczyslaw Nalewaj &lt;namiltd@yahoo.com&gt;
</content>
</entry>
<entry>
<title>fw4: allow family `any` for ipsets not matching IP addresses</title>
<updated>2025-03-17T16:08:52Z</updated>
<author>
<name>Jo-Philipp Wich</name>
</author>
<published>2024-07-27T13:36:52Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firewall4/commit/?id=42d3b3d4ca214d967eabb1138be386ddd0665726'/>
<id>urn:sha1:42d3b3d4ca214d967eabb1138be386ddd0665726</id>
<content type='text'>
When filtering by MAC address, it is usually necessary to filter both IPv4
and IPv6.

If it is not allowed to set the family of ipset to any, it will be necessary
to create a separate, identical ipset for both IPv4 and IPv6.

Fixes: https://github.com/openwrt/firewall4/issues/16
Suggested-by: zsien &lt;i@zsien.cn&gt;
[fix redirect cases, reword commit subject, rewrap commit message]
Signed-off-by: Jo-Philipp Wich &lt;jo@mein.io&gt;
</content>
</entry>
<entry>
<title>Revert "fw4: allow family `any` for ipsets not matching IP addresses"</title>
<updated>2025-03-17T15:49:39Z</updated>
<author>
<name>Jo-Philipp Wich</name>
</author>
<published>2025-03-17T15:49:34Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firewall4/commit/?id=edfdfc6df48477e449935955d637b5f957f6c825'/>
<id>urn:sha1:edfdfc6df48477e449935955d637b5f957f6c825</id>
<content type='text'>
This reverts commit ad3cba79c19209beaff61279338b1146b343cdc1.

The proposed change does not cover all cases.

Signed-off-by: Jo-Philipp Wich &lt;jo@mein.io&gt;
</content>
</entry>
<entry>
<title>fw4: allow family `any` for ipsets not matching IP addresses</title>
<updated>2025-03-17T15:41:09Z</updated>
<author>
<name>Jo-Philipp Wich</name>
</author>
<published>2024-07-27T13:36:52Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firewall4/commit/?id=ad3cba79c19209beaff61279338b1146b343cdc1'/>
<id>urn:sha1:ad3cba79c19209beaff61279338b1146b343cdc1</id>
<content type='text'>
When filtering by MAC address, it is usually necessary to filter both IPv4
and IPv6.

If it is not allowed to set the family of ipset to any, it will be necessary
to create a separate, identical ipset for both IPv4 and IPv6.

Fixes: https://github.com/openwrt/firewall4/issues/16
Suggested-by: zsien &lt;i@zsien.cn&gt;
[reword commit subject, rewrap commit message]
Signed-off-by: Jo-Philipp Wich &lt;jo@mein.io&gt;
</content>
</entry>
</feed>
