Commit graph

9613 commits

Author SHA1 Message Date
Johanna Amann
5b5d36cd83 Change signature of &on_change handler
After thinking about this for quite a while (and starting
implementation) - for now I think it is much easier to not allow the
table &on_change handler to change the result of a change - but to only
be notified that a change happened.

I might re-think this lateron - the reasoning is that this makes
development easier, and that I am not quite sure about potential
side-effects for things that assume that a table change does take
effect.
2020-01-13 13:38:48 -08:00
Johanna Amann
68167d14aa Merge remote-tracking branch 'origin/master' into topic/johanna/table-changes 2020-01-13 10:43:35 -08:00
Jon Siwek
520c6e3ebf Merge branch 'master' into topic/jsiwek/supervisor 2020-01-13 10:27:34 -08:00
Jon Siwek
9c353f56f1 Updating submodule(s).
[nomail]
2020-01-13 10:08:21 -08:00
Jon Siwek
6cb73e505b Updating submodule(s).
[nomail]
2020-01-13 09:32:15 -08:00
Robin Sommer
bcf9dbac94 Update submodules. 2020-01-13 12:11:08 +00:00
Robin Sommer
ae9e79969e Fix method returning a reference to a temporary.
Found by cppcheck, via by Arthur Wong.
2020-01-13 11:24:20 +00:00
Jon Siwek
5191e14eff Add stdout/stderr redirection option to supervised node config 2020-01-10 19:48:31 -08:00
Jon Siwek
263a5f404a Add cpu affinity option to supervised node config 2020-01-10 18:25:42 -08:00
Jon Siwek
6218f99b96 Update timeouts for a btest 2020-01-09 19:05:23 -08:00
Jon Siwek
b34d7a8443 Update doc submodule 2020-01-09 19:04:41 -08:00
Tim Wojtulewicz
03eb1d43d2 Merge remote-tracking branch 'origin/topic/jsiwek/btest-asan-options'
* origin/topic/jsiwek/btest-asan-options:
  Extend ASAN_OPTIONS in btests instead of overwrite
2020-01-09 13:39:49 -08:00
Jon Siwek
da0185a60f Update external test repo commit hash 2020-01-09 12:29:02 -08:00
Tim Wojtulewicz
50a0835b41 Convert type-checking macros to actual functions 2020-01-09 11:43:09 -08:00
Tim Wojtulewicz
1e41d7f583 Merge remote-tracking branch 'origin/topic/jsiwek/doctest-leakcheck'
* origin/topic/jsiwek/doctest-leakcheck:
  Enable LeakSanitizer for unit tests run via doctest
2020-01-09 11:38:28 -08:00
Tim Wojtulewicz
d845627daa Merge remote-tracking branch 'origin/topic/jazoff/ntlm-field-error'
* origin/topic/jazoff/ntlm-field-error:
  fix NTLM field value access
2020-01-09 10:26:00 -08:00
Johanna Amann
96329e2172 Merge remote-tracking branch 'origin/master' into topic/johanna/table-changes 2020-01-09 12:48:20 -05:00
Johanna Amann
bf31587c2c Beginning implementation of &on_change for tables. 2020-01-09 12:47:16 -05:00
Jon Siwek
a4089bc659 Enable LeakSanitizer for unit tests run via doctest 2020-01-08 21:14:40 -08:00
Jon Siwek
1f3ec434a8 Extend ASAN_OPTIONS in btests instead of overwrite 2020-01-08 21:04:18 -08:00
Jon Siwek
00cd04b0ae Extend Supervisor Node config with list of custom scripts 2020-01-08 14:52:46 -08:00
Jon Siwek
297317b232 Organize command-line options for Supervisor filtering/inheritance
Also have stem process execv() with original command-line arguments so
that they're re-parsed and inherited correctly by supervised-nodes in
the event the stem process needs to be re-created.
2020-01-08 14:05:19 -08:00
Jon Siwek
000d902b86 Merge branch 'master' into topic/jsiwek/supervisor 2020-01-08 10:36:26 -08:00
Jon Siwek
66ca20b737 Increase timeout for a few btests
Saw these start being sensitive running an "ASan -O0" build locally
2020-01-08 10:31:16 -08:00
Justin Azoff
80469a1fde fix NTLM field value access
The fields being checked for existence were not the same as the fields
being accessed.
2020-01-08 11:40:28 -05:00
Jon Siwek
3273169385 Preserve optimization setting for sanitizer build 2020-01-07 20:58:35 -08:00
Jon Siwek
0e19520e13 Fix Supervisor memory leak 2020-01-07 20:42:43 -08:00
Jon Siwek
6046da9993 Merge branch 'master' into topic/jsiwek/supervisor 2020-01-07 16:57:58 -08:00
Jon Siwek
22431dbecb Use string_view in Supervisor API where possible 2020-01-07 11:59:39 -08:00
Tim Wojtulewicz
0f8f53808e Use bools instead of single-bit bitfields in Ident and TCP protocol analyzers 2020-01-07 12:07:58 -07:00
Tim Wojtulewicz
9d38419e8a Bit of code-modernization cleanup in BroString
- Convert single-bit bit fields into bools
- Use bool for a number of function arguments that were previously ints
- Use delegated constructors to reduce repetition in the other constructors
2020-01-07 11:48:52 -07:00
Tim Wojtulewicz
a463c5763f Use fixed types in NetbiosSSN.h and Timer.h instead of bit fields 2020-01-07 11:48:52 -07:00
Jon Siwek
b114766205 Add Supervisor::is_supervised()
And use to to avoid redef'ing the log rotation postprocessor to
"archive-log" by default since it's unlikely PATH is configured to find
that script.
2020-01-07 10:27:07 -08:00
Jon Siwek
aaa702fb4d Add option to change supervised node's working directory 2020-01-06 18:39:14 -08:00
Jon Siwek
0c55b01ec9 Merge remote-tracking branch 'origin/topic/timw/fix-x509-build-warning'
* origin/topic/timw/fix-x509-build-warning:
  Fix build warning in X509 plugin
