[Bro-Dev] Draft API for new communication library

2013-10-17 Thread Robin Sommer
I have been mulling over how an API for a new communication library
could look like. In short, the idea is to (1) overhaul Bro's current
communication model to make it more flexible and easier to control;
and (2) provide the new functionality in the form of a C library that
replaces Broccoli yet will also be used by Bro itself (i.e., we;ll no
longer have two independent implementations of the same protocol to
maintain).

Draft is here:

http://www.bro.org/development/projects/comm-ng-v2.html

Feedback welcome.

Robin

-- 
Robin Sommer * Phone +1 (510) 722-6541 * ro...@icir.org
ICSI/LBNL* Fax   +1 (510) 666-2956 * www.icir.org/robin
___
bro-dev mailing list
bro-dev@bro.org
http://mailman.icsi.berkeley.edu/mailman/listinfo/bro-dev


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

2013-10-17 Thread Bob (JIRA)
Bob created BIT-1091:


 Summary: 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
Affects Versions: 2.2
 Environment: RHEL6
Reporter: Bob


$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@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.1-OD-09-WN#6144)
___
bro-dev mailing list
bro-dev@bro.org
http://mailman.icsi.berkeley.edu/mailman/listinfo/bro-dev


Re: [Bro-Dev] Draft API for new communication library

2013-10-17 Thread Siwek, Jonathan Luke
http://www.bro.org/development/projects/comm-ng-v2.html
 
 Feedback welcome.

Would something like Cap'n Proto or Protocol Buffers help in 
defining/maintaining a serialization format?  Never used either, just had a 
good impression from skimming their docs.

- Jon

http://kentonv.github.io/capnproto/
https://code.google.com/p/protobuf/
https://code.google.com/p/protobuf-c/
___
bro-dev mailing list
bro-dev@bro.org
http://mailman.icsi.berkeley.edu/mailman/listinfo/bro-dev


Re: [Bro-Dev] Draft API for new communication library

2013-10-17 Thread Robin Sommer


On Thu, Oct 17, 2013 at 21:54 +, you wrote:

 Would something like Cap'n Proto or Protocol Buffers help in
 defining/maintaining a serialization format?

I didn't know Cap’n Proto so far but I have been wondering about using
Protocol Buffers already as well. We'd have to add another dependency
but it would make this stuff quite a bit less cumbersome. Do you know
if their C version is well maintained? It looks rather old compared to
the standard protobuf distribution. Does Cap'n Proto have a C API?

Robin

-- 
Robin Sommer * Phone +1 (510) 722-6541 * ro...@icir.org
ICSI/LBNL* Fax   +1 (510) 666-2956 * www.icir.org/robin
___
bro-dev mailing list
bro-dev@bro.org
http://mailman.icsi.berkeley.edu/mailman/listinfo/bro-dev


Re: [Bro-Dev] Draft API for new communication library

2013-10-17 Thread Clark, Gilbert
FWIW, nanopb is a lightweight (read: targeted at embedded devices) C library 
that is compatible with protobuf.

http://koti.kapsi.fi/~jpa/nanopb/

--Gilbert

From: bro-dev-boun...@bro.org [bro-dev-boun...@bro.org] On Behalf Of Robin 
Sommer [ro...@icir.org]
Sent: Thursday, October 17, 2013 6:03 PM
To: Siwek, Jonathan Luke
Cc: bro-dev@bro.org
Subject: Re: [Bro-Dev] Draft API for new communication library

On Thu, Oct 17, 2013 at 21:54 +, you wrote:

 Would something like Cap'n Proto or Protocol Buffers help in
 defining/maintaining a serialization format?

I didn't know Cap’n Proto so far but I have been wondering about using
Protocol Buffers already as well. We'd have to add another dependency
but it would make this stuff quite a bit less cumbersome. Do you know
if their C version is well maintained? It looks rather old compared to
the standard protobuf distribution. Does Cap'n Proto have a C API?

Robin

--
Robin Sommer * Phone +1 (510) 722-6541 * ro...@icir.org
ICSI/LBNL* Fax   +1 (510) 666-2956 * www.icir.org/robin
___
bro-dev mailing list
bro-dev@bro.org
http://mailman.icsi.berkeley.edu/mailman/listinfo/bro-dev

___
bro-dev mailing list
bro-dev@bro.org
http://mailman.icsi.berkeley.edu/mailman/listinfo/bro-dev