Commit graph

12358 commits

Author SHA1 Message Date
Vlad Grigorescu
a2a8870931 Add btest for DNS WKS RR. 2021-07-14 21:43:36 -05:00
Vlad Grigorescu
01660553d6 Add btest for DNS NSEC3PARAM RR. 2021-07-14 20:22:06 -05:00
zeek-bot
eeee2c41a3 Update doc submodule [nomail] [skip ci] 2021-07-15 00:37:00 +00:00
Tim Wojtulewicz
09c4908573 Merge remote-tracking branch 'origin/topic/christian/fix-inputframework-test-race'
* origin/topic/christian/fix-inputframework-test-race:
  Fix race conditions in scripts.base.frameworks.input.reread
  Fix race condition in scripts.base.frameworks.input.invalid*
2021-07-14 15:01:29 -07:00
Tim Wojtulewicz
5d38bb029a Merge remote-tracking branch 'origin/topic/timw/structure-packing'
* origin/topic/timw/structure-packing:
  Reorder fields in some classes for more compact memory layout
  Redo how reassembled flag is accessed in IP_Hdr, filling in a memory hole
2021-07-14 15:00:23 -07:00
Tim Wojtulewicz
9b15db25f6 Reorder fields in some classes for more compact memory layout 2021-07-14 14:59:49 -07:00
Tim Wojtulewicz
f849f024e5 Redo how reassembled flag is accessed in IP_Hdr, filling in a memory hole 2021-07-14 14:59:49 -07:00
Robin Sommer
8d19c43429 Remove tests for deprecated operators. 2021-07-14 11:23:13 +02:00
Robin Sommer
7f2769bd17 Add tests for operations on vectors of string. 2021-07-14 11:21:42 +02:00
zeek-bot
aa76cb3925 Update doc submodule [nomail] [skip ci] 2021-07-14 00:35:33 +00:00
Tim Wojtulewicz
3038ec9578 Merge remote-tracking branch 'origin/topic/vlad/bogon'
* origin/topic/vlad/bogon:
  Zeekygen doesn't support comments on set members
  Add 6to4 addresses, if the matching IPv4 address is private
  Update Site::private_address_space to latest IANA networks
2021-07-13 12:25:32 -07:00
Tim Wojtulewicz
a865a2cc9b Update submodule(s) [nomail] [skip ci] 2021-07-13 12:22:24 -07:00
Tim Wojtulewicz
cdcfa154e2 Fix formatting in 4.1 NEWS entry [nomail] [skip ci] 2021-07-13 12:22:11 -07:00
Christian Kreibich
136a9baa42 Fix race conditions in scripts.base.frameworks.input.reread
On FreeBSD, this test showed two problems: (1) reordering problems
based on writing the predicate, event, and end-of-data updates into a
single file, (2) a race condition based on printing the entirety of
the table description argument in update events. The description
contains the destination table, and its content at the time an update
event gets processed isn't deterministic: depending on the number
of updates the reader thread has sent, the table will contain a
varying number of entries.
2021-07-12 13:25:03 -07:00
Christian Kreibich
4e75662963 Fix race condition in scripts.base.frameworks.input.invalid*
The invalidset and invalidtext tests loaded an input file via table
and event reads, in parallel. On FreeBSD this triggers an occasional
reordering of messages coming out of the reader thread vs the input
managers. This commit makes the table and event reads sequential,
avoiding the race.
2021-07-09 18:16:14 -07:00
zeek-bot
8bcaa64d8f Update doc submodule [nomail] [skip ci] 2021-07-10 00:34:12 +00:00
Tim Wojtulewicz
6bf742466f Update doc submodule [nomail] [skip ci] 2021-07-09 12:57:12 -07:00
Tim Wojtulewicz
8f86f8b75a Update submodule(s) [nomail] [skip ci] 2021-07-09 12:21:22 -07:00
Christian Kreibich
281eef398f Merge branch 'topic/vlad/doc_tweaks'
* topic/vlad/doc_tweaks:
  docs: escape * in documentation
  Update the mail_dest documentation with the new email_dest field
2021-07-09 12:02:32 -07:00
Tim Wojtulewicz
f8389c92e0 Merge remote-tracking branch 'origin/topic/timw/freebsd-warning'
* origin/topic/timw/freebsd-warning:
  Fix a compile warning on FreeBSD
