Commit graph

13262 commits

Author SHA1 Message Date
Christian Kreibich
19bfa071e0 Expand testcases around is_num(), is_alpha(), is_alnum(), is_ascii() BiFs 2022-02-28 13:09:32 -08:00
Christian Kreibich
3324f35cf9 Clarify is_ascii() BiF docstring re behavior on empty strings 2022-02-28 11:23:22 -08:00
Christian Kreibich
4194fdd279 Fix minor indentation bugs in strings.bif 2022-02-28 11:10:08 -08:00
Yacin Nadji
41f4f52622 Add raw_bytes_to_v6_addr function 2022-02-24 12:10:51 -05:00
Tim Wojtulewicz
9b184c3d4a Merge remote-tracking branch 'origin/topic/timw/1980-zeek-config-caf-root'
* origin/topic/timw/1980-zeek-config-caf-root:
  GH-1980: Deprecate and return warning for zeek-config's caf-root option
2022-02-24 09:11:12 -07:00
Tim Wojtulewicz
1232adca38 GH-1980: Deprecate and return warning for zeek-config's caf-root option 2022-02-24 09:10:39 -07:00
Tim Wojtulewicz
adb66ba993 Update cmake submodule [skip ci] [nomail] 2022-02-23 16:49:18 -07:00
Tim Wojtulewicz
4a667eb050 Merge remote-tracking branch 'origin/topic/timw/1949-inactivity-timeout'
* origin/topic/timw/1949-inactivity-timeout:
  GH-1949: Remove unused timer_mgr_inactivity_timeout global
2022-02-23 10:52:09 -07:00
Johanna Amann
1c9ea09d9f Address PR feedback
This addresses feedback to GH-1814. The most significant change is the
fact that the ChipertextRecord now can remain &transient - which might
lead to improved speed.
2022-02-23 11:31:21 +00:00
Tim Wojtulewicz
08bf6f13e2 GH-1949: Remove unused timer_mgr_inactivity_timeout global 2022-02-22 15:16:36 -07:00
Tim Wojtulewicz
1de8191c86 Merge remote-tracking branch 'matthewluckie/remove-deprecated-types-1898'
* matthewluckie/remove-deprecated-types-1898:
  remove deprecated union and timer types, addressing #1898
2022-02-21 18:17:24 -07:00
Matthew Luckie
11f8729997 remove deprecated union and timer types, addressing #1898 2022-02-19 19:17:51 +13:00
Christian Kreibich
d77fd8305d Merge branch 'topic/christian/github-workflow-tweaks'
* topic/christian/github-workflow-tweaks:
  Minor modernizations to Github workflows
2022-02-11 09:30:28 -08:00
Christian Kreibich
40fa1a0769 Merge branch 'topic/christian/controller-renaming'
* topic/christian/controller-renaming:
  Bump external cluster testsuite to reflect Management framework reorg
  Bump zeek-client to reflect Management framework reorg
  Reorg of the cluster controller to new "Management framework" layout
2022-02-10 18:10:08 -08:00
Tim Wojtulewicz
dad237c682 Merge remote-tracking branch 'origin/topic/timw/coverity-fixes'
* origin/topic/timw/coverity-fixes:
  Fixing a big pile of Coverity issues
2022-02-10 10:35:23 -07:00
Christian Kreibich
59fa19424d Bump external cluster testsuite to reflect Management framework reorg 2022-02-09 18:09:46 -08:00
Christian Kreibich
c77cbc5c58 Bump zeek-client to reflect Management framework reorg 2022-02-09 18:09:46 -08:00
Christian Kreibich
54aaf3a623 Reorg of the cluster controller to new "Management framework" layout
- This gives the cluster controller and agent the common name "Management
framework" and changes the start directory of the sources from
"policy/frameworks/cluster" to "policy/frameworks/management". This avoids
ambiguity with the existing cluster framework.

- It renames the "ClusterController" and "ClusterAgent" script modules to
"Management::Controller" and "Management::Agent", respectively. This allows us
to anchor tooling common to both controller and agent at the "Management"
module.

- It moves common configuration settings, logging, requests, types, and
utilities to the common "Management" module.

- It removes the explicit "::Types" submodule (so a request/response result is
now a Management::Result, not a Management::Types::Result), which makes
typenames more readable.

