Commit graph

11299 commits

Author SHA1 Message Date
Johanna Amann
533c4c7d29 Update submodule
[nomail]
2020-12-09 21:40:36 +00:00
Jon Siwek
2ae452d8aa Merge remote-tracking branch 'origin/topic/jsiwek/gh-1321-fix-connection-status-update-event'
* origin/topic/jsiwek/gh-1321-fix-connection-status-update-event:
  GH-1321: Prevent compounding of `connection_status_update` event timers
2020-12-09 10:59:14 -08:00
Jon Siwek
70d557c659 Merge remote-tracking branch 'origin/topic/jsiwek/debugger-setsignal'
* origin/topic/jsiwek/debugger-setsignal:
  Update Debug.cc to use setsignal() wrapper
2020-12-09 10:51:35 -08:00
Jon Siwek
7c27d4c1e7 Add test case to cover weird EDNS ECS parsing situations 2020-12-08 13:14:20 -08:00
Jon Siwek
a35cd2a726 GH-1321: Prevent compounding of connection_status_update event timers
Particularly for ICMP connections, a new timer got added every time a
`connection` record was updated even if there was still a pending timer
for that connection.
2020-12-08 11:20:02 -08:00
Dominik Charousset
27730aabfb Update submodule(s) 2020-12-08 13:41:29 +01:00
Jon Siwek
a4986a17cb Update Debug.cc to use setsignal() wrapper
So as to prefer sigaction() over either sigset() or signal(), which are
less favorable due to underspecification issues and some treating them
as obsolete/deprecated.
2020-12-07 18:03:24 -08:00
Jon Siwek
07c4662dc4 Fix narrowing conversion compiler error in SMB error-response logic 2020-12-07 16:56:07 -08:00
Jon Siwek
0b8535b879 Merge remote-tracking branch 'origin/topic/vlad/gh-1286'
Merge adjustments:
- Rewrote the check for error response as a switch statement to
  fix compiler warning about signed/unsigned comparison and also
  to just simplify/clarify the logic.
- Changed the btest to use `zeek -b`.

* origin/topic/vlad/gh-1286:
  Add tests for new SMB3 multichannel support
  Fix SMB2 response status parsing. Fixes #1286
2020-12-07 16:08:04 -08:00
Jon Siwek
bb928f0a30 Update submodule(s) [nomail] 2020-12-07 15:08:07 -08:00
Jon Siwek
abb4f0be03 Fix EDNS ECS option parsing bugs
* The parsing of IPv6 addresses tried to fill a stack-buffer with as
  much data as supplied in the Option even if it was in excess of the
  desired prefix or maximum IPv6 address size.  This could result in an
  overflow of that stack-buffer.

* The parsing of IPv4 addresses would overwrite the storage used for
  that address as many times as there were bytes in the Option in excess
  of the desired prefix length or maximum IPv4 address size.  This could
  cause the resulting IPv4 address to be derived from the incorrect
  data.

* Upon encountering unexpected/excessive option-length or source-prefix
  parameters, the data pointer used for parsing was also not always
  advanced to the start of the next alleged option's data.  Assuming all
  other parsing code correctly guards against invalid input, there's no
  further harm from that other than the subsequent parsing being more
  likely to encounter unexpected values and emitting more Weirds.

Credit to OSS-Fuzz for discovery
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=28336
(Link to details becomes public 30 days after patch release)
2020-12-07 13:35:17 -08:00
Vlad Grigorescu
f30ca69402 Add tests for new SMB3 multichannel support 2020-12-07 15:35:04 -06:00
Dominik Charousset
25fef3da1b Fix message ordering of Broker messages
Using two separate Broker subscribers for status events and regular
messages introduces a race on the two objects. Even if Broker sends all
messages in a particular (deterministic) order, Zeek may still process
them in a different order as a result. Since several tests rely on a
strict ordering of Broker events, these tests could fail sporadically.

