[Bro-Dev] [JIRA] (BIT-560) Child analyzer Init() problem

Seth Hall (JIRA) jira at bro-tracker.atlassian.net
Thu Nov 7 07:47:31 PST 2013

     [ https://bro-tracker.atlassian.net/browse/BIT-560?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Seth Hall updated BIT-560:

    Fix Version/s:     (was: 2.2)

> Child analyzer Init() problem
> -----------------------------
>                 Key: BIT-560
>                 URL: https://bro-tracker.atlassian.net/browse/BIT-560
>             Project: Bro Issue Tracker
>          Issue Type: Problem
>          Components: Bro
>    Affects Versions: git/master
>            Reporter: gregor
>            Assignee: Robin Sommer
>             Fix For: 2.3
> {noformat}
> #!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. 
> {noformat}

This message was sent by Atlassian JIRA

More information about the bro-dev mailing list