Commit graph

11634 commits

Author SHA1 Message Date
Tim Wojtulewicz
42f7be0473 GH-173: Modify the signature parser so ID components (such as variable names) can't start with numbers 2019-05-23 10:58:04 -07:00
Jon Siwek
8d6dbc2d46 Fix parse-time RecordVal tracking containing duplicates
The same RecordVal was unintentionally being added to the list within
a loop over its fields instead of just once per ctor.
2019-05-23 10:54:04 -07:00
Johanna Amann
da9bf96242 Merge remote-tracking branch 'origin/master' into topic/johanna/remove-serializer 2019-05-23 07:37:56 -07:00
Jon Siwek
0f2e778216 Merge remote-tracking branch 'origin/topic/johanna/clone'
* origin/topic/johanna/clone:
  Add leak-checks for new copy operations
  Finish implementation of copy method.
  Checkpoint - all non-opaque-types can be cloned.
  Reimplement copy().

Fixed a couple leaks during merge.
2019-05-22 23:59:21 -07:00
Johanna Amann
7ae5c7d1b4 Merge remote-tracking branch 'origin/master' into topic/johanna/remove-serializer
# Conflicts:
#	src/File.cc
#	src/File.h
#	src/StateAccess.h
#	src/bro.bif
2019-05-22 15:16:31 -07:00
Johanna Amann
63e6921895 Add leak-checks for new copy operations 2019-05-22 14:57:55 -07:00
Johanna Amann
e7c80ae741 Merge remote-tracking branch 'origin/master' into topic/johanna/clone 2019-05-22 14:36:46 -07:00
Johanna Amann
74bb7716f6 Finish implementation of copy method.
All types (besides EntropyVal) now support a native copy operation,
which uses primitives of the underlying datatypes to perform a quick
copy, without serialization.

EntropyVal is the one exception - since that type is rather complex
(many members) and will probably not be copied a lot, if at all, it
makes sense to just use the serialization function.

This will have to be slightly re-written in the near-term-future to use
the new serialization function for that opaque type.

This change also introduces a new x509_from_der bif, which allows to
parse a der into an opaque of x509.

This change removes the d2i_X509_ wrapper function; this was a remnant
when d2i_X509 took non-const arguments. We directly use d2i_X509 at
several places assuming const-ness, so there does not seem to ba a
reason to keep the wrapper.

This change also exposed a problem in the File cache - cases in which an
object was brought back into the cache, and writing occurred in the
file_open event were never correctly handeled as far as I can tell.
2019-05-22 14:29:37 -07:00
Daniel Thayer
1a74516db1 Rename all BRO-prefixed environment variables
For backward compatibility when reading values, we first check
the ZEEK-prefixed value, and if not set, then check the corresponding
BRO-prefixed value.
2019-05-22 00:12:31 -05:00
Johanna Amann
2efbe76920 Checkpoint - all non-opaque-types can be cloned. 2019-05-21 15:06:39 -07:00
Jon Siwek
d6096b1618 Remove state_dir and state_write_delay options
Since associated functionality was already removed
2019-05-21 09:19:28 -07:00
Jon Siwek
f0c266eac1 Remove a reference to &synchronized from docs 2019-05-21 09:15:22 -07:00
Jon Siwek
8d49b5abf0 Merge remote-tracking branch 'origin/topic/dnthayer/bro-to-zeek'
* origin/topic/dnthayer/bro-to-zeek:
  Additional Bro to Zeek renaming
2019-05-20 21:00:19 -07:00
Jon Siwek
9d67870a81 Merge remote-tracking branch 'origin/topic/johanna/deprecated-attributes'
* origin/topic/johanna/deprecated-attributes:
  Remove deprecated attributes.
2019-05-20 16:21:00 -07:00
Johanna Amann
d13c939233 Merge remote-tracking branch 'origin/master' into topic/johanna/clone 2019-05-20 15:18:10 -07:00
Johanna Amann
1ff2894af2 Remove deprecated attributes.
To be more exact: &encrypt, &mergeable, &rotate_interval, &rotate_size

