600c7b68dc
[*] Updated LibTomCrypt
2024-02-19 09:16:40 +00:00
3732352b4e
[+] AuHashing::Whirlpool
...
[+] AuHashing::Blake2S_32
[+] AuHashing::Blake2S_28
[+] AuHashing::Blake2S_20
[+] AuHashing::Blake2S_16
[+] AuHashing::Blake2B_64
[+] AuHashing::Blake2B_48
[+] AuHashing::Blake2B_32
[+] AuHashing::Blake2B_20
[+] AuHashing::GetHashLength
[+] AuHashing::GetHashBits
[+] AuHashing::IHashStream::GetHashType
2024-02-18 17:53:37 +00:00
260e33fd91
[*] Not a day goes by without Roman Medvedev giving me grief
...
(Updated fmtlib after 3 years lol)
2024-02-16 13:07:28 +00:00
f049053776
[*] Refactor AuProcess paths to return AuOptional<const AuString &>
...
(because the previous iteration was using a pointer, dereference and operator bool() semantics still apply. no changes required, except for direct access of the string buffer, but no instances of the -> operator were found)
2024-02-14 04:05:32 +00:00
03623dfa48
[*] c111dee8
cont. Simplification of if (SignalSpuriously()) AddWatcher() continued
2024-02-14 01:03:14 +00:00
11e18d462a
[+] ErrorStack::HasOOMCondition()
2024-02-14 00:40:38 +00:00
8b64a97514
[*] RequestHeapOfRegion should take a memory view
2024-02-13 05:11:05 +00:00
39ba32df3c
[+] AuNewClassArrayUnique
...
[+] AuNewClassArray
[+] AuNewClassUnique
[+] AuNewClass
[*] Unfuck/refactor GetDefaultDiscontiguousHeap
2024-02-13 03:18:13 +00:00
c111dee855
[*] Harden WinXP-7 semaphores [ 2b0ed797
cont] [more paranoia]
...
[*] Dont overspin spurious modernnt condvar wakes
[*] Revert 2943ffdb's add waiter, if under modern nt
1: While spuriously waking a blocked keyed event, don't leave the condition variable in a state where signals can be ignored.
2024-02-11 06:22:19 +00:00
2b0ed79729
[*] NT Condvar hardening: Windows XP-7 hardening of the spin condition when racing against multiple threads
2024-02-08 13:14:18 +00:00
12fd03a6dd
[*] WoA acbd6266
cont (?). I think I'm still getting messed up by over-optimizations as opposed to there being a genuine bug in the primitives. Made the accesses to the comparison volatile during deep sleeps, whereas before we were just casting to regular integer pointers or performing a memcmp.
...
00:29:11:820 15> 1 functions were new in current compilation
00:29:11:820 15> 51 functions had inline decision re-evaluated but remain unchanged
(it did *something*)
2024-02-08 01:55:16 +00:00
899e505b1e
[*] NT Win8+ FastPath: Fix missing BSL
2024-02-04 17:24:46 +00:00
0784d9101c
[*] Harden AuAsync shutdown
2024-02-01 21:35:42 +00:00
62b6fa20f8
[*] Update the copyright header of most of the primitives
...
[*] Fix generic mutex abs yield always returning true
2024-01-29 14:48:04 +00:00
2943ffdbc2
[*] Harden Windows XP - 7 condvar; where signalers can lock up pending scheduling n threads whilst a spurious wake is occurring and trying to preemptively require the lock under the signal
2024-01-28 08:23:13 +00:00
d1c668b2c1
[*] wtf happened here? what the actual fuck ( 5cc811be19
5 months ago)
2024-01-27 09:15:31 +00:00
2b69c07b67
[*] IncrementAbortFenceOnWorker should support kThreadIdAny
2024-01-26 03:04:23 +00:00
9e7615d80c
[*] Same thread name identity in these constructors
2024-01-23 23:31:09 +00:00
7038787001
[+] Thread name identities
2024-01-23 23:03:52 +00:00
cb751d0286
[*] Fix regressions in work groups
2024-01-23 22:59:13 +00:00
cf3d4fc001
[*] Amend 4fcdc798
WoA configuration
2024-01-23 18:21:10 +00:00
4fcdc798cf
[+] AuWoASemaphore.hpp configuration
2024-01-22 08:32:30 +00:00
34e49d2d10
[*] Removed redundant branches from AuThreadPrimitives
2024-01-21 21:15:57 +00:00
98e76f0832
[*] POSIX hardening: dont COW this futex
2024-01-21 18:41:53 +00:00
75f39b9858
[*] AuOpen.Unix.cpp didn't look right
2024-01-21 18:33:27 +00:00
db37b81729
[*] fix optionals
2024-01-21 00:34:47 +00:00
4f340aae47
[*] Shorten LOC of AuOpen.Unix.cpp
2024-01-20 20:36:07 +00:00
648fbea6c1
[*] This stupid fuck regression should've been caught earlier (AuProcesses unable to open files due to attack mitigations determining every file as being blocked)
2024-01-20 20:20:57 +00:00
acbd62666f
[*] WoA: This member must be marked volatile due to over ::WaitOn optimization of assumed single-threaded control flow
2024-01-19 21:37:31 +00:00
dbdfceb97f
[*] Amended NewClass[Array] tracking
2024-01-18 00:01:52 +00:00
fce755f293
[+] Added uOldLength to the free function pointer type of the memory leak detection interface
2024-01-17 20:59:51 +00:00
c3e0418e1a
[+] Aurora::Memory::HeapProxy[Ex]
...
[*] Heap improvements
[+] Heap::NewClassArray
2024-01-17 15:22:35 +00:00
895ef05887
[*] Allow empty file creation via NULL memoryviews
2024-01-14 14:15:11 +00:00
363560e9e9
[*] Amended protostack api: ::GetParent()
should not be using the internal type
2024-01-12 14:14:17 +00:00
927b5a2eef
[*] Fix old bug: grug was incorrectly using MS instead of NS under the limiter [high-cpu]
2024-01-11 18:46:40 +00:00
ba66c25651
[+] ICompletionGroup::IsNeverEnding
...
[+] ICompletionGroup::SetNeverEnding
2024-01-11 12:19:54 +00:00
22a6338da4
[*] Use AuRoundUpPow2 in AuRNG
2024-01-11 09:17:56 +00:00
95adfe127d
[*] eng-regression: introduce missing RuntimeWaitForSecondaryTick's
2024-01-09 05:08:54 +00:00
bab44d097a
[*] Updated to a fixed version of O(1) heap (partial update from 2022'Sept was incomplete)
2024-01-07 04:45:33 +00:00
0d6d073b85
[*] No way should we be using DWORDs here
2024-01-07 02:26:34 +00:00
1e10d95b0b
[*] Update TryAttachToCompletionGroup under NT file stream
2024-01-06 22:23:56 +00:00
3766ea8b86
[+] IAsyncTransaction::GetCompletionGroup
...
[*] IO improvements
2024-01-06 04:32:54 +00:00
3c7eff396f
[+] IAsyncOutputOf::TryAttachProcessExitToCompletionGroup
...
[+] IAsyncOutputOf::ICompletionGroupWorkHandle
2024-01-06 01:32:03 +00:00
2ebf2811bd
[*] Leave the signal, dont callback
...
[*] ...and attach
[*] ...and check args
[*] ...and always check later at least once
2024-01-06 01:26:48 +00:00
6d77a55d75
[+] ICompletionGroup::WaitForAnyMS
...
[+] ICompletionGroup::WaitForAnyNS
2024-01-05 12:06:17 +00:00
f1e170add0
[+] IProcess::TryAttachProcessExitToCompletionGroup
...
[+] IProcess::ToCompletionGroupHandle
2024-01-05 09:25:48 +00:00
3090fa3996
[*] Missed close handle / rushed sharing
2024-01-04 21:38:10 +00:00
72a3513a04
[+] New stream adapters
...
[+] IRandomDevice::ToStreamReader
[+] AuIO::Adapters::NewRandomAdapter
[+] AuIO::Adapters::NewNOPsReadAdapter
[+] AuIO::Adapters::NewNOPsSeekingAdapter
[+] AuIO::Adapters::NewNOPsWriteAdapter
[+] AuIO::Adapters::NewZerosReadAdapter
[+] AuIO::Adapters::NewZerosSeekingAdapter
2024-01-03 23:54:46 +00:00
aa811f93aa
[*] Readd the public symbols to create base kernel io primitives for interop
2024-01-03 17:36:45 +00:00
ce1ae24506
[+] IIOHandle::InitFromSharing
...
[+] IIOHandle::SharingGetString
[+] IIOHandle::SharingIsShared
[+] IIOHandle::SharingStop
[+] HANDLEPipeServer.[h/c]pp
2024-01-03 02:39:54 +00:00
1c0efebd87
[+] AuLoop::DbgLoopSourceToReadFd
...
[+] AuLoop::DbgLoopSourceToWriteFd
2024-01-03 01:49:15 +00:00
81093fa2cd
[*] Fixup Linux io timeouts (mixed ms/ns)
2024-01-02 07:55:06 +00:00
d199b52c0f
[*] Improved support for completion groups when used with net streams
2024-01-02 07:06:42 +00:00
49a6173011
[+] Improved SMT yielding
...
[+] Clocks.aarch64.[h/c]pp
2024-01-02 05:54:22 +00:00
63050b2262
[+] IFileStream::IsFlushOnClose
...
[+] IFileStream::SetFlushOnClose
[+] IFileStream::IsWriteEoSOnClose
[+] IFileStream::SetWriteEoSOnClose
[+] IIOHandle::IsFlushOnClose
[+] IIOHandle::SetFlushOnClose
2024-01-02 00:00:47 +00:00
c16a0b1600
[+] IRandomDevice::NextArrayI32Range
...
[+] IRandomDevice::NextArrayU32Range
[+] IRandomDevice::NextArrayDoubleRange
[+] IRandomDevice::NextArrayI32
[+] IRandomDevice::NextArrayU32
[+] IRandomDevice::NextArrayDouble
[+] IRandomDevice::NextArrayDecimals
[+] IRandomDevice::NextArrayUUIDs
[*] IRandomDevice minor refactoring for consistency
[*] Improve decimals once again (perf/deterministic)
2024-01-01 14:49:35 +00:00
c64cb0c0e2
[+] AuHWInfo::ICoreLoadSampler
...
[+] AuHWInfo::CpuCoreTime
[+] AuHWInfo::GetPerCoreCPUTime
2023-12-31 23:14:27 +00:00
7b59cab36e
[*] eepy
2023-12-31 22:39:31 +00:00
6037d14674
[-] hadnt fully removed the aggressive context switch thing from the old rwlock impl
2023-12-30 21:58:52 +00:00
63f5ad3fd5
[*] Harden remove/relink
2023-12-30 19:40:00 +00:00
ab68f07bb9
[*] pt1/2 bug: dir logger whining
2023-12-30 19:40:00 +00:00
4e0c68d7ad
[*] fix posix cont (crit) 3c19c7a5
2023-12-30 17:59:45 +00:00
3db7f527f4
[*] Extend paranoia
2023-12-30 14:56:17 +00:00
3c19c7a56e
[*] Fix posix WoASemaphoreImpl
2023-12-30 14:31:37 +00:00
ba6162a7ad
[*] An MSVC bug, but not really.
2023-12-30 00:25:53 +00:00
063aa5c548
[+] IRandomDevice::NextUUID
2023-12-29 22:59:34 +00:00
b3557ed938
[*] Harden auprocesses / async outputof
2023-12-29 20:49:58 +00:00
7df1d1dd27
[*] Harden panics
2023-12-29 18:46:16 +00:00
5862dbeacc
[+] New generic primitives
...
[-] AuSemaphore.Unix.hpp
[*] Moved the old pthread based primitives to _removed/*.bak
[+] AuWoASemaphore.Unix.cpp
[+] AuWoASemaphore.Unix.hpp
2023-12-29 16:12:14 +00:00
f404e8960f
[+] AuProcesses::RunAs
2023-12-28 21:00:07 +00:00
662dbac0c1
[+] IO completion groups
2023-12-28 16:49:11 +00:00
be2b781ed6
[*] mitigations and clean up before two major commits
2023-12-26 21:01:29 +00:00
d17903251b
[*] another one ( 9393c175
)
2023-12-25 11:56:38 +00:00
cdc6eeeabd
[*] Two trivial bug fixes
2023-12-24 22:03:14 +00:00
ac33e6bb7f
[*] you slimey rats dont get vtable exec that easily
2023-12-24 06:54:19 +00:00
c5656a8843
[+] WIP internal IO improvements (read: hacks) for Linux + bool IProcess::HasExited()
2023-12-24 06:24:39 +00:00
06f54968cd
[+] Linux: missing io cancellations out of parity with Windows
2023-12-24 05:41:03 +00:00
a2c8f036e0
[*] 1576f56d
cont (i messed up again)
2023-12-23 16:55:04 +00:00
71c88316e5
[*] Win32 args escape regression
2023-12-23 11:52:32 +00:00
a6ff21a167
[*] Update AuProcesses::OutputOfAsync
2023-12-23 11:22:10 +00:00
1576f56d19
[*] Fix busted nt timeouts under loopsource waits
2023-12-23 08:03:59 +00:00
cdfb35d5a8
[*] Fix crash when calling ::what() on an external vendors exception
2023-12-23 08:03:10 +00:00
0faf4c7846
[+] Aurora::Processes::OutputOf
...
[+] Aurora::Processes::OutputOfAsync
[*] Fix win32 regression
2023-12-23 07:05:44 +00:00
9393c17564
[*] Other POSIX systems (non-linux) are probably going to need this improved eSpawnChildProcessWorker awareness
2023-12-23 03:59:27 +00:00
2fd41d4142
[*] AuPaths finish up cleanup
2023-12-23 03:35:49 +00:00
9c86d1c899
[*] Linux clean up (?) (+typo)
2023-12-23 03:16:43 +00:00
bd6b70f215
[*] Win32 bug fix
2023-12-22 12:55:08 +00:00
24fec2301c
[+] NtWaitForMultipleObjects awareness
2023-12-22 06:00:13 +00:00
e05bb8f5dc
[+] StartupParameters::posixApplySandboxCOW
2023-12-22 03:57:46 +00:00
730465ca2b
[+] UNIX: AuProcesses should always try to close leaked fds
2023-12-22 03:49:11 +00:00
2e06094e46
[*] Harden consoletty from exceptions
2023-12-22 00:34:30 +00:00
66eca9ff8f
[*] Exceptionless-API hardening
2023-12-22 00:22:43 +00:00
298b095cc1
[*] WhyOnAddress
2023-12-21 22:41:16 +00:00
4febc0e6dc
[*] AuSwInfo under linux fix
2023-12-21 15:31:19 +00:00
9fbed174fc
[*] Realign AuProcAddresses.NT.cpp
2023-12-21 14:27:35 +00:00
5951724374
[*] Improve Linux AuSwInfo
2023-12-21 14:14:06 +00:00
de739b8e1f
[+] AWS and centos detection
2023-12-21 13:21:21 +00:00
2570aea213
[+] Clang/Win32 compilation support
2023-12-19 03:43:11 +00:00
4dc2f94467
[*] Revert AuOptionalEx -> AuOptional change
2023-12-18 08:52:51 +00:00
414c736179
[+] ELoopSource expansion
2023-12-18 07:39:53 +00:00
22486b90e6
[*] NT: WaitMultipleLoopSourcesEx wasn't bypassing the wait cap
2023-12-18 07:35:24 +00:00
f40d59802a
[*] Remove a syscall or two from startup / more accurate startup timings
2023-12-18 05:59:39 +00:00
207b8f6f46
[+] Copyable IOHandles
2023-12-18 05:41:27 +00:00
dc23f14192
[+] A recommendation for Windows 11 or greater users to upgrade to Windows 7 or 10
2023-12-18 04:54:21 +00:00
98f30cac51
[*] Improve ConsoleTTY perf
2023-12-18 01:57:44 +00:00
52f8556efe
[*] Bug fix: leave scroll mode on exit, not enter scroll mode
2023-12-16 21:14:01 +00:00
9b99e6e7c7
[*] Harden IPC pipes
2023-12-16 21:08:46 +00:00
a932aa57d2
[*] Formatting pissing me off
...
[+] using AuWorkerId = AuAsync::WorkerId_t;
[+] using AuWorkerPId = AuAsync::WorkerPId_t;
[+] using AuWorkerID = AuAsync::WorkerPId_t;
2023-12-16 06:42:37 +00:00
a5f4d959be
[+] AuProcess::GetProcessStartupSteadyTimeNS()
2023-12-14 00:37:45 +00:00
1652231fd4
[*] Refactor AuProcess (paths)
2023-12-13 18:11:35 +00:00
98d79a5aa3
[+] RuntimeWaitForSecondaryTick()
2023-12-13 04:43:29 +00:00
e7d8e5b010
[+] NT: Let Grug handle io handle closures
2023-12-13 02:46:06 +00:00
a3046658fe
[*] Minor update to WaitMultipleLoopSourcesEx
2023-12-11 23:34:31 +00:00
35fb78787d
[*] Symmetry in WoA
2023-12-11 20:40:41 +00:00
073d77a17b
[*] Harden IO processor item usage after parent processor release
2023-12-11 20:18:36 +00:00
9527a076cf
[*] Update WoA
2023-12-11 18:58:17 +00:00
5541c25050
[+] AuIO::Loop::WaitMultipleLoopSourcesEx
2023-12-10 22:25:03 +00:00
0747ff230e
[*] Thread primitives optimization
...
[*] Fix wake on address regression
2023-12-10 21:38:41 +00:00
1a71a7dd41
[+] WOA_SEMAPHORE_MODE
2023-12-10 19:25:31 +00:00
3f43c320c5
[*] WoA fixes
2023-12-10 19:11:10 +00:00
fc6902d231
[*] Refactor INetAdapter
2023-12-10 15:42:11 +00:00
76d3759295
[+] IProtocolPiece::GetPreviousPiece()
...
[+] IProtocolPiece::ReallocateSourceBuffer()
[*] IProtocolPiece::GetInputWriter()
[*] IProtocolPiece::GetNextWriter()
2023-12-10 14:06:10 +00:00
9ba725973f
[+] Added a random id (u8) to log filenames
2023-12-09 19:56:00 +00:00
fe529b31da
[*] ITimer comment and win32 patch
2023-12-09 12:25:46 +00:00
783bed0d85
[*] LSLocalEvent: finish optimized impl (?)
2023-12-09 11:10:02 +00:00
ab030ae969
[*] Scar seething
2023-12-08 20:40:24 +00:00
0ff345a558
[+] NT_APPLICATION_COMPAT_AURORA_RUNTIME_ALPHA
...
[+] NT_APPLICATION_COMPAT_AURORA_RUNTIME
2023-12-08 13:38:13 +00:00
8005b67d82
[*] :/
2023-12-08 13:03:14 +00:00
ad5ff2d783
[*] Simplified Win32 TLS callback overhead to prevent unwanted LoadLibraryW calls
...
(ive seen windows components do stupid things to result in crashes. time to harden.)
2023-12-07 19:04:30 +00:00
ae70feb29b
[*] Removed static IAT lookups to WS2_32.dll
2023-12-07 11:13:32 +00:00
8944d8bd16
[+] IAsyncTimer
...
[+] IAsyncTimerCallback
[+] ETickType.hpp
[+] EWorkPriority.hpp
[+] static IThreadPool::GetSelfIOProcessor()
[+] static IThreadPool::GetSelfIONetInterface()
[+] static IThreadPool::GetSelfIONetWorker()
[-] [Source/Async/]AsyncRunnable.hpp
[*] Begin encapsulating WorkerPId_t
[*] WorkerPId_t no longer take strong pointers to prevent leaks given that these identifiers are copied and kept alive everywhere
2023-12-07 09:20:23 +00:00
367118ab0c
[*] (NT Condvar) Minor performance fix
...
[*] (NT Condvar) Suspected XP-Win7 deadlock
2023-12-06 19:15:06 +00:00
e853b44ee6
[*] Fix bugs in the partially rewritten async scheduler
2023-12-06 17:48:20 +00:00
8b4ad9795c
[*] Update the FutexSemaphore to wake no more than the requested wake count
...
[*] Cleanup NTs semaphore
2023-12-06 11:17:50 +00:00
b35b290afd
[+] File System devices API
...
[+] AuFS::EFSDeviceType
[+] AuFS::EFSBusType
[+] AuFS::LogicalUsedResponse
[+] AuFS::LogicalOffsetResponse
[+] AuFS::FSLogicalPartition
[+] AuFS::FSDevice
[+] AuFS::GetRootFromPath
[+] AuFS::GetDeviceFromPath
[+] AuFS::GetDeviceFromRoot
[+] AuFS::GetLogicalMountFromPath
[+] AuFS::TrySimplifyDevicePath
[+] AuFS::GetPerformanceBufferSizeFromPath
[+] AuFS::GetPhysicalSectorSizeFromPath
[+] AuFS::GetLogicalSectorSizeFromPath
[+] AuFS::GetLogicalUsedFromPath
[+] AuFS::GetLogicalUsedFromLogicalDevice
[+] AuFS::GetDeviceSizeInBytes
[+] AuFS::GetDeviceModel
[+] AuFS::GetFSDeviceByFilePath
[+] AuFS::GetFSDeviceByDevice
[+] AuFS::GetFSDevices
[+] AuFS::GetFSDevicesCachedUnsafe
[+] AuFS::ResetDeviceCache
[+] FSPlatformDevices.cpp
[+] FSPlatformDevices.NT.cpp
(holding back Linux)
2023-12-05 18:44:38 +00:00
f79be42357
[*] Clean up dead-code in AuWakeOnAddress.cpp
2023-12-05 07:56:57 +00:00
91cff7ae26
[*] Another WakeOnAddress optimization
2023-12-05 07:15:54 +00:00
e9651eead3
[*] Linux build regressons
2023-12-04 21:13:25 +00:00
e60e308087
[*] Minor WaitMultipleLoopSources optimization
2023-12-03 07:40:20 +00:00
baf31e32d0
[+] IFileStream::ToStreamReader()
...
[+] IFileStreamToStreamWriter()
[+] IProcess::ToStreamReader(EStandardHandle stream)
[+] IProcess::ToStreamWriter()
2023-12-02 18:05:49 +00:00
9fea60a9ed
[*] 64ce35dd
cont
2023-12-02 11:06:49 +00:00
64ce35dd87
[*] Cont work on WaitMultipleLoopSources's yield time
2023-12-02 03:39:41 +00:00
b9e8b138f7
[*] Further optimize AuWakeOnAddress (signaling)
2023-12-02 03:35:24 +00:00
aadca8058e
[*] Net: Globalize adapter cache
2023-12-01 15:02:27 +00:00
e0f74d6160
[+] ISocketServer::GetServerRecvStats()
...
[+] ISocketServer::GetServerSendStats()
2023-12-01 14:49:30 +00:00
81871ed0b8
[+] INetAdapter::GetTransmitBytesPerSec()
...
[+] INetAdapter::GetReceiveBytesPerSec()
2023-12-01 13:26:44 +00:00
eceb037e70
[*] WaitMultipleLoopSources optimizations cont
2023-12-01 12:31:09 +00:00
3f7f2639c4
[*] AuLoop: Fixed missing logic in a fast path
2023-12-01 12:16:47 +00:00
cbcd55ce8e
[+] AuNet::ENetworkAdapterType
...
[+] AuNet::ENetworkAdapterStatus
[+] INetAdapter::ToNetworkType()
[+] INetAdapter::ToStatus()
2023-12-01 12:13:47 +00:00
507f418b81
[*] Attempt to optimize AuLoop::WaitMultipleLoopSources
2023-12-01 11:20:40 +00:00