No need to create a record introspection table each time when all
the required information can be obtained directly in the RecordVal
and RecordType objects. Besides the additional overhead, using such
a table will re-order the fields arbitrarily instead of using the
order in which they're defined.
Adjustments:
- Changed a push_back(...) into emplace_back(std:move(...))
- Removed superfluous table Lookup() since we already have the value
while iterating
* origin/topic/timw/598-multikey-set-json:
GH-598: handle multi-key sets correctly when outputting json
The full process hierarchy isn't set up yet, but these changes
help prepare by doing two things:
- Add a -j option to enable supervisor-mode. Currently, just a single
"stem" process gets forked early on to be used as the basis for
further forking into real cluster nodes.
- Separates the parsing of command-line options from their consumption.
i.e. need to parse whether we're in -j supervisor-mode before
modifying any global state since that would taint the "stem" process.
The new intermediate structure containing the parsed options may
also serve as a way to pass configuration info from "stem" to its
descendent cluster node processes.
Replaced logic in strstrip() with a lambda to avoid deprecations:
- std::ptr_fun is deprecated in C++11, removed C++17
- std::not1 is deprecated in C++17. removed C++20
* origin/topic/jsiwek/reassembly-improvements-map:
Rename a reassembly DataBlockList function
Add comments to reassembly classes
Use DataBlock value instead of pointer in reassembly map
Remove linked list from reassembly data structures
Use an std::map for reassembly DataBlock searches
Refactor Reassembler/DataBlock bookkeeping
Reorganize reassembly data structures
Remove a superfluous reassembler DataBlock member
* origin/topic/neverlord/scaffolding:
Fix second overly specific include_directories
Add --build-dir as alias for --builddir
Fix overly specific include_directories usage
This alias makes it easier for tooling that deals with both Zeek and
Broker (which uses `--build-dir`). Also, it's one less quirk to remember
when working with both repositories.
Calling `find_package(CAF)` puts all include directory paths into a
single variable. Picking the paths individually is not only error prone
and cumbersome, but can also lead to bulid errors. For example, when
using a build directory for CAF_ROOT then CAF_INCLUDE_DIRS will have one
extra path to find CAF's `config.hpp` (which is part of the build
directory).
* origin/topic/timw/coverity-fixes:
Add move assignment operator to logging::Tag (Coverity 1357732)
Throw an error during input::Manager::CreateTableStream if val is null (Coverity 1402730)
Use ntohl instead of manually swapping bytes in extract_XDR_uint32 (Coverity 1375796 and others)
Add check for null init variable during make_var. (Coverity 1403419)
Remove dead check in Val::check_and_promote. (Coverity 1401810)
Handle failure of fcntl in Pipe. (Coverity 1241934, 1241935)
Initialize missing field in File. (Coverity 1057851, 1057852, 1057853)
Add null check for results of dynamic_cast in AssignExpr::TypeCheck. Fixes coverity findings 1403416 and 1403417
Add null check when getting key size for List types. Fixes coverity finding 1058242