Also removes no longer used redef-able constants:
log_rotate_interval, log_max_size, log_encryption_key

GH-243
2019-05-20 14:17:03 -07:00
Jon Siwek
ef484c388a Updating submodule(s).
[nomail]
2019-05-20 13:23:38 -07:00
Johanna Amann
824ccde6fc Merge remote-tracking branch 'origin/master' into topic/johanna/243 2019-05-20 10:14:11 -07:00
Johanna Amann
0080c5ea09 Merge remote-tracking branch 'origin/topic/jsiwek/krb-optional-fields'
* origin/topic/jsiwek/krb-optional-fields:
  Add missing &optional attr to KRB record fields
2019-05-20 09:33:13 -07:00
Johanna Amann
85e2a6ad90 Update binpac submodule.
[nomail]
2019-05-20 09:07:48 -07:00
Daniel Thayer
fe3d508796 Additional Bro to Zeek renaming
Most of these changes are either cmake-related or plugin-related.
Added a new test "plugins/legacy.zeek" to test that legacy Bro plugins
still work.

Also added a symlink bro-path-dev.in because some legacy Bro packages
won't install without it.
2019-05-19 16:51:36 -05:00
Jon Siwek
dd173f4961 Always emit scripting errors to stderr during zeek_init
Otherwise, setting Reporter::errors_to_stderr=F causes important
error messages to be lost (and this setting is the default for
ZeekCtl).  E.g. now that we terminate if there's errors during
zeek_init, GH-369 shows that the only error message given was
"fatal error: errors occurred while initializing", which is not
helpful in determining the actual issue.
2019-05-17 14:18:45 -07:00
Johanna Amann
ffa173abc0 Implement a Shallow Clone operation for types.
This is needed to track name changes for the documentation.

With this things, which do not need val-cloning, generally seem to work
again. There are a whole bunch of test failures at the moment.
2019-05-17 11:13:04 -07:00
Jon Siwek
9d07e4f0b8 Merge remote-tracking branch 'origin/topic/dnthayer/bro-renaming'
* origin/topic/dnthayer/bro-renaming:
  More bro-to-zeek renaming in scripts and other files
  More bro-to-zeek renaming in the unit tests
2019-05-16 13:37:49 -07:00
Jon Siwek
f8d7aa2387 Add missing &optional attr to KRB record fields
The KRB parser allowed for the following types/fields to be left
uninitialized, so an &optional attribute was added to reflect that:

  - KRB::Error_Msg
    - pvno
    - msg_type
    - server_time
    - service_realm
    - service_name

  - KRB::KDC_Request
    - kdc_options
    - service_realm
    - till
    - nonce
    - encryption_types

Usages have also been adapted to perform existence checks.
2019-05-16 08:52:04 -07:00
Daniel Thayer
be182aac83 More bro-to-zeek renaming in scripts and other files 2019-05-16 02:36:41 -05:00
Daniel Thayer
3f9e7138bd More bro-to-zeek renaming in the unit tests 2019-05-16 02:27:54 -05:00
Jon Siwek
72b46268f7 Updating submodule(s).
[nomail]
2019-05-15 15:53:26 -07:00
Jon Siwek
bf42dd02bd Merge remote-tracking branch 'origin/topic/dnthayer/gh-359'
* origin/topic/dnthayer/gh-359:
  Changes needed due to bro-to-zeek renaming in broker
2019-05-15 15:03:31 -07:00
Jon Siwek
a8c0cd7dee Fix potential race in openflow broker plugin
Broker::subscribe() after Broker::peer() may result in losing messages,
always best to do the reverse order.

Also possibly improved chance of unstable unit test output order.
2019-05-15 10:12:32 -07:00
Johanna Amann
2bb529f5b7 Merge remote-tracking branch 'origin/topic/jsiwek/dns-mgr-fixes'
* origin/topic/jsiwek/dns-mgr-fixes:
  Fix timing out DNS lookups that were already resolved
  Remove an unhelpful/optimistic DNS_Mgr optimization
  Fix DNS_Mgr priority_queue usage
  Remove dead code from DNS_Mgr
  Improve DNS_Mgr I/O loop: prevent starvation due to busy Broker
  Fix a ref counnting bug in DNS_Mgr