- It updates tests that depend on module naming and full set of scripts.
2022-02-09 18:09:42 -08:00
Christian Kreibich
f34906c9d1 Minor modernizations to Github workflows
- Rely on checkout action for recursive clone at depth 1
- Remove some unneeded subshells
- Use nproc to determine number of cores for parallelization
2022-02-09 15:59:11 -08:00
Christian Kreibich
9efc214d42 Merge branch 'topic/christian/build-docs-on-prs'
* topic/christian/build-docs-on-prs:
  Expand generate-docs Github workflow to test docs build on PRs
2022-02-09 15:15:48 -08:00
Christian Kreibich
2e79bc861d Expand generate-docs Github workflow to test docs build on PRs
This adds pull requests as a trigger event and runs the doc submodule
commit/push as well as the submodule bump only on the original scheduled runs.
2022-02-09 14:24:58 -08:00
Christian Kreibich
2b7cc130c4 Merge branch 'topic/christian/fix-docbuild'
* topic/christian/fix-docbuild:
  Updates to the cluster controller scripts to fix the docs build
2022-02-09 13:14:55 -08:00
Tim Wojtulewicz
a117c81d85 Fixing a big pile of Coverity issues
1469562/1469558: Uninitialized fields in Func constructor
1469571/1469566: Null pointer dereference in Trigger::Init()
1469568: Uninitialized fields in CounterVector constructor
1469570: Uncaught exception in plugin manager
1469569: Resource leak in script_opt::Stmt
1469561/1469561: Uninitialized fields in ZBody constructor
1469559: Uninitialized fields in logging::Manager
1469563: Resource leak in ZAMCompiler::CompileDel
1469549/1469553/1469556: Context not fully initialized in HashVals
1469548: Remove dead code from IPAddr
1469551/1469554: Handle iosource_mgr registration failure in broker::Manager
1469552/1469572: Resource leaks in input::Manager
2022-02-09 14:07:11 -07:00
Christian Kreibich
3e0a86e3b3 Updates to the cluster controller scripts to fix the docs build
Mostly trivial changes, except for one aspect: if a module exports a record type
and that record bears Zeekygen comments, then redefs that add to the record in
another module cannot be private to that module. Zeekygen will complain with
"unknown target" errors, even when such redefs have Zeekygen comments. So this
commits also adds two export-blocks that aren't technically required at this point.
2022-02-09 12:28:47 -08:00
Christian Kreibich
41abf8f422 Bump zeek-client for Broker enum fix/workaround 2022-02-08 10:02:57 -08:00
Tim Wojtulewicz
0a70595d44 Update submodule(s) [nomail] [skip ci] 2022-02-08 09:55:16 -07:00
Christian Kreibich
b5c89cf384 Merge branch 'topic/christian/fix-when-deprec'
* topic/christian/fix-when-deprec:
  Add capture to a Sumstats when-statement
2022-02-07 14:20:04 -08:00
Tim Wojtulewicz
5bcccbd90e Update submodule(s) [nomail] [skip ci] 2022-02-07 10:05:29 -07:00
Robin Sommer
5f1f005142
Merge remote-tracking branch 'origin/topic/neverlord/hide-caf'
* origin/topic/neverlord/hide-caf:
  Fix GCC builds and string output for Broker errors
  Update to latest Broker without public CAF dep
2022-02-07 16:25:22 +01:00
Tim Wojtulewicz
8513bcef9d Merge remote-tracking branch 'origin/topic/timw/string-view-constructors'
* origin/topic/timw/string-view-constructors:
  String/StringVal: Replace char*/string constructors with string_view
2022-02-07 08:14:58 -07:00
Christian Kreibich
6a46d1584c Add capture to a Sumstats when-statement
This resolves a deprecation warning that currently triggers when running
Sumstats in clusterized Zeek.
2022-02-04 12:54:34 -08:00
Tim Wojtulewicz
4f470c24ed String/StringVal: Replace char*/string constructors with string_view 2022-02-04 13:52:04 -07:00
Tim Wojtulewicz
16ee942a8d Merge remote-tracking branch 'origin/topic/vern/use-C++-fix'
* origin/topic/vern/use-C++-fix:
  fix existing checks for looking to use C++ when it's not available
2022-02-04 10:33:55 -07:00
Tim Wojtulewicz
db706d9cf9 Merge remote-tracking branch 'origin/topic/vern/ZAM-profile-fix'
* origin/topic/vern/ZAM-profile-fix:
  fixes for ZAM profiling, which didn't get fully integrated originally
  minor enhancements for ZAM inlining
