diff --git a/src/broker/Manager.cc b/src/broker/Manager.cc index 6885a1c3f0..e42bed29ab 100644 --- a/src/broker/Manager.cc +++ b/src/broker/Manager.cc @@ -1655,8 +1655,13 @@ void Manager::ProcessMessage(std::string_view topic, broker::zeek::Event& ev) { } } - if ( vl.size() == args.size() ) - event_mgr.Enqueue(handler, std::move(vl), util::detail::SOURCE_BROKER, 0, nullptr, ts); + if ( vl.size() == args.size() ) { + zeek::detail::EventMetadataVectorPtr meta; + if ( ts > 0.0 ) + meta = zeek::detail::MakeEventMetadataVector(ts); + + event_mgr.Enqueue(std::move(meta), handler, std::move(vl), util::detail::SOURCE_BROKER); + } } bool Manager::ProcessMessage(std::string_view, broker::zeek::LogCreate& lc) { diff --git a/src/cluster/Backend.cc b/src/cluster/Backend.cc index dc0cff5af0..f7300e22d6 100644 --- a/src/cluster/Backend.cc +++ b/src/cluster/Backend.cc @@ -23,7 +23,11 @@ using namespace zeek::cluster; bool detail::LocalEventHandlingStrategy::DoProcessEvent(std::string_view topic, detail::Event e) { - zeek::event_mgr.Enqueue(e.Handler(), std::move(e.Args()), util::detail::SOURCE_BROKER, 0, nullptr, e.Timestamp()); + zeek::detail::EventMetadataVectorPtr meta; + if ( auto ts = e.Timestamp(); ts > 0.0 ) + meta = zeek::detail::MakeEventMetadataVector(e.Timestamp()); + + zeek::event_mgr.Enqueue(std::move(meta), e.Handler(), std::move(e.Args()), util::detail::SOURCE_BROKER); return true; }