<feed xmlns='http://www.w3.org/2005/Atom'>
<title>firewall4, 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>2025-03-17T17:36:00Z</updated>
<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>config: drop to-be-forwarded-nowhere packets on wans</title>
<updated>2025-03-17T15:46:41Z</updated>
<author>
<name>Andris PE</name>
</author>
<published>2024-02-29T14:17:03Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firewall4/commit/?id=97962771aa3c490d6186e64015f85dd66254fdf0'/>
<id>urn:sha1:97962771aa3c490d6186e64015f85dd66254fdf0</id>
<content type='text'>
Dropping packets with no clear forward destination is nicer than rejecting
them. Especially when some providers punish users for spoofing caused by
their noisy infra.

Fixes: https://github.com/openwrt/openwrt/issues/13340
Signed-Off-By: Andris PE &lt;neandris@gmail.com&gt;
</content>
</entry>
<entry>
<title>init: remove unnecessary stop logic</title>
<updated>2025-03-17T15:44:40Z</updated>
<author>
<name>Andris PE</name>
</author>
<published>2024-09-02T15:38:59Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firewall4/commit/?id=00fc6943a29732375addf72a12f2381df5b25428'/>
<id>urn:sha1:00fc6943a29732375addf72a12f2381df5b25428</id>
<content type='text'>
Always remove table and service state to have consistent cleaned up
system state on exit even if user intentionally dropped our table.
Removes dependency on grep as a consequence.

Ref: https://wiki.nftables.org/wiki-nftables/index.php/Configuring_tables
Supersedes: https://github.com/openwrt/firewall4/pull/33
Signed-off-by: Andris PE &lt;neandris@gmail.com&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>
<entry>
<title>init: use the reload data trigger to reload firewall on procd data changes</title>
<updated>2024-12-18T09:34:15Z</updated>
<author>
<name>Felix Fietkau</name>
</author>
<published>2024-12-17T19:05:44Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firewall4/commit/?id=18fc0ead19faf06b8ce7ec5be84957278e942dfa'/>
<id>urn:sha1:18fc0ead19faf06b8ce7ec5be84957278e942dfa</id>
<content type='text'>
This allows properly handling dynamic changes to firewall rules added via
procd data.

Signed-off-by: Felix Fietkau &lt;nbd@nbd.name&gt;
</content>
</entry>
<entry>
<title>fw4: skip not existing netdev names in flowtable device list</title>
<updated>2024-06-03T14:49:40Z</updated>
<author>
<name>Jo-Philipp Wich</name>
</author>
<published>2024-06-03T14:49:40Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firewall4/commit/?id=dfbcc1cd127c78fc61bb870d36d2512b571d223b'/>
<id>urn:sha1:dfbcc1cd127c78fc61bb870d36d2512b571d223b</id>
<content type='text'>
In case interface configurations are present which refer to not existing
network devices, such device names might end up in the flowtable list,
leading to `No such file or directory` errors when attempting to load
the resulting ruleset.

Solve this issue by testing for each netdev name whether it refers to
an existing device.

Fixes: e009588 ("fw4: do not add physical devices for soft offload")
Signed-off-by: Jo-Philipp Wich &lt;jo@mein.io&gt;
</content>
</entry>
<entry>
<title>fw4: do not add physical devices for soft offload</title>
<updated>2024-05-31T22:13:05Z</updated>
<author>
<name>Jo-Philipp Wich</name>
</author>
<published>2024-03-15T08:49:33Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firewall4/commit/?id=e00958884416f59b273595f941d198de63acc1dd'/>
<id>urn:sha1:e00958884416f59b273595f941d198de63acc1dd</id>
<content type='text'>
Let kernel heuristics take care of offloading decapsulation.

When software flow offloading is requested, avoid manually resolving and
adding lower physical devices to the flow table in order to let kernel
heuristics deal with the proper offloading en/decapsulation.

Fixes: https://github.com/openwrt/openwrt/issues/13410
Ref: https://github.com/openwrt/openwrt/issues/10224
Submitted-by: Andris PE &lt;neandris@gmail.com&gt;
[refactor code, reword commit message]
Signed-off-by: Jo-Philipp Wich &lt;jo@mein.io&gt;
</content>
</entry>
<entry>
<title>fw4: substitute double quotes in strings</title>
<updated>2024-05-21T06:54:02Z</updated>
<author>
<name>Jo-Philipp Wich</name>
</author>
<published>2024-05-21T06:54:02Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firewall4/commit/?id=4c01d1ebf99e8ecfa69758a9b4f450ecef7b93cd'/>
<id>urn:sha1:4c01d1ebf99e8ecfa69758a9b4f450ecef7b93cd</id>
<content type='text'>
The nftables parser has no concept of escape characters in quoted strings,
nor does it support alternative quoting styles so it is currently
impossible to emit double quoted strings containing double quotes.

This could cause nftables to choke on generated rulesets that contain
strings with embedded quotes, e.g. within firewall rule comments.

Since firewall3 (iptables based) historically allowed arbitrary characters
in comments and since we want to stay backwards compatible with existing
uci configurations we can not restrict the allowed input values either.

Work around the issue by substituting all double quotes with single quotes
when quoting strings for interpolation into the ruleset.

Fixes: https://github.com/openwrt/luci/issues/7091
Signed-off-by: Jo-Philipp Wich &lt;jo@mein.io&gt;
</content>
</entry>
</feed>
