Commit graph

9765 commits

Author SHA1 Message Date
Tim Wojtulewicz
ea7e91857a src/3rdparty: Update doctest to v2.4.8 2025-09-25 18:39:03 -07:00
Tim Wojtulewicz
c1598a33c4 src/3rdparty: Add missing externs in bsd-getopt-long.h 2025-09-25 18:39:03 -07:00
Benjamin Bannier
982d3b56a1 src/3rdparty: Add 3rdparty files from Zeek's src/ 2025-09-25 18:39:03 -07:00
Robin Sommer
f0cfaaaa78 src/3rdparty: Update doctest to 2.4.6.
Our old version didn't support compilation on Apple's M1 yet.
2025-09-25 18:39:03 -07:00
Johanna Amann
2dbd912088 src/3rdparty: Update SQLite to 3.36.0 2025-09-25 18:38:55 -07:00
Dominik Charousset
eb3aeb75ab src/3rdparty: Add doctest header 2025-09-25 18:38:24 -07:00
Bernhard Amann
3c65c3ecb0 src/3rdparty: Update sqlite to 3.28.0 2025-09-25 18:38:24 -07:00
Tim Wojtulewicz
086416706d Remove zeek-3rdparty submodule 2025-09-25 18:37:24 -07:00
Vern Paxson
441baaf2c1 added &no_ZAM_opt/&no_CPP_opt attributes and --no-opt-files/--no-opt-funcs for controlling skipping script optimization 2025-09-23 09:05:40 -07:00
Tim Wojtulewicz
210737f36e Restore the SetType constructor and destructor 2025-09-21 17:13:14 +00:00
Tim Wojtulewicz
9fb0f5e76d Fix clang-tidy finding in recent script_opt changes 2025-09-17 16:34:26 -07:00
Tim Wojtulewicz
ef9ffda2ef Merge remote-tracking branch 'origin/topic/vern/standalone-event-groups'
* origin/topic/vern/standalone-event-groups:
  tracking of event groups for compilation to standalone-C++
2025-09-17 14:28:44 -07:00
Vern Paxson
973cc00c42 tracking of event groups for compilation to standalone-C++ 2025-09-17 14:28:13 -07:00
Tim Wojtulewicz
1567fe8c09 Merge remote-tracking branch 'origin/topic/vern/remove-SetType'
* origin/topic/vern/remove-SetType:
  Deprecate SetType, as it can be replaced by TableType
2025-09-17 14:26:42 -07:00
Vern Paxson
b442c25389 Deprecate SetType, as it can be replaced by TableType 2025-09-17 14:09:58 -07:00
Tim Wojtulewicz
938073dfed Merge remote-tracking branch 'origin/topic/timw/4742-skip-storage-thread'
* origin/topic/timw/4742-skip-storage-thread:
  Avoid starting up storage expiration thread with zero backends
  Remove a couple of obsolete TODOs in storage manager
2025-09-17 08:44:55 -07:00
Tim Wojtulewicz
723b64d81f Reword comment about when ZeroMQ is required for the build 2025-09-16 13:30:14 -07:00
Tim Wojtulewicz
4705537002 Enable building ZeroMQ support on Windows 2025-09-16 13:30:14 -07:00
Tim Wojtulewicz
dd14e380a1 Force SQLite to be in thread-safe mode during CMake
This allows us to remove the need to check for thread-safe mode in the
various SQLite plugins. See https://www.sqlite.org/compile.html#threadsafe
for why `1` is a good choice here.
2025-09-16 12:19:09 -07:00
Tim Wojtulewicz
bd60c6fc15 Merge remote-tracking branch 'origin/topic/vern/gen-C++-global-characteristics'
* origin/topic/vern/gen-C++-global-characteristics:
  full tracking of the characteristics of globals when compiling scripts to C++
