* origin/topic/timw/python-upgrade: (65 commits)
Swap pre-commit yapf for ruff/ruff-format, fix findings
Upgrade package-manager submodule to get python upgrade
Upgrade broker submodule to get python upgrade
Upgrade zeekctl submodule to get python upgrade
Upgrade zeek-client submodule to get python upgrade
Upgrade btest submodule to get python upgrade
Require Python 3.9 in CMakeLists.txt
CI: Install python 3.9 on ubuntu 20
btest: Avoid loading ZeroMQ if not compiled in
btest/coverage: Avoid warnings in test-all-policy-cluster
Broker::publish: Warn on using Broker::publish() when inactive
Update doc submodule [nomail] [skip ci]
Update zeek-testing and zeek-testing-cluster commit hashes
Update ZAM BiF-tracking
configure: Add --disable-cluster-backend-zeromq
CMakeLists: Cluster backends output
zeromq: Conditionally enable by default
btest/generic: Add publish_hrw(), publish_rr() and logging tests
generate-docs: Run on Ubuntu 24.04, add cppzmq
docker: Add cppzmq/libzmq dependencies
...
* origin/topic/awelzel/broker-publish-warn:
btest: Avoid loading ZeroMQ if not compiled in
btest/coverage: Avoid warnings in test-all-policy-cluster
Broker::publish: Warn on using Broker::publish() when inactive
...at the same time, add some `TEST-REQUIRES: have-zeromq` which
unfortunately means that developers will usually want libzmq
installed on their system.
This is a cluster backend implementation using a central XPUB/XSUB proxy
that by default runs on the manager node. Logging is implemented leveraging
PUSH/PULL sockets between logger and other nodes, rather than going
through XPUB/XSUB.
The test-all-policy-cluster baseline changed: Previously, Broker::peer()
would be called from setup-connections.zeek, causing the IO loop to be
alive. With the ZeroMQ backend, the IO loop is only alive when
Cluster::init() is called, but that doesn't happen anymore.
Not all supported platforms provide a recent enough cppzmq version,
add a fallback as submodule. cppzmq is a header-only library, so there's
no build step involved.
Also, run the ZAM-bif-tracking test in non-ZAM environments so
failures are caught immediately. There's nothing overly ZAM specific about
running this test.
I'm not sure I like the fact that any new contributor adding a BiF
will need to dig into this... it might be a bit intimidating.
* topic/christian/disconnect-slow-peers:
Bump cluster testsuite to pull in Broker backpressure tests
Expand documentation of Broker events.
Add sleep() BiF.
Add backpressure disconnect notification to cluster.log and via telemetry
Remove unneeded @loads from base/misc/version.zeek
Add Cluster::nodeid_to_node() helper function
Support re-peering with Broker peers that fall behind
Add Zeek-level configurability of Broker slow-peer disconnects
Bump Broker to pull in disconnect feature and infinite-loop fix
No need to namespace Cluster:: functions in their own namespace
* origin/topic/awelzel/license-header-cleanup:
Add missing copyright line to headers and cc files
pre-commit: Add license-header check inspired by Spicy
Add missing "COPYING" in file comments
* origin/topic/vern/CPP-streamlining:
BTest baseline updates for compile-to-C++
mark ZAM regression BTests as not suitable for compile-to-C++
fix for -O gen-C++ maintenance helper to skip BTest intermediary files
introduced simplified initialization for non-standalone -O gen-C++ code tied -O gen-standalone-C++ to use of --optimize-files
streamline generated -O C++ code by relying on per-function profiles rather than aggregate profile
when reporting available/unavailble C++ script bodies, flag those that are skipped
modified AST profiling to mark (and fully skip) non-optimizable functions
modified merge_types() to skip work if given identical types, which also preserves type names (useful for -O gen-C++)