mirror of
https://github.com/google/santa.git
synced 2026-01-15 01:08:12 -05:00
* temporarily gutted SNTCommandFileInfo. Added SNTCommand base class for all of the SNTCommand* classes to inherit from. Changed commands so that they are consistently instantiated before being run, with a common init method. * Put most of SNTCommandFileInfo functionality back in * follow symlinks * added -r and --recursive flags and updated help text * moved humanReadableFileType to SNTFileInfo * added back JSON output * Fixed bundle info. Grab directory color from ENV variable. * fixed indentation, moved stuff around * Added SNTCommandFileInfo * back as parameter to property getters so that rule getter doesn't have to be a special case any more. * fixed code review issues * added SNTCommand.h and SNTCommand.m to project * added SNTCommand.m to build phases * removed trailing spaces * fixed tests for SNTCommandFileInfo and added a few more * fix end-of-line comment spacing to conform to style guide * Use NSBundle instead of NSWorkspace to determine if path is a bundle. * added autorelease pool inside recursive search loop to fix bug where file listing would abruptly stop after so many files with mach header related keys. * removed directory headers. don't separate entries with newline when printing single key. format output based on max key length. * an attempt at speeding things up. also halfway fixed broken cert-index key. * speedups via caching MOLCodeSignChecker & not using NSMutableString append* * fix json ouput with cert-index, single key output, & cache SHA values * reverted back to NSMutableString for building up output, since it seems slightly better or at least no worse than using an NSMutableArray * Don't print empty JSON objects * fixed non-thread-safe JSON commas * made the print dispatch group a property so it doesn't have to be passed around * Fixed certIndex indexing bug & better error checking when parsing --cert-index argument * prevent unsigned int overflow * fixed logic tests broken by objc_setAssociatedObject with nil SNTFileInfo argument * send error output to the serial print queue * NSBundle bundleWithPath: returns an object even for non-bundle directories, so need to also check that there's a valid bundle identifier. * Added TODO comment and fixed formatting issues * added cached codeSignChecker property to SNTFileInfo * rewrote SNTFileInfo's codesignChecker method to include an error reference parameter & removed @synchronized * Removed caching of SHA values from SNTFileInfo * use property getter/setter to access codesignCheckerError * Change nil NSError ** arguments to NULL * Don't try to create a new codesignChecker if there was previously an error * Fix NSDirectoryEnumerator memory usage & don't retain self in rule getter. The NSStrings grabbed from the directory enumerator needed a chance to be freed. * fixed colon alignment