2025-09-16 11:31:13 -07:00
Tim Wojtulewicz
71eca7c9e6 Merge remote-tracking branch 'origin/topic/vern/standalone-CPP-global-attrs'
* origin/topic/vern/standalone-CPP-global-attrs:
  fix for associating attributes with globals for -O gen-standalone-C++
2025-09-16 11:02:44 -07:00
Tim Wojtulewicz
aebeae8f8a Merge remote-tracking branch 'origin/topic/vern/standalone-id-tracking-fix'
* origin/topic/vern/standalone-id-tracking-fix:
  fix for tracking identifiers and aggregates when compiling to standalone-C++
2025-09-16 10:53:11 -07:00
Vern Paxson
0e5042e451 fix for associating attributes with globals for -O gen-standalone-C++ 2025-09-15 14:28:07 -07:00
Vern Paxson
bfc6508dff full tracking of the characteristics of globals when compiling scripts to C++ 2025-09-15 14:21:32 -07:00
Vern Paxson
6a9175da7d fix for '?' operator precedence when compiling scripts to C++ 2025-09-15 14:18:16 -07:00
Tim Wojtulewicz
50581bfd3c Avoid starting up storage expiration thread with zero backends 2025-09-15 14:18:03 -07:00
Tim Wojtulewicz
8bc849d425 Remove a couple of obsolete TODOs in storage manager 2025-09-15 14:17:41 -07:00
Vern Paxson
18d435ac12 fix for tracking identifiers and aggregates when compiling to standalone-C++ 2025-09-15 13:57:35 -07:00
Tim Wojtulewicz
b25a844210 Merge remote-tracking branch 'origin/topic/vern/standalone-skip-fatal'
* origin/topic/vern/standalone-skip-fatal:
  for -O gen-standalone-C++, make the presence of uncompilable functions fatal unless -O allow-cond is used
2025-09-12 09:24:58 -07:00
Vern Paxson
e5210160ea for -O gen-standalone-C++, make the presence of uncompilable functions fatal unless -O allow-cond is used 2025-09-11 13:30:40 -06:00
Tim Wojtulewicz
f056df1301 Clean up initialization of DNS_Interpreter 2025-09-11 10:56:57 -07:00
Tim Wojtulewicz
501160c976 Switch types used in DNS analyzer to be more consistent 2025-09-11 10:56:57 -07:00
Tim Wojtulewicz
168ff0b8a2 Update src/3rdparty submodule for doctest v2.4.12 and include fix 2025-09-08 10:52:06 -07:00
Tim Wojtulewicz
4d338ccd7d Fix clang-tidy warning from recent SVCB merge 2025-09-03 16:50:07 -07:00
Tim Wojtulewicz
7142b9efde Merge remote-tracking branch 'klemensya/svcparams'
* klemensya/svcparams:
  Parse SVCB/HTTPS SvcParams list
2025-09-03 15:36:03 -07:00
Tim Wojtulewicz
26ea7cc655 Clang-tidy fixes for recent IDPtr changes 2025-09-03 15:34:29 -07:00
Tim Wojtulewicz
e3b22cd21f Merge remote-tracking branch 'origin/topic/vern/emphasize-IDPtrs'
* origin/topic/vern/emphasize-IDPtrs:
  fixup! fixup! shift much of the internal use of ID* identifier pointers over to IDPtr objects
  fixup! shift much of the internal use of ID* identifier pointers over to IDPtr objects
  fixup! shift much of the internal use of ID* identifier pointers over to IDPtr objects
  fixup! shift much of the internal use of ID* identifier pointers over to IDPtr objects
  annotate a number of BTests as unsuited for -O gen-C++ testing due to multiple Zeek runs
  BTest baseline updates for -O gen-C++ - all minor tweaks
  BTest updates for script optimization tracking of BiFs
  regression test for former ASAN issue with script optimization of lambdas
  shift much of the internal use of ID* identifier pointers over to IDPtr objects
  maintenance update for script optimization's knowledge of BiFs
  logger fix for interoperability with -O gen-C++ code
