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:
Jon Siwek 2020-06-11 23:12:02 -07:00
commit d4f3cad7d1
256 changed files with 4277 additions and 3501 deletions

View file

@ -61,7 +61,7 @@ std::pair<bool, IntrusivePtr<Val>> Plugin::HookFunctionCall(const Func* func,
return {};
}
void Plugin::MetaHookPre(HookType hook, const HookArgumentList& args)
void Plugin::MetaHookPre(zeek::plugin::HookType hook, const zeek::plugin::HookArgumentList& args)
{
ODesc d;
d.SetShort();
@ -70,7 +70,9 @@ void Plugin::MetaHookPre(HookType hook, const HookArgumentList& args)
hook_name(hook), d.Description());
}
void Plugin::MetaHookPost(HookType hook, const HookArgumentList& args, HookArgument result)
void Plugin::MetaHookPost(zeek::plugin::HookType hook,
const zeek::plugin::HookArgumentList& args,
zeek::plugin::HookArgument result)
{
ODesc d1;
d1.SetShort();

View file

@ -6,7 +6,7 @@
namespace plugin {
namespace Demo_Hooks {
class Plugin : public ::plugin::Plugin
class Plugin : public zeek::plugin::Plugin
{
protected:
@ -14,8 +14,11 @@ protected:
Frame* frame,
zeek::Args* args) override;
void MetaHookPre(HookType hook, const HookArgumentList& args) override;
void MetaHookPost(HookType hook, const HookArgumentList& args, HookArgument result) override;
void MetaHookPre(zeek::plugin::HookType hook,
const zeek::plugin::HookArgumentList& args) override;
void MetaHookPost(zeek::plugin::HookType hook,
const zeek::plugin::HookArgumentList& args,
zeek::plugin::HookArgument result) override;
// Overridden from plugin::Plugin.
plugin::Configuration Configure() override;

View file

@ -11,21 +11,21 @@ namespace plugin { namespace Demo_Hooks { Plugin plugin; } }
using namespace plugin::Demo_Hooks;
plugin::Configuration Plugin::Configure()
zeek::plugin::Configuration Plugin::Configure()
{
EnableHook(HOOK_LOAD_FILE);
EnableHook(HOOK_CALL_FUNCTION);
EnableHook(HOOK_QUEUE_EVENT);
EnableHook(HOOK_DRAIN_EVENTS);
EnableHook(HOOK_UPDATE_NETWORK_TIME);
EnableHook(META_HOOK_PRE);
EnableHook(META_HOOK_POST);
EnableHook(HOOK_BRO_OBJ_DTOR);
EnableHook(HOOK_SETUP_ANALYZER_TREE);
EnableHook(HOOK_LOG_INIT);
EnableHook(HOOK_LOG_WRITE);
EnableHook(zeek::plugin::HOOK_LOAD_FILE);
EnableHook(zeek::plugin::HOOK_CALL_FUNCTION);
EnableHook(zeek::plugin::HOOK_QUEUE_EVENT);
EnableHook(zeek::plugin::HOOK_DRAIN_EVENTS);
EnableHook(zeek::plugin::HOOK_UPDATE_NETWORK_TIME);
EnableHook(zeek::plugin::META_HOOK_PRE);
EnableHook(zeek::plugin::META_HOOK_POST);
EnableHook(zeek::plugin::HOOK_BRO_OBJ_DTOR);
EnableHook(zeek::plugin::HOOK_SETUP_ANALYZER_TREE);
EnableHook(zeek::plugin::HOOK_LOG_INIT);
EnableHook(zeek::plugin::HOOK_LOG_WRITE);
plugin::Configuration config;
zeek::plugin::Configuration config;
config.name = "Demo::Hooks";
config.description = "Exercises all plugin hooks";
config.version.major = 1;
@ -34,11 +34,11 @@ plugin::Configuration Plugin::Configure()
return config;
}
static void describe_hook_args(const plugin::HookArgumentList& args, ODesc* d)
static void describe_hook_args(const zeek::plugin::HookArgumentList& args, ODesc* d)
{
bool first = true;
for ( plugin::HookArgumentList::const_iterator i = args.begin(); i != args.end(); i++ )
for ( zeek::plugin::HookArgumentList::const_iterator i = args.begin(); i != args.end(); i++ )
{
if ( ! first )
d->Add(", ");
@ -59,8 +59,8 @@ std::pair<bool, Val*> Plugin::HookCallFunction(const Func* func, Frame* frame, v
{
ODesc d;
d.SetShort();
HookArgument(func).Describe(&d);
HookArgument(args).Describe(&d);
zeek::plugin::HookArgument(func).Describe(&d);
zeek::plugin::HookArgument(args).Describe(&d);
fprintf(stderr, "%.6f %-15s %s\n", network_time, "| HookCallFunction",
d.Description());
@ -71,7 +71,7 @@ bool Plugin::HookQueueEvent(Event* event)
{
ODesc d;
d.SetShort();
HookArgument(event).Describe(&d);
zeek::plugin::HookArgument(event).Describe(&d);
fprintf(stderr, "%.6f %-15s %s\n", network_time, "| HookQueueEvent",
d.Description());
@ -105,7 +105,7 @@ void Plugin::HookBroObjDtor(void* obj)
fprintf(stderr, "%.6f %-15s\n", ::network_time, "| HookBroObjDtor");
}
void Plugin::MetaHookPre(HookType hook, const HookArgumentList& args)
void Plugin::MetaHookPre(zeek::plugin::HookType hook, const zeek::plugin::HookArgumentList& args)
{
ODesc d;
d.SetShort();
@ -114,7 +114,7 @@ void Plugin::MetaHookPre(HookType hook, const HookArgumentList& args)
hook_name(hook), d.Description());
}
void Plugin::MetaHookPost(HookType hook, const HookArgumentList& args, HookArgument result)
void Plugin::MetaHookPost(zeek::plugin::HookType hook, const zeek::plugin::HookArgumentList& args, zeek::plugin::HookArgument result)
{
ODesc d1;
d1.SetShort();

View file

@ -6,7 +6,7 @@
namespace plugin {
namespace Demo_Hooks {
class Plugin : public ::plugin::Plugin
class Plugin : public zeek::plugin::Plugin
{
protected:
int HookLoadFile(const LoadType type, const std::string& file, const std::string& resolved) override;
@ -18,13 +18,13 @@ protected:
void HookLogInit(const std::string& writer, const std::string& instantiating_filter, bool local, bool remote, const logging::WriterBackend::WriterInfo& info, int num_fields, const threading::Field* const* fields) override;
bool HookLogWrite(const std::string& writer, const std::string& filter, const logging::WriterBackend::WriterInfo& info, int num_fields, const threading::Field* const* fields, threading::Value** vals) override;
void HookSetupAnalyzerTree(Connection *conn) override;
void MetaHookPre(HookType hook, const HookArgumentList& args) override;
void MetaHookPost(HookType hook, const HookArgumentList& args, HookArgument result) override;
void MetaHookPre(zeek::plugin::HookType hook, const zeek::plugin::HookArgumentList& args) override;
void MetaHookPost(zeek::plugin::HookType hook, const zeek::plugin::HookArgumentList& args, zeek::plugin::HookArgument result) override;
void RenderVal(const threading::Value* val, ODesc &d) const;
// Overridden from plugin::Plugin.
plugin::Configuration Configure() override;
// Overridden from zeek::plugin::Plugin.
zeek::plugin::Configuration Configure() override;
};
extern Plugin plugin;

View file

@ -80,7 +80,7 @@ std::pair<bool, Val*> Plugin::HookCallFunction(const Func* func, Frame* frame, v
/* return {}; */
/* } */
void Plugin::MetaHookPre(HookType hook, const HookArgumentList& args)
void Plugin::MetaHookPre(zeek::plugin::HookType hook, const zeek::plugin::HookArgumentList& args)
{
ODesc d;
d.SetShort();
@ -89,7 +89,8 @@ void Plugin::MetaHookPre(HookType hook, const HookArgumentList& args)
hook_name(hook), d.Description());
}
void Plugin::MetaHookPost(HookType hook, const HookArgumentList& args, HookArgument result)
void Plugin::MetaHookPost(zeek::plugin::HookType hook, const zeek::plugin::HookArgumentList& args,
zeek::plugin::HookArgument result)
{
ODesc d1;
d1.SetShort();

View file

@ -6,7 +6,7 @@
namespace plugin {
namespace Demo_Hooks {
class Plugin : public ::plugin::Plugin
class Plugin : public zeek::plugin::Plugin
{
protected:
std::pair<bool, Val*> HookCallFunction(const Func* func, Frame* frame, val_list* args) override;
@ -15,8 +15,11 @@ protected:
/* Frame* frame, */
/* zeek::Args* args) override; */
void MetaHookPre(HookType hook, const HookArgumentList& args) override;
void MetaHookPost(HookType hook, const HookArgumentList& args, HookArgument result) override;
void MetaHookPre(zeek::plugin::HookType hook,
const zeek::plugin::HookArgumentList& args) override;
void MetaHookPost(zeek::plugin::HookType hook,
const zeek::plugin::HookArgumentList& args,
zeek::plugin::HookArgument result) override;
// Overridden from plugin::Plugin.
plugin::Configuration Configure() override;

View file

@ -71,17 +71,17 @@ bool Foo::DoUpdate()
return true;
}
threading::Value* Foo::EntryToVal(TypeTag type, TypeTag subtype)
threading::Value* Foo::EntryToVal(zeek::TypeTag type, zeek::TypeTag subtype)
{
Value* val = new Value(type, true);
// basically construct something random from the fields that we want.
switch ( type ) {
case TYPE_ENUM:
case zeek::TYPE_ENUM:
assert(false); // no enums, please.
case TYPE_STRING:
case zeek::TYPE_STRING:
{
std::string rnd = RandomString(10);
val->val.string_val.data = copy_string(rnd.c_str());
@ -89,46 +89,46 @@ threading::Value* Foo::EntryToVal(TypeTag type, TypeTag subtype)
break;
}
case TYPE_BOOL:
case zeek::TYPE_BOOL:
val->val.int_val = 1; // we never lie.
break;
case TYPE_INT:
case zeek::TYPE_INT:
val->val.int_val = random();
break;
case TYPE_TIME:
case zeek::TYPE_TIME:
val->val.double_val = 0;
break;
case TYPE_DOUBLE:
case TYPE_INTERVAL:
case zeek::TYPE_DOUBLE:
case zeek::TYPE_INTERVAL:
val->val.double_val = random();
break;
case TYPE_COUNT:
case TYPE_COUNTER:
case zeek::TYPE_COUNT:
case zeek::TYPE_COUNTER:
val->val.uint_val = random();
break;
case TYPE_PORT:
case zeek::TYPE_PORT:
val->val.port_val.port = random() / (RAND_MAX / 60000);
val->val.port_val.proto = TRANSPORT_UNKNOWN;
break;
case TYPE_SUBNET:
case zeek::TYPE_SUBNET:
{
val->val.subnet_val.prefix = ascii->ParseAddr("192.168.17.1");
val->val.subnet_val.length = 16;
}
break;
case TYPE_ADDR:
case zeek::TYPE_ADDR:
val->val.addr_val = ascii->ParseAddr("192.168.17.1");
break;
case TYPE_TABLE:
case TYPE_VECTOR:
case zeek::TYPE_TABLE:
case zeek::TYPE_VECTOR:
// First - common initialization
// Then - initialization for table.
// Then - initialization for vector.
@ -139,12 +139,12 @@ threading::Value* Foo::EntryToVal(TypeTag type, TypeTag subtype)
Value** lvals = new Value* [length];
if ( type == TYPE_TABLE )
if ( type == zeek::TYPE_TABLE )
{
val->val.set_val.vals = lvals;
val->val.set_val.size = length;
}
else if ( type == TYPE_VECTOR )
else if ( type == zeek::TYPE_VECTOR )
{
val->val.vector_val.vals = lvals;
val->val.vector_val.size = length;
@ -157,7 +157,7 @@ threading::Value* Foo::EntryToVal(TypeTag type, TypeTag subtype)
for ( unsigned int pos = 0; pos < length; pos++ )
{
Value* newval = EntryToVal(subtype, TYPE_ENUM);
Value* newval = EntryToVal(subtype, zeek::TYPE_ENUM);
if ( newval == 0 )
{
Error("Error while reading set");

View file

@ -24,7 +24,7 @@ protected:
private:
std::string RandomString(const int len);
threading::Value* EntryToVal(TypeTag Type, TypeTag subtype);
threading::Value* EntryToVal(zeek::TypeTag Type, zeek::TypeTag subtype);
threading::formatter::Ascii* ascii;
};