All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Added: for new features.
- Changed: for changes in existing functionality.
- Deprecated: for soon-to-be removed features.
- Removed: for now removed features.
- Fixed: for any bug fixes.
- Security: in case of vulnerabilities.
- Implement
Default
fornftnl::batch::Batch
. - Add support for Raw payload expressions.
- Upgrade crates to Rust 2021 edition.
- Specify MSRV for
nftnl
andnftnl-sys
to version 1.56.0. - Upgrade
bitflags
dependency to version 2.6.0. - Fix minimal allowed version of
mnl
to 0.2.2. - Remove the
error-derive
dependency.std::error::Error
is now implemented manually forNetlinkError
.
- Remove
Ord
andPartialOrd
implementation onStates
andConntrackStatus
.
- Fix building documentation on docs.rs by not linking to
libmnl
andlibmnl
during documentation generation. - Fix compile errors by removing
expect
statments fromnft_set
macro
- Add
ct status
to load the conntrack status, and add conntrack status bitflags.
- Specify dependency versions more exactly to allow building with minimal versions of the entire dependency tree.
- Upgrade the err-derive dependency to 0.3.0.
- Implement Send+Sync for Table, Chain, Rule, Batch and Iter (batch iterator).
- Add
Nat
expression allowing SNat and DNat rules.
- Add
Register
enum and a register field to theImmediate
expression. Allowing control over which netfilter register the immediate data is loaded into
- Fix memory leak in
table::get_tables_cb
.
- Add support for matching on socket UID and socket GID in
Meta
expressions.
- Mark
Meta
and many payload enums as#[non_exhaustive]
. Allows adding more expressions without a breaking release in the future. - Increase minimum supported rust version to 1.40 due to
#[non_exhaustive]
.
- Add
Reject
verdict for responding with ICMP packets or TCP RST to the origin.
- Add
ChainType
and allow setting a chain to either filter, route or nat type. - Add support for reading and setting marks in the
Meta
andConntrack
expressions. - Add support for reading the cgroup via the
Meta
expression. - Add
Immediate
expression type that can load data into the registers. - Add support for masquerading.
- Implement
Debug
forChain
.
- Change
get_tables_nlmsg
to include all tables, not only inet tables, but also arp, ip, ip6, bridge etc.
- Fix compilation errors on ARM64 platforms.
- Set
NFTNL_CHAIN_FAMILY
for chains and other fixes making the library compatible with older kernels.
- Add support for checking ICMPv6 header fields.
- Add
add-get-tables-request
that can create requests to enumerate tables. - Add bindings to
libnftnl-1.1.2
.
- Upgrade crates to Rust 2018 edition.
- Remove the
error-chain
dependency. Now aborts on allocation error.
- Bindings to
libnftnl
versions1.0.6
through1.1.1
- Initial safe abstraction. Support for batches, tables, chains, rules and sets. All with a limited set of expression types.