Commit graph

2366 commits

Author SHA1 Message Date
Andrea Mazzoleni
149d44121e Validate the product/model returned by the Windows driver 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
2e8292ac49 Update to the new RAID library 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
b43cf8caad Support dynamic runtime selection of RAID AES mode 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
9312712a28 Add new os_kill 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
0c1852ebd0 Add CREATE_NO_WINDOW flag to process creation in os_spawn 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
f391ae2a95 Create symlinks to host binaries on Wine targets to run test commands natively 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
8ae9441ba3 Fix build in different directory 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
98f93fb6c6 Defer deallocation of modified files to phase 2 to prevent copy-detection races 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
a9a37efaf2 Block signal delivery across fork to prevent signal forwarding race condition in main.c 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
99d923c3fe Cap maximum rate-limiter credit accumulation to 10 seconds to prevent huge post-pause bursts 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
1ae9e324d8 Use eaccess instead of access in unixapp.c for consistent effective privilege checking 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
24ba8ce554 Validate WMI-returned VSS snapshot GUID format in mingwapp.c to mitigate potential command injection 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
69f84d3cc0 Fix wide-character buffer size parameters in mingwapp.c snwprintf calls to prevent stack buffer overflow 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
49febbece9 Abort execution with a fatal error if smartctl options exceed maximum argument limit 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
42b206b6fc Update TODO 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
5ff2048e09 Document the concurrency boundaries of worker threads 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
26cb63b93a Move string functions to new str.h and str.c files 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
f47af43b75 Move safe memory helper functions to dedicated memory.c and memory.h 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
8bb37aaac1 Update HISTORY 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
4a2e170a6c Update TODO 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
baf6417a31 Make os_abort to log to os_syslog 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
12f406a5fb Fail if the PowerShell command is too long 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
56ca9750f0 Fix documentation of windows_guid_is_valid 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
18f61abcd1 Document handle_close failures 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
b0b913d3f4 Fix typo in monothread implementation 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
fcfd1eeae8 Fix leak on error in state_write 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
4bac0a9ed2 Fix leak on error in argutf8 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
da1ab93342 Avoid floating point underflow in thermal computation 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
4f6c2cdd07 Introduce nalloc_nofail 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
7dcf5a822f Fix strtrim to correctly trim strings containing only whitespace 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
028bb83f4f Prevent integer wrap-around when checking string length in sgetbs 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
2fbfbc1eae Sanitize addr2line binary path via strspn whitelist before system call 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
9098e1c4fd Sync the OS interface with the daemon 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
b3a1a1838f Run PowerShell commands safely via base64 encoded strings 2026-08-10 11:23:14 +02:00
Andrea Mazzoleni
f453cde09e Pass element count instead of byte count to WCHAR buffer bounds 2026-08-10 11:23:13 +02:00
Andrea Mazzoleni
c2b25413c3 Synchronize child_process updates using interlocked Win32 APIs 2026-08-10 11:23:13 +02:00
Andrea Mazzoleni
fe6776a156 Avoid 100% CPU utlization in thread_yield 2026-08-10 11:23:13 +02:00
Andrea Mazzoleni
a9624a99b4 Document why thread_yield is used 2026-08-10 11:23:13 +02:00
Andrea Mazzoleni
dfef6a363e Abort on privilege switch failures unless errno is EPERM 2026-08-10 11:23:13 +02:00
Andrea Mazzoleni
4eb988cf59 Allocate minimum 1 byte in malloc_nofail when size is 0 to prevent process abort 2026-08-10 11:23:13 +02:00
Andrea Mazzoleni
24a9cf71a0 Use sig_atomic_t 2026-08-10 11:23:13 +02:00
Andrea Mazzoleni
2ff2d7b03c Clarify comment about reading uuids 2026-08-10 11:23:13 +02:00
Andrea Mazzoleni
b2e0d7f5b7 Align data disk UUID validation and write logic with parity splits using content_uuid 2026-08-10 11:23:13 +02:00
Andrea Mazzoleni
2990d9e6e1 Optimize redundant devuuid() calls by storing content file UUIDs in a dedicated field 2026-08-10 11:23:13 +02:00
Andrea Mazzoleni
b1b62ce629 Update TODO 2026-08-10 11:23:13 +02:00
Andrea Mazzoleni
48d2df5b86 Fix translation inconsistencies 2026-08-10 11:23:13 +02:00
Andrea Mazzoleni
608b96c1ab Add support for specifying case-insensitive SMART attribute names in the smartignore option 2026-08-10 11:23:13 +02:00
Andrea Mazzoleni
2f6c2399a8 Avoid some hardcoded string sizes 2026-08-10 11:23:13 +02:00
Andrea Mazzoleni
f19d00c93e Merge the CLI and Daemon portable interface 2026-08-10 11:23:13 +02:00
Andrea Mazzoleni
6a559ae0ee Avoid a folding VLA warning in clang 2026-08-10 11:23:13 +02:00