* topic/christian/management-verify-nodestarts:
Management framework: bump external cluster testsuite
Management framework: bump zeek-client to pull in set-config rendering
Management framework: enable stdout/stderr reporting
Management framework: Supervisor extensions for stdout/stderr handling
Management framework: disambiguate redef field names in agent and controller
Management framework: move to ResultVec in agent's set_configuration response
Management framework: tune request timeout granularity and interval
Management framework: verify node starts when deploying a configuration
Management framework: a bit of debug-level logging for troubleshooting
* origin/topic/vern/find-unused:
Update spicy-plugin with change that checks for zeek version
deprecation messages for unused base script functions
clearer messages for warning about unused functions
Fixes from review, post-rebase
code formatting and more btest updates
baseline & btest updates
annotate orphan base script components with &deprecated
annotate base scripts with &is_used as needed
--no-usage-warnings flag to suppress analysis
support for associating &is_used attributes with functions
classes for evaluating function/hook/event usage
broader support for AST traversal, including Attr and Attributes objects
include attributes in descriptions of sets and tables
low-level tidying
* topic/christian/management-cluster-dirs:
Management framework: bump zeek-client to pull in instance serialization fixes
Management framework: bump external cluster testsuite
Management framework: update agent-checkin test to reflect recent changes
Management framework: place each Zeek process in its own working dir
Management framework: set defaults for log rotation and persistent state
Management framework: add spool and state directory config settings
Management framework: establish stdout/stderr files also for cluster nodes
Management framework: default to having agents check in with the (local) controller
Management framework: move role variable from logging into framework-wide config
Management framework: distinguish supervisor/supervisee when loading agent/controller
Management framework: simplify agent and controller stdout/stderr files
Management framework: prefix the management logs with "management-"
Management framework: comment and layouting tweaks, no functional change
Management framework: rename env var that labels agents/controllers
Management framework: increase robustness of agent/controller naming
* origin/topic/timw/1995-pcap-filter-error-messages:
Propagate BPF_Program error message to script land
Allow pcap pktsrc to use other BPF_Program::Compile method
* origin/topic/timw/cirrus-ccache:
Rework .cirrus.yml a bit to commonize some parts
Enable 'greedy' mode for other CI builds
Enable ccache for Cirrus builds
Fix SSL tests on Centos Stream 9
* origin/topic/bbannier/spicy:
Add NEWS item for new requirements due to default-enabled Spicy support.
Include headers in binary dir before other headers.
Increase memory in CI.
Add tests for bundled Spicy infrastructure.
Include spicy in build.
Add `bare_mode` bif.
Change test so included plugins can load notice framework.
Do not log function arguments in test.
* origin/topic/timw/1857-input-log-messages:
Move some repetitive code into a separate method
Store location during Ascii input parsing for use in error messages
Include file information in input reader error messages
* origin/topic/vern/CPP-feature-complete:
NEWS items for script profiling, "footprint" BiFs, and Trigger method deprecations
tweaks per reviewing feedback
make deprecation advice a bit more helpful
format shell scripts per style guide
add deprecation for Trigger Cache/Lookup interfaces
helper scripts for -O C++ maintenance
"-O use-C++" now fails if no C++ bodies wound up being applicable
update environemnt variable names to match command-line arguments
final changes for -O C++ feature completeness, mainly "when" statement support
Change "when" statements that don't require closures to use new implementation. Provide hooks for script optimization access to "when" statements. Regularize treatment of naming and timeouts for Triggers.
switch cached Trigger values to be opaque-and-generic, rather than assuming CallExpr's
tracking of when statements/expressions occur in a "when" context
fix bug that sometimes associated the wrong location with global statements
fix incomplete AST traversal of "when" statements
add some missing "when" closures
regularize test suite names to avoid custom/outdated suffices
* origin/topic/timw/1797-string-allocations:
Store hash analyzer kind StringVals for later reuse
Add Component::GetCanonicalNameVal to avoid extra StringVal allocations
Avoid type unnecessary type conversion in ComponentManager::GetComponentName
Only set connection history if strings differ
* origin/topic/vern/script-profiling:
tidy up after generating profile
test suite updates for refined script coverage, use of new BiF to speed startup
fix for coverage reporting for functions that use "when" statements
new global_options() BiF to speed up startup, plus a micro-preen
hooks for new --profile-scripts option
classes for managing script profiles
address some holes in script coverage
fix for script coverage missing on-exit activity
memory management fixes for loggers
make curr_CPU_time() broadly available rather than just isolated to ZAM
* origin/topic/vern/type-names:
regularize deprecation warning
make DoDescribe protected for a tidier interface mark use of DESC_PORTABLE as deprecated
when printing a description of a type, use its name if available
* origin/topic/vern/footprint:
new environment variable to enable BTests to skip ASAN checks
skip new BiF test for ASAN CI runs
btest update to include recursive value that doesn't require a record
to avoid recursion, track all aggregates, not just records isolate the internal methods
simpler public calling interface for computing footprint
use stack-based set to prevent infinite recursion rather than a static one
change value_footprint() to val_footprint() to be more similar to val_size()
make including count of container elements non-optional
btest for mutually-recursive case
fix for tracking footprints of mutually-recursive records
added value_footprint() and global_container_footprints() BiFs
* origin/topic/vern/zam-maint-01May22:
fix for coverage reporting for functions that use "when" statements
ZAM maintenance for recent changes and some newly exercised corner cases
* origin/topic/neverlord/alm:
Fix build on CentOS 7
Initialize OpenSSL on startup
Increase memory for CI jobs
Fix formatting
Avoid double-initialization of OpenSSL
Canonify intel.log in read-file-dist-cluster test
Fix formatting
Port Zeek to latest Broker API
* origin/topic/timw/async-dns-crash:
Wrap call to doctest's MESSAGE() method in Reporter in try/catch block
Pre-initialize c-ares channel object. Fixes Coverity 1488318
Ask c-ares for the next timeout instead of passing a fixed value
Remove obsolete DNS_Mgr::asyncs_timeouts
* origin/topic/timw/1635-c-ares:
Add DNS fuzzing corpus from c-ares
Update NEWS with information about DNS_Mgr changes
Set larger UDP buffer to avoid TCP fallback if possible
Add new features to IOSource::Manager, used by DNS_Mgr
Add out_ptr, use for c-ares interface calls
Use shared_ptrs for DNS_Mapping objects
Similar map changes for async requests
Store all mappings in a single map instead of split by type
Don't split ipv4/ipv6 mappings into separate pointers
Handle cancelled/destruction statuses in callback methods
Pass dns_mgr down into the DNS_Request objects
Move PTR request handling to ares_create_query()
Add merging to DNS_Mgr::AddResult() to support both ipv4 and ipv6 responses simultaneously
Rework DNS_Mgr API to be more consistent and to support more request types
Replace nb_dns library with C-Ares
Add unit testing for DNS_Mgr and related classes
Update doc gen VM to ubuntu-latest, output cmake version during configure
Use doctest macro to tie Reporter output to test cases
Add const versions of dereference operators for DictEntry
Add DNS fuzzer