Reference cycles shouldn't occur but there's nothing really preventing
people from creating them, so may just as well be safe and deal with
them when cloning values. While the code is a bit more cumbersome this
way, it could actually be bit faster as well as it no longer caches
non-mutable values. (I measured it with the test suite: That's about
the same in execution time, maybe tiny little bit faster now;
definitly not slower).
This one adds a separate new case that has to be parsed differently - if
a hello-retry-request is sent, only the namedgroup is sent - without the
additional key material.
Support for the legacy extension is retained.
Warnings in the ASCII reader so far remained suppressed even when an
input file changed. It's helpful to learn about problems in the data
when putting in place new data files, so this isn't great. This change
maintains the existing warning suppression while processing a file,
but re-enables warnings after updates to a file.
Also includes minor comment clarifications, and maintains the
not-so-great code duplication between the ASCII and Config readers
until we refactor this properly.
* origin/topic/jsiwek/broker-store-process-n:
Improve Broker I/O loop integration: less mutex locking
Improve processing of broker data store responses
* origin/topic/vlad/rdp_bluekeep:
RDP: Update existing baselines with new client_channels field
RDP: Add parsing and logging of channels requested by the client. Can determine capabilities requested by the client, as well as attacks such as CVE-2019-0708
* 'table-error' of https://github.com/ZekeMedley/zeek:
Check table yield type on assignment.
Also extended the type checking to include sets as well as the full
table type (yield type as well as index types).
* 'topic/christian/inputframework-reporter-filenames' of https://github.com/ckreibich/zeek:
Add input file name to additional ASCII reader warning messages
The ASCII reader had a few messages that did not indicate in which
file it notices a problem. With the input framework it simplifies
troubleshooting when that file is spelled out, because you may have
multiple such files on your system.
Includes test baseline updates.
Due to string representation of Broker vectors changing (they now
use parentheses instead of square brackets).
Related to https://github.com/zeek/broker/issues/43
* origin/topic/timw/173-port-ranges:
GH-173: Support ranges of values for value_list elements in the signature parser
GH-173: Modify the signature parser so ID components (such as variable names) can't start with numbers