2019-05-15 09:02:41 -07:00
Daniel Thayer
3bbd11b1cd Changes needed due to bro-to-zeek renaming in broker 2019-05-15 00:22:05 -05:00
Jon Siwek
fcc840044d Updating submodule(s).
[nomail]
2019-05-14 19:31:51 -07:00
Jon Siwek
b3c4b986ef Fix maybe-uninitialized compiler warning 2019-05-14 19:01:41 -07:00
Jon Siwek
8abf0fad57 Updating submodule(s).
[nomail]
2019-05-14 19:00:54 -07:00
Jon Siwek
13867f53c3 Update btest.cfg path to use zeek-aux 2019-05-14 18:36:20 -07:00
Jon Siwek
bee69222b1 Update NEWS 2019-05-14 18:21:58 -07:00
Jon Siwek
385a3a5ae8 Update CMake to use aux/zeekctl and aux/zeek-aux submodules
Instead of the old "bro" versions of those which are no symlinks.
2019-05-14 17:48:18 -07:00
Jon Siwek
f37a16b715 Rename broctl submodule to zeekctl 2019-05-14 17:42:01 -07:00
Jon Siwek
6ad7099f7e Merge remote-tracking branch 'origin/topic/robin/gh-239'
* origin/topic/robin/gh-239:
  Undo a change to btest.cfg from a recent commit
  Updating submodule.
  Fix zeek-wrapper
  Update for renaming BroControl to ZeekControl.
  Updating submodule.
  GH-239: Rename bro to zeek, bro-config to zeek-config, and bro-path-dev to zeek-path-dev.
2019-05-14 13:27:40 -07:00
Jon Siwek
58d55d0f95 GH-365: improve un-indexable type error message 2019-05-13 20:04:03 -07:00
Daniel Thayer
bbaee15280 Undo a change to btest.cfg from a recent commit
Remove a line from btest.cfg that was added (probably unintentionally)
in commit 789cb376.
2019-05-12 19:17:25 -05:00
Robin Sommer
b953a5516f Updating submodule. 2019-05-12 16:02:37 +00:00
Daniel Thayer
a87d1fd875 Fix zeek-wrapper
The script was not passing command-line arguments to the new program.

Also improved some error messages.
2019-05-11 19:05:25 -05:00
Jon Siwek
aced89ac9e Updating submodule(s).
[nomail]
2019-05-10 19:18:50 -07:00
Jon Siwek
3ae4ffc66e Improve Broker I/O loop integration: less mutex locking
Checking a subscriber for available messages required locking a mutex,
but we should never actually need to do that in the main-loop to check
for Broker readiness since we can rely on file descriptor polling.
2019-05-10 09:16:29 -07:00
Johanna Amann
474efe9e69 Remove value serialization.
Note - this compiles, but you cannot run Bro anymore - it crashes
immediately with a 0-pointer access. The reason behind it is that the
required clone functionality does not work anymore.
2019-05-09 11:54:38 -07:00
Jon Siwek
cb6b9a1f1a Allow tuning Broker log batching via scripts
Via redefining "Broker::log_batch_size" or "Broker::log_batch_interval"
2019-05-08 12:44:55 -07:00
Johanna Amann
312713810f Merge remote-tracking branch 'origin/topic/jsiwek/force-idle-broker'
* origin/topic/jsiwek/force-idle-broker:
  Force the Broker IOSource to idle periodically
2019-05-08 09:04:25 -07:00
Johanna Amann
6f82899466 Merge remote-tracking branch 'origin/topic/jsiwek/gh-353'
* origin/topic/jsiwek/gh-353:
  GH-353: Add `/<re>/i` case-insensitive signature syntax
2019-05-08 08:58:41 -07:00