[Bro-Dev] [JIRA] (BIT-1091) Broctl config.py handling of [manager] header is brittle

Robin Sommer (JIRA) jira at bro-tracker.atlassian.net
Mon Oct 21 07:45:17 PDT 2013


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

Robin Sommer updated BIT-1091:
------------------------------

    Resolution: Merged  (was: Fixed)
        Status: Closed  (was: Merge Request)

> Broctl config.py handling of [manager] header is brittle
> --------------------------------------------------------
>
>                 Key: BIT-1091
>                 URL: https://bro-tracker.atlassian.net/browse/BIT-1091
>             Project: Bro Issue Tracker
>          Issue Type: Problem
>          Components: BroControl
>         Environment: RHEL6
>            Reporter: Bob
>              Labels: beta, broctl
>             Fix For: 2.2
>
>
> $prefix/lib/broctl/BroControl/config.py (line 159, in nodes()) special cases the manager node of the etc/node.cfg config and checks it by the attribute n.name, as opposed to all of the other types that are handled earlier in the function, which get checked by the attribute n.type.  This means that anyone who might try to set a more descriptive manager name, like [broproductionmanager] or [brotestmanager], will break broctl to disastrous effect:
> [root at bro-testmgr bro-2.2-beta]# /opt/bro/bin/broctl install
> removing old policies in /var/bro/spool/installed-scripts-do-not-touch/site ... done.
> removing old policies in /var/bro/spool/installed-scripts-do-not-touch/auto ... done.
> creating policy directories ... done.
> installing site policies ... done.
> generating local-networks.bro ... done.
> Traceback (most recent call last):
>   File "/opt/bro/bin/broctl", line 980, in <module>
>     loop.onecmd(line)
>   File "/usr/lib64/python2.6/cmd.py", line 219, in onecmd
>     return func(arg)
>   File "/opt/bro/bin/broctl", line 202, in do_install
>     result = install.install(local)
>   File "/opt/bro/lib/broctl/BroControl/install.py", line 112, in install
>     util.force_symlink(manager.cwd(), current)
> AttributeError: 'NoneType' object has no attribute 'cwd'
> abnormal termination, saving state ...
> This should be cleaned up to make this field user-modifiable as the others are, or at the very least we should implement a warning to users that they should not change the name of the field.



--
This message was sent by Atlassian JIRA
(v6.2-OD-01#6204)


More information about the bro-dev mailing list