mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 14:48:21 +00:00

With the recent packet manager work, it broke to register a protocol analyzer for a specific port from inside a plugin's initialization code. That's because that registration now depends on the packet manager being set up, which isn't case at that time a plugin's `InitPostInit()` runs. This fix contains two parts: - Initialize the packet manager before the analyzer manager, so that the latter's `InitPostScript()` can rely on the former being ready. - Change the analyzer manager to (only) record port registrations happening before it's fully initialized. Its `InitPostScript()` then performs the actual registrations, knowing it can use the packet manager now. This comes with a `cmake/` to add a missing include directory.
19 lines
297 B
C++
19 lines
297 B
C++
|
|
#pragma once
|
|
|
|
#include <zeek/plugin/Plugin.h>
|
|
|
|
namespace btest::plugin::Demo_Foo {
|
|
|
|
class Plugin : public zeek::plugin::Plugin
|
|
{
|
|
protected:
|
|
// Overridden from zeek::plugin::Plugin.
|
|
zeek::plugin::Configuration Configure() override;
|
|
|
|
void InitPostScript() override;
|
|
};
|
|
|
|
extern Plugin plugin;
|
|
|
|
}
|