mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 06:38:20 +00:00
Merge branch 'topic/jgras/fix-future-event-ts' of https://github.com/J-Gras/zeek
* 'topic/jgras/fix-future-event-ts' of https://github.com/J-Gras/zeek: Prevent event timestamps set to future
This commit is contained in:
commit
f1ae944c9c
5 changed files with 21 additions and 7 deletions
9
CHANGES
9
CHANGES
|
@ -1,3 +1,12 @@
|
|||
7.2.0-dev.510 | 2025-04-11 15:16:53 +0200
|
||||
|
||||
* Prevent event timestamps set to future (Jan Grashoefer, Corelight)
|
||||
|
||||
For scheduled events, the event timestamp is the intended timestamp. If
|
||||
we force timer expiration, the timestamp might be in the future. Today,
|
||||
this happens on shutdown. This change guarantees that event timestamps
|
||||
are never set beyond network time.
|
||||
|
||||
7.2.0-dev.508 | 2025-04-11 12:59:53 +0200
|
||||
|
||||
* GH-4301: Fix `--with-spicy`. (Robin Sommer, Corelight)
|
||||
|
|
2
VERSION
2
VERSION
|
@ -1 +1 @@
|
|||
7.2.0-dev.508
|
||||
7.2.0-dev.510
|
||||
|
|
|
@ -3829,8 +3829,13 @@ ScheduleTimer::ScheduleTimer(const EventHandlerPtr& arg_event, Args arg_args, do
|
|||
: Timer(t, TIMER_SCHEDULE), event(arg_event), args(std::move(arg_args)) {}
|
||||
|
||||
void ScheduleTimer::Dispatch(double /* t */, bool /* is_expire */) {
|
||||
if ( event )
|
||||
event_mgr.Enqueue(event, std::move(args), util::detail::SOURCE_LOCAL, 0, nullptr, this->Time());
|
||||
if ( event ) {
|
||||
// An event's intended timestamp might be in the past as timer expiration is driven by
|
||||
// network time. Guarantee that the intended timestamp is never in the future (e.g.,
|
||||
// when all timers are expired on shutdown).
|
||||
auto ts = std::min(this->Time(), run_state::network_time);
|
||||
event_mgr.Enqueue(event, std::move(args), util::detail::SOURCE_LOCAL, 0, nullptr, ts);
|
||||
}
|
||||
}
|
||||
|
||||
ScheduleExpr::ScheduleExpr(ExprPtr arg_when, EventExprPtr arg_event)
|
||||
|
|
|
@ -39,5 +39,5 @@ sender added peer: endpoint=127.0.0.1 msg=handshake successful
|
|||
>> Run 10 (1989-12-13-07:00:00)
|
||||
>>> Publish my-message-a intended for 1989-12-13-07:00:00 (current_event_time=1989-12-13-07:00:00, network_time=1989-12-13-07:00:00)
|
||||
sender lost peer: endpoint=127.0.0.1 msg=lost connection to remote peer
|
||||
>>> Publish my-message-b intended for 1989-12-13-07:15:00 (current_event_time=1989-12-13-07:15:00, network_time=1989-12-13-07:00:00)
|
||||
>>> Publish my-message-c intended for 1989-12-13-07:30:00 (current_event_time=1989-12-13-07:30:00, network_time=1989-12-13-07:00:00)
|
||||
>>> Publish my-message-b intended for 1989-12-13-07:15:00 (current_event_time=1989-12-13-07:00:00, network_time=1989-12-13-07:00:00)
|
||||
>>> Publish my-message-c intended for 1989-12-13-07:30:00 (current_event_time=1989-12-13-07:00:00, network_time=1989-12-13-07:00:00)
|
||||
|
|
|
@ -37,5 +37,5 @@
|
|||
[1989-12-13-07:00:00] Test was scheduled at 1989-12-13-06:00:00 for 1989-12-13-06:30:00
|
||||
>> Run 9 (1989-12-13-07:00:00)
|
||||
<< Run 9 (1989-12-13-07:00:00)
|
||||
[1989-12-13-07:00:00] Test was scheduled at 1989-12-13-07:00:00 for 1989-12-13-07:15:00
|
||||
[1989-12-13-07:00:00] Test was scheduled at 1989-12-13-07:00:00 for 1989-12-13-07:30:00
|
||||
[1989-12-13-07:00:00] Test was scheduled at 1989-12-13-07:00:00 for 1989-12-13-07:00:00
|
||||
[1989-12-13-07:00:00] Test was scheduled at 1989-12-13-07:00:00 for 1989-12-13-07:00:00
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue