From 54233ce596e12d2d73b2960d33214cc683b91f5d Mon Sep 17 00:00:00 2001 From: Tim Wojtulewicz Date: Tue, 19 May 2020 13:45:59 -0700 Subject: [PATCH] Move Trigger into the zeek::detail namespace --- src/Frame.cc | 2 +- src/Frame.h | 8 ++++---- src/Stats.cc | 2 +- src/Trigger.cc | 16 ++++++---------- src/Trigger.h | 10 ++++++++-- src/broker/Store.h | 4 ++-- src/zeek-setup.cc | 4 ++-- src/zeek.bif | 10 +++++----- 8 files changed, 29 insertions(+), 27 deletions(-) diff --git a/src/Frame.cc b/src/Frame.cc index 628bfc5715..76ebbd05ff 100644 --- a/src/Frame.cc +++ b/src/Frame.cc @@ -505,7 +505,7 @@ void Frame::CaptureClosure(Frame* c, id_list arg_outer_ids) // if (c) closure = c->SelectiveClone(outer_ids); } -void Frame::SetTrigger(IntrusivePtr arg_trigger) +void Frame::SetTrigger(IntrusivePtr arg_trigger) { trigger = std::move(arg_trigger); } diff --git a/src/Frame.h b/src/Frame.h index 65dff91eb8..0463892d3b 100644 --- a/src/Frame.h +++ b/src/Frame.h @@ -16,10 +16,10 @@ #include #include -namespace trigger { class Trigger; } class BroFunc; FORWARD_DECLARE_NAMESPACED(CallExpr, zeek::detail); +FORWARD_DECLARE_NAMESPACED(Trigger, zeek::detail::trigger); class Frame : public BroObj { public: @@ -216,9 +216,9 @@ public: // If the frame is run in the context of a trigger condition evaluation, // the trigger needs to be registered. - void SetTrigger(IntrusivePtr arg_trigger); + void SetTrigger(IntrusivePtr arg_trigger); void ClearTrigger(); - trigger::Trigger* GetTrigger() const { return trigger.get(); } + zeek::detail::trigger::Trigger* GetTrigger() const { return trigger.get(); } void SetCall(const zeek::detail::CallExpr* arg_call) { call = arg_call; } void ClearCall() { call = nullptr; } @@ -322,7 +322,7 @@ private: /** The next statement to be evaluted in the context of this frame. */ zeek::detail::Stmt* next_stmt; - IntrusivePtr trigger; + IntrusivePtr trigger; const zeek::detail::CallExpr* call; std::unique_ptr> functions_with_closure_frame_reference; diff --git a/src/Stats.cc b/src/Stats.cc index 18cd383ca6..e07853d74d 100644 --- a/src/Stats.cc +++ b/src/Stats.cc @@ -191,7 +191,7 @@ void ProfileLogger::Log() dstats.requests, dstats.successful, dstats.failed, dstats.pending, dstats.cached_hosts, dstats.cached_addresses)); - trigger::Manager::Stats tstats; + zeek::detail::trigger::Manager::Stats tstats; trigger_mgr->GetStats(&tstats); file->Write(fmt("%.06f Triggers: total=%lu pending=%lu\n", network_time, tstats.total, tstats.pending)); diff --git a/src/Trigger.cc b/src/Trigger.cc index 06c49a6c98..084404de85 100644 --- a/src/Trigger.cc +++ b/src/Trigger.cc @@ -15,13 +15,13 @@ #include "DebugLogger.h" #include "iosource/Manager.h" -using namespace trigger; using namespace zeek::detail; +using namespace zeek::detail::trigger; // Callback class to traverse an expression, registering all relevant IDs and // Vals for change notifications. -namespace trigger { +namespace zeek::detail::trigger { class TriggerTraversalCallback : public TraversalCallback { public: @@ -31,15 +31,13 @@ public: ~TriggerTraversalCallback() { Unref(trigger); } - virtual TraversalCode PreExpr(const zeek::detail::Expr*); + virtual TraversalCode PreExpr(const zeek::detail::Expr*) override; private: Trigger* trigger; }; -} - -TraversalCode TriggerTraversalCallback::PreExpr(const zeek::detail::Expr* expr) +TraversalCode zeek::detail::trigger::TriggerTraversalCallback::PreExpr(const zeek::detail::Expr* expr) { // We catch all expressions here which in some way reference global // state. @@ -84,8 +82,6 @@ TraversalCode TriggerTraversalCallback::PreExpr(const zeek::detail::Expr* expr) return TC_CONTINUE; } -namespace trigger { - class TriggerTimer final : public Timer { public: TriggerTimer(double arg_timeout, Trigger* arg_trigger) @@ -121,8 +117,6 @@ protected: double time; }; -} - Trigger::Trigger(zeek::detail::Expr* arg_cond, zeek::detail::Stmt* arg_body, zeek::detail::Stmt* arg_timeout_stmts, zeek::detail::Expr* arg_timeout, Frame* arg_frame, @@ -555,3 +549,5 @@ void Manager::GetStats(Stats* stats) stats->total = total_triggers; stats->pending = pending->size(); } + +} diff --git a/src/Trigger.h b/src/Trigger.h index cf91b25cba..1c2653fc3d 100644 --- a/src/Trigger.h +++ b/src/Trigger.h @@ -18,7 +18,8 @@ FORWARD_DECLARE_NAMESPACED(Expr, zeek::detail); FORWARD_DECLARE_NAMESPACED(CallExpr, zeek::detail); FORWARD_DECLARE_NAMESPACED(ID, zeek::detail); -namespace trigger { +namespace zeek::detail::trigger { + // Triggers are the heart of "when" statements: expressions that when // they become true execute a body of statements. @@ -142,4 +143,9 @@ private: } -extern trigger::Manager* trigger_mgr; +namespace trigger { + using Trigger [[deprecated("Remove in v4.1. Use zeek::detail::trigger::Trigger instead")]] = zeek::detail::trigger::Trigger; + using Manager [[deprecated("Remove in v4.1. Use zeek::detail::trigger::Manager instead")]] = zeek::detail::trigger::Manager; +} + +extern zeek::detail::trigger::Manager* trigger_mgr; diff --git a/src/broker/Store.h b/src/broker/Store.h index 9f9764b4b4..e4fea0fdbe 100644 --- a/src/broker/Store.h +++ b/src/broker/Store.h @@ -50,7 +50,7 @@ inline IntrusivePtr query_result(IntrusivePtr data) */ class StoreQueryCallback { public: - StoreQueryCallback(trigger::Trigger* arg_trigger, const zeek::detail::CallExpr* arg_call, + StoreQueryCallback(zeek::detail::trigger::Trigger* arg_trigger, const zeek::detail::CallExpr* arg_call, broker::store store) : trigger(arg_trigger), call(arg_call), store(std::move(store)) { @@ -83,7 +83,7 @@ public: private: - trigger::Trigger* trigger; + zeek::detail::trigger::Trigger* trigger; const zeek::detail::CallExpr* call; broker::store store; }; diff --git a/src/zeek-setup.cc b/src/zeek-setup.cc index 1dd339fdf2..fa61815997 100644 --- a/src/zeek-setup.cc +++ b/src/zeek-setup.cc @@ -98,7 +98,7 @@ zeekygen::Manager* zeekygen_mgr = nullptr; iosource::Manager* iosource_mgr = nullptr; bro_broker::Manager* broker_mgr = nullptr; zeek::Supervisor* zeek::supervisor_mgr = nullptr; -trigger::Manager* trigger_mgr = nullptr; +zeek::detail::trigger::Manager* trigger_mgr = nullptr; std::vector zeek_script_prefixes; zeek::detail::Stmt* stmts; @@ -570,7 +570,7 @@ zeek::detail::SetupResult zeek::detail::setup(int argc, char** argv, file_mgr = new file_analysis::Manager(); auto broker_real_time = ! options.pcap_file && ! options.deterministic_mode; broker_mgr = new bro_broker::Manager(broker_real_time); - trigger_mgr = new trigger::Manager(); + trigger_mgr = new zeek::detail::trigger::Manager(); plugin_mgr->InitPreScript(); analyzer_mgr->InitPreScript(); diff --git a/src/zeek.bif b/src/zeek.bif index 1b1f645701..5e67bc3638 100644 --- a/src/zeek.bif +++ b/src/zeek.bif @@ -3479,7 +3479,7 @@ function dump_packet%(pkt: pcap_packet, file_name: string%) : bool class LookupHostCallback : public DNS_Mgr::LookupCallback { public: - LookupHostCallback(trigger::Trigger* arg_trigger, const zeek::detail::CallExpr* arg_call, + LookupHostCallback(zeek::detail::trigger::Trigger* arg_trigger, const zeek::detail::CallExpr* arg_call, bool arg_lookup_name) { Ref(arg_trigger); @@ -3531,7 +3531,7 @@ public: } private: - trigger::Trigger* trigger; + zeek::detail::trigger::Trigger* trigger; const zeek::detail::CallExpr* call; bool lookup_name; }; @@ -3550,7 +3550,7 @@ function lookup_addr%(host: addr%) : string %{ // FIXME: It should be easy to adapt the function to synchronous // lookups if we're reading a trace. - trigger::Trigger* trigger = frame->GetTrigger(); + zeek::detail::trigger::Trigger* trigger = frame->GetTrigger(); if ( ! trigger) { @@ -3579,7 +3579,7 @@ function lookup_hostname_txt%(host: string%) : string %{ // FIXME: Is should be easy to adapt the function to synchronous // lookups if we're reading a trace. - trigger::Trigger* trigger = frame->GetTrigger(); + zeek::detail::trigger::Trigger* trigger = frame->GetTrigger(); if ( ! trigger) { @@ -3608,7 +3608,7 @@ function lookup_hostname%(host: string%) : addr_set %{ // FIXME: Is should be easy to adapt the function to synchronous // lookups if we're reading a trace. - trigger::Trigger* trigger = frame->GetTrigger(); + zeek::detail::trigger::Trigger* trigger = frame->GetTrigger(); if ( ! trigger) {