* Fixed file attributes bug for posix platforms
* Added so unit test output detoured process log when failing
[CL 34396672 by henrik karlsson in ue5-main branch]
* Added support for strings and comments in config files
* Added tests
* Fixed for uba to work integrated in other programs (proper dll exports)
* Added process id to process info in visualizer
[CL 34364596 by henrik karlsson in ue5-main branch]
* Added very basic solution for loading a config file. There are lots of internal things that we want to be able to config without having to release new binaries all the time
* Added CacheClientCreateInfo support for config file
[CL 34163080 by henrik karlsson in ue5-main branch]
* Added directory preparsing in UbaCacheClient where it parse the entire folder when needing the hash of a file
[CL 34060027 by henrik karlsson in ue5-main branch]
* Renamed system stats to kernel stats
* Changed all stats storing to use bitfield first to say which fields that are non-zero
[CL 34058881 by henrik karlsson in ue5-main branch]
* Changed so posix targets use clock_gettime(CLOCK_MONOTONIC, x) instead of gettimeofday in order to make sure time is always showing increasing number (and I guess it is more accurate)
[CL 34048427 by henrik karlsson in ue5-main branch]
* Added -expiration=<seconds> to UbaCacheService.. This controls when cache entries should be deleted. If an entry has been unused for more than <expiration> time it gets deleted. Defaults to two days.
* Added reason why cache entries are deleted
* Changed so cas database is always checked in startup.
[CL 33963630 by henrik karlsson in ue5-main branch]
* Changed algorithm for updating input offsets on cache entries in an attempt to make it faster when there are lots of entries on the same key
* Added unit tests
[CL 33948602 by henrik karlsson in ue5-main branch]
* Added StringView type and replaced a ton of string+stringLen to StringView
* Fixed bug in obj file preloader.
* Fixed so clang targets can used compressed obj files
* Fixed bug in cache client when entry count is zero
* Added magic to compressed obj file header to be able to see if an obj file is compressed or not
* Moved ParseArguments to its own file and added so it can handle both char and wchar
[CL 33933853 by henrik karlsson in ue5-main branch]
* Added retry code for when failing to decompress cas file to memory on client.. it could be that cas file is corrupt so we delete the file and re-download it.
* Made CheckCasFiles parallel
* Fixed so CheckCasFiles check all files that was created after .isRunning was created to see that their content look valid
* Added time to log when correcting/validation cas store
[CL 33390412 by henrik karlsson in ue5-main branch]
* Added header to compressed obj files containing the cas key of the compressed file
* Fixed so compressed obj files work with cache system
[CL 33236459 by henrik karlsson in ue5-main branch]
This unifies the Horde agent connection in the UbaController and avoids a custom configuration for the Horde server.
#rnx
#rb Ben.Marsh, henrik.karlsson
[FYI] Ryan.Hummer
[CL 33149289 by laura hermanns in ue5-main branch]
* Fixed so RootPaths does not create double backslash version on non-windows when registering root paths
* Disable root paths unit test on linux since it doesn't work and require some work
[CL 32922318 by henrik karlsson in ue5-main branch]
* Implemented V1 of CompactPathTable which instead stores string segments separately.. Reduces the size table by ~30%.. slightly slower perf
* Added "RootPaths" which is a class that holds a list of root paths needed to normalize paths into non-environment dependent paths
* Added stats for cache that visualizes properly in visualizer
* Changed hash functions to have better quality
* Cleaned up code visualizing stats in visualizer.. now boxes popping up should have a nice matching size to strings
* Cleaned up UbaExports and formatted all functions the same way.. old are deprecated and will be removed once new binaries are in
[CL 32922089 by henrik karlsson in ue5-main branch]
* Optimized CompactPathTable and added unit test
* Made optimizations for cache lookup (it is likely entries for a cmd key mostly match)
[CL 32871714 by henrik karlsson in ue5-main branch]
* Fixed so tracked inputs can be bigger than 512kb (ouch)
* Added to BinaryWriter so you can always write utf8 even though platform is not utf8
* Fixed bug in IsKnownSystemFile (there was a missing comma on one line). Added unit test
* Added Swap function to MemoryBlock which can be used to swap content of memoryblocks
* Added Parse function to StringBuffer that can parse a wchar stringbuffer into a char array
* Fixed TimeToText for times over 24 hours
* Added some accessors to Session
* Fixed so some temp files are not tracked as inputs for detoured process
* Added assert when message is created without body (it is a special case scenario)
* Removed final keyword on NetworkClient to be able to subclass in export logic (it is just easier)
[CL 32870061 by henrik karlsson in ue5-main branch]
* Moved TestDetouredTouch to only linux since it fails on mac and was not run there before my changes.
[CL 32626857 by henrik karlsson in ue5-main branch]
* Moved TestRemoteDetouredClang to only linux since it fails on mac and was not run there before my changes.
[CL 32625992 by henrik karlsson in ue5-main branch]