mirror of
https://github.com/zeek/zeek.git
synced 2025-10-04 07:38:19 +00:00
Suggested code improvements for packet analysis.
This commit is contained in:
parent
4aeab7402d
commit
6f6e5b4df0
2 changed files with 12 additions and 10 deletions
|
@ -61,7 +61,8 @@ AnalyzerResult Analyzer::AnalyzeInnerPacket(Packet* packet,
|
|||
const uint8_t*& data, uint32_t identifier) const
|
||||
{
|
||||
auto inner_analyzer = Lookup(identifier);
|
||||
inner_analyzer = inner_analyzer ? inner_analyzer : default_analyzer;
|
||||
if ( ! inner_analyzer )
|
||||
inner_analyzer = default_analyzer;
|
||||
|
||||
if ( inner_analyzer == nullptr )
|
||||
{
|
||||
|
|
|
@ -42,34 +42,35 @@ void Manager::InitPostScript()
|
|||
auto analyzer_tag = rv->GetField("analyzer")->AsEnumVal();
|
||||
auto analyzer_name = Lookup(analyzer_tag)->Name();
|
||||
|
||||
if ( analyzers.find(analyzer_name) == analyzers.end() )
|
||||
auto analyzer_it = analyzers.find(analyzer_name);
|
||||
if ( analyzer_it == analyzers.end() )
|
||||
{
|
||||
reporter->InternalWarning("Mapped analyzer %s not found.", analyzer_name.c_str());
|
||||
continue;
|
||||
}
|
||||
auto& analyzer = analyzer_it->second;
|
||||
|
||||
if ( parent_name == "ROOT" )
|
||||
{
|
||||
if ( identifier_val )
|
||||
root_dispatcher.Register(identifier_val->AsCount(),
|
||||
analyzers[analyzer_name]);
|
||||
root_dispatcher.Register(identifier_val->AsCount(), analyzer);
|
||||
else
|
||||
default_analyzer = analyzers[analyzer_name];
|
||||
default_analyzer = analyzer;
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( analyzers.find(parent_name) == analyzers.end() )
|
||||
auto parent_analyzer_it = analyzers.find(parent_name);
|
||||
if ( parent_analyzer_it == analyzers.end() )
|
||||
{
|
||||
reporter->InternalWarning("Parent analyzer %s not found.", parent_name.c_str());
|
||||
continue;
|
||||
}
|
||||
auto& parent_analyzer = parent_analyzer_it->second;
|
||||
|
||||
auto& parent_analyzer = analyzers[parent_name];
|
||||
if ( identifier_val )
|
||||
parent_analyzer->RegisterAnalyzerMapping(identifier_val->AsCount(),
|
||||
analyzers[analyzer_name]);
|
||||
parent_analyzer->RegisterAnalyzerMapping(identifier_val->AsCount(), analyzer);
|
||||
else
|
||||
parent_analyzer->RegisterDefaultAnalyzer(analyzers[analyzer_name]);
|
||||
parent_analyzer->RegisterDefaultAnalyzer(analyzer);
|
||||
}
|
||||
|
||||
// Initialize all analyzers
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue