This is a convenience function to make it easier to print literal byte
sequences to stdout without additional escaping like what may be added
by the default `print` statement behavior.
For example, related to GH-596, `print` currently escapes even valid
UTF-8 byte sequences and makes it difficult to output valid JSON strings
containing such.
* origin/topic/timw/595-json-perf:
Update COPYING.3rdparty
Use json::emplace to avoid some extra calls to operator[]
Use tessil/unordered-map instead of nlohmann/fifo-map to mitigate performance issues when logging JSON
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
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