1
0
mirror of https://github.com/HorlogeSkynet/Nftables synced 2025-06-08 04:00:14 +02:00

Compare commits

...

2 Commits

Author SHA1 Message Date
596b97d56b Bumps to v2.3.1 2025-02-23 15:30:27 +01:00
aecaaa301b Fixes IPv6 link-local addresses regular expression
This patch removes support for IPv6 link-local address interface/zone
index syntax (e.g. "fe80::dead:beef%eth0").

Rationale is :
* nftables doesn't specifically support this notation ;
* it actually didn't support compressed format with 3+ segments, nor uncompressed format at all (see <https://regex101.com/r/oIosm6/1>).

IPv6 link-local addresses will now be matched as any other IPv6 address.
2025-02-23 15:28:14 +01:00
3 changed files with 14 additions and 7 deletions

@ -6,6 +6,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
## [v2.3.1] - 2025-02-23
### Fixed
- IPv6 link-local addresses regular expression (uncompressed and semi-compressed formats)
### Removed
- Interface/Zone index support in IPv6 link-local addresses
## [v2.3.0] - 2025-02-21
### Added
- `auto-merge` option in `set`
@ -195,8 +202,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added
- Initial version
[Unreleased]: https://github.com/HorlogeSkynet/Nftables/compare/v2.3.0...HEAD
[v2.2.0]: https://github.com/HorlogeSkynet/Nftables/compare/v2.2.0...v2.3.0
[Unreleased]: https://github.com/HorlogeSkynet/Nftables/compare/v2.3.1...HEAD
[v2.3.1]: https://github.com/HorlogeSkynet/Nftables/compare/v2.3.0...v2.3.1
[v2.3.0]: https://github.com/HorlogeSkynet/Nftables/compare/v2.2.0...v2.3.0
[v2.2.0]: https://github.com/HorlogeSkynet/Nftables/compare/v2.1.0...v2.2.0
[v2.1.0]: https://github.com/HorlogeSkynet/Nftables/compare/v2.0.1...v2.1.0
[v2.0.1]: https://github.com/HorlogeSkynet/Nftables/compare/v2.0.0...v2.0.1

@ -42,7 +42,6 @@ variables:
(?x)
(?:[0-9a-fA-F]{1,4}:){1,4}:{{ipv4_address}}|
::(?:[fF]{4}(?::0{1,4}){0,1}:){0,1}{{ipv4_address}}|
[fF][eE]80:(?::[0-9a-fA-F]{1,4}){2,2}(?:%[0-9a-zA-Z]{1,})?|
:(?:(?::[0-9a-fA-F]{1,4}){1,7}|:)|
[0-9a-fA-F]{1,4}:(?:(?::[0-9a-fA-F]{1,4}){1,6})|
(?:[0-9a-fA-F]{1,4}:){1,2}(?::[0-9a-fA-F]{1,4}){1,5}|

@ -572,10 +572,10 @@ chain a-strang3_Name c {
ip6 saddr ::1/128 accept;
# ^ constant.numeric.ipv6-subnet.nftables
# ^ keyword.control.rule-statement.verdict.nftables
ip6 saddr { fE80::dead:beef, 1::3:4:5:6:7:8, ::ffFF:0:255.255.255.255 } accept
# ^^^^^^^^^^^^^^^ constant.numeric.ipv6-address.nftables
# ^^^^^^^^^^^^^^ constant.numeric.ipv6-address.nftables
# ^^^^^^^^^^^^^^^^^^^^^^^^ constant.numeric.ipv6-address.nftables
ip6 saddr { fE80::dead:beef:beef:dead, 1::3:4:5:6:7:8, ::ffFF:0:255.255.255.255 } accept
# ^^^^^^^^^^^^^^^^^^^^^^^^^ constant.numeric.ipv6-address.nftables
# ^^^^^^^^^^^^^^ constant.numeric.ipv6-address.nftables
# ^^^^^^^^^^^^^^^^^^^^^^^^ constant.numeric.ipv6-address.nftables
# <- meta.block.implicit-chain.nftables
}