2025-09-03 15:33:43 -07:00
Evan Typanski
42f7a2d88c Merge remote-tracking branch 'origin/topic/vern/field-assign-parsing'
* origin/topic/vern/field-assign-parsing:
  tightened up parsing of $field=X record constructor expressions
2025-09-03 16:21:24 -04:00
Vern Paxson
3ff3eee398 fixup! fixup! shift much of the internal use of ID* identifier pointers over to IDPtr objects 2025-09-03 12:42:58 -07:00
Vern Paxson
a6f9d69c91 fixup! shift much of the internal use of ID* identifier pointers over to IDPtr objects 2025-09-03 11:20:29 -07:00
Vern Paxson
7397dc6568 fixup! shift much of the internal use of ID* identifier pointers over to IDPtr objects 2025-09-03 11:19:38 -07:00
Vern Paxson
34831aa7d3 fixup! shift much of the internal use of ID* identifier pointers over to IDPtr objects 2025-09-03 11:19:38 -07:00
Vern Paxson
693aa244f9 shift much of the internal use of ID* identifier pointers over to IDPtr objects 2025-09-03 11:19:31 -07:00
Vern Paxson
1c7c1b62f6 maintenance update for script optimization's knowledge of BiFs 2025-09-03 11:14:22 -07:00
Vern Paxson
fb344a20ea logger fix for interoperability with -O gen-C++ code 2025-09-03 11:14:22 -07:00
Klemens Nanni
397f7e5c0e Parse SVCB/HTTPS SvcParams list
Add full support for RFC 9460's SvcParams list.

Amend the existing `dns_svcb_rr` record by a vector of new
`dns_svcb_param` records containing aptly typed SvcParamKey and
SvcParamValue pairs.  Example output:

```
@load base/protocols/dns
event dns_HTTPS( c: connection , msg: dns_msg , ans: dns_answer , https: dns_svcb_rr ) {
	for (_, param in https$svc_params)
		print to_json(param);  # filter uninitialised values
}
```

```
$ dig https cloudflare-ech.com +short | tr [:space:] \\n
1
.
alpn="h3,h2"
ipv4hint=104.18.10.118,104.18.11.118
ech=AEX+DQBBHgAgACBGL2e9TiFwjK/w1Zg9AmRm7mgXHz3PjffP0mTFNMxmDQAEAAEAAQASY2xvdWRmbGFyZS1lY2guY29tAAA=
ipv6hint=2606:4700::6812:a76,2606:4700::6812:b76
```

```
{"key":1,"alpn":["h3","h2"]}
{"key":4,"hint":["104.18.10.118","104.18.11.118"]}
{"key":5,"ech":"AEX+DQBBHgAgACBGL2e9TiFwjK/w1Zg9AmRm7mgXHz3PjffP0mTFNMxmDQAEAAEAAQASY2xvdWRmbGFyZS1lY2guY29tAAA="}
{"key":6,"hint":["2606:4700::6812:a76","2606:4700::6812:b76"]}
```

Values with malformed data or belonging to invalid/reserved keys
are passed raw bytes in network order for script-level inspection.

Follow up to "Initial Support to DNS SVCB/HTTPS RR"
https://github.com/zeek/zeek/pull/1808
2025-09-03 09:53:55 +03:00
Tim Wojtulewicz
3c7885abdf Fix a few more random clang-tidy findings 2025-09-02 16:51:34 +00:00
Tim Wojtulewicz
aa3940f16d Use std::numbers::pi instead of hard-coded value 2025-09-02 16:51:23 +00:00
Tim Wojtulewicz
66aefc6a54 Use std::scoped_lock instead of std::lock_guard 2025-09-02 16:42:52 +00:00
Tim Wojtulewicz
b592b6c998 Use .contains() instead of .find() or .count() 2025-09-02 16:42:52 +00:00