* Added so NetworkServer can have multiple active crypto keys that expire at certain time.
* Added http server to cache service that can be used to register crypto keys. Test with "curl http://localhost:80/addcrypto?0123456701234567,1000" (key will be valid for 1000 seconds)
[CL 34264112 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]
* Added better shutdown handling in UbaAgent and UbaCacheService when requested from outside (ctrl-c etc)
[CL 33400508 by henrik karlsson in ue5-main branch]
* Huge stability push... all (known) paths have been tested heavily on linux with tsan and every single found race condition report has been fixed. Lots of locks have been added/moved/changed and some instances of things have been leaked on purpose to prevent tsan reports during shutdown
* More efficient storage proxy implementation which immediately forward segments to clients once they are available in proxy
* Added UbaAgent -command=x which can be used to send commands to host. Supported commands are "status"which prints out status of all remote sessions. "abort/abortproxy/abortnonproxy" that can be used to abort remote sessions and "disableremote" to have host stop accepting more helpers
* Fixed scheduler::stop bug if remotes were still requesting processes
* Added support for process reuse on linux/macos
* Added support for Coordinator interface and dynamically load coordinator dll in UbaCli
* Restructured code a little bit to be able to queue up all writes in parallel
* Added Show create/write colors to visualizer (defaults to on)
* Fixed so write file times are visualized in visualizer
* Improved socket path for visualizer
* Improved a lot of error messages
* Fixed double close of memory handle in StorageServer
* Changed some ScopedWriteLock to SCOPED_WRITE_LOCK (same for read locks)
* Fixed some missing cleanup of trace view when starting a new trace view in visualizer
[CL 32137083 by henrik karlsson in ue5-main branch]
* Changed so in-process storage proxy is using memory network backend for communication with client
[CL 31982524 by henrik karlsson in ue5-main branch]
* Added __try/__catch to UbaAgent main and disabled the other seh exception handling to see if we get more luck with this on wine/linux
* Moved code from SessionClient ctor to start function to get around ordering issue where session can get connection callback in ctor
* Compile fix for test code caused by previous changelist
[CL 31982469 by henrik karlsson in ue5-main branch]
* Changed UbaAgent max connection count from 4 to 8 to improve throughput when being proxy
* Changed UbaAgent worker count for storage proxy from 16 to 192.. these workers are just receiving/sending data and need to be able to go wide
* Fixed so UbaCli use storage proxy when testing in process client
[CL 31796094 by henrik karlsson in ue5-main branch]
* Changed so all ScopedReadLock and ScopedWriteLock are macros (SCOPED_READ_LOCK and SCOPED_WRITE_LOCK).. this to be able to add code around the lock to measure contention. Contention testing code can be enabled by setting UBA_TRACK_CONTENTION to 1
[CL 31795889 by henrik karlsson in ue5-main branch]
* Fixed a UbaAgent shutdown hang that can happen with certain timings where workers go from used to non-used at the same time as they are being stopped
[CL 31698187 by henrik karlsson in ue5-main branch]
* Fixed read-after-free bug found by TSAN in StorageServer.cpp
* Fixed write-after-free bug found in UbaProcess.cpp (m_cancelEvent.Set() could be called after memory was freed)
* Lots of minor fixes found using TSAN. Most are harmless but still nice to cleanup
* Disabled mimalloc for linux again.. seems like tsan does not like it so maybe there are bugs in it
[CL 31676014 by henrik karlsson in ue5-main branch]
* Fixed allocation to make sure it honors alignments
* Added error handling in trace code. It will stop writing when running out of shared mem
[CL 31533514 by henrik karlsson in ue5-main branch]
* Added hint to unmapfileview to be able to add useful information to asserts on fails
* Added error handling for vsnprintf returning error
* Fixed memory stomp in unit test
* Removed usage of %hs on non-windows since asan complains about it
* Changed UBA_USE_MIMALLOC to always be defined and be 0 or 1 instead of using ifdef
* Enabled mimalloc on linux
[CL 31355077 by henrik karlsson in ue5-main branch]
* Removed logging entries that was only added to make horde not timeout.. since this was implemented horde has added ping logic so this is not needed anymore
* Fixed bug in callstack logging on posix
* Changed a bunch of %hs to %s
* Added allocator debug code to try to figure out asan issues
[CL 31281576 by henrik karlsson in ue5-main branch]
* Added so in-process proxy can use storage of client
* Fixed reset of trace reader
* Fixed annoying warnings when closing invalid sockets
[CL 30667316 by henrik karlsson in ue5-main branch]
* Added delete to copy-ctor and assign operator for Thread and event and fixed related code
* Some minor cleanups in thread class
* Fixed so UbaAgent is not writing timeout waiting for connection if server was connected but quickly disconnected
[CL 30325575 by henrik karlsson in ue5-main branch]
* Changed so UbaHordeSession is not trying to connect to agent until the agent has outputted the "Listening on" message
* Added -populateCasFromXcode argument and prepped implementation in UbaAgent
[CL 30286422 by henrik karlsson in ue5-main branch]
* Agent - Fixed fixup code for provided paths -dir and -eventfile
* Cli - Fixed fixup code for provided paths -dir
* Fixed so root dir is created before aws code write potential .isNotAWS file
[CL 30225227 by henrik karlsson in ue5-main branch]
* Added .isNotAWS file that is written if uba notices it is not an aws machine. This file is then used to skip http request all together. This helps startup times in some network environments where a connect on aws meta data ip can cause a long stall
* Cleaned up AWS logic a bit
* Added so UbaCli -workdir=x can handle relative paths
[CL 30174786 by henrik karlsson in ue5-main branch]
* Added PrepopulateCas to StorageClient. This can be used to use local files as source for cas entries. It doesn't really matter where files are located as long as their cas key matches whatever files the client needs
* Added -populateCas=<dir> to UbaAgent. This can be used to add one or more directories for pre population
[CL 30134257 by henrik karlsson in ue5-main branch]