Russell Hancox
a5fa6c7aef
santactl/fileinfo: Recognize bundle/plugin mach-o files.
2016-08-22 14:05:22 -04:00
Russell Hancox
7600506d6d
santad: Include client mode in execution logs.
2016-08-18 14:44:40 -04:00
Russell Hancox
df8e41925f
SNTFileInfo: Check NSURLQuarantinePropertiesKey is usable
2016-07-13 17:29:53 -04:00
Russell Hancox
687ecc7097
santad: Close more file descriptors on exec
2016-07-11 16:23:38 -04:00
George Kola
7a3a98c27a
Correctly use pread
...
pread can return less than the chunk size (e.g. signal caught in the
middle) and hence we need to handle it. This change also cleans up the
hash function and makes it more performant.
2016-06-29 11:21:56 -07:00
George Kola
d388e99c0e
Cache method call
...
Minor optimization. Cache objc method call in local variable to avoid a
second call
2016-06-28 21:26:35 -07:00
Russell Hancox
2baea9a6b4
Project: Xcode recommended updates.
2016-06-28 17:34:58 -04:00
Russell Hancox
9058192ffe
santad: Use memcpy instead of strncpy where appropriate
2016-06-28 16:23:06 -04:00
Russell Hancox
8479730c95
SNTFileInfo: Catch potential NULL-pointer deref in isScript and isXARArchive.
2016-06-28 14:54:21 -04:00
Russell Hancox
7102e2df4c
SNTFileInfo: More speed-ups in hashing, use RDAHEAD, don't use NOCACHE, catch EINTR.
2016-06-28 14:52:28 -04:00
Russell Hancox
c560405a46
SNTFileInfo: Speed up hashing - increase chunksize, read directly, use fcntl
...
- Use fcntl to disable cache and issue an advisory read
- Increase default chunk size from 4KB to 256KB
- Use pread to read from file descriptor, rather than make NSData objects
This is ~15% faster.
2016-06-27 17:38:41 -04:00
Russell Hancox
aefd85455e
Project: s/OS X/macOS/g
2016-06-16 17:31:40 -04:00
Russell Hancox
88e3a606a0
SNTFileInfo: Use CFBundleDisplayName if available
2016-04-26 17:34:29 -04:00
Russell Hancox
43434fd445
santactl/fileinfo: Don't crash on <512b files
2016-04-08 16:20:49 -04:00
Russell Hancox
e0a46be1b7
santactl/fileinfo: When resolving path, store bundle ref if possible.
2016-03-14 12:55:20 -04:00
Russell Hancox
fd82c67b56
santactl/fileinfo: Add disk image file type
2016-03-14 12:55:20 -04:00
Russell Hancox
f0a83b6f19
santactl/fileinfo: Add simultaneous hashing.
2016-03-14 12:52:25 -04:00
Russell Hancox
0e00237e44
Project: Add clang-format file, apply most of the fixes it suggested
2016-03-10 15:53:06 -05:00
Russell Hancox
b6487000a3
SNTFileInfo: Use NSBundle to find executable path in bundles.
...
Fixes #37
2016-03-10 12:19:52 -05:00
Russell Hancox
d507e79505
santad: Fix quarantine data collection.
...
This previously didn't work for root (santactl fileinfo was fine)
because quarantine data is per-user.
2016-03-07 12:30:36 -05:00
Russell Hancox
d8a8aba0ea
SNTFileInfo: Move machoType method to binaryinfo command, add XAR archive detection.
2015-12-14 17:25:32 -05:00
Russell Hancox
36189e9122
santad: Update SNTFileInfo to always get strings from bundle Info.plist data.
...
Also perform a one-time update of any events created before this change.
2015-12-04 13:09:56 -05:00
Russell Hancox
209eaff3c6
SNTFileInfo: Embed SHA hashing loop in an autoreleasepool to avoid temporary RAM spikes
2015-10-31 13:45:47 -04:00
Russell Hancox
77c46b5c43
SNTFileInfo: switch from NSData to NSFileHandle.
...
This seems to work much better than NSData with either mapped (SIGBUS when file is deleted) or uncached (ballooning memory use) reading.
2015-10-29 16:17:12 -04:00
Russell Hancox
33a7b38c6a
SNTFileInfo: check for NULL ptrs when parsing for embedded plist
2015-10-27 18:35:11 -04:00
Russell Hancox
2a7c0bd58c
SNTFileInfo: Go back to using mmap, uncached read balloons memory use
2015-10-27 18:08:16 -04:00
Russell Hancox
63f65c51c3
SNTFileInfo: Use NSURL method for getting quarantine data, don't try to use <10.10
2015-10-15 12:14:53 -04:00
Russell Hancox
bc51c9f25b
SNTFileInfo: Add com.apple.quarantine data accessors for downloaded files.
2015-10-14 20:11:32 -04:00
Russell Hancox
c412e8b9a7
SNTFileInfo: Fix embedded plist parsing, extract into separate method
2015-10-14 20:07:50 -04:00
Russell Hancox
13aa889633
SNTFileInfo: Add fileSize method, use it in SNTEventLog
2015-10-08 17:57:02 -04:00
Russell Hancox
d9718faba4
SNTFileInfo: Return non-embedded dict if locating embedded fails
2015-10-05 14:13:40 -04:00
Russell Hancox
2bc3df3255
santad: Stop using mmap while reading files, it can be forced to crash by truncating the file.
2015-09-16 15:52:49 -04:00
Russell Hancox
a9ba99dc79
SNTFileInfo: Re-write mach header parsing
2015-08-27 15:25:12 -04:00
Russell Hancox
6385514257
santad: Block 32-bit binaries with missing/invalid page zero
2015-08-27 15:25:12 -04:00
Russell Hancox
bb43a04992
SNTFileInfo: Always try to get embedded info.plist before bundle plist
2015-08-05 12:01:05 -04:00
Russell Hancox
e94d1175e7
santad: If file can't be hashed, log an error and allow execution.
2015-07-13 11:20:39 -04:00
Russell Hancox
adfb4bc861
SNTFileInfo: Better caching of properties
2015-06-19 17:31:48 -04:00
Russell Hancox
be1e66c29d
Project: Enable more warnings and then fix them.
2015-05-01 17:40:39 -04:00
Russell Hancox
4fd5e1139f
Project: Style clean-ups
2015-04-21 14:29:30 -04:00
Russell Hancox
b728ea3077
Rename SNTBinaryInfo -> SNTFileInfo, add more tests
2015-01-31 17:54:29 -05:00