2022-02-04 10:32:59 -07:00
Vern Paxson
a6e493062c fix existing checks for looking to use C++ when it's not available 2022-02-03 20:35:25 -08:00
Christian Kreibich
9a7d5c986e Merge branch 'topic/christian/cluster-controller-get-nodes'
* topic/christian/cluster-controller-get-nodes:
  Bump external cluster testsuite
  Bump zeek-client for the get-nodes command
  Add ClusterController::API::get_nodes_request/response event pair
  Support optional listening ports for cluster nodes
  Don't auto-publish Supervisor response events in the cluster agent
  Make members of the ClusterController::Types::State enum all-caps
  Be more conservative with triggering request timeout events
  Move redefs of ClusterController::Request::Request to their places of use
  Simplify ClusterController::API::set_configuration_request/response
2022-02-03 13:19:34 -08:00
Vern Paxson
16e9af137f fixes for ZAM profiling, which didn't get fully integrated originally 2022-02-03 08:59:39 -08:00
Vern Paxson
94e71b738a minor enhancements for ZAM inlining 2022-02-03 08:53:10 -08:00
Johanna Amann
b1415dd364 Merge remote-tracking branch 'origin/topic/johanna/gh-1952'
* origin/topic/johanna/gh-1952:
  Match DPD TLS signature on one-sided connections.

Fixes GH-1952
2022-02-03 11:24:34 +00:00
Christian Kreibich
3b79c36146 Bump external cluster testsuite 2022-02-02 23:00:37 -08:00
Christian Kreibich
4c5de66a22 Bump zeek-client for the get-nodes command 2022-02-02 23:00:31 -08:00
Christian Kreibich
7db8634c8b Add ClusterController::API::get_nodes_request/response event pair
This allows querying the status of Zeek nodes currently running in a cluster.
The controller relays the request to all instances and accumulates their
responses.

The response back to the client contains one Result record per instance
response, each of which carrying a ClusterController::Types::NodeState vector in
its $data member to convey the state of each node at that instance.

The NodeState record tracks the name of the node, its role in the controller (if
any), its role in the data cluster (if any), as well as PID and listening port,
if any.
2022-02-02 22:59:22 -08:00
Christian Kreibich
791e5545b1 Support optional listening ports for cluster nodes
This makes cluster node listening ports &optional, and maps absent values to
0/unknown, the value the cluster framework currently uses to indicate that
listening isn't desired.
2022-02-02 16:10:46 -08:00
Robin Sommer
88c73f4680
Updating CHANGES and VERSION. 2022-02-02 12:48:41 +01:00
Robin Sommer
5b1691f162
Merge remote-tracking branch 'origin/topic/zeke/gh-1890'
* origin/topic/zeke/gh-1890:
  Consistently warn about mixing vector and scalar operand depreciaton
2022-02-02 09:46:00 +01:00
Robin Sommer
d957770c93
Merge remote-tracking branch 'origin/topic/robin/tcp-analyzer-checks'
* origin/topic/robin/tcp-analyzer-checks:
  Let our TCP-based application analyzers operate without any TCP parent analyzer.
2022-02-02 09:37:05 +01:00
Johanna Amann
95f1565498 Match DPD TLS signature on one-sided connections.
This commit changes DPD matching for TLS connections. A one-sided match
is enough to enable DPD now.

This commit also removes DPD for SSLv2 connections. SSLv2 connections do
basically no longer happen in the wild. SSLv2 is also really finnicky to
identify correctly - there is very little data required to match it, and
basically all matches today will be false positives. If DPD for SSLv2 is
still desired, the optional signature in policy/protocols/ssl/dpd-v2.sig
can be loaded.

Fixes GH-1952
2022-02-01 16:51:21 +00:00
Christian Kreibich
c79c2a2b00 Don't auto-publish Supervisor response events in the cluster agent
This was an oversight: we auto-publish the agent's requests _to_ the supervisor,
not the latter's responses.
2022-01-31 18:42:53 -08:00
Christian Kreibich
ad4744eba6 Make members of the ClusterController::Types::State enum all-caps
A consistency tweak since we mostly use all-caps elsewhere as well.
2022-01-31 18:42:03 -08:00
Christian Kreibich
3da95de5b8 Be more conservative with triggering request timeout events 2022-01-31 18:38:40 -08:00