Using only a single subscriber for all Broker messages makes sure that
Zeek observes all messages in the same order as Broker emits them.
2020-12-07 21:40:46 +01:00
Dominik Charousset
9da68ddc3d Fix UB in shutdown of Broker manager 2020-12-07 20:37:08 +01:00
Johanna Amann
3c2fac9e87 Update submodule
[nomail]
2020-12-07 18:27:07 +00:00
Johanna Amann
8955e6c060 Merge branch 'master' of github.com:zeek/zeek 2020-12-07 18:23:18 +00:00
Johanna Amann
c85d6d6112 Merge remote-tracking branch 'origin/topic/christian/gh-1307-baseline-refresh'
* origin/topic/christian/gh-1307-baseline-refresh:
  Additional use of btest-diff --binary
  Update btest-diff calls on binary files to using "--binary"
  Switch to btest-diff with --binary support
  Update external baseline commit hashes
  Fix binary baseline & line-end problem
  Fix diff-remove-abspath on OSX
  Bump submodules for btest 0.64 update
  Canonifier improvements for the scripts.base.frameworks.logging.ascii-double test
  Baseline refresh to reflect btest 0.64
  Make diff-remove-abspath canonifier match on non-whitespace paths only
  Harden diff-remove-timestamps canonifier
2020-12-07 18:12:29 +00:00
Jon Siwek
94366fdfd9 Merge remote-tracking branch 'origin/topic/jsiwek/fix-zeekygen-misassociations'
* origin/topic/jsiwek/fix-zeekygen-misassociations:
  Fix misassociation of Zeekygen-style comments within function scopes
2020-12-07 09:43:07 -08:00
Dominik Charousset
38aba87e41 Preserve string output of Broker errors 2020-12-07 16:43:42 +01:00
Dominik Charousset
cf2b5f7e05 Migrate to CAF 0.18 2020-12-07 14:56:19 +01:00
Christian Kreibich
b04082c140 Additional use of btest-diff --binary 2020-12-06 20:19:52 -08:00
Christian Kreibich
17cd740519 Update btest-diff calls on binary files to using "--binary"
This converts Johanna's TEST_DIFF_CANONIFIER removals via "env -u" to
using the new "btest-diff --binary", and updates the affected baselines.
2020-12-06 20:19:52 -08:00
Christian Kreibich
c5fd520c96 Switch to btest-diff with --binary support
(Preliminary commit to be updated later)
2020-12-06 20:19:52 -08:00
Johanna Amann
5f6b95c027 Update external baseline commit hashes 2020-12-06 20:19:52 -08:00
Johanna Amann
442cb40db8 Fix binary baseline & line-end problem
By default all baslines are run through diff-remove-timestamp. On a BSD
sed implementation, this means that a newline is added to the end of the
file, if no newline was there originally. This behavior differs from GNU
sed, which does not add a newline.

In this commit we unify this behavior by always adding a newline, even
when using GNU sed. This commit also disables the canonifier for a bunch
of binary baselines, so we do not have to change them.
2020-12-06 20:19:52 -08:00
Johanna Amann
7040e30431 Fix diff-remove-abspath on OSX
\t does not work on OS-X and just matches the letter t. This commit
replaces it with a literal tab instead.
2020-12-06 20:19:52 -08:00
Christian Kreibich
f3482efb1d Bump submodules for btest 0.64 update 2020-12-06 20:19:52 -08:00
Christian Kreibich
c0bd02e18f Canonifier improvements for the scripts.base.frameworks.logging.ascii-double test
This now more surgically applies canonifiers so that the double-format
numerical output isn't itself canonified.
2020-12-06 20:19:52 -08:00
Christian Kreibich
0b674eb851 Baseline refresh to reflect btest 0.64 2020-12-06 20:19:49 -08:00
Christian Kreibich
3984d99a86 Make diff-remove-abspath canonifier match on non-whitespace paths only
This avoids swallowing multiple separate paths separated by unrelated
content into one substitution, like here:

orig_p=59856<...>/tcp] -> orig_p=59856/tcp, resp_h=192.150.187.43, resp_p=80/tcp]
2020-12-06 18:19:06 -08:00
Christian Kreibich
3ca804421e Harden diff-remove-timestamps canonifier
This pattern got mislead by matching suffixes of other numbers, and
noramlizing exact 0-timestamps isn't really required.

