mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 06:38:20 +00:00
Move a few smaller files to zeek namespaces
This commit is contained in:
parent
812ac5536d
commit
db36688bf0
32 changed files with 335 additions and 193 deletions
|
@ -930,7 +930,7 @@ bool pre_execute_stmt(zeek::detail::Stmt* stmt, zeek::detail::Frame* f)
|
|||
return true;
|
||||
}
|
||||
|
||||
bool post_execute_stmt(zeek::detail::Stmt* stmt, zeek::detail::Frame* f, zeek::Val* result, stmt_flow_type* flow)
|
||||
bool post_execute_stmt(zeek::detail::Stmt* stmt, zeek::detail::Frame* f, zeek::Val* result, zeek::detail::StmtFlowType* flow)
|
||||
{
|
||||
// Handle the case where someone issues a "next" debugger command,
|
||||
// but we're at a return statement, so the next statement is in
|
||||
|
|
|
@ -148,7 +148,7 @@ std::vector<ParseLocationRec> parse_location_string(const std::string& s);
|
|||
|
||||
// Return true to continue execution, false to abort.
|
||||
bool pre_execute_stmt(zeek::detail::Stmt* stmt, zeek::detail::Frame* f);
|
||||
bool post_execute_stmt(zeek::detail::Stmt* stmt, zeek::detail::Frame* f, zeek::Val* result, stmt_flow_type* flow);
|
||||
bool post_execute_stmt(zeek::detail::Stmt* stmt, zeek::detail::Frame* f, zeek::Val* result, StmtFlowType* flow);
|
||||
|
||||
// Returns 1 if successful, 0 otherwise.
|
||||
// If cmdfile is non-nil, it contains the location of a file of commands
|
||||
|
|
|
@ -375,7 +375,7 @@ zeek::ValPtr ScriptFunc::Invoke(zeek::Args* args, zeek::detail::Frame* parent) c
|
|||
GetType()->FlavorString().c_str(), d.Description());
|
||||
}
|
||||
|
||||
stmt_flow_type flow = FLOW_NEXT;
|
||||
StmtFlowType flow = FLOW_NEXT;
|
||||
zeek::ValPtr result;
|
||||
|
||||
for ( const auto& body : bodies )
|
||||
|
|
|
@ -10,13 +10,13 @@
|
|||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
using namespace std;
|
||||
|
||||
#include "Debug.h"
|
||||
#include "util.h"
|
||||
#include "PolicyFile.h"
|
||||
#include "Reporter.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
struct PolicyFile {
|
||||
PolicyFile () { filedata = nullptr; lmtime = 0; }
|
||||
~PolicyFile () { delete [] filedata; filedata = nullptr; }
|
||||
|
@ -29,6 +29,8 @@ struct PolicyFile {
|
|||
typedef map<string, PolicyFile*> PolicyFileMap;
|
||||
static PolicyFileMap policy_files;
|
||||
|
||||
namespace zeek::detail {
|
||||
|
||||
int how_many_lines_in(const char* policy_filename)
|
||||
{
|
||||
if ( ! policy_filename )
|
||||
|
@ -174,3 +176,5 @@ bool PrintLines(const char* policy_filename, unsigned int start_line,
|
|||
|
||||
return true;
|
||||
}
|
||||
|
||||
} // namespace zeek::detail
|
||||
|
|
|
@ -14,10 +14,14 @@
|
|||
// policy_filename arguments should be absolute or relative paths;
|
||||
// no expansion is done.
|
||||
|
||||
namespace zeek::detail {
|
||||
|
||||
int how_many_lines_in(const char* policy_filename);
|
||||
|
||||
bool LoadPolicyFileText(const char* policy_filename);
|
||||
|
||||
// start_line is 1-based (the intuitive way)
|
||||
bool PrintLines(const char* policy_filename, unsigned int start_line,
|
||||
unsigned int how_many_lines, bool show_numbers);
|
||||
unsigned int how_many_lines, bool show_numbers);
|
||||
|
||||
} // namespace zeek::detail
|
||||
|
|
|
@ -109,9 +109,9 @@ void ProfileLogger::Log()
|
|||
first_stime = stime;
|
||||
|
||||
file->Write(zeek::util::fmt("%.06f Command line: ", zeek::net::network_time ));
|
||||
for ( int i = 0; i < bro_argc; i++ )
|
||||
for ( int i = 0; i < zeek_argc; i++ )
|
||||
{
|
||||
file->Write(bro_argv[i]);
|
||||
file->Write(zeek_argv[i]);
|
||||
file->Write(" ");
|
||||
}
|
||||
file->Write(zeek::util::fmt("\n%.06f ------------------------\n", zeek::net::network_time));
|
||||
|
|
58
src/Stmt.cc
58
src/Stmt.cc
|
@ -21,7 +21,9 @@
|
|||
#include "logging/Manager.h"
|
||||
#include "logging/logging.bif.h"
|
||||
|
||||
const char* stmt_name(BroStmtTag t)
|
||||
namespace zeek::detail {
|
||||
|
||||
const char* stmt_name(StmtTag t)
|
||||
{
|
||||
static const char* stmt_names[int(NUM_STMTS)] = {
|
||||
"alarm", // Does no longer exist, but kept for keeping enums consistent.
|
||||
|
@ -35,9 +37,7 @@ const char* stmt_name(BroStmtTag t)
|
|||
return stmt_names[int(t)];
|
||||
}
|
||||
|
||||
namespace zeek::detail {
|
||||
|
||||
Stmt::Stmt(BroStmtTag arg_tag)
|
||||
Stmt::Stmt(StmtTag arg_tag)
|
||||
{
|
||||
tag = arg_tag;
|
||||
breakpoint_count = 0;
|
||||
|
@ -151,7 +151,7 @@ void Stmt::AccessStats(ODesc* d) const
|
|||
}
|
||||
}
|
||||
|
||||
ExprListStmt::ExprListStmt(BroStmtTag t, ListExprPtr arg_l)
|
||||
ExprListStmt::ExprListStmt(StmtTag t, ListExprPtr arg_l)
|
||||
: Stmt(t), l(std::move(arg_l))
|
||||
{
|
||||
const expr_list& e = l->Exprs();
|
||||
|
@ -167,7 +167,7 @@ ExprListStmt::ExprListStmt(BroStmtTag t, ListExprPtr arg_l)
|
|||
|
||||
ExprListStmt::~ExprListStmt() = default;
|
||||
|
||||
ValPtr ExprListStmt::Exec(Frame* f, stmt_flow_type& flow) const
|
||||
ValPtr ExprListStmt::Exec(Frame* f, StmtFlowType& flow) const
|
||||
{
|
||||
last_access = zeek::net::network_time;
|
||||
flow = FLOW_NEXT;
|
||||
|
@ -239,7 +239,7 @@ static void print_log(const std::vector<ValPtr>& vals)
|
|||
}
|
||||
|
||||
ValPtr PrintStmt::DoExec(std::vector<ValPtr> vals,
|
||||
stmt_flow_type& /* flow */) const
|
||||
StmtFlowType& /* flow */) const
|
||||
{
|
||||
RegisterAccess();
|
||||
|
||||
|
@ -316,7 +316,7 @@ ExprStmt::ExprStmt(ExprPtr arg_e) : Stmt(STMT_EXPR), e(std::move(arg_e))
|
|||
SetLocationInfo(e->GetLocationInfo());
|
||||
}
|
||||
|
||||
ExprStmt::ExprStmt(BroStmtTag t, ExprPtr arg_e) : Stmt(t), e(std::move(arg_e))
|
||||
ExprStmt::ExprStmt(StmtTag t, ExprPtr arg_e) : Stmt(t), e(std::move(arg_e))
|
||||
{
|
||||
if ( e )
|
||||
SetLocationInfo(e->GetLocationInfo());
|
||||
|
@ -324,7 +324,7 @@ ExprStmt::ExprStmt(BroStmtTag t, ExprPtr arg_e) : Stmt(t), e(std::move(arg_e))
|
|||
|
||||
ExprStmt::~ExprStmt() = default;
|
||||
|
||||
ValPtr ExprStmt::Exec(Frame* f, stmt_flow_type& flow) const
|
||||
ValPtr ExprStmt::Exec(Frame* f, StmtFlowType& flow) const
|
||||
{
|
||||
RegisterAccess();
|
||||
flow = FLOW_NEXT;
|
||||
|
@ -337,7 +337,7 @@ ValPtr ExprStmt::Exec(Frame* f, stmt_flow_type& flow) const
|
|||
return nullptr;
|
||||
}
|
||||
|
||||
ValPtr ExprStmt::DoExec(Frame* /* f */, Val* /* v */, stmt_flow_type& /* flow */) const
|
||||
ValPtr ExprStmt::DoExec(Frame* /* f */, Val* /* v */, StmtFlowType& /* flow */) const
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
|
@ -399,7 +399,7 @@ IfStmt::IfStmt(ExprPtr test,
|
|||
|
||||
IfStmt::~IfStmt() = default;
|
||||
|
||||
ValPtr IfStmt::DoExec(Frame* f, Val* v, stmt_flow_type& flow) const
|
||||
ValPtr IfStmt::DoExec(Frame* f, Val* v, StmtFlowType& flow) const
|
||||
{
|
||||
// Treat 0 as false, but don't require 1 for true.
|
||||
Stmt* do_stmt = v->IsZero() ? s2.get() : s1.get();
|
||||
|
@ -467,7 +467,7 @@ TraversalCode IfStmt::Traverse(TraversalCallback* cb) const
|
|||
HANDLE_TC_STMT_POST(tc);
|
||||
}
|
||||
|
||||
static BroStmtTag get_last_stmt_tag(const Stmt* stmt)
|
||||
static StmtTag get_last_stmt_tag(const Stmt* stmt)
|
||||
{
|
||||
if ( ! stmt )
|
||||
return STMT_NULL;
|
||||
|
@ -489,7 +489,7 @@ Case::Case(ListExprPtr arg_expr_cases, id_list* arg_type_cases,
|
|||
: expr_cases(std::move(arg_expr_cases)), type_cases(arg_type_cases),
|
||||
s(std::move(arg_s))
|
||||
{
|
||||
BroStmtTag t = get_last_stmt_tag(Body());
|
||||
StmtTag t = get_last_stmt_tag(Body());
|
||||
|
||||
if ( t != STMT_BREAK && t != STMT_FALLTHROUGH && t != STMT_RETURN )
|
||||
Error("case block must end in break/fallthrough/return statement");
|
||||
|
@ -817,7 +817,7 @@ std::pair<int, ID*> SwitchStmt::FindCaseLabelMatch(const Val* v) const
|
|||
return std::make_pair(label_idx, label_id);
|
||||
}
|
||||
|
||||
ValPtr SwitchStmt::DoExec(Frame* f, Val* v, stmt_flow_type& flow) const
|
||||
ValPtr SwitchStmt::DoExec(Frame* f, Val* v, StmtFlowType& flow) const
|
||||
{
|
||||
ValPtr rval;
|
||||
|
||||
|
@ -913,7 +913,7 @@ bool AddStmt::IsPure() const
|
|||
return false;
|
||||
}
|
||||
|
||||
ValPtr AddStmt::Exec(Frame* f, stmt_flow_type& flow) const
|
||||
ValPtr AddStmt::Exec(Frame* f, StmtFlowType& flow) const
|
||||
{
|
||||
RegisterAccess();
|
||||
flow = FLOW_NEXT;
|
||||
|
@ -949,7 +949,7 @@ bool DelStmt::IsPure() const
|
|||
return false;
|
||||
}
|
||||
|
||||
ValPtr DelStmt::Exec(Frame* f, stmt_flow_type& flow) const
|
||||
ValPtr DelStmt::Exec(Frame* f, StmtFlowType& flow) const
|
||||
{
|
||||
RegisterAccess();
|
||||
flow = FLOW_NEXT;
|
||||
|
@ -975,7 +975,7 @@ EventStmt::EventStmt(EventExprPtr arg_e)
|
|||
{
|
||||
}
|
||||
|
||||
ValPtr EventStmt::Exec(Frame* f, stmt_flow_type& flow) const
|
||||
ValPtr EventStmt::Exec(Frame* f, StmtFlowType& flow) const
|
||||
{
|
||||
RegisterAccess();
|
||||
auto args = eval_list(f, event_expr->Args());
|
||||
|
@ -1052,7 +1052,7 @@ TraversalCode WhileStmt::Traverse(TraversalCallback* cb) const
|
|||
HANDLE_TC_STMT_POST(tc);
|
||||
}
|
||||
|
||||
ValPtr WhileStmt::Exec(Frame* f, stmt_flow_type& flow) const
|
||||
ValPtr WhileStmt::Exec(Frame* f, StmtFlowType& flow) const
|
||||
{
|
||||
RegisterAccess();
|
||||
flow = FLOW_NEXT;
|
||||
|
@ -1195,7 +1195,7 @@ ForStmt::~ForStmt()
|
|||
delete loop_vars;
|
||||
}
|
||||
|
||||
ValPtr ForStmt::DoExec(Frame* f, Val* v, stmt_flow_type& flow) const
|
||||
ValPtr ForStmt::DoExec(Frame* f, Val* v, StmtFlowType& flow) const
|
||||
{
|
||||
ValPtr ret;
|
||||
|
||||
|
@ -1353,7 +1353,7 @@ TraversalCode ForStmt::Traverse(TraversalCallback* cb) const
|
|||
HANDLE_TC_STMT_POST(tc);
|
||||
}
|
||||
|
||||
ValPtr NextStmt::Exec(Frame* /* f */, stmt_flow_type& flow) const
|
||||
ValPtr NextStmt::Exec(Frame* /* f */, StmtFlowType& flow) const
|
||||
{
|
||||
RegisterAccess();
|
||||
flow = FLOW_LOOP;
|
||||
|
@ -1380,7 +1380,7 @@ TraversalCode NextStmt::Traverse(TraversalCallback* cb) const
|
|||
HANDLE_TC_STMT_POST(tc);
|
||||
}
|
||||
|
||||
ValPtr BreakStmt::Exec(Frame* /* f */, stmt_flow_type& flow) const
|
||||
ValPtr BreakStmt::Exec(Frame* /* f */, StmtFlowType& flow) const
|
||||
{
|
||||
RegisterAccess();
|
||||
flow = FLOW_BREAK;
|
||||
|
@ -1407,7 +1407,7 @@ TraversalCode BreakStmt::Traverse(TraversalCallback* cb) const
|
|||
HANDLE_TC_STMT_POST(tc);
|
||||
}
|
||||
|
||||
ValPtr FallthroughStmt::Exec(Frame* /* f */, stmt_flow_type& flow) const
|
||||
ValPtr FallthroughStmt::Exec(Frame* /* f */, StmtFlowType& flow) const
|
||||
{
|
||||
RegisterAccess();
|
||||
flow = FLOW_FALLTHROUGH;
|
||||
|
@ -1478,7 +1478,7 @@ ReturnStmt::ReturnStmt(ExprPtr arg_e)
|
|||
}
|
||||
}
|
||||
|
||||
ValPtr ReturnStmt::Exec(Frame* f, stmt_flow_type& flow) const
|
||||
ValPtr ReturnStmt::Exec(Frame* f, StmtFlowType& flow) const
|
||||
{
|
||||
RegisterAccess();
|
||||
flow = FLOW_RETURN;
|
||||
|
@ -1517,7 +1517,7 @@ StmtList::~StmtList()
|
|||
Unref(stmt);
|
||||
}
|
||||
|
||||
ValPtr StmtList::Exec(Frame* f, stmt_flow_type& flow) const
|
||||
ValPtr StmtList::Exec(Frame* f, StmtFlowType& flow) const
|
||||
{
|
||||
RegisterAccess();
|
||||
flow = FLOW_NEXT;
|
||||
|
@ -1596,7 +1596,7 @@ TraversalCode StmtList::Traverse(TraversalCallback* cb) const
|
|||
HANDLE_TC_STMT_POST(tc);
|
||||
}
|
||||
|
||||
ValPtr EventBodyList::Exec(Frame* f, stmt_flow_type& flow) const
|
||||
ValPtr EventBodyList::Exec(Frame* f, StmtFlowType& flow) const
|
||||
{
|
||||
RegisterAccess();
|
||||
flow = FLOW_NEXT;
|
||||
|
@ -1621,7 +1621,7 @@ ValPtr EventBodyList::Exec(Frame* f, stmt_flow_type& flow) const
|
|||
}
|
||||
|
||||
// Simulate a return so the hooks operate properly.
|
||||
stmt_flow_type ft = FLOW_RETURN;
|
||||
StmtFlowType ft = FLOW_RETURN;
|
||||
(void) post_execute_stmt(f->GetNextStmt(), f, nullptr, &ft);
|
||||
|
||||
return nullptr;
|
||||
|
@ -1662,7 +1662,7 @@ InitStmt::InitStmt(std::vector<IDPtr> arg_inits) : Stmt(STMT_INIT)
|
|||
SetLocationInfo(inits[0]->GetLocationInfo());
|
||||
}
|
||||
|
||||
ValPtr InitStmt::Exec(Frame* f, stmt_flow_type& flow) const
|
||||
ValPtr InitStmt::Exec(Frame* f, StmtFlowType& flow) const
|
||||
{
|
||||
RegisterAccess();
|
||||
flow = FLOW_NEXT;
|
||||
|
@ -1727,7 +1727,7 @@ TraversalCode InitStmt::Traverse(TraversalCallback* cb) const
|
|||
HANDLE_TC_STMT_POST(tc);
|
||||
}
|
||||
|
||||
ValPtr NullStmt::Exec(Frame* /* f */, stmt_flow_type& flow) const
|
||||
ValPtr NullStmt::Exec(Frame* /* f */, StmtFlowType& flow) const
|
||||
{
|
||||
RegisterAccess();
|
||||
flow = FLOW_NEXT;
|
||||
|
@ -1782,7 +1782,7 @@ WhenStmt::WhenStmt(ExprPtr arg_cond,
|
|||
|
||||
WhenStmt::~WhenStmt() = default;
|
||||
|
||||
ValPtr WhenStmt::Exec(Frame* f, stmt_flow_type& flow) const
|
||||
ValPtr WhenStmt::Exec(Frame* f, StmtFlowType& flow) const
|
||||
{
|
||||
RegisterAccess();
|
||||
flow = FLOW_NEXT;
|
||||
|
|
54
src/Stmt.h
54
src/Stmt.h
|
@ -33,11 +33,11 @@ using StmtPtr = zeek::IntrusivePtr<Stmt>;
|
|||
|
||||
class Stmt : public Obj {
|
||||
public:
|
||||
BroStmtTag Tag() const { return tag; }
|
||||
StmtTag Tag() const { return tag; }
|
||||
|
||||
~Stmt() override;
|
||||
|
||||
virtual ValPtr Exec(Frame* f, stmt_flow_type& flow) const = 0;
|
||||
virtual ValPtr Exec(Frame* f, StmtFlowType& flow) const = 0;
|
||||
|
||||
Stmt* Ref() { zeek::Ref(this); return this; }
|
||||
|
||||
|
@ -67,12 +67,12 @@ public:
|
|||
virtual TraversalCode Traverse(TraversalCallback* cb) const = 0;
|
||||
|
||||
protected:
|
||||
explicit Stmt(BroStmtTag arg_tag);
|
||||
explicit Stmt(StmtTag arg_tag);
|
||||
|
||||
void AddTag(ODesc* d) const;
|
||||
void DescribeDone(ODesc* d) const;
|
||||
|
||||
BroStmtTag tag;
|
||||
StmtTag tag;
|
||||
int breakpoint_count; // how many breakpoints on this statement
|
||||
|
||||
// FIXME: Learn the exact semantics of mutable.
|
||||
|
@ -87,13 +87,13 @@ public:
|
|||
TraversalCode Traverse(TraversalCallback* cb) const override;
|
||||
|
||||
protected:
|
||||
ExprListStmt(BroStmtTag t, ListExprPtr arg_l);
|
||||
ExprListStmt(StmtTag t, ListExprPtr arg_l);
|
||||
|
||||
~ExprListStmt() override;
|
||||
|
||||
ValPtr Exec(Frame* f, stmt_flow_type& flow) const override;
|
||||
ValPtr Exec(Frame* f, StmtFlowType& flow) const override;
|
||||
virtual ValPtr DoExec(std::vector<ValPtr> vals,
|
||||
stmt_flow_type& flow) const = 0;
|
||||
StmtFlowType& flow) const = 0;
|
||||
|
||||
void Describe(ODesc* d) const override;
|
||||
|
||||
|
@ -107,7 +107,7 @@ public:
|
|||
|
||||
protected:
|
||||
ValPtr DoExec(std::vector<ValPtr> vals,
|
||||
stmt_flow_type& flow) const override;
|
||||
StmtFlowType& flow) const override;
|
||||
};
|
||||
|
||||
class ExprStmt : public Stmt {
|
||||
|
@ -115,7 +115,7 @@ public:
|
|||
explicit ExprStmt(ExprPtr e);
|
||||
~ExprStmt() override;
|
||||
|
||||
ValPtr Exec(Frame* f, stmt_flow_type& flow) const override;
|
||||
ValPtr Exec(Frame* f, StmtFlowType& flow) const override;
|
||||
|
||||
const Expr* StmtExpr() const { return e.get(); }
|
||||
|
||||
|
@ -124,9 +124,9 @@ public:
|
|||
TraversalCode Traverse(TraversalCallback* cb) const override;
|
||||
|
||||
protected:
|
||||
ExprStmt(BroStmtTag t, ExprPtr e);
|
||||
ExprStmt(StmtTag t, ExprPtr e);
|
||||
|
||||
virtual ValPtr DoExec(Frame* f, Val* v, stmt_flow_type& flow) const;
|
||||
virtual ValPtr DoExec(Frame* f, Val* v, StmtFlowType& flow) const;
|
||||
|
||||
bool IsPure() const override;
|
||||
|
||||
|
@ -146,7 +146,7 @@ public:
|
|||
TraversalCode Traverse(TraversalCallback* cb) const override;
|
||||
|
||||
protected:
|
||||
ValPtr DoExec(Frame* f, Val* v, stmt_flow_type& flow) const override;
|
||||
ValPtr DoExec(Frame* f, Val* v, StmtFlowType& flow) const override;
|
||||
bool IsPure() const override;
|
||||
|
||||
StmtPtr s1;
|
||||
|
@ -191,7 +191,7 @@ public:
|
|||
TraversalCode Traverse(TraversalCallback* cb) const override;
|
||||
|
||||
protected:
|
||||
ValPtr DoExec(Frame* f, Val* v, stmt_flow_type& flow) const override;
|
||||
ValPtr DoExec(Frame* f, Val* v, StmtFlowType& flow) const override;
|
||||
bool IsPure() const override;
|
||||
|
||||
// Initialize composite hash and case label map.
|
||||
|
@ -225,7 +225,7 @@ public:
|
|||
explicit AddStmt(ExprPtr e);
|
||||
|
||||
bool IsPure() const override;
|
||||
ValPtr Exec(Frame* f, stmt_flow_type& flow) const override;
|
||||
ValPtr Exec(Frame* f, StmtFlowType& flow) const override;
|
||||
|
||||
TraversalCode Traverse(TraversalCallback* cb) const override;
|
||||
};
|
||||
|
@ -235,7 +235,7 @@ public:
|
|||
explicit DelStmt(ExprPtr e);
|
||||
|
||||
bool IsPure() const override;
|
||||
ValPtr Exec(Frame* f, stmt_flow_type& flow) const override;
|
||||
ValPtr Exec(Frame* f, StmtFlowType& flow) const override;
|
||||
|
||||
TraversalCode Traverse(TraversalCallback* cb) const override;
|
||||
};
|
||||
|
@ -244,7 +244,7 @@ class EventStmt final : public ExprStmt {
|
|||
public:
|
||||
explicit EventStmt(EventExprPtr e);
|
||||
|
||||
ValPtr Exec(Frame* f, stmt_flow_type& flow) const override;
|
||||
ValPtr Exec(Frame* f, StmtFlowType& flow) const override;
|
||||
|
||||
TraversalCode Traverse(TraversalCallback* cb) const override;
|
||||
|
||||
|
@ -265,7 +265,7 @@ public:
|
|||
TraversalCode Traverse(TraversalCallback* cb) const override;
|
||||
|
||||
protected:
|
||||
ValPtr Exec(Frame* f, stmt_flow_type& flow) const override;
|
||||
ValPtr Exec(Frame* f, StmtFlowType& flow) const override;
|
||||
|
||||
ExprPtr loop_condition;
|
||||
StmtPtr body;
|
||||
|
@ -291,7 +291,7 @@ public:
|
|||
TraversalCode Traverse(TraversalCallback* cb) const override;
|
||||
|
||||
protected:
|
||||
ValPtr DoExec(Frame* f, Val* v, stmt_flow_type& flow) const override;
|
||||
ValPtr DoExec(Frame* f, Val* v, StmtFlowType& flow) const override;
|
||||
|
||||
id_list* loop_vars;
|
||||
StmtPtr body;
|
||||
|
@ -304,7 +304,7 @@ class NextStmt final : public Stmt {
|
|||
public:
|
||||
NextStmt() : Stmt(STMT_NEXT) { }
|
||||
|
||||
ValPtr Exec(Frame* f, stmt_flow_type& flow) const override;
|
||||
ValPtr Exec(Frame* f, StmtFlowType& flow) const override;
|
||||
bool IsPure() const override;
|
||||
|
||||
void Describe(ODesc* d) const override;
|
||||
|
@ -318,7 +318,7 @@ class BreakStmt final : public Stmt {
|
|||
public:
|
||||
BreakStmt() : Stmt(STMT_BREAK) { }
|
||||
|
||||
ValPtr Exec(Frame* f, stmt_flow_type& flow) const override;
|
||||
ValPtr Exec(Frame* f, StmtFlowType& flow) const override;
|
||||
bool IsPure() const override;
|
||||
|
||||
void Describe(ODesc* d) const override;
|
||||
|
@ -332,7 +332,7 @@ class FallthroughStmt final : public Stmt {
|
|||
public:
|
||||
FallthroughStmt() : Stmt(STMT_FALLTHROUGH) { }
|
||||
|
||||
ValPtr Exec(Frame* f, stmt_flow_type& flow) const override;
|
||||
ValPtr Exec(Frame* f, StmtFlowType& flow) const override;
|
||||
bool IsPure() const override;
|
||||
|
||||
void Describe(ODesc* d) const override;
|
||||
|
@ -346,7 +346,7 @@ class ReturnStmt final : public ExprStmt {
|
|||
public:
|
||||
explicit ReturnStmt(ExprPtr e);
|
||||
|
||||
ValPtr Exec(Frame* f, stmt_flow_type& flow) const override;
|
||||
ValPtr Exec(Frame* f, StmtFlowType& flow) const override;
|
||||
|
||||
void Describe(ODesc* d) const override;
|
||||
};
|
||||
|
@ -356,7 +356,7 @@ public:
|
|||
StmtList();
|
||||
~StmtList() override;
|
||||
|
||||
ValPtr Exec(Frame* f, stmt_flow_type& flow) const override;
|
||||
ValPtr Exec(Frame* f, StmtFlowType& flow) const override;
|
||||
|
||||
const stmt_list& Stmts() const { return stmts; }
|
||||
stmt_list& Stmts() { return stmts; }
|
||||
|
@ -376,7 +376,7 @@ public:
|
|||
EventBodyList() : StmtList()
|
||||
{ topmost = false; tag = STMT_EVENT_BODY_LIST; }
|
||||
|
||||
ValPtr Exec(Frame* f, stmt_flow_type& flow) const override;
|
||||
ValPtr Exec(Frame* f, StmtFlowType& flow) const override;
|
||||
|
||||
void Describe(ODesc* d) const override;
|
||||
|
||||
|
@ -392,7 +392,7 @@ class InitStmt final : public Stmt {
|
|||
public:
|
||||
explicit InitStmt(std::vector<IDPtr> arg_inits);
|
||||
|
||||
ValPtr Exec(Frame* f, stmt_flow_type& flow) const override;
|
||||
ValPtr Exec(Frame* f, StmtFlowType& flow) const override;
|
||||
|
||||
const std::vector<IDPtr>& Inits() const
|
||||
{ return inits; }
|
||||
|
@ -409,7 +409,7 @@ class NullStmt final : public Stmt {
|
|||
public:
|
||||
NullStmt() : Stmt(STMT_NULL) { }
|
||||
|
||||
ValPtr Exec(Frame* f, stmt_flow_type& flow) const override;
|
||||
ValPtr Exec(Frame* f, StmtFlowType& flow) const override;
|
||||
bool IsPure() const override;
|
||||
|
||||
void Describe(ODesc* d) const override;
|
||||
|
@ -425,7 +425,7 @@ public:
|
|||
ExprPtr timeout, bool is_return);
|
||||
~WhenStmt() override;
|
||||
|
||||
ValPtr Exec(Frame* f, stmt_flow_type& flow) const override;
|
||||
ValPtr Exec(Frame* f, StmtFlowType& flow) const override;
|
||||
bool IsPure() const override;
|
||||
|
||||
const Expr* Cond() const { return cond.get(); }
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
// See the file "COPYING" in the main distribution directory for copyright.
|
||||
|
||||
|
||||
#pragma once
|
||||
|
||||
// These are in a separate file to break circular dependences
|
||||
typedef enum {
|
||||
namespace zeek::detail {
|
||||
|
||||
// These are in a separate file to break circular dependences
|
||||
enum StmtTag {
|
||||
STMT_ANY = -1,
|
||||
STMT_ALARM, // Does no longer exist but kept to create enums consistent.
|
||||
STMT_PRINT, STMT_EVENT,
|
||||
|
@ -19,14 +20,47 @@ typedef enum {
|
|||
STMT_WHILE,
|
||||
STMT_NULL
|
||||
#define NUM_STMTS (int(STMT_NULL) + 1)
|
||||
} BroStmtTag;
|
||||
};
|
||||
|
||||
typedef enum {
|
||||
enum StmtFlowType {
|
||||
FLOW_NEXT, // continue on to next statement
|
||||
FLOW_LOOP, // go to top of loop
|
||||
FLOW_BREAK, // break out of loop
|
||||
FLOW_RETURN, // return from function
|
||||
FLOW_FALLTHROUGH // fall through to next switch case
|
||||
} stmt_flow_type;
|
||||
};
|
||||
|
||||
extern const char* stmt_name(BroStmtTag t);
|
||||
extern const char* stmt_name(StmtTag t);
|
||||
|
||||
} // namespace zeek::detail
|
||||
|
||||
using BroStmtTag [[deprecated("Remove in v4.1. Use zeek::detail::StmtTag.")]] = zeek::detail::StmtTag;
|
||||
constexpr auto STMT_ANY [[deprecated("Remove in v4.1. Use zeek::detail::STMT_ANY.")]] = zeek::detail::STMT_ANY;
|
||||
constexpr auto STMT_ALARM [[deprecated("Remove in v4.1. Use zeek::detail::STMT_ALARM.")]] = zeek::detail::STMT_ALARM;
|
||||
constexpr auto STMT_PRINT [[deprecated("Remove in v4.1. Use zeek::detail::STMT_PRINT.")]] = zeek::detail::STMT_PRINT;
|
||||
constexpr auto STMT_EVENT [[deprecated("Remove in v4.1. Use zeek::detail::STMT_EVENT.")]] = zeek::detail::STMT_EVENT;
|
||||
constexpr auto STMT_EXPR [[deprecated("Remove in v4.1. Use zeek::detail::STMT_EXPR.")]] = zeek::detail::STMT_EXPR;
|
||||
constexpr auto STMT_IF [[deprecated("Remove in v4.1. Use zeek::detail::STMT_IF.")]] = zeek::detail::STMT_IF;
|
||||
constexpr auto STMT_WHEN [[deprecated("Remove in v4.1. Use zeek::detail::STMT_WHEN.")]] = zeek::detail::STMT_WHEN;
|
||||
constexpr auto STMT_SWITCH [[deprecated("Remove in v4.1. Use zeek::detail::STMT_SWITCH.")]] = zeek::detail::STMT_SWITCH;
|
||||
constexpr auto STMT_FOR [[deprecated("Remove in v4.1. Use zeek::detail::STMT_FOR.")]] = zeek::detail::STMT_FOR;
|
||||
constexpr auto STMT_NEXT [[deprecated("Remove in v4.1. Use zeek::detail::STMT_NEXT.")]] = zeek::detail::STMT_NEXT;
|
||||
constexpr auto STMT_BREAK [[deprecated("Remove in v4.1. Use zeek::detail::STMT_BREAK.")]] = zeek::detail::STMT_BREAK;
|
||||
constexpr auto STMT_RETURN [[deprecated("Remove in v4.1. Use zeek::detail::STMT_RETURN.")]] = zeek::detail::STMT_RETURN;
|
||||
constexpr auto STMT_ADD [[deprecated("Remove in v4.1. Use zeek::detail::STMT_ADD.")]] = zeek::detail::STMT_ADD;
|
||||
constexpr auto STMT_DELETE [[deprecated("Remove in v4.1. Use zeek::detail::STMT_DELETE.")]] = zeek::detail::STMT_DELETE;
|
||||
constexpr auto STMT_LIST [[deprecated("Remove in v4.1. Use zeek::detail::STMT_LIST.")]] = zeek::detail::STMT_LIST;
|
||||
constexpr auto STMT_EVENT_BODY_LIST [[deprecated("Remove in v4.1. Use zeek::detail::STMT_EVENT_BODY_LIST.")]] = zeek::detail::STMT_EVENT_BODY_LIST;
|
||||
constexpr auto STMT_INIT [[deprecated("Remove in v4.1. Use zeek::detail::STMT_INIT.")]] = zeek::detail::STMT_INIT;
|
||||
constexpr auto STMT_FALLTHROUGH [[deprecated("Remove in v4.1. Use zeek::detail::STMT_FALLTHROUGH.")]] = zeek::detail::STMT_FALLTHROUGH;
|
||||
constexpr auto STMT_WHILE [[deprecated("Remove in v4.1. Use zeek::detail::STMT_WHILE.")]] = zeek::detail::STMT_WHILE;
|
||||
constexpr auto STMT_NULL [[deprecated("Remove in v4.1. Use zeek::detail::STMT_NULL.")]] = zeek::detail::STMT_NULL;
|
||||
|
||||
using stmt_flow_type [[deprecated("Remove in v4.1. Use zeek::detail::StmtFlowType.")]] = zeek::detail::StmtFlowType;
|
||||
constexpr auto FLOW_NEXT [[deprecated("Remove in v4.1. Use zeek::detail::FLOW_NEXT.")]] = zeek::detail::FLOW_NEXT;
|
||||
constexpr auto FLOW_LOOP [[deprecated("Remove in v4.1. Use zeek::detail::FLOW_LOOP.")]] = zeek::detail::FLOW_LOOP;
|
||||
constexpr auto FLOW_BREAK [[deprecated("Remove in v4.1. Use zeek::detail::FLOW_BREAK.")]] = zeek::detail::FLOW_BREAK;
|
||||
constexpr auto FLOW_RETURN [[deprecated("Remove in v4.1. Use zeek::detail::FLOW_RETURN.")]] = zeek::detail::FLOW_RETURN;
|
||||
constexpr auto FLOW_FALLTHROUGH [[deprecated("Remove in v4.1. Use zeek::detail::FLOW_FALLTHROUGH.")]] = zeek::detail::FLOW_FALLTHROUGH;
|
||||
|
||||
constexpr auto stmt_name [[deprecated("Remove in v4.1. Use zeek::detail::stmt_name.")]] = zeek::detail::stmt_name;
|
||||
|
|
|
@ -296,7 +296,7 @@ bool Trigger::Eval()
|
|||
Name());
|
||||
|
||||
v = nullptr;
|
||||
stmt_flow_type flow;
|
||||
StmtFlowType flow;
|
||||
|
||||
try
|
||||
{
|
||||
|
@ -347,7 +347,7 @@ void Trigger::Timeout()
|
|||
DBG_LOG(zeek::DBG_NOTIFIERS, "%s: timeout", Name());
|
||||
if ( timeout_stmts )
|
||||
{
|
||||
stmt_flow_type flow;
|
||||
StmtFlowType flow;
|
||||
FramePtr f{zeek::AdoptRef{}, frame->Clone()};
|
||||
ValPtr v;
|
||||
|
||||
|
|
|
@ -1247,7 +1247,7 @@ void EnumType::CheckAndAddName(const string& module_name, const char* name,
|
|||
return;
|
||||
}
|
||||
|
||||
auto fullname = make_full_var_name(module_name.c_str(), name);
|
||||
auto fullname = zeek::detail::make_full_var_name(module_name.c_str(), name);
|
||||
auto id = zeek::id::find(fullname);
|
||||
|
||||
if ( ! id )
|
||||
|
@ -1298,14 +1298,14 @@ void EnumType::CheckAndAddName(const string& module_name, const char* name,
|
|||
void EnumType::AddNameInternal(const string& module_name, const char* name,
|
||||
bro_int_t val, bool is_export)
|
||||
{
|
||||
string fullname = make_full_var_name(module_name.c_str(), name);
|
||||
string fullname = zeek::detail::make_full_var_name(module_name.c_str(), name);
|
||||
names[fullname] = val;
|
||||
}
|
||||
|
||||
bro_int_t EnumType::Lookup(const string& module_name, const char* name) const
|
||||
{
|
||||
NameMap::const_iterator pos =
|
||||
names.find(make_full_var_name(module_name.c_str(), name).c_str());
|
||||
names.find(zeek::detail::make_full_var_name(module_name.c_str(), name).c_str());
|
||||
|
||||
if ( pos == names.end() )
|
||||
return -1;
|
||||
|
|
|
@ -125,7 +125,7 @@ static void make_var(const zeek::detail::IDPtr& id, zeek::TypePtr t,
|
|||
zeek::detail::InitClass c,
|
||||
zeek::detail::ExprPtr init,
|
||||
std::unique_ptr<std::vector<AttrPtr>> attr,
|
||||
decl_type dt,
|
||||
DeclType dt,
|
||||
bool do_init)
|
||||
{
|
||||
if ( id->GetType() )
|
||||
|
@ -327,7 +327,7 @@ void add_global(
|
|||
zeek::TypePtr t,
|
||||
zeek::detail::InitClass c, zeek::detail::ExprPtr init,
|
||||
std::unique_ptr<std::vector<AttrPtr>> attr,
|
||||
decl_type dt)
|
||||
DeclType dt)
|
||||
{
|
||||
make_var(id, std::move(t), c, std::move(init), std::move(attr), dt, true);
|
||||
}
|
||||
|
@ -336,7 +336,7 @@ zeek::detail::StmtPtr add_local(
|
|||
zeek::detail::IDPtr id, zeek::TypePtr t,
|
||||
zeek::detail::InitClass c, zeek::detail::ExprPtr init,
|
||||
std::unique_ptr<std::vector<AttrPtr>> attr,
|
||||
decl_type dt)
|
||||
DeclType dt)
|
||||
{
|
||||
make_var(id, std::move(t), c, init, std::move(attr), dt, false);
|
||||
|
||||
|
@ -861,3 +861,5 @@ zeek::EventHandlerPtr internal_handler(const char* name)
|
|||
{
|
||||
return zeek::event_registry->Register(name);
|
||||
}
|
||||
|
||||
} // namespace zeek::detail
|
||||
|
|
26
src/Var.h
26
src/Var.h
|
@ -16,17 +16,17 @@ ZEEK_FORWARD_DECLARE_NAMESPACED(Expr, zeek::detail);
|
|||
ZEEK_FORWARD_DECLARE_NAMESPACED(Scope, zeek::detail);
|
||||
|
||||
namespace zeek::detail {
|
||||
using StmtPtr = zeek::IntrusivePtr<zeek::detail::Stmt>;
|
||||
}
|
||||
|
||||
typedef enum { VAR_REGULAR, VAR_CONST, VAR_REDEF, VAR_OPTION, } decl_type;
|
||||
using StmtPtr = zeek::IntrusivePtr<zeek::detail::Stmt>;
|
||||
|
||||
enum DeclType { VAR_REGULAR, VAR_CONST, VAR_REDEF, VAR_OPTION, };
|
||||
|
||||
extern void add_global(const zeek::detail::IDPtr& id,
|
||||
zeek::TypePtr t,
|
||||
zeek::detail::InitClass c,
|
||||
zeek::detail::ExprPtr init,
|
||||
std::unique_ptr<std::vector<zeek::detail::AttrPtr>> attr,
|
||||
decl_type dt);
|
||||
DeclType dt);
|
||||
|
||||
extern zeek::detail::StmtPtr add_local(
|
||||
zeek::detail::IDPtr id,
|
||||
|
@ -34,7 +34,7 @@ extern zeek::detail::StmtPtr add_local(
|
|||
zeek::detail::InitClass c,
|
||||
zeek::detail::ExprPtr init,
|
||||
std::unique_ptr<std::vector<zeek::detail::AttrPtr>> attr,
|
||||
decl_type dt);
|
||||
DeclType dt);
|
||||
|
||||
extern zeek::detail::ExprPtr add_and_assign_local(
|
||||
zeek::detail::IDPtr id,
|
||||
|
@ -54,6 +54,22 @@ extern void end_func(zeek::detail::StmtPtr body);
|
|||
// Gather all IDs referenced inside a body that aren't part of a given scope.
|
||||
extern id_list gather_outer_ids(zeek::detail::Scope* scope, zeek::detail::Stmt* body);
|
||||
|
||||
} // namespace zeek::detail
|
||||
|
||||
using decl_type [[deprecated("Remove in v4.1. Use zeek::detail::DeclType.")]] = zeek::detail::DeclType;
|
||||
constexpr auto VAR_REGULAR [[deprecated("Remove in v4.1. Use zeek::detail::VAR_REGULAR.")]] = zeek::detail::VAR_REGULAR;
|
||||
constexpr auto VAR_CONST [[deprecated("Remove in v4.1. Use zeek::detail::VAR_CONST.")]] = zeek::detail::VAR_CONST;
|
||||
constexpr auto VAR_REDEF [[deprecated("Remove in v4.1. Use zeek::detail::VAR_REDEF.")]] = zeek::detail::VAR_REDEF;
|
||||
constexpr auto VAR_OPTION [[deprecated("Remove in v4.1. Use zeek::detail::VAR_OPTION.")]] = zeek::detail::VAR_OPTION;
|
||||
|
||||
constexpr auto add_global [[deprecated("Remove in v4.1. Use zeek::detail::add_global.")]] = zeek::detail::add_global;
|
||||
constexpr auto add_local [[deprecated("Remove in v4.1. Use zeek::detail::add_local.")]] = zeek::detail::add_local;
|
||||
constexpr auto add_and_assign_local [[deprecated("Remove in v4.1. Use zeek::detail::add_and_assign_local.")]] = zeek::detail::add_and_assign_local;
|
||||
constexpr auto add_type [[deprecated("Remove in v4.1. Use zeek::detail::add_type.")]] = zeek::detail::add_type;
|
||||
constexpr auto begin_func [[deprecated("Remove in v4.1. Use zeek::detail::begin_func.")]] = zeek::detail::begin_func;
|
||||
constexpr auto end_func [[deprecated("Remove in v4.1. Use zeek::detail::end_func.")]] = zeek::detail::end_func;
|
||||
constexpr auto gather_outer_ids [[deprecated("Remove in v4.1. Use zeek::detail::gather_outer_ids.")]] = zeek::detail::gather_outer_ids;
|
||||
|
||||
[[deprecated("Remove in v4.1. Use zeek::id::find_val().")]]
|
||||
extern zeek::Val* internal_val(const char* name);
|
||||
|
||||
|
|
|
@ -50,7 +50,7 @@ refine flow DHCP_Flow += {
|
|||
|
||||
if ( dhcp_message )
|
||||
{
|
||||
std::string mac_str = fmt_mac(${msg.chaddr}.data(), ${msg.chaddr}.length());
|
||||
std::string mac_str = zeek::fmt_mac(${msg.chaddr}.data(), ${msg.chaddr}.length());
|
||||
double secs = static_cast<double>(${msg.secs});
|
||||
|
||||
auto dhcp_msg_val = zeek::make_intrusive<zeek::RecordVal>(zeek::BifType::Record::DHCP::Msg);
|
||||
|
|
|
@ -633,7 +633,7 @@ refine flow DHCP_Flow += {
|
|||
sv = zeek::make_intrusive<zeek::StringVal>(${v.client_id.hwaddr}.length(),
|
||||
(const char*)${v.client_id.hwaddr}.begin());
|
||||
else
|
||||
sv = zeek::make_intrusive<zeek::StringVal>(fmt_mac(${v.client_id.hwaddr}.begin(),
|
||||
sv = zeek::make_intrusive<zeek::StringVal>(zeek::fmt_mac(${v.client_id.hwaddr}.begin(),
|
||||
${v.client_id.hwaddr}.length()));
|
||||
|
||||
client_id->Assign(1, std::move(sv));
|
||||
|
|
|
@ -38,7 +38,7 @@ zeek::AddrValPtr network_address_to_val(const ASN1Encoding* na)
|
|||
return zeek::make_intrusive<zeek::AddrVal>(zeek::IPAddr());
|
||||
|
||||
const u_char* data = reinterpret_cast<const u_char*>(bs.data());
|
||||
uint32 network_order = extract_uint32(data);
|
||||
uint32 network_order = zeek::extract_uint32(data);
|
||||
return zeek::make_intrusive<zeek::AddrVal>(ntohl(network_order));
|
||||
}
|
||||
|
||||
|
|
|
@ -268,14 +268,14 @@ bool UDP_Analyzer::ValidateChecksum(const zeek::IP_Hdr* ip, const udphdr* up, in
|
|||
else
|
||||
sum = 0;
|
||||
|
||||
sum = ones_complement_checksum(ip->SrcAddr(), sum);
|
||||
sum = ones_complement_checksum(ip->DstAddr(), sum);
|
||||
sum = zeek::ones_complement_checksum(ip->SrcAddr(), sum);
|
||||
sum = zeek::ones_complement_checksum(ip->DstAddr(), sum);
|
||||
// Note, for IPv6, strictly speaking the protocol and length fields are
|
||||
// 32 bits rather than 16 bits. But because the upper bits are all zero,
|
||||
// we get the same checksum either way.
|
||||
sum += htons(IPPROTO_UDP);
|
||||
sum += htons((unsigned short) len);
|
||||
sum = ones_complement_checksum((void*) up, len, sum);
|
||||
sum = zeek::ones_complement_checksum((void*) up, len, sum);
|
||||
|
||||
return sum == 0xffff;
|
||||
}
|
||||
|
|
|
@ -189,7 +189,7 @@ struct val_converter {
|
|||
if ( type->Tag() == zeek::TYPE_ENUM )
|
||||
{
|
||||
auto etype = type->AsEnumType();
|
||||
auto i = etype->Lookup(GLOBAL_MODULE_NAME, a.name.data());
|
||||
auto i = etype->Lookup(zeek::detail::GLOBAL_MODULE_NAME, a.name.data());
|
||||
|
||||
if ( i == -1 )
|
||||
return nullptr;
|
||||
|
@ -540,7 +540,7 @@ struct type_checker {
|
|||
if ( type->Tag() == zeek::TYPE_ENUM )
|
||||
{
|
||||
auto etype = type->AsEnumType();
|
||||
auto i = etype->Lookup(GLOBAL_MODULE_NAME, a.name.data());
|
||||
auto i = etype->Lookup(zeek::detail::GLOBAL_MODULE_NAME, a.name.data());
|
||||
return i != -1;
|
||||
}
|
||||
|
||||
|
|
24
src/input.h
24
src/input.h
|
@ -7,6 +7,7 @@
|
|||
|
||||
#include "BroList.h"
|
||||
|
||||
// These are required by the lexer in scan.l and are intentionally not namespaced.
|
||||
extern int yyparse();
|
||||
extern int yydebug;
|
||||
extern int brolex();
|
||||
|
@ -33,13 +34,28 @@ extern void do_doc_token_stop();
|
|||
extern int line_number;
|
||||
extern const char* filename;
|
||||
|
||||
extern int bro_argc;
|
||||
extern char** bro_argv;
|
||||
ZEEK_FORWARD_DECLARE_NAMESPACED(Stmt, zeek::detail);
|
||||
|
||||
namespace zeek::detail {
|
||||
|
||||
extern int zeek_argc;
|
||||
extern char** zeek_argv;
|
||||
extern const char* prog;
|
||||
|
||||
extern std::vector<std::string> zeek_script_prefixes; // -p flag
|
||||
extern const char* command_line_policy; // -e flag
|
||||
extern std::vector<std::string> params;
|
||||
|
||||
ZEEK_FORWARD_DECLARE_NAMESPACED(Stmt, zeek::detail);
|
||||
extern zeek::detail::Stmt* stmts; // global statements
|
||||
extern zeek::detail::Stmt* stmts; // global statements
|
||||
|
||||
} // namespace zeek::detail
|
||||
|
||||
extern int& bro_argc [[deprecated("Remove in v4.1. Use zeek::detail::zeek_argc.")]];
|
||||
extern char**& bro_argv [[deprecated("Remove in v4.1. Use zeek::detail::zeek_argv.")]];
|
||||
extern const char*& prog [[deprecated("Remove in v4.1. Use zeek::detail::prog.")]];
|
||||
|
||||
extern std::vector<std::string>& zeek_script_prefixes [[deprecated("Remove in v4.1. Use zeek::detail::zeek_script_prefixes.")]];
|
||||
extern const char*& command_line_policy [[deprecated("Remove in v4.1. Use zeek::detail::command_line_policy.")]];
|
||||
extern std::vector<std::string>& params [[deprecated("Remove in v4.1. Use zeek::detail::params.")]];
|
||||
|
||||
extern zeek::detail::Stmt*& stmts [[deprecated("Remove in v4.1. Use zeek::detail::stmts.")]];
|
||||
|
|
|
@ -2320,8 +2320,8 @@ zeek::Val* Manager::ValueToVal(const Stream* i, const Value* val, zeek::Type* re
|
|||
// \0's...
|
||||
string enum_string(val->val.string_val.data, val->val.string_val.length);
|
||||
|
||||
string module = extract_module_name(enum_string.c_str());
|
||||
string var = extract_var_name(enum_string.c_str());
|
||||
string module = zeek::detail::extract_module_name(enum_string.c_str());
|
||||
string var = zeek::detail::extract_var_name(enum_string.c_str());
|
||||
|
||||
// Well, this is kind of stupid, because EnumType just
|
||||
// mangles the module name and the var name together again...
|
||||
|
|
|
@ -11,6 +11,8 @@
|
|||
|
||||
using namespace std;
|
||||
|
||||
namespace zeek::detail {
|
||||
|
||||
static int streq(const char* s1, const char* s2)
|
||||
{
|
||||
return ! strcmp(s1, s2);
|
||||
|
@ -111,3 +113,5 @@ string make_full_var_name(const char* module_name, const char* var_name)
|
|||
|
||||
return full_name;
|
||||
}
|
||||
|
||||
} // namespace zeek::detail
|
||||
|
|
|
@ -6,6 +6,8 @@
|
|||
|
||||
#include <string>
|
||||
|
||||
namespace zeek::detail {
|
||||
|
||||
static constexpr const char* GLOBAL_MODULE_NAME = "GLOBAL";
|
||||
|
||||
extern std::string extract_module_name(const char* name);
|
||||
|
@ -15,3 +17,11 @@ extern std::string normalized_module_name(const char* module_name); // w/o ::
|
|||
// Concatenates module_name::var_name unless var_name is already fully
|
||||
// qualified, in which case it is returned unmodified.
|
||||
extern std::string make_full_var_name(const char* module_name, const char* var_name);
|
||||
|
||||
} // namespace zeek::detail
|
||||
|
||||
constexpr auto GLOBAL_MODULE_NAME [[deprecated("Remove in v4.1. Use zeek::detail::GLOBAL_MODULE_NAME.")]] = zeek::detail::GLOBAL_MODULE_NAME;
|
||||
constexpr auto extract_module_name [[deprecated("Remove in v4.1. Use zeek::detail::extract_module_name.")]] = zeek::detail::extract_module_name;
|
||||
constexpr auto extract_var_name [[deprecated("Remove in v4.1. Use zeek::detail::extract_var_name.")]] = zeek::detail::extract_var_name;
|
||||
constexpr auto normalized_module_name [[deprecated("Remove in v4.1. Use zeek::detail::normalized_module_name.")]] = zeek::detail::normalized_module_name;
|
||||
constexpr auto make_full_var_name [[deprecated("Remove in v4.1. Use zeek::detail::make_full_var_name.")]] = zeek::detail::make_full_var_name;
|
||||
|
|
|
@ -14,6 +14,8 @@
|
|||
#include "IPAddr.h"
|
||||
#include "IP.h"
|
||||
|
||||
namespace zeek {
|
||||
|
||||
// - adapted from tcpdump
|
||||
// Returns the ones-complement checksum of a chunk of b short-aligned bytes.
|
||||
int ones_complement_checksum(const void* p, int b, uint32_t sum)
|
||||
|
@ -182,3 +184,5 @@ uint32_t extract_uint32(const u_char* data)
|
|||
|
||||
return val;
|
||||
}
|
||||
|
||||
} // namespace zeek
|
||||
|
|
|
@ -116,6 +116,23 @@ struct ip6_rthdr {
|
|||
#define TCPOPT_TIMESTAMP TCPOPT_TSTAMP
|
||||
#endif
|
||||
|
||||
ZEEK_FORWARD_DECLARE_NAMESPACED(IPAddr, zeek);
|
||||
ZEEK_FORWARD_DECLARE_NAMESPACED(IP_Hdr, zeek);
|
||||
|
||||
namespace zeek {
|
||||
|
||||
// Returns the ones-complement checksum of a chunk of b short-aligned bytes.
|
||||
extern int ones_complement_checksum(const void* p, int b, uint32_t sum);
|
||||
|
||||
extern int ones_complement_checksum(const zeek::IPAddr& a, uint32_t sum);
|
||||
|
||||
extern int icmp6_checksum(const struct icmp* icmpp, const zeek::IP_Hdr* ip, int len);
|
||||
extern int icmp_checksum(const struct icmp* icmpp, int len);
|
||||
|
||||
#ifdef ENABLE_MOBILE_IPV6
|
||||
extern int mobility_header_checksum(const zeek::IP_Hdr* ip);
|
||||
#endif
|
||||
|
||||
// True if sequence # a is between b and c (b <= a <= c). It must be true
|
||||
// that b <= c in the sequence space.
|
||||
inline bool seq_between(uint32_t a, uint32_t b, uint32_t c)
|
||||
|
@ -132,21 +149,6 @@ inline int32_t seq_delta(uint32_t a, uint32_t b)
|
|||
return a - b;
|
||||
}
|
||||
|
||||
ZEEK_FORWARD_DECLARE_NAMESPACED(IPAddr, zeek);
|
||||
ZEEK_FORWARD_DECLARE_NAMESPACED(IP_Hdr, zeek);
|
||||
|
||||
// Returns the ones-complement checksum of a chunk of b short-aligned bytes.
|
||||
extern int ones_complement_checksum(const void* p, int b, uint32_t sum);
|
||||
|
||||
extern int ones_complement_checksum(const zeek::IPAddr& a, uint32_t sum);
|
||||
|
||||
extern int icmp6_checksum(const struct icmp* icmpp, const zeek::IP_Hdr* ip, int len);
|
||||
extern int icmp_checksum(const struct icmp* icmpp, int len);
|
||||
|
||||
#ifdef ENABLE_MOBILE_IPV6
|
||||
extern int mobility_header_checksum(const zeek::IP_Hdr* ip);
|
||||
#endif
|
||||
|
||||
// Returns 'A', 'B', 'C' or 'D'
|
||||
extern char addr_to_class(uint32_t addr);
|
||||
|
||||
|
@ -230,3 +232,43 @@ inline uint64_t htonll(uint64_t i) { return ntohll(i); }
|
|||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
} // namespace zeek
|
||||
|
||||
constexpr auto seq_between [[deprecated("Remove in v4.1. Use zeek::seq_between.")]] = zeek::seq_between;
|
||||
constexpr auto seq_delta [[deprecated("Remove in v4.1. Use zeek::seq_delta.")]] = zeek::seq_delta;
|
||||
constexpr auto icmp6_checksum [[deprecated("Remove in v4.1. Use zeek::icmp6_checksum.")]] = zeek::icmp6_checksum;
|
||||
constexpr auto icmp_checksum [[deprecated("Remove in v4.1. Use zeek::icmp_checksum.")]] = zeek::icmp_checksum;
|
||||
|
||||
[[deprecated("Remove in v4.1. Use zeek::ones_complement_checksum.")]]
|
||||
inline int ones_complement_checksum(const void* p, int b, uint32_t sum)
|
||||
{ return zeek::ones_complement_checksum(p, b, sum); }
|
||||
[[deprecated("Remove in v4.1. Use zeek::ones_complement_checksum.")]]
|
||||
inline int ones_complement_checksum(const zeek::IPAddr& a, uint32_t sum)
|
||||
{ return zeek::ones_complement_checksum(a, sum); }
|
||||
|
||||
#ifdef ENABLE_MOBILE_IPV6
|
||||
constexpr auto mobility_header_checksum [[deprecated("Remove in v4.1. Use zeek::mobility_header_checksum.")]] = zeek::mobility_header_checksum;
|
||||
#endif
|
||||
|
||||
constexpr auto addr_to_class [[deprecated("Remove in v4.1. Use zeek::addr_to_class.")]] = zeek::addr_to_class;
|
||||
|
||||
[[deprecated("Remove in v4.1. Use zeek::fmt_conn_id.")]]
|
||||
inline const char* fmt_conn_id(const zeek::IPAddr& src_addr, uint32_t src_port,
|
||||
const zeek::IPAddr& dst_addr, uint32_t dst_port)
|
||||
{ return zeek::fmt_conn_id(src_addr, src_port, dst_addr, dst_port); }
|
||||
[[deprecated("Remove in v4.1. Use zeek::fmt_conn_id.")]]
|
||||
inline const char* fmt_conn_id(const uint32_t* src_addr, uint32_t src_port,
|
||||
const uint32_t* dst_addr, uint32_t dst_port)
|
||||
{ return zeek::fmt_conn_id(src_addr, src_port, dst_addr, dst_port); }
|
||||
|
||||
constexpr auto fmt_mac [[deprecated("Remove in v4.1. Use zeek::fmt_mac.")]] = zeek::fmt_mac;
|
||||
constexpr auto extract_uint32 [[deprecated("Remove in v4.1. Use zeek::extract_uint32.")]] = zeek::extract_uint32;
|
||||
|
||||
constexpr auto ntohd [[deprecated("Remove in v4.1. Use zeek::ntohd.")]] = zeek::ntohd;
|
||||
constexpr auto htond [[deprecated("Remove in v4.1. Use zeek::htond.")]] = zeek::htond;
|
||||
|
||||
#ifndef HAVE_BYTEORDER_64
|
||||
constexpr auto ntohll [[deprecated("Remove in v4.1. Use zeek::ntohll.")]] = zeek::ntohll;
|
||||
constexpr auto htonll [[deprecated("Remove in v4.1. Use zeek::htonll.")]] = zeek::htonll;
|
||||
#endif
|
||||
|
|
94
src/parse.y
94
src/parse.y
|
@ -259,10 +259,10 @@ static bool expr_is_table_type_name(const zeek::detail::Expr* expr)
|
|||
bro:
|
||||
decl_list stmt_list
|
||||
{
|
||||
if ( stmts )
|
||||
stmts->AsStmtList()->Stmts().push_back($2);
|
||||
if ( zeek::detail::stmts )
|
||||
zeek::detail::stmts->AsStmtList()->Stmts().push_back($2);
|
||||
else
|
||||
stmts = $2;
|
||||
zeek::detail::stmts = $2;
|
||||
|
||||
// Any objects creates from here on out should not
|
||||
// have file positions associated with them.
|
||||
|
@ -468,8 +468,8 @@ expr:
|
|||
| TOK_LOCAL local_id '=' expr
|
||||
{
|
||||
zeek::detail::set_location(@2, @4);
|
||||
$$ = add_and_assign_local({zeek::AdoptRef{}, $2}, {zeek::AdoptRef{}, $4},
|
||||
zeek::val_mgr->True()).release();
|
||||
$$ = zeek::detail::add_and_assign_local({zeek::AdoptRef{}, $2}, {zeek::AdoptRef{}, $4},
|
||||
zeek::val_mgr->True()).release();
|
||||
}
|
||||
|
||||
| expr '[' expr_list ']'
|
||||
|
@ -497,9 +497,9 @@ expr:
|
|||
func_hdr_location = @1;
|
||||
auto func_id = zeek::detail::current_scope()->GenerateTemporary("anonymous-function");
|
||||
func_id->SetInferReturnType(true);
|
||||
begin_func(std::move(func_id), zeek::detail::current_module.c_str(),
|
||||
zeek::FUNC_FLAVOR_FUNCTION, false,
|
||||
{zeek::AdoptRef{}, $3});
|
||||
zeek::detail::begin_func(std::move(func_id), zeek::detail::current_module.c_str(),
|
||||
zeek::FUNC_FLAVOR_FUNCTION, false,
|
||||
{zeek::AdoptRef{}, $3});
|
||||
}
|
||||
lambda_body
|
||||
{
|
||||
|
@ -1076,27 +1076,27 @@ decl:
|
|||
| TOK_GLOBAL def_global_id opt_type init_class opt_init opt_attr ';'
|
||||
{
|
||||
zeek::IntrusivePtr id{zeek::AdoptRef{}, $2};
|
||||
add_global(id, {zeek::AdoptRef{}, $3}, $4, {zeek::AdoptRef{}, $5},
|
||||
std::unique_ptr<std::vector<zeek::detail::AttrPtr>>{$6},
|
||||
VAR_REGULAR);
|
||||
zeek::detail::add_global(id, {zeek::AdoptRef{}, $3}, $4, {zeek::AdoptRef{}, $5},
|
||||
std::unique_ptr<std::vector<zeek::detail::AttrPtr>>{$6},
|
||||
zeek::detail::VAR_REGULAR);
|
||||
zeek::detail::zeekygen_mgr->Identifier(std::move(id));
|
||||
}
|
||||
|
||||
| TOK_OPTION def_global_id opt_type init_class opt_init opt_attr ';'
|
||||
{
|
||||
zeek::IntrusivePtr id{zeek::AdoptRef{}, $2};
|
||||
add_global(id, {zeek::AdoptRef{}, $3}, $4, {zeek::AdoptRef{}, $5},
|
||||
std::unique_ptr<std::vector<zeek::detail::AttrPtr>>{$6},
|
||||
VAR_OPTION);
|
||||
zeek::detail::add_global(id, {zeek::AdoptRef{}, $3}, $4, {zeek::AdoptRef{}, $5},
|
||||
std::unique_ptr<std::vector<zeek::detail::AttrPtr>>{$6},
|
||||
zeek::detail::VAR_OPTION);
|
||||
zeek::detail::zeekygen_mgr->Identifier(std::move(id));
|
||||
}
|
||||
|
||||
| TOK_CONST def_global_id opt_type init_class opt_init opt_attr ';'
|
||||
{
|
||||
zeek::IntrusivePtr id{zeek::AdoptRef{}, $2};
|
||||
add_global(id, {zeek::AdoptRef{}, $3}, $4, {zeek::AdoptRef{}, $5},
|
||||
std::unique_ptr<std::vector<zeek::detail::AttrPtr>>{$6},
|
||||
VAR_CONST);
|
||||
zeek::detail::add_global(id, {zeek::AdoptRef{}, $3}, $4, {zeek::AdoptRef{}, $5},
|
||||
std::unique_ptr<std::vector<zeek::detail::AttrPtr>>{$6},
|
||||
zeek::detail::VAR_CONST);
|
||||
zeek::detail::zeekygen_mgr->Identifier(std::move(id));
|
||||
}
|
||||
|
||||
|
@ -1104,9 +1104,9 @@ decl:
|
|||
{
|
||||
zeek::IntrusivePtr id{zeek::AdoptRef{}, $2};
|
||||
zeek::detail::ExprPtr init{zeek::AdoptRef{}, $5};
|
||||
add_global(id, {zeek::AdoptRef{}, $3}, $4, init,
|
||||
std::unique_ptr<std::vector<zeek::detail::AttrPtr>>{$6},
|
||||
VAR_REDEF);
|
||||
zeek::detail::add_global(id, {zeek::AdoptRef{}, $3}, $4, init,
|
||||
std::unique_ptr<std::vector<zeek::detail::AttrPtr>>{$6},
|
||||
zeek::detail::VAR_REDEF);
|
||||
zeek::detail::zeekygen_mgr->Redef(id.get(), ::filename, $4, std::move(init));
|
||||
}
|
||||
|
||||
|
@ -1140,8 +1140,8 @@ decl:
|
|||
{
|
||||
cur_decl_type_id = 0;
|
||||
zeek::IntrusivePtr id{zeek::AdoptRef{}, $2};
|
||||
add_type(id.get(), {zeek::AdoptRef{}, $5},
|
||||
std::unique_ptr<std::vector<zeek::detail::AttrPtr>>{$6});
|
||||
zeek::detail::add_type(id.get(), {zeek::AdoptRef{}, $5},
|
||||
std::unique_ptr<std::vector<zeek::detail::AttrPtr>>{$6});
|
||||
zeek::detail::zeekygen_mgr->Identifier(std::move(id));
|
||||
}
|
||||
|
||||
|
@ -1173,9 +1173,9 @@ func_hdr:
|
|||
TOK_FUNCTION def_global_id func_params opt_attr
|
||||
{
|
||||
zeek::IntrusivePtr id{zeek::AdoptRef{}, $2};
|
||||
begin_func(id, zeek::detail::current_module.c_str(),
|
||||
zeek::FUNC_FLAVOR_FUNCTION, 0, {zeek::NewRef{}, $3},
|
||||
std::unique_ptr<std::vector<zeek::detail::AttrPtr>>{$4});
|
||||
zeek::detail::begin_func(id, zeek::detail::current_module.c_str(),
|
||||
zeek::FUNC_FLAVOR_FUNCTION, 0, {zeek::NewRef{}, $3},
|
||||
std::unique_ptr<std::vector<zeek::detail::AttrPtr>>{$4});
|
||||
$$ = $3;
|
||||
zeek::detail::zeekygen_mgr->Identifier(std::move(id));
|
||||
}
|
||||
|
@ -1188,25 +1188,25 @@ func_hdr:
|
|||
zeek::reporter->Error("event %s() is no longer available, use zeek_%s() instead", name, base.c_str());
|
||||
}
|
||||
|
||||
begin_func({zeek::NewRef{}, $2}, zeek::detail::current_module.c_str(),
|
||||
zeek::FUNC_FLAVOR_EVENT, 0, {zeek::NewRef{}, $3},
|
||||
std::unique_ptr<std::vector<zeek::detail::AttrPtr>>{$4});
|
||||
zeek::detail::begin_func({zeek::NewRef{}, $2}, zeek::detail::current_module.c_str(),
|
||||
zeek::FUNC_FLAVOR_EVENT, 0, {zeek::NewRef{}, $3},
|
||||
std::unique_ptr<std::vector<zeek::detail::AttrPtr>>{$4});
|
||||
$$ = $3;
|
||||
}
|
||||
| TOK_HOOK def_global_id func_params opt_attr
|
||||
{
|
||||
$3->ClearYieldType(zeek::FUNC_FLAVOR_HOOK);
|
||||
$3->SetYieldType(zeek::base_type(zeek::TYPE_BOOL));
|
||||
begin_func({zeek::NewRef{}, $2}, zeek::detail::current_module.c_str(),
|
||||
zeek::FUNC_FLAVOR_HOOK, 0, {zeek::NewRef{}, $3},
|
||||
std::unique_ptr<std::vector<zeek::detail::AttrPtr>>{$4});
|
||||
zeek::detail::begin_func({zeek::NewRef{}, $2}, zeek::detail::current_module.c_str(),
|
||||
zeek::FUNC_FLAVOR_HOOK, 0, {zeek::NewRef{}, $3},
|
||||
std::unique_ptr<std::vector<zeek::detail::AttrPtr>>{$4});
|
||||
$$ = $3;
|
||||
}
|
||||
| TOK_REDEF TOK_EVENT event_id func_params opt_attr
|
||||
{
|
||||
begin_func({zeek::NewRef{}, $3}, zeek::detail::current_module.c_str(),
|
||||
zeek::FUNC_FLAVOR_EVENT, 1, {zeek::NewRef{}, $4},
|
||||
std::unique_ptr<std::vector<zeek::detail::AttrPtr>>{$5});
|
||||
zeek::detail::begin_func({zeek::NewRef{}, $3}, zeek::detail::current_module.c_str(),
|
||||
zeek::FUNC_FLAVOR_EVENT, 1, {zeek::NewRef{}, $4},
|
||||
std::unique_ptr<std::vector<zeek::detail::AttrPtr>>{$5});
|
||||
$$ = $4;
|
||||
}
|
||||
;
|
||||
|
@ -1227,7 +1227,7 @@ func_body:
|
|||
'}'
|
||||
{
|
||||
zeek::detail::set_location(func_hdr_location, @5);
|
||||
end_func({zeek::AdoptRef{}, $3});
|
||||
zeek::detail::end_func({zeek::AdoptRef{}, $3});
|
||||
}
|
||||
;
|
||||
|
||||
|
@ -1256,7 +1256,7 @@ lambda_body:
|
|||
auto ingredients = std::make_unique<zeek::detail::function_ingredients>(
|
||||
zeek::IntrusivePtr{zeek::NewRef{}, zeek::detail::current_scope()},
|
||||
zeek::IntrusivePtr{zeek::AdoptRef{}, $3});
|
||||
id_list outer_ids = gather_outer_ids(zeek::detail::pop_scope().get(), ingredients->body.get());
|
||||
id_list outer_ids = zeek::detail::gather_outer_ids(zeek::detail::pop_scope().get(), ingredients->body.get());
|
||||
|
||||
$$ = new zeek::detail::LambdaExpr(std::move(ingredients), std::move(outer_ids));
|
||||
}
|
||||
|
@ -1271,7 +1271,7 @@ begin_func:
|
|||
func_params
|
||||
{
|
||||
auto id = zeek::detail::current_scope()->GenerateTemporary("anonymous-function");
|
||||
begin_func(id, zeek::detail::current_module.c_str(), zeek::FUNC_FLAVOR_FUNCTION, 0, {zeek::AdoptRef{}, $1});
|
||||
zeek::detail::begin_func(id, zeek::detail::current_module.c_str(), zeek::FUNC_FLAVOR_FUNCTION, 0, {zeek::AdoptRef{}, $1});
|
||||
$$ = id.release();
|
||||
}
|
||||
;
|
||||
|
@ -1517,10 +1517,10 @@ stmt:
|
|||
| TOK_LOCAL local_id opt_type init_class opt_init opt_attr ';' opt_no_test
|
||||
{
|
||||
zeek::detail::set_location(@1, @7);
|
||||
$$ = add_local({zeek::AdoptRef{}, $2}, {zeek::AdoptRef{}, $3}, $4,
|
||||
{zeek::AdoptRef{}, $5},
|
||||
std::unique_ptr<std::vector<zeek::detail::AttrPtr>>{$6},
|
||||
VAR_REGULAR).release();
|
||||
$$ = zeek::detail::add_local({zeek::AdoptRef{}, $2}, {zeek::AdoptRef{}, $3}, $4,
|
||||
{zeek::AdoptRef{}, $5},
|
||||
std::unique_ptr<std::vector<zeek::detail::AttrPtr>>{$6},
|
||||
zeek::detail::VAR_REGULAR).release();
|
||||
if ( ! $8 )
|
||||
zeek::detail::script_coverage_mgr.AddStmt($$);
|
||||
}
|
||||
|
@ -1528,10 +1528,10 @@ stmt:
|
|||
| TOK_CONST local_id opt_type init_class opt_init opt_attr ';' opt_no_test
|
||||
{
|
||||
zeek::detail::set_location(@1, @6);
|
||||
$$ = add_local({zeek::AdoptRef{}, $2}, {zeek::AdoptRef{}, $3}, $4,
|
||||
{zeek::AdoptRef{}, $5},
|
||||
std::unique_ptr<std::vector<zeek::detail::AttrPtr>>{$6},
|
||||
VAR_CONST).release();
|
||||
$$ = zeek::detail::add_local({zeek::AdoptRef{}, $2}, {zeek::AdoptRef{}, $3}, $4,
|
||||
{zeek::AdoptRef{}, $5},
|
||||
std::unique_ptr<std::vector<zeek::detail::AttrPtr>>{$6},
|
||||
zeek::detail::VAR_CONST).release();
|
||||
if ( ! $8 )
|
||||
zeek::detail::script_coverage_mgr.AddStmt($$);
|
||||
}
|
||||
|
@ -1677,8 +1677,8 @@ case_type:
|
|||
else
|
||||
case_var = zeek::detail::install_ID(name, zeek::detail::current_module.c_str(), false, false);
|
||||
|
||||
add_local(case_var, std::move(type), zeek::detail::INIT_NONE, nullptr, nullptr,
|
||||
VAR_REGULAR);
|
||||
zeek::detail::add_local(case_var, std::move(type), zeek::detail::INIT_NONE, nullptr, nullptr,
|
||||
zeek::detail::VAR_REGULAR);
|
||||
$$ = case_var.release();
|
||||
}
|
||||
|
||||
|
|
|
@ -139,7 +139,7 @@ ComponentManager<T, C>::ComponentManager(const std::string& arg_module, const st
|
|||
tag_enum_type(zeek::make_intrusive<zeek::EnumType>(module + "::" + local_id))
|
||||
{
|
||||
auto id = zeek::detail::install_ID(local_id.c_str(), module.c_str(), true, true);
|
||||
add_type(id.get(), tag_enum_type, nullptr);
|
||||
zeek::detail::add_type(id.get(), tag_enum_type, nullptr);
|
||||
zeek::detail::zeekygen_mgr->Identifier(std::move(id));
|
||||
}
|
||||
|
||||
|
|
26
src/scan.l
26
src/scan.l
|
@ -151,7 +151,7 @@ ESCSEQ (\\([^\n]|[0-7]+|x[[:xdigit:]]+))
|
|||
|
||||
##<.* {
|
||||
std::string hint(cur_enum_type && last_id_tok ?
|
||||
make_full_var_name(zeek::detail::current_module.c_str(), last_id_tok) : "");
|
||||
zeek::detail::make_full_var_name(zeek::detail::current_module.c_str(), last_id_tok) : "");
|
||||
|
||||
zeek::detail::zeekygen_mgr->PostComment(yytext + 3, hint);
|
||||
}
|
||||
|
@ -422,9 +422,9 @@ when return TOK_WHEN;
|
|||
pref = zeek::util::skip_whitespace(pref + 1); // Skip over '='.
|
||||
|
||||
if ( ! append )
|
||||
zeek_script_prefixes = { "" }; // don't delete the "" prefix
|
||||
zeek::detail::zeek_script_prefixes = { "" }; // don't delete the "" prefix
|
||||
|
||||
zeek::util::tokenize_string(pref, ":", &zeek_script_prefixes);
|
||||
zeek::util::tokenize_string(pref, ":", &zeek::detail::zeek_script_prefixes);
|
||||
}
|
||||
|
||||
@if return TOK_ATIF;
|
||||
|
@ -897,14 +897,14 @@ int yywrap()
|
|||
|
||||
it->prefixes_checked = true;
|
||||
// Prefixes are pushed onto a stack, so iterate backwards.
|
||||
for ( int i = zeek_script_prefixes.size() - 1; i >= 0; --i )
|
||||
for ( int i = zeek::detail::zeek_script_prefixes.size() - 1; i >= 0; --i )
|
||||
{
|
||||
// Don't look at empty prefixes.
|
||||
if ( ! zeek_script_prefixes[i][0] )
|
||||
if ( ! zeek::detail::zeek_script_prefixes[i][0] )
|
||||
continue;
|
||||
|
||||
std::string canon = zeek::util::detail::without_zeekpath_component(it->name);
|
||||
std::string flat = zeek::util::detail::flatten_script_name(canon, zeek_script_prefixes[i]);
|
||||
std::string flat = zeek::util::detail::flatten_script_name(canon, zeek::detail::zeek_script_prefixes[i]);
|
||||
std::string path = find_relative_script_file(flat);
|
||||
|
||||
if ( ! path.empty() )
|
||||
|
@ -926,11 +926,11 @@ int yywrap()
|
|||
return 0;
|
||||
|
||||
// Add redef statements for any X=Y command line parameters.
|
||||
if ( ! params.empty() )
|
||||
if ( ! zeek::detail::params.empty() )
|
||||
{
|
||||
std::string policy;
|
||||
|
||||
for ( const auto& pi : params )
|
||||
for ( const auto& pi : zeek::detail::params )
|
||||
{
|
||||
auto p = pi.data();
|
||||
|
||||
|
@ -976,7 +976,7 @@ int yywrap()
|
|||
policy += zeek::util::fmt(fmt_str, id_str.data(), op.data(), val_str.data());
|
||||
}
|
||||
|
||||
params.clear();
|
||||
zeek::detail::params.clear();
|
||||
yylloc.filename = filename = "<params>";
|
||||
yy_scan_string(policy.c_str());
|
||||
return 0;
|
||||
|
@ -987,18 +987,18 @@ int yywrap()
|
|||
// Use a synthetic filename, and add an extra semicolon on its own
|
||||
// line (so that things like @load work), so that a semicolon is
|
||||
// not strictly necessary.
|
||||
if ( command_line_policy )
|
||||
if ( zeek::detail::command_line_policy )
|
||||
{
|
||||
int tmp_len = strlen(command_line_policy) + 32;
|
||||
int tmp_len = strlen(zeek::detail::command_line_policy) + 32;
|
||||
char* tmp = new char[tmp_len];
|
||||
snprintf(tmp, tmp_len, "%s\n;\n", command_line_policy);
|
||||
snprintf(tmp, tmp_len, "%s\n;\n", zeek::detail::command_line_policy);
|
||||
yylloc.filename = filename = "<command line>";
|
||||
|
||||
yy_scan_string(tmp);
|
||||
delete [] tmp;
|
||||
|
||||
// Make sure we do not get here again:
|
||||
command_line_policy = 0;
|
||||
zeek::detail::command_line_policy = 0;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -435,12 +435,12 @@ void Supervisor::HandleChildSignal()
|
|||
stem_pipe->In().UnsetFlags(FD_CLOEXEC);
|
||||
stem_pipe->Out().UnsetFlags(FD_CLOEXEC);
|
||||
|
||||
char** args = new char*[bro_argc + 1];
|
||||
char** args = new char*[zeek::detail::zeek_argc + 1];
|
||||
args[0] = config.zeek_exe_path.data();
|
||||
args[bro_argc] = nullptr;
|
||||
args[zeek::detail::zeek_argc] = nullptr;
|
||||
|
||||
for ( auto i = 1; i < bro_argc; ++i )
|
||||
args[i] = bro_argv[i];
|
||||
for ( auto i = 1; i < zeek::detail::zeek_argc; ++i )
|
||||
args[i] = zeek::detail::zeek_argv[i];
|
||||
|
||||
auto res = execv(config.zeek_exe_path.data(), args);
|
||||
fprintf(stderr, "failed to exec Zeek supervisor stem process: %s\n",
|
||||
|
|
|
@ -603,7 +603,7 @@ zeek::Val* Value::ValueToVal(const std::string& source, const Value* val, bool&
|
|||
std::string enum_string(val->val.string_val.data, val->val.string_val.length);
|
||||
|
||||
// let's try looking it up by global ID.
|
||||
const auto& id = zeek::detail::lookup_ID(enum_string.c_str(), GLOBAL_MODULE_NAME);
|
||||
const auto& id = zeek::detail::lookup_ID(enum_string.c_str(), zeek::detail::GLOBAL_MODULE_NAME);
|
||||
|
||||
if ( ! id || ! id->IsEnumConst() )
|
||||
{
|
||||
|
|
|
@ -1752,7 +1752,7 @@ string zeek_prefixes()
|
|||
{
|
||||
string rval;
|
||||
|
||||
for ( const auto& prefix : zeek_script_prefixes )
|
||||
for ( const auto& prefix : zeek::detail::zeek_script_prefixes )
|
||||
{
|
||||
if ( ! rval.empty() )
|
||||
rval.append(":");
|
||||
|
|
|
@ -120,8 +120,10 @@ zeek::Supervisor* zeek::supervisor_mgr = nullptr;
|
|||
zeek::detail::trigger::Manager* zeek::detail::trigger_mgr = nullptr;
|
||||
zeek::detail::trigger::Manager*& trigger_mgr = zeek::detail::trigger_mgr;
|
||||
|
||||
std::vector<std::string> zeek_script_prefixes;
|
||||
zeek::detail::Stmt* stmts;
|
||||
std::vector<std::string> zeek::detail::zeek_script_prefixes;
|
||||
std::vector<std::string>& zeek_script_prefixes = zeek::detail::zeek_script_prefixes;
|
||||
zeek::detail::Stmt* zeek::detail::stmts = nullptr;
|
||||
zeek::detail::Stmt*& stmts = zeek::detail::stmts;
|
||||
zeek::EventRegistry* zeek::event_registry = nullptr;
|
||||
zeek::EventRegistry*& event_registry = zeek::event_registry;
|
||||
zeek::detail::ProfileLogger* zeek::detail::profiling_logger = nullptr;
|
||||
|
@ -132,8 +134,10 @@ zeek::detail::SampleLogger* zeek::detail::sample_logger = nullptr;
|
|||
zeek::detail::SampleLogger*& sample_logger = zeek::detail::sample_logger;
|
||||
int signal_val = 0;
|
||||
extern char version[];
|
||||
const char* command_line_policy = nullptr;
|
||||
vector<string> params;
|
||||
const char* zeek::detail::command_line_policy = nullptr;
|
||||
const char*& command_line_policy = zeek::detail::command_line_policy;
|
||||
vector<string> zeek::detail::params;
|
||||
vector<string>& params = zeek::detail::params;
|
||||
set<string> requested_plugins;
|
||||
const char* proc_status_file = nullptr;
|
||||
|
||||
|
@ -149,8 +153,10 @@ zeek::OpaqueTypePtr ocsp_resp_opaque_type;
|
|||
zeek::OpaqueTypePtr paraglob_type;
|
||||
|
||||
// Keep copy of command line
|
||||
int bro_argc;
|
||||
char** bro_argv;
|
||||
int zeek::detail::zeek_argc;
|
||||
int& bro_argc = zeek::detail::zeek_argc;
|
||||
char** zeek::detail::zeek_argv;
|
||||
char**& bro_argv = zeek::detail::zeek_argv;
|
||||
|
||||
const char* zeek_version()
|
||||
{
|
||||
|
@ -415,11 +421,11 @@ zeek::detail::SetupResult zeek::detail::setup(int argc, char** argv,
|
|||
exit(1);
|
||||
}
|
||||
|
||||
bro_argc = argc;
|
||||
bro_argv = new char* [argc];
|
||||
zeek_argc = argc;
|
||||
zeek_argv = new char* [argc];
|
||||
|
||||
for ( int i = 0; i < argc; i++ )
|
||||
bro_argv[i] = zeek::util::copy_string(argv[i]);
|
||||
zeek_argv[i] = zeek::util::copy_string(argv[i]);
|
||||
|
||||
auto options = zopts ? *zopts : zeek::parse_cmdline(argc, argv);
|
||||
|
||||
|
@ -552,7 +558,7 @@ zeek::detail::SetupResult zeek::detail::setup(int argc, char** argv,
|
|||
zeek::detail::timer_mgr = new zeek::detail::PQ_TimerMgr();
|
||||
|
||||
auto zeekygen_cfg = options.zeekygen_config_file.value_or("");
|
||||
zeek::detail::zeekygen_mgr = new zeek::zeekygen::detail::Manager(zeekygen_cfg, bro_argv[0]);
|
||||
zeek::detail::zeekygen_mgr = new zeek::zeekygen::detail::Manager(zeekygen_cfg, zeek_argv[0]);
|
||||
|
||||
add_essential_input_file("base/init-bare.zeek");
|
||||
add_essential_input_file("base/init-frameworks-and-bifs.zeek");
|
||||
|
@ -842,7 +848,7 @@ zeek::detail::SetupResult zeek::detail::setup(int argc, char** argv,
|
|||
|
||||
if ( stmts )
|
||||
{
|
||||
stmt_flow_type flow;
|
||||
StmtFlowType flow;
|
||||
Frame f(current_scope()->Length(), nullptr, nullptr);
|
||||
g_frame_stack.push_back(&f);
|
||||
|
||||
|
|
|
@ -1857,8 +1857,8 @@ function zeek_args%(%): string_vec
|
|||
auto sv = zeek::id::string_vec;
|
||||
auto rval = zeek::make_intrusive<zeek::VectorVal>(std::move(sv));
|
||||
|
||||
for ( auto i = 0; i < bro_argc; ++i )
|
||||
rval->Assign(rval->Size(), zeek::make_intrusive<zeek::StringVal>(bro_argv[i]));
|
||||
for ( auto i = 0; i < zeek::detail::zeek_argc; ++i )
|
||||
rval->Assign(rval->Size(), zeek::make_intrusive<zeek::StringVal>(zeek::detail::zeek_argv[i]));
|
||||
|
||||
return rval;
|
||||
%}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue