* 'topic/oakljon/gh-1352-smtp-header-parsing' of https://github.com/theavgjojo/zeek:
GH-1352: Added flag to stop processing SMTP headers in attached messages
* origin/topic/christian/fix-config-segfault:
Btest tweak for improved type rendering in config framework errors and set types
More precise type information in a config framework error message
Explicitly don't support sets with multiple index types in input/config frameworks
* origin/topic/vern/script-xform: (30 commits)
Adjust some Reducer ref-counting and IntrusivePtr usage
Fix reference counting in ListExpr inline/reduce methods
Simplify WhileStmt::CondPredStmt()
Use std::move() in Case::UpdateBody()
Switch some Stmt transform/reduce logic to use IntrusivePtr
Switch some Expr transform/reduce logic to use IntrusivePtr
Adjust how some Expr::SetOpX() calls use std::move()
Add missing header-includes to Reduce.h
Add std::move() for args to an assign_to_index call
Adjust memory management for &default argument expression type-check
Use string for TempVar::name
Switch AnalyOpt::only_func to optional<string>
Fix a signed/unsigned comparison warning
simplified some vestigial complexity I noticed when flipping through diffs
canonicalization for an error message in one of the alternative test baselines
baseline differences for "xform" alternative: changes generally reflect exposure of transformed code, or error propagation stopping earlier due to error now occurring in an assignment (to a temporary)
new testing alternative for script transformation (= xform)
bug in correctly inspecting test output file
split bifs.string_utils into a non-error test and an only-errors test, to help control for differing error propagation
logic for driving the script optimization process
...
* origin/topic/vern/bvu-remove:
Use static_cast instead of dynamic_cast for Val conversions
Remove GET_FIELD_AS macro, replace with template methods
Add templated As() method to Val, use in various places we were using dynamic_cast
Move ValImpl classes into detail namespace
Some review cleanup in Val.cc
Changes addressing pending issues per PR discussion
Remove BroValUnion by hoisting underlying Val subclass values into subclasses
* origin/topic/vern/lambda-copy-semantics:
Add NEWS entries for lambda/capture-list functionality
Tweak vector append/move logic of Frame::SerializeCopyFrame()
Switch FuncType capture-list storage to optional<vector<Capture>>
Fix memory leaks in lambda capture/frame management
tests added for new capture-by-reference closure semantics & errors
documentation updates
test suite updates and additions for new capture semantics & suppression of error cascades
support for transmitting of capture-semantics closures via Broker, while keeping deprecated functionality
minor simplifications in using type names, and unordered sets rather than vectors
changes to Frames to support access to captured-by-copy-semantics variables
changes to ScriptFunc's to track captures, and LambdaExpr's to check/manage them
parsing of new []-style captures, and creation of associated data structures
nit: fixed some 0/1 values that should instead be false/true
no semantic changes: factored some of the complexity of begin_func() into a pair of static functions for clarity
simple error propagation fix: don't complain about "unused" values that themselves are due to errors
no semantic changes: corrected & reflowed some comments, plus a whitespace tweak
* origin/topic/vern/script-inlining:
cleaner approach for localizing errors associated with duplicated ASTs: virtualize GetLocationInfo
Add commentary to Frame::GetElement(int) about lack of offset adjustment
Remove unused local in Inliner::Analyzer()
Tweak FuncInfo memory management
Switch InlineExpr from using IDPList* to vector<IDPtr>
Insert contents of #included script-opt files directly
Simplify some IntrusivePtr operations in Expr::Duplicate/Inline
Remove Func::AsScriptFunc() methods
Remove superflous std::move's from Inliner return values
Remove SetupResult::parse_only field
Rename Frame::IncreaseOffset() to Frame::AdjustOffset()
Update alternative plugins.hooks baselines
Superficial changes to script-opt related code
merge glitch
updates from test suite
inlining of Zeek script functions
inlining of Zeek script functions
* origin/topic/jsiwek/gh-1329-fuzzer-driver-cleanup:
Rename a 'do_net_run' variable to 'do_run_loop'
GH-1329: call Zeek's cleanup function from standalone fuzzer driver
Merge adjustments:
- Fix the `--with-caf=` option from emitting messages about a variable
having an unset value.
- Fix the `zeek-config --caf_root` option
* origin/topic/neverlord/caf-migration:
Update submodule(s)
Fix message ordering of Broker messages
Fix UB in shutdown of Broker manager
Preserve string output of Broker errors
Migrate to CAF 0.18
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
* 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
- 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
* origin/topic/robin/gh-1179-plugin-loading:
Retry loading plugins on failure to resolve to dependencies.
Fix use of deprecated functionality in test.
When attempting to activate a plugin, load dynamic libraries first.
Add test creating multiple plugins with load dependencies.
* origin/topic/jsiwek/python2-eol:
Update CentOS CI Dockerfiles to fix git/diff dependencies
Update CI scripts to remove `python` vs `python3` workarounds
Remove Python 2 compatibility logic in httpd test script
Update Python invocations to explicit `python3`
Update CMake logic to enforce Python >= 3.5
Update documentation for Python >= 3.5 requirement
Update all submodules that have Python 2 EOL changes