[Bro-Dev] CBAN naming

Robin Sommer robin at icir.org
Mon Jun 6 08:53:07 PDT 2016

On Sun, Jun 05, 2016 at 20:31 +0000, you wrote:

> - New Container
> 	- Script Container (e.g. what is currently called “script package”)
> 	- Compiled Code Container (e.g. what is currently called “plugin”)

Yep, and maybe that script container could then even replace all or
some of the "scripts/" part of the "compiled code container" as well.

Actually, taking this one step further and also back into a circle ...
If we start from this perspective: a new container format that can
carry both scripts and compiled code. Then the *structure* (but not
the *name*) of what's currently a plugin might end up working
actually. Would it solve our issue to simply rename that format from
"plugin" to "container" (or "package" or "bundle" or whatever)

The source format (i.e., what a user writes) would look like this:

    <base>/scripts                          # Contains Bro script code.
    <base>/src                              # Contains source for binary plugin
    <base>/tests                            # Contains tests going with container content.

When installing the plugin, that turns into:

    <install-base>/__bro_container__        # Marks a container.
    <install-base>/scripts                  # Contains Bro script code.
    <install-base>/lib/<plugin-name>.<os>-<arch>.so # Contains compiled binary plugin.
    <install-base>/lib/bif/                 # Contains auto-generated *.bif.bro going with the binary plugin.

We could clean that up a bit for clarity, like renaming to "src/" to
"plugins/" for example. (I wouldn't object to changing the code reading
in the plugins to expect a different layout if that helped solving all
this; that's not cast in stone.)

> Another idea is to not have any new container and allow the Script
> Container and Compiled Code Container to live at the top of the
> hierarchy as siblings.

That would work as well but I think would make it more difficult to
move between the two worlds. I'd prefer a single entity being managed.

> So while a Bro script isn’t a plugin for the Bro language, it is a plugin for the Bro application.

Yeah, but Bro *is* the language as well. Anyways, I don't think we'll
agree on this, but that's ok. :-)


Robin Sommer * ICSI/LBNL * robin at icir.org * www.icir.org/robin

More information about the bro-dev mailing list