2020-01-06 16:46:17 -08:00
Tim Wojtulewicz
a20c3a195a Fix build warning in X509 plugin 2020-01-06 15:38:28 -07:00
Jon Siwek
d581aa76aa Merge remote-tracking branch 'origin/topic/dev/patterns-in-sets'
Fixes in merge:
- Memory leak in HashKey ctor
- Minor whitespace/style changes

* origin/topic/dev/patterns-in-sets:
  Enable Patterns as Table index in non singleton cases
  Added support to create a Hashkey for PatternVals using their Pattern Texts
2020-01-06 14:15:30 -08:00
Tim Wojtulewicz
71e6893441 Merge remote-tracking branch 'origin/topic/jsiwek/fix-hexdump-warning'
* origin/topic/jsiwek/fix-hexdump-warning:
  Fix snprintf compiler warning in hexdump BIF
2020-01-06 14:16:55 -07:00
Jon Siwek
99faaf811d Fix snprintf compiler warning in hexdump BIF 2020-01-06 12:29:03 -08:00
Jon Siwek
50d91b17de Updating submodule(s).
[nomail]
2020-01-06 11:50:09 -08:00
Jon Siwek
149d3b4828 Increase a timeout for a btest 2020-01-06 11:20:30 -08:00
Jon Siwek
0cde6d2af5 Fix Cirrus CI FreeBSD python dependencies installation 2020-01-06 10:51:17 -08:00
Jon Siwek
f1be24c4c1 Update submodules 2020-01-06 10:49:09 -08:00
Tim Wojtulewicz
65a4e36a92 Merge remote-tracking branch 'origin/topic/jsiwek/asan'
* origin/topic/jsiwek/asan: (28 commits)
  Increase timeout for a btest
  Switch CI scripts to use ASAN/LSAN instead of gperftools
  Remove redundant memory leak btests
  Fix reference counting issues related to lambdas/closures
  Disable LeakSanitizer for btests that have known leaks
  Rewrite the btest for when-statement timeouts
  Fix memory leak when a logging plugin hook prevents a write
  Fix memory leaks in various input framework error-handling cases
  Fix memory leak in Reporter::get_weird_sampling_whitelist() BIF
  Fix reference counting of Log::Filter "config" field
  Fix memory leak in system_env() BIF
  Clean up triggers awaiting global state modification at shutdown
  Fix memory leak in initializing log writers with no local backend
  Fix packet filter memory leaks
  Skip sending thread heartbeat if it alread asked to be finished
  Fix memory leak of sqlite input reader prepared statement
  Prevent duplicate "finish" threading messages
  Fix memory leak when table-based input stream overwrites old entries
  Fix scripting error in a DHCP btest
  Fix memory leaks in Kerberos ticket decryption
  ...
2020-01-06 11:20:47 -07:00
Jon Siwek
a4fab5327a Merge remote-tracking branch 'origin/topic/timw/util-unit-tests'
* origin/topic/timw/util-unit-tests:
  fixup! Add unit tests to util.cc and module_util.cc
  Mark safe_snprintf and safe_vsnprintf as deprecated, remove uses of them
  Add unit tests to util.cc and module_util.cc
2020-01-06 09:44:43 -08:00
Jon Siwek
a1377e1d42 Increase timeout for a btest
May be more timing-sensitive with slower ASAN/LSAN configuration in
addition to already-slower CI environment.
2020-01-02 23:04:22 -08:00
Jon Siwek
38505589e1 Switch CI scripts to use ASAN/LSAN instead of gperftools
Using AddressSanitizer/LeakSanitizer is better.  It covers the full
unit/baseline test suite by default without requiring one to write
specific memory leak tests.  It also covers other types of memory errors
besides just leaks.
2020-01-02 23:04:22 -08:00
Jon Siwek
e6f4e01041 Remove redundant memory leak btests
Or otherwise convert into a regular btest if it didn't already seem to
be covered.

There's no need for a separate memory leak test group since compiling
with LeakSanitizer now covers leak checking for the full btest suite.
2020-01-02 23:04:22 -08:00
Jon Siwek
44d922c4b5 Fix reference counting issues related to lambdas/closures
For example, circular references between a lambda function the frame
it's stored within and/or its closure could cause memory leaks.

This also fixes other various reference-count ownership issues that
could lead to memory errors.

There may still be some potential/undiscovered issues because the "outer
ID" finding logic doesn't look quite right as the AST traversal descends
within nested lambdas and considers their locals as "outer", but
possibly the other logic for locating values in closures or cloning
closures just works around that behavior.
2020-01-02 23:04:22 -08:00
Tim Wojtulewicz
b3e72a342f fixup! Add unit tests to util.cc and module_util.cc 2020-01-02 16:30:18 -07:00