2021-07-08 18:00:34 -07:00
Christian Kreibich
8db985ea78 Merge branch 'topic/christian/cluster-controller'
* topic/christian/cluster-controller:
  Add a cluster controller testcase for agent-controller checkin
  Add zeek-client via new submodule
  Update baselines affected by cluster controller changes
  Introduce cluster controller and cluster agent scripting
  Establish a separate init script when using the supervisor
  Add optional bare-mode boolean flag to Supervisor's node configuration
  Add support for making the supervisor listen for requests
  Add support for setting environment variables via supervisor
2021-07-08 16:51:11 -07:00
Vlad Grigorescu
8d2a6f48e8 docs: escape * in documentation 2021-07-08 18:26:42 -05:00
Tim Wojtulewicz
12ac62645a Fix a compile warning on FreeBSD 2021-07-08 16:10:19 -07:00
Christian Kreibich
db600b7393 Merge branch 'topic/christian/policy-hook-docfix'
* topic/christian/policy-hook-docfix:
  Fix reference in the logging framework docs re. Log::StreamPolicyHook
2021-07-08 16:00:43 -07:00
Christian Kreibich
6eddaed62d Fix reference in the logging framework docs re. Log::StreamPolicyHook 2021-07-08 15:39:46 -07:00
Vlad Grigorescu
10159a3fdf Update the mail_dest documentation with the new email_dest field 2021-07-08 16:01:21 -05:00
Christian Kreibich
767cf2b518 Add a cluster controller testcase for agent-controller checkin
This verifies that in a setup with the supervisor creating both controller and
agent, the agent successfully checks in with the controller.
2021-07-08 13:12:53 -07:00
Christian Kreibich
a6b0fde65f Add zeek-client via new submodule
The new module resides in auxil/zeek-client. It does not get installed unless
one configures with --enable-zeek-client.
2021-07-08 13:12:53 -07:00
Christian Kreibich
04dda8b4a7 Update baselines affected by cluster controller changes 2021-07-08 13:12:53 -07:00
Christian Kreibich
c744702f94 Introduce cluster controller and cluster agent scripting
This is a preliminary implementation of a subset of the functionality set out in
our cluster controller architecture. The controller is the central management
node, existing once in any Zeek cluster. The agent is a node that runs once per
instance, where an instance will commonly be a physical machine. The agent in
turn manages the "data cluster", i.e. the traditional notion of a Zeek cluster
with manager, worker nodes, etc.

Agent and controller live in the policy folder, and are activated when loading
policy/frameworks/cluster/agent and policy/frameworks/cluster/controller,
respectively. Both run in nodes forked by the supervisor. When Zeek doesn't use
the supervisor, they do nothing. Otherwise, boot.zeek instructs the supervisor
to create the respective node, running main.zeek.

Both controller and agent have their own config.zeek with relevant knobs. For
both, controller/types.zeek provides common data types, and controller/log.zeek
provides basic logging (without logger communication -- no such node might
exist).

A primitive request-tracking abstraction can be found in controller/request.zeek
to track outstanding request events and their subsequent responses.
2021-07-08 13:12:53 -07:00
Christian Kreibich
a3623bfb2d Establish a separate init script when using the supervisor
The supervisor does not require the full weight of scripts that
init-default.zeek brings with it. The new file, init-supervisor.zeek, contains
only what's required by the supervisor in addition to the other always-loaded
init files.
2021-07-08 13:12:53 -07:00
Christian Kreibich
7bee79b400 Add optional bare-mode boolean flag to Supervisor's node configuration
When omitted, the node inherits the Supervisor's bare-mode
status. When true/false, the new Zeek node will enable/disable bare
mode, respectively. It continues to load any scripts passed at the
command line and in the additional scripts list already provided in
the node configuration.

Includes testcase.
2021-07-08 13:12:53 -07:00
Christian Kreibich
efaa9ec3be Add support for making the supervisor listen for requests
The supervisor now starts listening on the configured Broker default address and
port when the new boolean SupervisorControl::enable_listen is T. Listening
remains disabled by default. Listening allows nodes to communicate with the
supervisor via the events laid out in control.zeek, to conduct further node
management.
2021-07-08 13:12:53 -07:00
Christian Kreibich
36051dc9a1 Add support for setting environment variables via supervisor
The NodeConfig record now has a table for specifying environment variable names
and values, which the supervisor sets in the created node.

