[Bro-Dev] #560: Child analyzer Init() problem
Bro Tracker
bro at tracker.bro-ids.org
Wed Aug 17 09:07:28 PDT 2011
#560: Child analyzer Init() problem
---------------------+------------------------
Reporter: gregor | Owner:
Type: Problem | Status: new
Priority: Normal | Milestone: Bro1.7
Component: Bro | Version: git/master
Keywords: |
---------------------+------------------------
{{{
#!rst
I think there is an inherent problem in the way analyzers and child
analyzers are initialized. If analyzers are added by
BuildInitialAnalyzerTree() they are not initialized at first but in a
batch by calling::
root->Init();
root->InitChildren();
If an analyzer wants to add a child in its Init(), the parent doesn't know
whether it needs to init this child or not. If the parent was added by
``BuildInitialAnalyzerTree()``, it *must not* ``Init()`` the child,
because ``BuildInitialAnalyzerTree()`` will do it. OTOH, if the parent was
added dynamically, e.g., by DPD signatures, then it *must* ``Init()`` the
child.
What was the reason for ``BuildInitialAnalyzerTree()`` to defer
initialization of the tree until the end of the function? Initializing
when they are added would solve the problem but I guess there was a good
reason to do it this way.
}}}
--
Ticket URL: <http://tracker.bro-ids.org/bro/ticket/560>
Bro Tracker <http://tracker.bro-ids.org/bro>
Bro Issue Tracker
More information about the bro-dev
mailing list