* [ANNOUNCE] nftables 1.0.6 release
@ 2022-12-21 23:30 Pablo Neira Ayuso
2022-12-22 11:14 ` Arturo Borrero Gonzalez
0 siblings, 1 reply; 3+ messages in thread
From: Pablo Neira Ayuso @ 2022-12-21 23:30 UTC (permalink / raw)
To: netfilter, netfilter-devel; +Cc: netdev, netfilter-announce, lwn
[-- Attachment #1: Type: text/plain, Size: 5093 bytes --]
Hi!
The Netfilter project proudly presents:
nftables 1.0.6
This release contains enhancements and fixes:
- Fixes for the -o/--optimize, run this --optimize option to automagically
compact your ruleset using sets, maps and concatenations.
eg.
# cat ruleset.nft
table ip x {
chain y {
type filter hook input priority filter; policy drop;
meta iifname eth1 ip saddr 1.1.1.1 ip daddr 2.2.2.3 accept
meta iifname eth1 ip saddr 1.1.1.2 ip daddr 2.2.2.4 accept
meta iifname eth1 ip saddr 1.1.1.2 ip daddr 2.2.3.0/24 accept
meta iifname eth1 ip saddr 1.1.1.2 ip daddr 2.2.4.0-2.2.4.10 accept
meta iifname eth2 ip saddr 1.1.1.3 ip daddr 2.2.2.5 accept
}
}
# nft -o -c -f ruleset.nft
Merging:
ruleset.nft:4:17-74: meta iifname eth1 ip saddr 1.1.1.1 ip daddr 2.2.2.3 accept
ruleset.nft:5:17-74: meta iifname eth1 ip saddr 1.1.1.2 ip daddr 2.2.2.4 accept
ruleset.nft:6:17-77: meta iifname eth1 ip saddr 1.1.1.2 ip daddr 2.2.3.0/24 accept
ruleset.nft:7:17-83: meta iifname eth1 ip saddr 1.1.1.2 ip daddr 2.2.4.0-2.2.4.10 accept
ruleset.nft:8:17-74: meta iifname eth2 ip saddr 1.1.1.3 ip daddr 2.2.2.5 accept
into:
iifname . ip saddr . ip daddr { eth1 . 1.1.1.1 . 2.2.2.3, eth1 . 1.1.1.2 . 2.2.2.4, eth1 . 1.1.1.2 . 2.2.3.0/24, eth1 . 1.1.1.2 . 2.2.4.0-2.2.4.10, eth2 . 1.1.1.3 . 2.2.2.5 } accept
+ The optimizer also compacts ruleset representations that already use simple
sets, to turn them into set with concatenations, eg.
# cat ruleset.nft
table ip filter {
chain input {
type filter hook input priority filter; policy drop;
iifname "lo" accept
ct state established,related accept comment "In traffic we originate, we trust"
iifname "enp0s31f6" ip saddr { 209.115.181.102, 216.197.228.230 } ip daddr 10.0.0.149 udp sport 123 udp dport 32768-65535 accept
iifname "enp0s31f6" ip saddr { 64.59.144.17, 64.59.150.133 } ip daddr 10.0.0.149 udp sport 53 udp dport 32768-65535 accept
}
}
# nft -o -c -f ruleset.nft
Merging:
ruleset.nft:6:22-149: iifname "enp0s31f6" ip saddr { 209.115.181.102, 216.197.228.230 } ip daddr 10.0.0.149 udp sport 123 udp dport 32768-65535 accept
ruleset.nft:7:22-143: iifname "enp0s31f6" ip saddr { 64.59.144.17, 64.59.150.133 } ip daddr 10.0.0.149 udp sport 53 udp dport 32768-65535 accept
into:
iifname . ip saddr . ip daddr . udp sport . udp dport { enp0s31f6 . 209.115.181.102 . 10.0.0.149 . 123 . 32768-65535, enp0s31f6 . 216.197.228.230 . 10.0.0.149 . 123 . 32768-65535, enp0s31f6 . 64.59.144.17 . 10.0.0.149 . 53 . 32768-65535, enp0s31f6 . 64.59.150.133 . 10.0.0.149 . 53 . 32768-65535 } accept
- Fix bytecode generation for concatenation of intervals where selectors use
different byteorder datatypes, eg. IPv4 (network byte order) and meta mark
(host byte order).
table ip x {
map w {
typeof ip saddr . meta mark : verdict
flags interval
counter
elements = {
127.0.0.1-127.0.0.4 . 0x123434-0xb00122 : accept,
192.168.0.10-192.168.1.20 . 0x0000aa00-0x0000aaff : accept,
}
}
chain k {
type filter hook input priority filter; policy drop;
ip saddr . meta mark vmap @w
}
}
- fix match of uncommon protocol matches with raw expressions, eg.
meta l4proto 91 @th,400,16 0x0 accept
- unbreak insertion of rules with intervals:
insert rule x y tcp sport { 3478-3497, 16384-16387 } counter accept
- enhancements for the JSON API, including support for statements in sets and
maps, and asorted fixes.
- extensions for the python nftables library to allow to load ruleset and
perform dry run, support for external definition of variables, among others.
- allow to intercalate comments in set elements.
- allow for zero burst in byte ratelimits.
- fix element collapse routine when same set name and different family is used.
- ... and manpage updates.
See changelog for more details (attached to this email).
You can download this new release from:
https://www.netfilter.org/projects/nftables/downloads.html
https://www.netfilter.org/pub/nftables/
[ NOTE: We have switched to .tar.xz files for releases. ]
To build the code, libnftnl >= 1.2.4 and libmnl >= 1.0.4 are required:
* https://netfilter.org/projects/libnftnl/index.html
* https://netfilter.org/projects/libmnl/index.html
Visit our wikipage for user documentation at:
* https://wiki.nftables.org
For the manpage reference, check man(8) nft.
In case of bugs and feature requests, file them via:
* https://bugzilla.netfilter.org
Happy firewalling.
[-- Attachment #2: changes-nftables-1.0.6.txt --]
[-- Type: text/plain, Size: 4143 bytes --]
Alex Forster (1):
json: fix 'add flowtable' command
Derek Hageman (1):
rule: check address family in set collapse
Fernando Fernandez Mancera (8):
json: add set statement list support
json: add table map statement support
json: fix json schema version verification
json: fix empty statement list output in sets and maps
json: add secmark object reference support
json: add stateful object comment support
py: support variables management and fix formatting
doc: add nft_ctx_add_var() and nft_ctx_clear_vars() docs
Florian Westphal (11):
tests: shell: check for a tainted kernel
expr: update EXPR_MAX and add missing comments
evaluate: un-break rule insert with intervals
evaluate: allow implicit ether -> vlan dep
doc: mention vlan matching in ip/ip6/inet families
evaluate: add ethernet header size offset for implicit vlan dependency
tests: py: add vlan test case for ip/inet family
netlink_delinearize: fix decoding of concat data element
netlink_linearize: fix timeout with map updates
tests: add a test case for map update from packet path with concat
doc: add/update can be used with maps too
Harald Welte (1):
doc: payload-expression.txt: Mention that 'ih' exists
Jeremy Sowden (3):
segtree: refactor decomposition of closed intervals
segtree: fix decomposition of unclosed intervals containing address prefixes
doc, src: make some spelling and grammatical improvements
Michael Braun (1):
concat with dynamically sized fields like vlan id
Pablo Neira Ayuso (31):
optimize: merging concatenation is unsupported
optimize: check for mergeable rules
optimize: expand implicit set element when merging into concatenation
src: allow burst 0 for byte ratelimit and use it as default
tests/py: missing userdata in netlink payload
include: resync nf_tables.h cache copy
evaluate: bogus datatype assertion in binary operation evaluation
evaluate: datatype memleak after binop transfer
parser_bison: display too many levels of nesting error
rule: do not display handle for implicit chain
netlink_delinearize: do not transfer binary operation to non-anonymous sets
tests: shell: deletion from interval concatenation
netlink_delinearize: complete payload expression in payload statement
payload: do not kill dependency for proto_unknown
optimize: handle prefix and range when merging into set + concatenation
doc: document a few reset commands supported by the parser
doc: no reset support for limit
monitor: missing cache and set handle initialization
src: support for selectors with different byteorder with interval concatenations
doc: statements: fwd supports for sending packets via neighbouring layer
scanner: munch full comment lines
tests: py: missing json for different byteorder selector with interval concatenation
netlink: swap byteorder of value component in concatenation of intervals
evaluate: do not crash on runaway number of concatenation components
netlink: statify __netlink_gen_data()
netlink: add function to generate set element key data
netlink: unfold function to generate concatenations for keys and data
scanner: match full comment line in case of tie
evaluate: fix compilation warning
owner: Fix potential array out of bounds access
build: Bump version to 1.0.6
Peter Collinson (1):
py: extend python API to support libnftables API
Phil Sutter (9):
doc: nft.8: Add missing '-T' in synopsis
erec: Dump locations' expressions only if set
monitor: Sanitize startup race condition
Warn for tables with compat expressions in rules
Makefile: Create LZMA-compressed dist-files
xt: Delay libxtables access until translation
xt: Purify enum nft_xt_type
xt: Rewrite unsupported compat expression dumping
xt: Fall back to generic printing from translation
Xiao Liang (1):
src: Don't parse string as verdict in map
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [ANNOUNCE] nftables 1.0.6 release
2022-12-21 23:30 [ANNOUNCE] nftables 1.0.6 release Pablo Neira Ayuso
@ 2022-12-22 11:14 ` Arturo Borrero Gonzalez
2022-12-22 11:16 ` Pablo Neira Ayuso
0 siblings, 1 reply; 3+ messages in thread
From: Arturo Borrero Gonzalez @ 2022-12-22 11:14 UTC (permalink / raw)
To: netfilter-devel; +Cc: Pablo Neira Ayuso
On 12/22/22 00:30, Pablo Neira Ayuso wrote:
>
> To build the code, libnftnl >= 1.2.4 and libmnl >= 1.0.4 are required:
>
Hi,
when building nftables 1.0.6 for debian, the build system says that it
should be fine to use libnftnl 1.2.2, which apparently is the latest
release that added a new public symbol.
This can be a problem with the debian toolchain, or it can be for real
that there are no new symbols since 1.2.2 and therefore the build-time
dependency is on >= 1.2.2
No big deal, but it would be nice to clarify this.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [ANNOUNCE] nftables 1.0.6 release
2022-12-22 11:14 ` Arturo Borrero Gonzalez
@ 2022-12-22 11:16 ` Pablo Neira Ayuso
0 siblings, 0 replies; 3+ messages in thread
From: Pablo Neira Ayuso @ 2022-12-22 11:16 UTC (permalink / raw)
To: Arturo Borrero Gonzalez; +Cc: netfilter-devel
On Thu, Dec 22, 2022 at 12:14:20PM +0100, Arturo Borrero Gonzalez wrote:
> On 12/22/22 00:30, Pablo Neira Ayuso wrote:
> >
> > To build the code, libnftnl >= 1.2.4 and libmnl >= 1.0.4 are required:
> >
>
> Hi,
>
> when building nftables 1.0.6 for debian, the build system says that it
> should be fine to use libnftnl 1.2.2, which apparently is the latest release
> that added a new public symbol.
>
> This can be a problem with the debian toolchain, or it can be for real that
> there are no new symbols since 1.2.2 and therefore the build-time dependency
> is on >= 1.2.2
>
> No big deal, but it would be nice to clarify this.
No new symbols in libnftnl 1.2.4, the pktconfig dependency was bumped
because of minor fixes included in libnftnl.
We can stop bumping the dependency for minor fixes in the future if
you prefer it this way.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2022-12-22 11:16 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-12-21 23:30 [ANNOUNCE] nftables 1.0.6 release Pablo Neira Ayuso
2022-12-22 11:14 ` Arturo Borrero Gonzalez
2022-12-22 11:16 ` Pablo Neira Ayuso
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).