mirror of
https://github.com/zeek/zeek.git
synced 2025-10-10 18:48:20 +00:00
Fix SMB tests on Apple M1.
Due to different double precision on M1, file IDs for SMB could end up changing on M1 because the access time of a file goes into their computation. The real solution for this would be changing Zeek's internal "time" representation to uint64; that's planned, but requires major surgery. For now, this PR changes the SMB code to also pass SMB's original time representation (which is a uint64) into script-land, and then use that for computing the file ID. Closes #1406
This commit is contained in:
parent
4a674f50d7
commit
369e42a6e4
10 changed files with 39 additions and 26 deletions
|
@ -24,8 +24,9 @@ function get_file_handle(c: connection, is_orig: bool): string
|
|||
local path_name = current_file?$path ? current_file$path : "";
|
||||
local file_name = current_file?$name ? current_file$name : "";
|
||||
# Include last_mod time if available because if a file has been modified it
|
||||
# should be considered a new file.
|
||||
local last_mod = cat(current_file?$times ? current_file$times$modified : double_to_time(0.0));
|
||||
# should be considered a new file. We use the raw version here to avoid
|
||||
# getting differences when double precision varies by architecture.
|
||||
local last_mod = cat(current_file?$times ? current_file$times$modified_raw : 0);
|
||||
# TODO: This is doing hexdump to avoid problems due to file analysis handling
|
||||
# using CheckString which is not immune to encapsulated null bytes.
|
||||
# This needs to be fixed lower in the file analysis code later.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue