Commit Graph

1580 Commits

Author SHA1 Message Date
3115627424 [*] Introduce APIs to access IProcessSectionMapView safely when malicious calls to Unmap could be made 2024-04-12 13:42:30 +01:00
f589227c1d [*] messed up AURORA_COMPILER_GCC macro usage 2024-04-12 11:45:20 +01:00
54dedf67cc [*] Improper Win32Open2 transition 2024-04-12 11:38:13 +01:00
225791cf7c [*] Only override _WIN32_WINNT under AURORA_PLATFORM_WIN32 2024-04-11 21:43:56 +01:00
074d37c073 [*] Let UWP access winsock 2024-04-11 21:38:26 +01:00
9f5c0e559c [*] Minor ConditionVariableNT optimization (SteadyClockNS() may syscall under vms) 2024-04-11 19:58:42 +01:00
f2eadb4653 [*] Destink Stinks.hpp 2024-04-11 14:53:02 +01:00
c6a1eb3f1e [*] UWP args(?) 2024-04-10 13:18:00 +01:00
9742db62d3 [+] AuLogging::NewStreamSink
[*] Logging QOL fixes
2024-04-10 11:05:00 +01:00
1bb3197941 [*] Amend a0875950 2024-04-10 08:20:47 +01:00
13ddd42961 [*] Limit kThreadIdAny dequeues until one until we can preempt the work queues of threads within our local group 2024-04-10 07:44:06 +01:00
a087595009 [*] Minor tweaks + more not-so-lazy loads in case of uwp 2024-04-10 00:09:21 +01:00
7f0dc81ec3 [*] Rejuvenate AuMemory::SwapLock 2024-04-09 22:29:11 +01:00
a300076c6d [*] Refactor: INetAdapter::GetDNS() now returns a const reference 2024-04-01 06:44:20 +01:00
2a2e40fc8c [*] Refactor ENetworkAdapterType->EAdapterType
[*] Refactor ENetworkAdapterStatus->EAdapterStatus
2024-04-01 06:41:51 +01:00
2717178681 [+] Added INetworkInterface overloads
[+] INetInterface::SetWorkersService
[+] INetInterface::SetResolveService
[+] INetInterface::SetDatagramService
[+] INetInterface::SetInterfacesService
[*] Refactor: INetAdapter::GetStatus -> INetAdapter::GetAdapterStatus
[*] Refactor: const NetError &ISocketBase::GetError() -> AuOptional<const NetError &> ISocketBase::GetError()
[*] Refactor: INetAdapter to return const references of IPAddresses
2024-04-01 06:28:35 +01:00
5668188945 [*] Harden IO handle interface 2024-03-31 09:26:56 +01:00
263ca6e646 [*] Amend FileStream::Close (232a136b) 2024-03-27 15:40:13 +00:00
ec44cc1d69 [*] Ensure these fallback primitives can be accessed by -> operator 2024-03-27 03:19:18 +00:00
232a136bfe [+] IOHandle::IsWriteEoSOnClose
[+] IOHandle::SetWriteEoSOnClose
[+] IOHandle::HandleCreate::bFlushOnClose
[+] IOHandle::HandleCreate::bWriteEoSOnClose
[*] Unified grug based auto-truncating. Previously we were truncating on the final derefing thread; now, we truncate on the grug thread.
[*] Refactor/Cleanup IOHandle
2024-03-27 03:15:01 +00:00
30fa15b726 [*] Clean up grug and auasync scheduler / improved idle cpu usage 2024-03-26 18:38:52 +00:00
1fa12f141f [*] Fix TryWaitOnAddressSpecialEx from UntilEqual -> Special update 2024-03-24 15:30:38 +00:00
782d788531 [*] Drop stupid write stream semantics 2024-03-22 13:57:39 +00:00
c87ec4e4b6 [*] Linux build regressions 2024-03-21 00:32:13 +00:00
ac3b317fa3 [*] Fix major heap regression [rebase] 2024-03-20 12:01:18 +00:00
42d3b070fa [*] Regression: 0b60cb80 (nuked the loggers) 2024-03-19 18:15:44 +00:00
d6ac05054e [*] Update prototype: AuFS::ReadDirRecursive(const AuString &string, AuOptional<bool> bTraverseSymlinks)
[+] AuUInt32 AuFS::IReadDir::GetErrorCount()
[+] AuList<AuString> AuFS::IReadDir::GetErrorPaths()
2024-03-19 18:08:54 +00:00
bd1283e146 [*] Polish AuMemory 2024-03-19 16:10:32 +00:00
0b60cb8099 [*] Fix major heap regression 2024-03-19 11:56:15 +00:00
c54ac9d6a3 [+] AuFS::ReadFileHeader 2024-03-18 05:58:20 +00:00
07889bfb3e [*] Update this comment again 2024-03-17 11:09:40 +00:00
0edf00ffc8 [*] Microsoft is really taking the fucking piss again 2024-03-16 19:58:44 +00:00
81d7c7027c [*] Cont work on AuIOHandle cleanup 2024-03-16 09:51:41 +00:00
1263434bb7 [+] bool IIOHandle::InitFromHandleCopy(const IIOHandle *pHandle) 2024-03-15 13:34:01 +00:00
25b1a9cad6 [*] Thread-safety: harden io file streams and improve construction api of OpenBlockingFileStreamFromHandle 2024-03-15 08:50:52 +00:00
ccc4116394 [*] PosixShutup for AuProcesses::OpenXXXX and two minor bug fixes 2024-03-15 06:19:30 +00:00
b3f1ef8bc2 [*] Fix recent regression in f401c6f750 and fix two ignored return values 2024-03-14 01:22:20 +00:00
dbd2ec78b3 [*] harden dir traversal for removal 2024-03-13 10:08:38 +00:00
3f265cf19b [*] IOHandle is now 192 bytes
[*] Autohandle duplication
2024-03-13 07:50:50 +00:00
582b32ded9 [*] harden 2024-03-13 05:37:51 +00:00
cac3746bf0 [*] Update CmdLine prototype: AuOptional<const AuString &> GetValue(const AuString &key) 2024-03-13 02:03:56 +00:00
5c34a8435b [*] d14ba6cf revert one force inline 2024-03-12 23:32:32 +00:00
d039055bc1 [*] Optimize _NTLikeQueryFrequency under Win10 2024-03-12 22:54:03 +00:00
d14ba6cfd4 [+] AuThreading::EWaitMethod
[+] AuThreading::TryWaitOnAddressSpecial
[+] AuThreading::TryWaitOnAddressSpecialEx
[+] AuThreading::WaitOnAddressSpecial
[+] AuThreading::WaitOnAddressSpecialSteady
2024-03-12 22:50:22 +00:00
2ba5ae6fa5 [*] Windows 10 LTSC / other branches crash on startup fix (missing FOLDERID_UserProgramFiles for some reason) 2024-03-12 04:32:45 +00:00
0f4a7bf8cb [*] Update GetSystemResourcePath to check package path before user rw directories 2024-03-11 21:22:24 +00:00
db1ff0cbf8 [*] Refactored FS resources to return AuOptional<const AuString &> 2024-03-11 21:05:03 +00:00
631fad8fd0 [+] ERngStringCharacters::eLowerAlphaNumericCharacters
[+] ERngStringCharacters::eUpperAlphaNumericCharacters
2024-03-11 17:33:36 +00:00
bd83945f4d [*] Update temp path/dir filenames 2024-03-11 17:14:59 +00:00
f401c6f750 [*] Update consistency in 895ef058 2024-03-11 17:13:27 +00:00
ac1501c357 [+] AuOptional<AuString> AuFS::NewTempFile()
[+] AuOptional<AuString> AuFS::NewTempDirectory()
2024-03-10 15:00:13 +00:00
fceb937bfd [+] Aurora::IO::Async::SpawnMoreThreads
[+] Aurora::IO::Async::GetSpawnedThreads
2024-03-10 11:34:18 +00:00
951f9b73f3 [*] Off by one indexed extent 2024-03-10 09:45:03 +00:00
3c6d5a020b [*] Linux and Posix targets now respect gRuntimeConfig.debug.bIsExceptionThrowFatal 2024-03-10 00:09:12 +00:00
3c4cece69d [*] Fix deadlock on enter, when dispatching the command results in a grug handler being executed, followed by a deadlock during flush
[*] also wtf is this
2024-03-09 08:38:26 +00:00
9a846a6d2f [*] Update IAsyncFileStream::NewTransaction 2024-03-09 01:12:57 +00:00
a9fd9221b7 [+] AuFS::OpenAsyncFromSharedHandle 2024-03-09 00:56:59 +00:00
48aa0f01b1 [+] IFileStream::ToStreamSeekingReader
[+] IFileStream::ToStreamSeekingWriter
[*] Mitigation for Linshids god awful IO subsystems
2024-03-09 00:47:33 +00:00
66f3250983 [*] Improved IMemoryMappedFile API
[+] AuIO::Adapters::NewAsyncTransactionFromStreamSeekingPair
2024-03-09 00:20:26 +00:00
afbe942ffd [*] These config fields were switched to abs values, not relative to the user signal range 2024-03-08 21:59:50 +00:00
38bf52e852 [+] Aurora::IO::FS::IMemoryMappedFile
[+] Aurora::IO::Adapters::NewMemoryViewWriteSeekableAdapter
[*] ViewSeekableReadable -> ViewSeekableReader
[+] Aurora::IO::FS::OpenMap
[+] Aurora::IO::FS::OpenMapFromSharedHandle
2024-03-07 06:49:23 +00:00
6d4fc2c5f7 [*] Fix vis of this one posix symbol 2024-03-06 20:29:43 +00:00
7b302a7f35 [*] Improve AuProcesses CompletionGroup integration 2024-03-05 21:52:52 +00:00
0a6c11d919 [*] Moved some source code to AuProcAddresses.UNIX.cpp 2024-03-05 18:37:44 +00:00
2371794d47 [+] Linux Exception Handlers and AuExit::ETriggerLevel::eSigQuitNow
[*] Linux stability fixes
[+] AuProcAddresses.UNIX.[cpp/hpp]
2024-03-05 13:55:21 +00:00
8b29e73f96 [*] Switch over to mapped cpuset ids as opposed to the ((groupIndex + 1ull) * 0x100ull) + logicalProcessorIndex approximation 2024-03-04 13:07:49 +00:00
2163a58892 [*] Linux runtime regressions 2024-03-04 11:55:54 +00:00
2a5fad9d0c [+] Debug heap API: void Heap::WalkHeap(bool(*fCallback)(void *, void *), void *pSecondArg) 2024-03-04 04:51:41 +00:00
bf398be94e [*] Missing explicit AuConstReference 2024-03-03 22:09:19 +00:00
13b61f166c [*] Updated registered LTC digest indices 2024-03-03 03:26:01 +00:00
65c78ef182 [*] Move some platform specific code from AuWakeOnAddress to AuProcAddresses.*.* 2024-03-03 00:28:36 +00:00
9591fc9d30 [*] Harden detached spawn 2024-03-02 23:47:58 +00:00
3004c3de19 [+] Experimental AuThreading::TryWaitOnAddressUntilEqualEx, WaitOnAddressUntilEqual, WaitOnAddressUntilEqualSteady 2024-03-02 23:23:16 +00:00
b4f4e623d8 [*] Dumb 2024-03-01 16:55:19 +00:00
957338d0e3 [*] bug fixes 2024-02-28 14:47:00 +00:00
be9f47c4bb [*] dumb 2024-02-28 14:34:15 +00:00
097c0c1917 [+] IWorkItem::AddDelayTimeRepeating
[+] IWorkItem::AddDelayTimeNsRepeating
2024-02-27 12:24:17 +00:00
4ef055f81e [+] IWorkItem::SetSchedByLoopSourceRepeating
[+] ETickType::eRerunAndNotifyRepeatingWaiters
[+] ETickType::eScheduleAndNotifyRepeatingWaiters
[*] ETickType::eRerun async work items of ANY io fences
2024-02-27 12:08:22 +00:00
1f143ae981 [*] Harden 1920f5a8 against deadlocks under neverending pipe conditions 2024-02-27 10:55:38 +00:00
1920f5a8d5 [+] IO Thread Pool
[+] FileSeekingWriter
[+] ISeekingWriter
[+] AuIO::Adapters::NewAsyncTransactionFromStreamReader
[+] AuIO::Adapters::NewAsyncTransactionFromStreamSeekingReader
[+] AuIO::Adapters::NewAsyncTransactionFromStreamWriter
[+] AuIO::Adapters::NewAsyncTransactionFromStreamSeekingWriter
[+] AuIO::Async::UseSpecifiedWorkerGroup
[+] AuMemory::NewSharableResizableBuffer
[+] AuMemory::NewSharableBuffer
[*] Update comments
2024-02-26 18:12:04 +00:00
ddebc422ed [*] Updated comments in IProtocolStack.hpp 2024-02-25 20:19:10 +00:00
78e0c2d442 [*] Let IOHandle own the sharing state (auto-call SharingStop on dtor) instead of leaking IPC sharable on copy 2024-02-25 19:50:19 +00:00
e199172428 [+] AuRNG::SetSecureRNGBackendOverload
[+] AuRNG::GetSecureRNGBackendOverload
[+] AuRNG::GetSecureRNGBackend
2024-02-25 19:42:11 +00:00
493f449d1d [*] Major Linux build regressions 2024-02-23 12:44:43 +00:00
2da8332c0f [+] Added "Safer" variants to bcrypt when using string containers 2024-02-19 19:09:21 +00:00
0461b54045 [*] Improve PKCS1 OAEP support 2024-02-19 11:15:10 +00:00
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