mirror of
https://github.com/zeek/zeek.git
synced 2025-10-04 15:48:19 +00:00
Merge remote-tracking branch 'origin/topic/timw/266-namespaces'
Merge adjustments: - Preserved original `base_type_no_ref` argument type as ::TypeTag - Removed superfluous #pragma guard around deprecated TableVal ctor - Clarify NEWS regarding MetaHook{Pre,Post} deprecations - Simplify some `::zeek::` qualifications to just `zeek::` - Prefixed FORWARD_DECLARE_NAMESPACED macro with ZEEK_ * origin/topic/timw/266-namespaces: Disable some deprecation diagnostics for GCC Rename BroType to Type Update NEWS Review cleanup Move Type types to zeek namespace Move Flare/Pipe from the bro namespace to zeek::detail Move Attr to the zeek::detail namespace Move Trigger into the zeek::detail namespace Move ID to the zeek::detail namespace Move Anon.h into zeek::detail namespace Mark all of the aliased classes in plugin/Plugin.h deprecated, and fix all of the plugins that were using them Move all of the base plugin classes into the zeek::plugin namespace Expr: move all classes into zeek::detail Stmt: move Stmt classes into zeek::detail namespace Add utility macro for creating namespaced aliases for classes
This commit is contained in:
commit
d4f3cad7d1
256 changed files with 4277 additions and 3501 deletions
|
@ -19,7 +19,7 @@
|
|||
#include "../input.h"
|
||||
|
||||
using namespace std;
|
||||
using namespace plugin;
|
||||
using namespace zeek::plugin;
|
||||
|
||||
Plugin* Manager::current_plugin = nullptr;
|
||||
const char* Manager::current_dir = nullptr;
|
||||
|
@ -515,28 +515,22 @@ static bool hook_cmp(std::pair<int, Plugin*> a, std::pair<int, Plugin*> b)
|
|||
return a.first > b.first;
|
||||
}
|
||||
|
||||
std::list<std::pair<HookType, int> > Manager::HooksEnabledForPlugin(const Plugin* plugin) const
|
||||
std::list<std::pair<zeek::plugin::HookType, int> > Manager::HooksEnabledForPlugin(const Plugin* plugin) const
|
||||
{
|
||||
std::list<std::pair<HookType, int> > enabled;
|
||||
std::list<std::pair<zeek::plugin::HookType, int> > enabled;
|
||||
|
||||
for ( int i = 0; i < NUM_HOOKS; i++ )
|
||||
{
|
||||
hook_list* l = hooks[i];
|
||||
|
||||
if ( ! l )
|
||||
continue;
|
||||
|
||||
for ( hook_list::iterator j = l->begin(); j != l->end(); j++ )
|
||||
{
|
||||
if ( (*j).second == plugin )
|
||||
enabled.push_back(std::make_pair((HookType)i, (*j).first));
|
||||
}
|
||||
if ( hook_list* l = hooks[i] )
|
||||
for ( const auto& [hook, hook_plugin] : *l )
|
||||
if ( hook_plugin == plugin )
|
||||
enabled.push_back(std::make_pair(static_cast<zeek::plugin::HookType>(i), hook));
|
||||
}
|
||||
|
||||
return enabled;
|
||||
}
|
||||
|
||||
void Manager::EnableHook(HookType hook, Plugin* plugin, int prio)
|
||||
void Manager::EnableHook(zeek::plugin::HookType hook, Plugin* plugin, int prio)
|
||||
{
|
||||
if ( ! hooks[hook] )
|
||||
hooks[hook] = new hook_list;
|
||||
|
@ -554,7 +548,7 @@ void Manager::EnableHook(HookType hook, Plugin* plugin, int prio)
|
|||
l->sort(hook_cmp);
|
||||
}
|
||||
|
||||
void Manager::DisableHook(HookType hook, Plugin* plugin)
|
||||
void Manager::DisableHook(zeek::plugin::HookType hook, Plugin* plugin)
|
||||
{
|
||||
hook_list* l = hooks[hook];
|
||||
|
||||
|
@ -577,6 +571,19 @@ void Manager::DisableHook(HookType hook, Plugin* plugin)
|
|||
}
|
||||
}
|
||||
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
|
||||
void Manager::EnableHook(::plugin::HookType hook, Plugin* plugin, int prio)
|
||||
{
|
||||
EnableHook(static_cast<zeek::plugin::HookType>(hook), plugin, prio);
|
||||
}
|
||||
|
||||
void Manager::DisableHook(::plugin::HookType hook, Plugin* plugin)
|
||||
{
|
||||
DisableHook(static_cast<zeek::plugin::HookType>(hook), plugin);
|
||||
}
|
||||
#pragma GCC diagnostic pop
|
||||
|
||||
void Manager::RequestEvent(EventHandlerPtr handler, Plugin* plugin)
|
||||
{
|
||||
DBG_LOG(DBG_PLUGINS, "Plugin %s requested event %s",
|
||||
|
@ -593,15 +600,15 @@ int Manager::HookLoadFile(const Plugin::LoadType type, const string& file, const
|
|||
{
|
||||
HookArgumentList args;
|
||||
|
||||
if ( HavePluginForHook(META_HOOK_PRE) )
|
||||
if ( HavePluginForHook(zeek::plugin::META_HOOK_PRE) )
|
||||
{
|
||||
args.push_back(HookArgument(type));
|
||||
args.push_back(HookArgument(file));
|
||||
args.push_back(HookArgument(resolved));
|
||||
MetaHookPre(HOOK_LOAD_FILE, args);
|
||||
MetaHookPre(zeek::plugin::HOOK_LOAD_FILE, args);
|
||||
}
|
||||
|
||||
hook_list* l = hooks[HOOK_LOAD_FILE];
|
||||
hook_list* l = hooks[zeek::plugin::HOOK_LOAD_FILE];
|
||||
|
||||
int rc = -1;
|
||||
|
||||
|
@ -616,8 +623,8 @@ int Manager::HookLoadFile(const Plugin::LoadType type, const string& file, const
|
|||
break;
|
||||
}
|
||||
|
||||
if ( HavePluginForHook(META_HOOK_POST) )
|
||||
MetaHookPost(HOOK_LOAD_FILE, args, HookArgument(rc));
|
||||
if ( HavePluginForHook(zeek::plugin::META_HOOK_POST) )
|
||||
MetaHookPost(zeek::plugin::HOOK_LOAD_FILE, args, HookArgument(rc));
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
@ -629,7 +636,7 @@ Manager::HookCallFunction(const Func* func, Frame* parent,
|
|||
HookArgumentList args;
|
||||
val_list vargs;
|
||||
|
||||
if ( HavePluginForHook(META_HOOK_PRE) )
|
||||
if ( HavePluginForHook(zeek::plugin::META_HOOK_PRE) )
|
||||
{
|
||||
vargs.resize(vecargs->size());
|
||||
|
||||
|
@ -639,10 +646,10 @@ Manager::HookCallFunction(const Func* func, Frame* parent,
|
|||
args.push_back(HookArgument(func));
|
||||
args.push_back(HookArgument(parent));
|
||||
args.push_back(HookArgument(&vargs));
|
||||
MetaHookPre(HOOK_CALL_FUNCTION, args);
|
||||
MetaHookPre(zeek::plugin::HOOK_CALL_FUNCTION, args);
|
||||
}
|
||||
|
||||
hook_list* l = hooks[HOOK_CALL_FUNCTION];
|
||||
hook_list* l = hooks[zeek::plugin::HOOK_CALL_FUNCTION];
|
||||
|
||||
std::pair<bool, IntrusivePtr<Val>> rval{false, nullptr};
|
||||
|
||||
|
@ -659,8 +666,8 @@ Manager::HookCallFunction(const Func* func, Frame* parent,
|
|||
}
|
||||
}
|
||||
|
||||
if ( HavePluginForHook(META_HOOK_POST) )
|
||||
MetaHookPost(HOOK_CALL_FUNCTION, args,
|
||||
if ( HavePluginForHook(zeek::plugin::META_HOOK_POST) )
|
||||
MetaHookPost(zeek::plugin::HOOK_CALL_FUNCTION, args,
|
||||
HookArgument(std::make_pair(rval.first, rval.second.get())));
|
||||
|
||||
return rval;
|
||||
|
@ -670,13 +677,13 @@ bool Manager::HookQueueEvent(Event* event) const
|
|||
{
|
||||
HookArgumentList args;
|
||||
|
||||
if ( HavePluginForHook(META_HOOK_PRE) )
|
||||
if ( HavePluginForHook(zeek::plugin::META_HOOK_PRE) )
|
||||
{
|
||||
args.push_back(HookArgument(event));
|
||||
MetaHookPre(HOOK_QUEUE_EVENT, args);
|
||||
MetaHookPre(zeek::plugin::HOOK_QUEUE_EVENT, args);
|
||||
}
|
||||
|
||||
hook_list* l = hooks[HOOK_QUEUE_EVENT];
|
||||
hook_list* l = hooks[zeek::plugin::HOOK_QUEUE_EVENT];
|
||||
|
||||
bool result = false;
|
||||
|
||||
|
@ -692,8 +699,8 @@ bool Manager::HookQueueEvent(Event* event) const
|
|||
}
|
||||
}
|
||||
|
||||
if ( HavePluginForHook(META_HOOK_POST) )
|
||||
MetaHookPost(HOOK_QUEUE_EVENT, args, HookArgument(result));
|
||||
if ( HavePluginForHook(zeek::plugin::META_HOOK_POST) )
|
||||
MetaHookPost(zeek::plugin::HOOK_QUEUE_EVENT, args, HookArgument(result));
|
||||
|
||||
return result;
|
||||
}
|
||||
|
@ -702,10 +709,10 @@ void Manager::HookDrainEvents() const
|
|||
{
|
||||
HookArgumentList args;
|
||||
|
||||
if ( HavePluginForHook(META_HOOK_PRE) )
|
||||
MetaHookPre(HOOK_DRAIN_EVENTS, args);
|
||||
if ( HavePluginForHook(zeek::plugin::META_HOOK_PRE) )
|
||||
MetaHookPre(zeek::plugin::HOOK_DRAIN_EVENTS, args);
|
||||
|
||||
hook_list* l = hooks[HOOK_DRAIN_EVENTS];
|
||||
hook_list* l = hooks[zeek::plugin::HOOK_DRAIN_EVENTS];
|
||||
|
||||
if ( l )
|
||||
for ( hook_list::iterator i = l->begin(); i != l->end(); ++i )
|
||||
|
@ -714,8 +721,8 @@ void Manager::HookDrainEvents() const
|
|||
p->HookDrainEvents();
|
||||
}
|
||||
|
||||
if ( HavePluginForHook(META_HOOK_POST) )
|
||||
MetaHookPost(HOOK_DRAIN_EVENTS, args, HookArgument());
|
||||
if ( HavePluginForHook(zeek::plugin::META_HOOK_POST) )
|
||||
MetaHookPost(zeek::plugin::HOOK_DRAIN_EVENTS, args, HookArgument());
|
||||
|
||||
}
|
||||
|
||||
|
@ -723,13 +730,13 @@ void Manager::HookSetupAnalyzerTree(Connection *conn) const
|
|||
{
|
||||
HookArgumentList args;
|
||||
|
||||
if ( HavePluginForHook(META_HOOK_PRE) )
|
||||
if ( HavePluginForHook(zeek::plugin::META_HOOK_PRE) )
|
||||
{
|
||||
args.push_back(HookArgument(conn));
|
||||
MetaHookPre(HOOK_SETUP_ANALYZER_TREE, args);
|
||||
MetaHookPre(zeek::plugin::HOOK_SETUP_ANALYZER_TREE, args);
|
||||
}
|
||||
|
||||
hook_list *l = hooks[HOOK_SETUP_ANALYZER_TREE];
|
||||
hook_list *l = hooks[zeek::plugin::HOOK_SETUP_ANALYZER_TREE];
|
||||
|
||||
if ( l )
|
||||
{
|
||||
|
@ -740,9 +747,9 @@ void Manager::HookSetupAnalyzerTree(Connection *conn) const
|
|||
}
|
||||
}
|
||||
|
||||
if ( HavePluginForHook(META_HOOK_POST) )
|
||||
if ( HavePluginForHook(zeek::plugin::META_HOOK_POST) )
|
||||
{
|
||||
MetaHookPost(HOOK_SETUP_ANALYZER_TREE, args, HookArgument());
|
||||
MetaHookPost(zeek::plugin::HOOK_SETUP_ANALYZER_TREE, args, HookArgument());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -750,13 +757,13 @@ void Manager::HookUpdateNetworkTime(double network_time) const
|
|||
{
|
||||
HookArgumentList args;
|
||||
|
||||
if ( HavePluginForHook(META_HOOK_PRE) )
|
||||
if ( HavePluginForHook(zeek::plugin::META_HOOK_PRE) )
|
||||
{
|
||||
args.push_back(HookArgument(network_time));
|
||||
MetaHookPre(HOOK_UPDATE_NETWORK_TIME, args);
|
||||
MetaHookPre(zeek::plugin::HOOK_UPDATE_NETWORK_TIME, args);
|
||||
}
|
||||
|
||||
hook_list* l = hooks[HOOK_UPDATE_NETWORK_TIME];
|
||||
hook_list* l = hooks[zeek::plugin::HOOK_UPDATE_NETWORK_TIME];
|
||||
|
||||
if ( l )
|
||||
for ( hook_list::iterator i = l->begin(); i != l->end(); ++i )
|
||||
|
@ -765,21 +772,21 @@ void Manager::HookUpdateNetworkTime(double network_time) const
|
|||
p->HookUpdateNetworkTime(network_time);
|
||||
}
|
||||
|
||||
if ( HavePluginForHook(META_HOOK_POST) )
|
||||
MetaHookPost(HOOK_UPDATE_NETWORK_TIME, args, HookArgument());
|
||||
if ( HavePluginForHook(zeek::plugin::META_HOOK_POST) )
|
||||
MetaHookPost(zeek::plugin::HOOK_UPDATE_NETWORK_TIME, args, HookArgument());
|
||||
}
|
||||
|
||||
void Manager::HookBroObjDtor(void* obj) const
|
||||
{
|
||||
HookArgumentList args;
|
||||
|
||||
if ( HavePluginForHook(META_HOOK_PRE) )
|
||||
if ( HavePluginForHook(zeek::plugin::META_HOOK_PRE) )
|
||||
{
|
||||
args.push_back(HookArgument(obj));
|
||||
MetaHookPre(HOOK_BRO_OBJ_DTOR, args);
|
||||
MetaHookPre(zeek::plugin::HOOK_BRO_OBJ_DTOR, args);
|
||||
}
|
||||
|
||||
hook_list* l = hooks[HOOK_BRO_OBJ_DTOR];
|
||||
hook_list* l = hooks[zeek::plugin::HOOK_BRO_OBJ_DTOR];
|
||||
|
||||
if ( l )
|
||||
for ( hook_list::iterator i = l->begin(); i != l->end(); ++i )
|
||||
|
@ -788,8 +795,8 @@ void Manager::HookBroObjDtor(void* obj) const
|
|||
p->HookBroObjDtor(obj);
|
||||
}
|
||||
|
||||
if ( HavePluginForHook(META_HOOK_POST) )
|
||||
MetaHookPost(HOOK_BRO_OBJ_DTOR, args, HookArgument());
|
||||
if ( HavePluginForHook(zeek::plugin::META_HOOK_POST) )
|
||||
MetaHookPost(zeek::plugin::HOOK_BRO_OBJ_DTOR, args, HookArgument());
|
||||
}
|
||||
|
||||
void Manager::HookLogInit(const std::string& writer,
|
||||
|
@ -801,7 +808,7 @@ void Manager::HookLogInit(const std::string& writer,
|
|||
{
|
||||
HookArgumentList args;
|
||||
|
||||
if ( HavePluginForHook(META_HOOK_PRE) )
|
||||
if ( HavePluginForHook(zeek::plugin::META_HOOK_PRE) )
|
||||
{
|
||||
args.push_back(HookArgument(writer));
|
||||
args.push_back(HookArgument(instantiating_filter));
|
||||
|
@ -810,10 +817,10 @@ void Manager::HookLogInit(const std::string& writer,
|
|||
args.push_back(HookArgument(&info));
|
||||
args.push_back(HookArgument(num_fields));
|
||||
args.push_back(HookArgument(std::make_pair(num_fields, fields)));
|
||||
MetaHookPre(HOOK_LOG_INIT, args);
|
||||
MetaHookPre(zeek::plugin::HOOK_LOG_INIT, args);
|
||||
}
|
||||
|
||||
hook_list* l = hooks[HOOK_LOG_INIT];
|
||||
hook_list* l = hooks[zeek::plugin::HOOK_LOG_INIT];
|
||||
|
||||
if ( l )
|
||||
for ( hook_list::iterator i = l->begin(); i != l->end(); ++i )
|
||||
|
@ -823,8 +830,8 @@ void Manager::HookLogInit(const std::string& writer,
|
|||
num_fields, fields);
|
||||
}
|
||||
|
||||
if ( HavePluginForHook(META_HOOK_POST) )
|
||||
MetaHookPost(HOOK_LOG_INIT, args, HookArgument());
|
||||
if ( HavePluginForHook(zeek::plugin::META_HOOK_POST) )
|
||||
MetaHookPost(zeek::plugin::HOOK_LOG_INIT, args, HookArgument());
|
||||
}
|
||||
|
||||
bool Manager::HookLogWrite(const std::string& writer,
|
||||
|
@ -836,7 +843,7 @@ bool Manager::HookLogWrite(const std::string& writer,
|
|||
{
|
||||
HookArgumentList args;
|
||||
|
||||
if ( HavePluginForHook(META_HOOK_PRE) )
|
||||
if ( HavePluginForHook(zeek::plugin::META_HOOK_PRE) )
|
||||
{
|
||||
args.push_back(HookArgument(writer));
|
||||
args.push_back(HookArgument(filter));
|
||||
|
@ -844,10 +851,10 @@ bool Manager::HookLogWrite(const std::string& writer,
|
|||
args.push_back(HookArgument(num_fields));
|
||||
args.push_back(HookArgument(std::make_pair(num_fields, fields)));
|
||||
args.push_back(HookArgument(vals));
|
||||
MetaHookPre(HOOK_LOG_WRITE, args);
|
||||
MetaHookPre(zeek::plugin::HOOK_LOG_WRITE, args);
|
||||
}
|
||||
|
||||
hook_list* l = hooks[HOOK_LOG_WRITE];
|
||||
hook_list* l = hooks[zeek::plugin::HOOK_LOG_WRITE];
|
||||
|
||||
bool result = true;
|
||||
|
||||
|
@ -864,8 +871,8 @@ bool Manager::HookLogWrite(const std::string& writer,
|
|||
}
|
||||
}
|
||||
|
||||
if ( HavePluginForHook(META_HOOK_POST) )
|
||||
MetaHookPost(HOOK_LOG_WRITE, args, HookArgument(result));
|
||||
if ( HavePluginForHook(zeek::plugin::META_HOOK_POST) )
|
||||
MetaHookPost(zeek::plugin::HOOK_LOG_WRITE, args, HookArgument(result));
|
||||
|
||||
return result;
|
||||
}
|
||||
|
@ -878,7 +885,7 @@ bool Manager::HookReporter(const std::string& prefix, const EventHandlerPtr even
|
|||
{
|
||||
HookArgumentList args;
|
||||
|
||||
if ( HavePluginForHook(META_HOOK_PRE) )
|
||||
if ( HavePluginForHook(zeek::plugin::META_HOOK_PRE) )
|
||||
{
|
||||
args.push_back(HookArgument(prefix));
|
||||
args.push_back(HookArgument(conn));
|
||||
|
@ -888,10 +895,10 @@ bool Manager::HookReporter(const std::string& prefix, const EventHandlerPtr even
|
|||
args.push_back(HookArgument(location));
|
||||
args.push_back(HookArgument(time));
|
||||
args.push_back(HookArgument(message));
|
||||
MetaHookPre(HOOK_REPORTER, args);
|
||||
MetaHookPre(zeek::plugin::HOOK_REPORTER, args);
|
||||
}
|
||||
|
||||
hook_list* l = hooks[HOOK_REPORTER];
|
||||
hook_list* l = hooks[zeek::plugin::HOOK_REPORTER];
|
||||
|
||||
bool result = true;
|
||||
|
||||
|
@ -909,33 +916,23 @@ bool Manager::HookReporter(const std::string& prefix, const EventHandlerPtr even
|
|||
}
|
||||
}
|
||||
|
||||
if ( HavePluginForHook(META_HOOK_POST) )
|
||||
MetaHookPost(HOOK_REPORTER, args, HookArgument(result));
|
||||
if ( HavePluginForHook(zeek::plugin::META_HOOK_POST) )
|
||||
MetaHookPost(zeek::plugin::HOOK_REPORTER, args, HookArgument(result));
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
void Manager::MetaHookPre(HookType hook, const HookArgumentList& args) const
|
||||
void Manager::MetaHookPre(zeek::plugin::HookType hook, const HookArgumentList& args) const
|
||||
{
|
||||
hook_list* l = hooks[HOOK_CALL_FUNCTION];
|
||||
|
||||
if ( l )
|
||||
for ( hook_list::iterator i = l->begin(); i != l->end(); ++i )
|
||||
{
|
||||
Plugin* p = (*i).second;
|
||||
p->MetaHookPre(hook, args);
|
||||
}
|
||||
if ( hook_list* l = hooks[zeek::plugin::HOOK_CALL_FUNCTION] )
|
||||
for ( const auto& [hook_type, plugin] : *l )
|
||||
plugin->MetaHookPre(hook, args);
|
||||
}
|
||||
|
||||
void Manager::MetaHookPost(HookType hook, const HookArgumentList& args, HookArgument result) const
|
||||
void Manager::MetaHookPost(zeek::plugin::HookType hook, const HookArgumentList& args, HookArgument result) const
|
||||
{
|
||||
hook_list* l = hooks[HOOK_CALL_FUNCTION];
|
||||
|
||||
if ( l )
|
||||
for ( hook_list::iterator i = l->begin(); i != l->end(); ++i )
|
||||
{
|
||||
Plugin* p = (*i).second;
|
||||
p->MetaHookPost(hook, args, result);
|
||||
}
|
||||
if ( hook_list* l = hooks[zeek::plugin::HOOK_CALL_FUNCTION] )
|
||||
for ( const auto& [hook_type, plugin] : *l )
|
||||
plugin->MetaHookPost(hook, args, result);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue