Move DNS_Mgr to zeek::detail namespace

This commit is contained in:
Tim Wojtulewicz 2020-07-20 10:45:49 -07:00
parent 55d699af59
commit 7cedd94ee7
9 changed files with 50 additions and 30 deletions

View file

@ -53,6 +53,8 @@ extern int select(int, fd_set *, fd_set *, fd_set *, struct timeval *);
using namespace std; using namespace std;
namespace zeek::detail {
class DNS_Mgr_Request { class DNS_Mgr_Request {
public: public:
DNS_Mgr_Request(const char* h, int af, bool is_txt) DNS_Mgr_Request(const char* h, int af, bool is_txt)
@ -1462,3 +1464,5 @@ void DNS_Mgr::Terminate()
if ( nb_dns ) if ( nb_dns )
iosource_mgr->UnregisterFd(nb_dns_fd(nb_dns), this); iosource_mgr->UnregisterFd(nb_dns_fd(nb_dns), this);
} }
} // namespace zeek::detail

View file

@ -14,8 +14,8 @@
#include "util.h" #include "util.h"
class EventHandler; class EventHandler;
class DNS_Mgr_Request;
ZEEK_FORWARD_DECLARE_NAMESPACED(DNS_Mgr_Request, zeek::detail);
ZEEK_FORWARD_DECLARE_NAMESPACED(RecordType, zeek); ZEEK_FORWARD_DECLARE_NAMESPACED(RecordType, zeek);
ZEEK_FORWARD_DECLARE_NAMESPACED(Val, zeek); ZEEK_FORWARD_DECLARE_NAMESPACED(Val, zeek);
ZEEK_FORWARD_DECLARE_NAMESPACED(ListVal, zeek); ZEEK_FORWARD_DECLARE_NAMESPACED(ListVal, zeek);
@ -28,11 +28,14 @@ using ListValPtr = zeek::IntrusivePtr<ListVal>;
using TableValPtr = zeek::IntrusivePtr<TableVal>; using TableValPtr = zeek::IntrusivePtr<TableVal>;
} }
using DNS_mgr_request_list = zeek::PList<DNS_Mgr_Request>; // Defined in nb_dns.h
struct nb_dns_info; struct nb_dns_info;
struct nb_dns_result; struct nb_dns_result;
namespace zeek::detail {
using DNS_mgr_request_list = zeek::PList<DNS_Mgr_Request>;
class DNS_Mapping; class DNS_Mapping;
enum DNS_MgrMode { enum DNS_MgrMode {
@ -240,3 +243,14 @@ protected:
}; };
extern DNS_Mgr* dns_mgr; extern DNS_Mgr* dns_mgr;
} // namespace zeek::detail
using DNS_Mgr [[deprecated("Remove in v4.1. Use zeek::detail::DNS_Mgr.")]] = zeek::detail::DNS_Mgr;
extern zeek::detail::DNS_Mgr*& dns_mgr [[deprecated("Remove in v4.1. Use zeek::detail::dns_mgr.")]];
using DNS_MgrMode [[deprecated("Remove in v4.1. Use zeek::detail::DNS_MgrMode.")]] = zeek::detail::DNS_MgrMode;
constexpr auto DNS_PRIME [[deprecated("Remove in v4.1. Use zeek::detail::DNS_PRIME.")]] = zeek::detail::DNS_PRIME;
constexpr auto DNS_FORCE [[deprecated("Remove in v4.1. Use zeek::detail::DNS_FORCE.")]] = zeek::detail::DNS_FORCE;
constexpr auto DNS_DEFAULT [[deprecated("Remove in v4.1. Use zeek::detail::DNS_DEFAULT.")]] = zeek::detail::DNS_DEFAULT;
constexpr auto DNS_FAKE [[deprecated("Remove in v4.1. Use zeek::detail::DNS_FAKE.")]] = zeek::detail::DNS_FAKE;

View file

@ -342,9 +342,9 @@ zeek::Options zeek::parse_cmdline(int argc, char** argv)
rval.pseudo_realtime = atof(optarg); rval.pseudo_realtime = atof(optarg);
break; break;
case 'F': case 'F':
if ( rval.dns_mode != DNS_DEFAULT ) if ( rval.dns_mode != zeek::detail::DNS_DEFAULT )
usage(zargs[0], 1); usage(zargs[0], 1);
rval.dns_mode = DNS_FORCE; rval.dns_mode = zeek::detail::DNS_FORCE;
break; break;
case 'G': case 'G':
rval.random_seed_input_file = optarg; rval.random_seed_input_file = optarg;
@ -359,9 +359,9 @@ zeek::Options zeek::parse_cmdline(int argc, char** argv)
++rval.print_plugins; ++rval.print_plugins;
break; break;
case 'P': case 'P':
if ( rval.dns_mode != DNS_DEFAULT ) if ( rval.dns_mode != zeek::detail::DNS_DEFAULT )
usage(zargs[0], 1); usage(zargs[0], 1);
rval.dns_mode = DNS_PRIME; rval.dns_mode = zeek::detail::DNS_PRIME;
break; break;
case 'Q': case 'Q':
rval.print_execution_time = true; rval.print_execution_time = true;

View file

@ -45,7 +45,7 @@ struct Options {
bool ignore_checksums = false; bool ignore_checksums = false;
bool use_watchdog = false; bool use_watchdog = false;
double pseudo_realtime = 0; double pseudo_realtime = 0;
DNS_MgrMode dns_mode = DNS_DEFAULT; zeek::detail::DNS_MgrMode dns_mode = zeek::detail::DNS_DEFAULT;
bool supervisor_mode = false; bool supervisor_mode = false;
bool parse_only = false; bool parse_only = false;

View file

@ -183,8 +183,8 @@ void ProfileLogger::Log()
timer_mgr->Size(), timer_mgr->PeakSize(), timer_mgr->Size(), timer_mgr->PeakSize(),
network_time - timer_mgr->LastTimestamp())); network_time - timer_mgr->LastTimestamp()));
DNS_Mgr::Stats dstats; zeek::detail::DNS_Mgr::Stats dstats;
dns_mgr->GetStats(&dstats); zeek::detail::dns_mgr->GetStats(&dstats);
file->Write(fmt("%.06f DNS_Mgr: requests=%lu succesful=%lu failed=%lu pending=%lu cached_hosts=%lu cached_addrs=%lu\n", file->Write(fmt("%.06f DNS_Mgr: requests=%lu succesful=%lu failed=%lu pending=%lu cached_hosts=%lu cached_addrs=%lu\n",
network_time, network_time,

View file

@ -502,7 +502,7 @@ F RET_CONST(zeek::val_mgr->False()->Ref())
"0x"{HEX}+ RET_CONST(zeek::val_mgr->Count(static_cast<bro_uint_t>(strtoull(yytext, 0, 16))).release()) "0x"{HEX}+ RET_CONST(zeek::val_mgr->Count(static_cast<bro_uint_t>(strtoull(yytext, 0, 16))).release())
{H}("."{H})+ RET_CONST(dns_mgr->LookupHost(yytext).release()) {H}("."{H})+ RET_CONST(zeek::detail::dns_mgr->LookupHost(yytext).release())
\"([^\\\n\"]|{ESCSEQ})*\" { \"([^\\\n\"]|{ESCSEQ})*\" {
const char* text = yytext; const char* text = yytext;

View file

@ -249,8 +249,8 @@ function get_dns_stats%(%): DNSStats
auto r = zeek::make_intrusive<zeek::RecordVal>(DNSStats); auto r = zeek::make_intrusive<zeek::RecordVal>(DNSStats);
int n = 0; int n = 0;
DNS_Mgr::Stats dstats; zeek::detail::DNS_Mgr::Stats dstats;
dns_mgr->GetStats(&dstats); zeek::detail::dns_mgr->GetStats(&dstats);
r->Assign(n++, zeek::val_mgr->Count(unsigned(dstats.requests))); r->Assign(n++, zeek::val_mgr->Count(unsigned(dstats.requests)));
r->Assign(n++, zeek::val_mgr->Count(unsigned(dstats.successful))); r->Assign(n++, zeek::val_mgr->Count(unsigned(dstats.successful)));

View file

@ -96,7 +96,9 @@ zeek::plugin::Manager*& plugin_mgr = zeek::plugin_mgr;
zeek::detail::RuleMatcher* zeek::detail::rule_matcher = nullptr; zeek::detail::RuleMatcher* zeek::detail::rule_matcher = nullptr;
zeek::detail::RuleMatcher*& rule_matcher = zeek::detail::rule_matcher; zeek::detail::RuleMatcher*& rule_matcher = zeek::detail::rule_matcher;
DNS_Mgr* dns_mgr; zeek::detail::DNS_Mgr* zeek::detail::dns_mgr = nullptr;
zeek::detail::DNS_Mgr*& dns_mgr = zeek::detail::dns_mgr;
TimerMgr* timer_mgr; TimerMgr* timer_mgr;
logging::Manager* log_mgr = nullptr; logging::Manager* log_mgr = nullptr;
@ -239,7 +241,7 @@ void done_with_network()
zeek::analyzer_mgr->Done(); zeek::analyzer_mgr->Done();
timer_mgr->Expire(); timer_mgr->Expire();
dns_mgr->Flush(); zeek::detail::dns_mgr->Flush();
mgr.Drain(); mgr.Drain();
mgr.Drain(); mgr.Drain();
@ -300,7 +302,7 @@ void terminate_bro()
input_mgr->Terminate(); input_mgr->Terminate();
thread_mgr->Terminate(); thread_mgr->Terminate();
broker_mgr->Terminate(); broker_mgr->Terminate();
dns_mgr->Terminate(); zeek::detail::dns_mgr->Terminate();
mgr.Drain(); mgr.Drain();
@ -562,12 +564,12 @@ zeek::detail::SetupResult zeek::detail::setup(int argc, char** argv,
push_scope(nullptr, nullptr); push_scope(nullptr, nullptr);
dns_mgr = new DNS_Mgr(dns_type); zeek::detail::dns_mgr = new zeek::detail::DNS_Mgr(dns_type);
// It would nice if this were configurable. This is similar to the // It would nice if this were configurable. This is similar to the
// chicken and the egg problem. It would be configurable by parsing // chicken and the egg problem. It would be configurable by parsing
// policy, but we can't parse policy without DNS resolution. // policy, but we can't parse policy without DNS resolution.
dns_mgr->SetDir(".state"); zeek::detail::dns_mgr->SetDir(".state");
iosource_mgr = new iosource::Manager(); iosource_mgr = new iosource::Manager();
event_registry = new EventRegistry(); event_registry = new EventRegistry();
@ -668,7 +670,7 @@ zeek::detail::SetupResult zeek::detail::setup(int argc, char** argv,
zeek::analyzer_mgr->InitPostScript(); zeek::analyzer_mgr->InitPostScript();
file_mgr->InitPostScript(); file_mgr->InitPostScript();
dns_mgr->InitPostScript(); zeek::detail::dns_mgr->InitPostScript();
if ( options.parse_only ) if ( options.parse_only )
{ {
@ -682,7 +684,7 @@ zeek::detail::SetupResult zeek::detail::setup(int argc, char** argv,
if ( reporter->Errors() > 0 ) if ( reporter->Errors() > 0 )
{ {
delete dns_mgr; delete zeek::detail::dns_mgr;
exit(1); exit(1);
} }
@ -715,7 +717,7 @@ zeek::detail::SetupResult zeek::detail::setup(int argc, char** argv,
rule_matcher = new RuleMatcher(options.signature_re_level); rule_matcher = new RuleMatcher(options.signature_re_level);
if ( ! rule_matcher->ReadFiles(all_signature_files) ) if ( ! rule_matcher->ReadFiles(all_signature_files) )
{ {
delete dns_mgr; delete zeek::detail::dns_mgr;
exit(1); exit(1);
} }
@ -760,14 +762,14 @@ zeek::detail::SetupResult zeek::detail::setup(int argc, char** argv,
if ( dns_type == DNS_PRIME ) if ( dns_type == DNS_PRIME )
{ {
dns_mgr->Verify(); zeek::detail::dns_mgr->Verify();
dns_mgr->Resolve(); zeek::detail::dns_mgr->Resolve();
if ( ! dns_mgr->Save() ) if ( ! zeek::detail::dns_mgr->Save() )
reporter->FatalError("can't update DNS cache"); reporter->FatalError("can't update DNS cache");
mgr.Drain(); mgr.Drain();
delete dns_mgr; delete zeek::detail::dns_mgr;
exit(0); exit(0);
} }

View file

@ -3518,7 +3518,7 @@ function dump_packet%(pkt: pcap_packet, file_name: string%) : bool
#include "DNS_Mgr.h" #include "DNS_Mgr.h"
#include "Trigger.h" #include "Trigger.h"
class LookupHostCallback : public DNS_Mgr::LookupCallback { class LookupHostCallback : public zeek::detail::DNS_Mgr::LookupCallback {
public: public:
LookupHostCallback(zeek::detail::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) bool arg_lookup_name)
@ -3534,7 +3534,7 @@ public:
Unref(trigger); Unref(trigger);
} }
// Overridden from DNS_Mgr:Lookup:Callback. // Overridden from zeek::detail::DNS_Mgr:Lookup:Callback.
virtual void Resolved(const char* name) virtual void Resolved(const char* name)
{ {
zeek::Val* result = new zeek::StringVal(name); zeek::Val* result = new zeek::StringVal(name);
@ -3602,7 +3602,7 @@ function lookup_addr%(host: addr%) : string
frame->SetDelayed(); frame->SetDelayed();
trigger->Hold(); trigger->Hold();
dns_mgr->AsyncLookupAddr(host->AsAddr(), zeek::detail::dns_mgr->AsyncLookupAddr(host->AsAddr(),
new LookupHostCallback(trigger, frame->GetCall(), true)); new LookupHostCallback(trigger, frame->GetCall(), true));
return nullptr; return nullptr;
%} %}
@ -3631,7 +3631,7 @@ function lookup_hostname_txt%(host: string%) : string
frame->SetDelayed(); frame->SetDelayed();
trigger->Hold(); trigger->Hold();
dns_mgr->AsyncLookupNameText(host->CheckString(), zeek::detail::dns_mgr->AsyncLookupNameText(host->CheckString(),
new LookupHostCallback(trigger, frame->GetCall(), true)); new LookupHostCallback(trigger, frame->GetCall(), true));
return nullptr; return nullptr;
%} %}
@ -3660,7 +3660,7 @@ function lookup_hostname%(host: string%) : addr_set
frame->SetDelayed(); frame->SetDelayed();
trigger->Hold(); trigger->Hold();
dns_mgr->AsyncLookupName(host->CheckString(), zeek::detail::dns_mgr->AsyncLookupName(host->CheckString(),
new LookupHostCallback(trigger, frame->GetCall(), false)); new LookupHostCallback(trigger, frame->GetCall(), false));
return nullptr; return nullptr;
%} %}