- Remove eplicit "0.000000" number pattern from timestamp normalization

- Require beginning of line or non-numeric character before the
  beginning of the number replacement
2020-12-06 18:19:06 -08:00
Jon Siwek
1f352a1e4d Fix misassociation of Zeekygen-style comments within function scopes
All Zeekygen-style comments relate to entities at global scope, so those
found within functions are now ignored instead of misassociated.
2020-12-04 19:29:11 -08:00
Jon Siwek
6323b0a8c2 Remove an extraneous Zeekygen-style comment 2020-12-04 19:20:57 -08:00
Jon Siwek
ff7d9e3d72 Merge branch 'master' into topic/vern/script-inlining 2020-12-04 16:18:14 -08:00
Jon Siwek
24bbadcd0a Update submodule(s) [nomail] [skip ci] 2020-12-04 13:07:34 -08:00
Jon Siwek
27ea03db2e Update submodule(s) [nomail] 2020-12-04 11:18:44 -08:00
Johanna Amann
aeb98c9285 Merge branch 'master' of github.com:zeek/zeek 2020-12-04 18:50:25 +00:00
Johanna Amann
47ceac2491 Merge remote-tracking branch 'origin/topic/johanna/GH-348'
* origin/topic/johanna/GH-348:
  Sumstats: allow users to manage epoch manually
  Sumstats: epoch_finished was not called under certain circumstances
2020-12-04 18:49:53 +00:00
Jon Siwek
bca830b321 Update submodule(s) [nomail] [skip ci] 2020-12-04 10:39:08 -08:00
Johanna Amann
1a2d48cdd2 Update submodule
[nomail]
2020-12-04 11:25:51 +00:00
Jon Siwek
4228fbca0b Merge remote-tracking branch 'origin/topic/johanna/static-ci'
* origin/topic/johanna/static-ci:
  Fix cirrus config for static broker test.
  Add a test for compiling with static broker/binpac
2020-12-03 18:02:55 -08:00
Jon Siwek
04385ab8b2 Update NEWS 2020-12-03 16:33:07 -08:00
Johanna Amann
d266e5600b Fix cirrus config for static broker test. 2020-12-03 19:09:54 +00:00
Tim Wojtulewicz
c643ed2fe4 Merge remote-tracking branch 'origin/topic/robin/gh-1179-plugin-loading-fixes'
* origin/topic/robin/gh-1179-plugin-loading-fixes:
  Fix a couple of life-time issues when plugin loading fails.
2020-12-03 09:36:02 -07:00
Robin Sommer
e147692a43 Fix a couple of life-time issues when plugin loading fails.
Reported by Coverity.

Follow-up to #1179.
2020-12-03 07:55:51 +00:00
zeek-bot
946dfd5d16 Update doc submodule [nomail] [skip ci] 2020-12-03 00:41:58 +00:00
Jon Siwek
71f9340e75 Merge branch 'add-X-to-double' of https://github.com/ynadji/zeek
- Minor whitespace/grammar/doc tweaks during merge

* 'add-X-to-double' of https://github.com/ynadji/zeek:
  Add `count_to_double` and `int_to_double` bif functions
2020-12-02 12:54:08 -08:00
Jon Siwek
219ed305b4 Update submodule(s) [nomail] [skip ci] 2020-12-02 12:04:34 -08:00
Jon Siwek
05618dc8a8 Merge remote-tracking branch 'origin/topic/jsiwek/update-minimum-cmake'
* origin/topic/jsiwek/update-minimum-cmake:
  Update minimum required CMake to 3.5
2020-12-02 11:11:45 -08:00
Jon Siwek
3605e04d83 Update minimum required CMake to 3.5
Also now uses CMake's ENABLE_EXPORTS target property for the zeek
executable to ensure symbols are visible to plugins.  Prior to CMake
3.4, the policy was to export symbols by default for certain platforms,
but later versions need either the explicit target property or policy.
2020-12-01 22:13:52 -08:00