This also repositions the cpu_affinity member to keep the order the same in
the corresponding script-layer and in-core types.

Includes testcase.
2021-07-08 13:12:53 -07:00
Tim Wojtulewicz
efb9b24ef3 Merge remote-tracking branch 'origin/topic/timw/process-metrics'
* origin/topic/timw/process-metrics:
  Update broker submodule for process metrics
2021-07-08 12:59:13 -07:00
Tim Wojtulewicz
6dcf6c9399 Update broker submodule for process metrics
This also updates CAF to 0.18.4
2021-07-08 10:01:35 -07:00
Vlad Grigorescu
5f5ea7c031 Zeekygen doesn't support comments on set members 2021-07-08 06:15:21 -05:00
Vlad Grigorescu
d930f6aa7d Add 6to4 addresses, if the matching IPv4 address is private 2021-07-08 06:13:51 -05:00
Vlad Grigorescu
632182d1a9 Update Site::private_address_space to latest IANA networks 2021-07-07 14:41:31 -05:00
Tim Wojtulewicz
39f96d4720 Merge remote-tracking branch 'origin/topic/timw/1644-patricia-calloc-size'
* origin/topic/timw/1644-patricia-calloc-size:
  GH-1644: Pass a larger structure to be calloc'd in patricia.c
  Fix multiple spelling errors in debug output
2021-07-07 10:10:37 -07:00
Tim Wojtulewicz
caba3dc151 GH-1644: Pass a larger structure to be calloc'd in patricia.c 2021-07-07 08:56:25 -07:00
Tim Wojtulewicz
fcee137b1a Fix multiple spelling errors in debug output 2021-07-07 08:55:48 -07:00
Tim Wojtulewicz
cf0745da9f Merge remote-tracking branch 'origin/topic/seth/subproject-build'
* origin/topic/seth/subproject-build:
  Removing a fix from another branch
  Update binpac pointer
  Update bifcl and binpac for building Zeek as a submodule
  Updated the cmake pointer
  Fix the builtin plugin preload mechanism
  Update submodule pointer for cmake to point at the appropriate branch
  Switch to more accurate source and binary references in cmake
2021-07-06 08:59:22 -07:00
Tim Wojtulewicz
2021df7418 Merge remote-tracking branch 'origin/topic/timw/coverity-findings'
* origin/topic/timw/coverity-findings:
  Fix a number of Coverity findings
2021-07-06 08:49:58 -07:00
Tim Wojtulewicz
c43a42fe95 Merge remote-tracking branch 'origin/topic/johanna/update-qtypes'
* origin/topic/johanna/update-qtypes:
  Add a few DNS query types.
2021-07-06 08:49:06 -07:00
Johanna Amann
132b9ef2cc Add a few DNS query types. 2021-07-06 10:40:22 +01:00
Robin Sommer
53f9f1c9ba Merge remote-tracking branch 'origin/topic/robin/new-update'
* origin/topic/robin/new-update:
  Add some more items to NEWS.
2021-07-06 08:47:52 +02:00
Christian Kreibich
5c74702ea1 Update submodule
[nomail]
2021-07-05 21:16:11 -07:00
Johanna Amann
7ec50bf434 Merge remote-tracking branch 'origin/topic/johanna/gh-859'
* origin/topic/johanna/gh-859:
  Add X509/SSL changes to NEWS
  X509: add check if function succeeds
  GH-1634: Address feedback
  Small indentation fixes in ssl-log-ext.zeek
  Fix memory leak in x509_check_cert_hostname bif
  Small bugfix and updates for external test hashes (SSL/X509)
  Baseline updates for recent SSL changes.
  Add ability to check if hostname is valid for a specific cert
  Add ssl_history field to ssl.log
  Add policy script suppressing certificate events
  Add new ssl-log-ext policy script
  Deprecate extract-certs-pem.zeek and add log-certs-base64.zeek
  Implement X509 certificate log caching
  Deprecate ICSI SSL notary script.
  Change SSL and X.509 logging format
  Enable OCSP logging by default.
  Split the code that handles X509 event hashing into its own file

Closes GH-859
2021-07-05 10:12:46 +01:00
Johanna Amann
8ed78408c3 Add X509/SSL changes to NEWS 2021-07-05 10:02:07 +01:00