diff --git a/CHANGES b/CHANGES index 32b08ba950..0bf85f07c5 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,25 @@ +7.2.0-dev.288 | 2025-03-10 19:16:57 +0100 + + * btest/javascript: Add file_sniff() and file_state_remove() test (Arne Welzel, Corelight) + + Using file_state_remove() or file_sniff() would previously crash with the + spicy-zip file analyzer. We don't have spicy-zip here, so it's not a + proper reproducer, but still makes sense to test these events. + + * GH-4239: Bump zeekjs to v0.15.0 (Arne Welzel, Corelight) + + f5ff7c4 version: 0.15.0 + 2a48143 docker/fedora: Bust cache and ensure sqlite-libs is updated + 05e5f57 Executor: Unblock SIGTERM in thread + 46496b9 Instance: Remove unsued variable + c3b3c86 Instance: Offload JavaScript invocations to executor thread + 09e311f Introduce Executor helper + + Mainly, run JavaScript on a separate thread for interoperability with + Spicy fiber stacks. + + Closes #4239 + 7.2.0-dev.285 | 2025-03-10 08:28:54 -0700 * CI: Unconditionally upgrade pip on macOS (Tim Wojtulewicz, Corelight) diff --git a/VERSION b/VERSION index cfc46c6f07..1332f2edba 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -7.2.0-dev.285 +7.2.0-dev.288 diff --git a/auxil/zeekjs b/auxil/zeekjs index 79b0c2126f..f5ff7c4b51 160000 --- a/auxil/zeekjs +++ b/auxil/zeekjs @@ -1 +1 @@ -Subproject commit 79b0c2126fa0178dbc2e37536588fcd1db9f4443 +Subproject commit f5ff7c4b51e3ec1e11fc48adafdd813feccc04c5 diff --git a/testing/btest/Baseline/javascript.file-sniff/files.log.cut b/testing/btest/Baseline/javascript.file-sniff/files.log.cut new file mode 100644 index 0000000000..fb62c5def5 --- /dev/null +++ b/testing/btest/Baseline/javascript.file-sniff/files.log.cut @@ -0,0 +1,3 @@ +### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. +fuid uid from_js +FMnxxt3xjVcWNS2141 CHhAvVGS1DHFjwGM9 Hello from JavaScript diff --git a/testing/btest/Baseline/javascript.file-sniff/out b/testing/btest/Baseline/javascript.file-sniff/out new file mode 100644 index 0000000000..4d5945a08b --- /dev/null +++ b/testing/btest/Baseline/javascript.file-sniff/out @@ -0,0 +1,3 @@ +### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. +file_sniff FMnxxt3xjVcWNS2141 {"mime_type":"text/plain","mime_types":[{"strength":-20,"mime":"text/plain"}],"inferred":true} +file_state_remove FMnxxt3xjVcWNS2141 diff --git a/testing/btest/javascript/file-sniff.js b/testing/btest/javascript/file-sniff.js new file mode 100644 index 0000000000..81d90fd862 --- /dev/null +++ b/testing/btest/javascript/file-sniff.js @@ -0,0 +1,22 @@ +/* + * @TEST-REQUIRES: $SCRIPTS/have-javascript + * @TEST-EXEC: zeek -b -Cr $TRACES/http/get.trace base/protocols/http ./ext.zeek %INPUT > out + * @TEST-EXEC: zeek-cut -m fuid uid from_js < files.log > files.log.cut + * @TEST-EXEC: btest-diff out + * @TEST-EXEC: btest-diff files.log.cut + */ + +zeek.on('file_sniff', (f, meta) => { + console.log(`file_sniff ${f.id} ${JSON.stringify(meta)}`); +}); + +zeek.on('file_state_remove', (f) => { + console.log(`file_state_remove ${f.id}`); + f.info.from_js = "Hello from JavaScript"; +}); + +@TEST-START-FILE ext.zeek +redef record Files::Info += { + from_js: string &log &optional; +}; +@TEST-END-FILE