Commit Graph

64 Commits

Author SHA1 Message Date
henrik karlsson
40ef33bfa2 [UBA]
* 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]
2024-06-15 13:59:50 -04:00
henrik karlsson
d97e1a534e [UBA]
* Added tests for Create/Remove directory
* Misc small cleanups

[CL 34393738 by henrik karlsson in ue5-main branch]
2024-06-15 01:29:18 -04:00
henrik karlsson
dae1ab42db [Uba]
* Changed Config GetTable to return a pointer that can be null if table does not exist

[CL 34393645 by henrik karlsson in ue5-main branch]
2024-06-15 01:11:17 -04:00
henrik karlsson
7647b785f2 [UBA]
* 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]
2024-06-14 02:35:27 -04:00
henrik karlsson
8c85877ceb [UBA]
* Fixed openssl crypto paths.. was not taking block size into account for AES

[CL 34261916 by henrik karlsson in ue5-main branch]
2024-06-10 20:19:11 -04:00
henrik karlsson
8c9338ae7d [UBA]
* Added crypto support on linux/macos

[CL 34178423 by henrik karlsson in ue5-main branch]
2024-06-06 18:18:18 -04:00
henrik karlsson
000bde8513 [UBA]
* 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]
2024-06-06 13:00:09 -04:00
henrik karlsson
e01c4e0b1c [UBA]
* 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]
2024-06-03 01:31:27 -04:00
henrik karlsson
fdd2fd52c4 [UBA]
* 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]
2024-06-02 18:14:50 -04:00
henrik karlsson
ef41a5b583 [UBA]
* 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]
2024-05-31 18:08:19 -04:00
henrik karlsson
06435d3e64 [UBA]
* Fixed compile error in test code

[CL 34032784 by henrik karlsson in ue5-main branch]
2024-05-31 11:07:06 -04:00
henrik karlsson
1273801622 [UBA]
* 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]
2024-05-29 01:07:06 -04:00
henrik karlsson
b4dd48e03b [UBA]
* 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]
2024-05-28 15:06:16 -04:00
henrik karlsson
502a9e44e2 [UBA]
* 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]
2024-05-27 23:22:26 -04:00
henrik karlsson
bdde46c54d [UBA]
* Fixed so unit tests are creating the UbaTest dir first to make sure it exists when tests start

[CL 33471832 by henrik karlsson in ue5-main branch]
2024-05-06 17:40:06 -04:00
henrik karlsson
b7e3cef7bf [UBA]
* 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]
2024-05-02 00:46:58 -04:00
henrik karlsson
d6cab679ff [UBA]
* 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]
2024-04-25 13:10:20 -04:00
laura hermanns
8477cdd7a9 [UBA] Use new Horde API to retrieve server URL and replace OIDC token login.
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]
2024-04-22 16:03:33 -04:00
henrik karlsson
671cb7b0e3 [UBA]
* 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]
2024-04-12 01:41:43 -04:00
henrik karlsson
c88d02914d [UBA]
* 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]
2024-04-12 01:05:04 -04:00
henrik karlsson
89c749fcb6 [UBA]
* 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]
2024-04-11 00:41:04 -04:00
henrik karlsson
39f000bce3 [Uba]
* Fixed macos compile error
* Fixed race condition in TestRemoteScheduleReuse

[CL 32871469 by henrik karlsson in ue5-main branch]
2024-04-10 23:30:03 -04:00
henrik karlsson
44a70ba88f [UBA]
* 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]
2024-04-10 20:21:25 -04:00
henrik karlsson
3569193613 [Uba]
* 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]
2024-03-29 19:00:54 -04:00
henrik karlsson
2ab9ae58c2 [Uba]
* 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]
2024-03-29 18:26:49 -04:00