[Bug 1737] meta hour error with different time-zones
bugzilla-daemon at netfilter.org
bugzilla-daemon at netfilter.org
Tue Mar 19 20:33:02 CET 2024
https://bugzilla.netfilter.org/show_bug.cgi?id=1737
--- Comment #4 from Pablo Neira Ayuso <pablo at netfilter.org> ---
(In reply to Simon G. Trajkovski from comment #3)
> (In reply to nicolasfort1988 from comment #0)
> > When using meta hour, and also using different time zone (for example
> > Australia/Sydney), rules are written correctly, but they do not match as
> > expected.
> >
> >
> > ### Config and date
> > For example:
> >
> > table ip vyos_filter {
> > chain VYOS_OUTPUT_filter {
> > type filter hook output priority filter; policy accept;
> > ip daddr 1.1.1.1 meta hour >= "03:01" meta hour < "08:00"
> > counter packets 1 bytes 84 accept comment "ipv4-OUT-filter-10"
> > ip daddr 8.8.8.8 meta hour >= "03:01" meta hour < "14:00"
> > counter packets 0 bytes 0 accept comment "ipv4-OUT-filter-20"
>
> use a range:
>
> ip daddr 8.8.8.8 meta hour "03:01"-"08:00" counter packets
> 1 bytes 84 accept comment "ipv4-OUT-filter-10"
>
> and it works fine; but listing displays this :
>
> ip daddr 8.8.8.8 meta hour != "14:00"-"03:01" counter
> packets 1 bytes 84 accept comment "ipv4-OUT-filter-10"
>
> not knowledgeable of this code, but nftables/src/evaluate.c has special
> handling for this.
Thanks for disentangling this bug report.
I made this patch:
https://patchwork.ozlabs.org/project/netfilter-devel/patch/20240319192609.218891-1-pablo@netfilter.org/
so it is the implicit cross-day handling that is reversing an interval what it
is missing in this ruleset.
So, basically, 14:00-03:01 triggers a cross-day interval swap in AEDT time,
since kernel handles time in UTC.
To improve usability, I have completed the remaining code in the listing path
and I have documented that use of ranges is recommended.
https://patchwork.ozlabs.org/project/netfilter-devel/patch/20240319192609.218891-1-pablo@netfilter.org/
it should be possible to make this change to swap this opencoded range
notation:
meta hour >= "03:01" meta hour < "14:00"
but it is still more efficient to express this with a range expression.
--
You are receiving this mail because:
You are watching all bug changes.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.netfilter.org/pipermail/netfilter-buglog/attachments/20240319/14a6c52f/attachment-0001.html>
More information about the netfilter-buglog
mailing list