Commit Graph

2040 Commits

Author SHA1 Message Date
8e39e2a1f8 [*] Update README 2024-12-05 17:12:41 +00:00
df28df6772 [+] AuFS::["Hooks"::]IPlatformFS::HookNamedMap for hooking file map requests - required for android OOBE mounts 2024-12-05 15:12:29 +00:00
a79e63375d [*] Added locks to readdir. The MT variant got stuck on the todo list 2 years ago - still not done. 2024-12-05 14:07:14 +00:00
7e01c03fc5 [*] Refactor memory map apis to use string views 2024-12-05 14:03:33 +00:00
500a35d38b [*] Update AuFS::GoUpToSeparator / AuFS::GetDirectoryFromPath
Got sick of writing

```
                    AuROString out;
                    if (AuEndsWith(uri, '/'))
                    {
                        AuFS::GoUpToSeparator(out, uri);
                        AuFS::GoUpToSeparator(out, out);
                    }
                    else
                    {
                        AuFS::GoUpToSeparator(out, uri);
                    }

```

To be fair, these apis havent been touched in like 2-3 years
2024-12-04 11:09:58 +00:00
588a6f3a7a [+] Aurora::ThreadingConfig::bEnableWaitOnAddressAndSurpression 2024-12-03 22:02:01 +00:00
14ab47f192 [*] perf/ NT Async FIO: lazy create event objects, like linux, now that we expect every application to use completion groups by default
[*] harden/ NT Async FIO: use a critical section to avoid abuse from language bindings
2024-12-03 20:31:41 +00:00
1af9338301 [*] Fixed detached thread destruction overriding the wrong threads tls index 2024-12-03 20:29:43 +00:00
f2ac93027c [*] Optimize WaitForMultipleAddressesAnd
[*] Harden bAlive: possible spurious bAlive = true
[*] WaitOnAddressSteady: dont let N of WakeNOnAdadress consume spurious threads that would fail, at a slight irrelevant cost to the waking thread, despite our guarantee (still true) that these wakes can be dropped
2024-12-03 20:28:46 +00:00
4ee0c6df4d [*] Fix regression in 54672f81: missed OpenAsyncNew, OpenAsyncRelease 2024-12-02 13:24:23 +00:00
54672f812e [+] PlatformFS abstraction / hook layer 2024-12-01 17:57:50 +00:00
8a94676549 [*] Wait multiple on address fix again: op precedence, and Linux build regression 2024-12-01 17:16:27 +00:00
91ce1f7711 [*] Update AuRNG comment 2024-12-01 09:21:19 +00:00
b0123a242c [*] Refactor the rest of AuRNG to use memory view references to harden the ABI and to prevent redundant memory view control block copies as we traverse the stack 2024-12-01 09:20:07 +00:00
e7f795e07a [*] Refactor: IRandomDevice::NextString(pChar, uLength, eType) to use a memory view 2024-12-01 09:15:35 +00:00
39cf09560f [*] InternalHeap::_ZRealloc and _FRealloc parity 2024-12-01 09:02:20 +00:00
7d77e625ea [*] AuHeapAdapter: inherit the reference implementation 2024-12-01 08:32:36 +00:00
ecd780b95f [*] WaitForMultipleAddresses fix:
this->waitList.pHead == pEntry, this->waitList.pTail == pEntry under remove head. These must take a slowpath instead
2024-11-30 02:10:52 +00:00
315d35e5ea [*] Harden WaitForMultipleAddressesOr and WaitForMultipleAddressesAnd against AuStopTheWorld thread termination 2024-11-29 12:42:34 +00:00
d7a27f1a7d [*] Make WaitForMultipleAddressesAnds return logic more explicit / clearer 2024-11-29 12:00:19 +00:00
9711061dab [+] Aurora::Threading::WaitForMultipleAddressesOr
[+] Aurora::Threading::WaitForMultipleAddressesAnd
[+] Aurora::Threading::WaitMultipleEntry
[+] Aurora::Threading::WaitMulipleContainer
2024-11-29 08:00:51 +00:00
73e901d923 [*] Revert: [*] Partially remove WOA_STRICTER_FIFO (its not ready yet) and fix debug crash
[+] Comment noting the partially flawed design of WOA

...i still dont want to support WOA_STRICTER_FIFO
2024-11-29 07:57:11 +00:00
66613c1229 [*] Partially remove WOA_STRICTER_FIFO (its not ready yet) and fix debug crash 2024-11-24 15:21:57 +00:00
6ac47bccf9 [*] Harden against WaitNode bAlive race condition 2024-11-23 20:30:14 +00:00
2ed05ce8dd [+] Aurora::ProcessesConfig
[*] Fixed stupid thread leak from a non-ipc semaphore being used under cow pages
2024-11-23 06:46:26 +00:00
8adb2a476a [*] Nothing to see here 2024-11-23 04:00:09 +00:00
0428695023 [*] TODO:
fix 2021 shitcode. repo in engine. quick workaround: just use indexed based iterators
2024-11-21 22:24:27 +00:00
e57d584cb1 [*] Refactor: Aurora::Threading::Waitables to Aurora::Threading::Futexes
[+] Aurora::Threading WakeOnAddress series of APIs: const volatile void* overloads because we cant implicitly cast between volatile and nonvolatile
2024-11-21 17:57:19 +00:00
2440d5b835 [+] WOA_STRICTER_FIFO 2024-11-21 17:17:09 +00:00
c21af7d3e0 [*] Split GnomeFS into the fuse category 2024-11-21 00:13:50 +00:00
08a3574fca [*] amend another comment: AuNetResolver.Unix.cpp 2024-11-20 23:52:37 +00:00
71a008dc49 [*] Amend certstore comment 2024-11-20 20:06:40 +00:00
5abfb0eee0 [+] ICertificateStore::RemoveCertificate
[+] ICertificateStore::RemoveCertificatesFromChain
[+] ICertificateStore::Size
2024-11-18 23:19:43 +00:00
e63903d0f4 [*] NT security: do not contaminate the caller thread of AuProcesses with user-switching elevation. 2024-11-18 21:29:04 +00:00
188dfd9459 [+] FIOConfig::bBypassInternetBlockCheckOpenFile 2024-11-18 18:07:12 +00:00
00e105aeb5 [*] POSIX security: let the execute/special bit override ADS blocks. Not that is matters, because modern Google bitched out of supporting Linux quarantine and FireFox devs are incompetent
People *do* care about this on Linux: https://github.com/rrika/chromium-referrer-backport/blob/master/trunk/chromium-metadata.patch
Of course Gnome devs are seething over doing anything of value: https://discourse.gnome.org/t/feat-xdg-extended-attribute-spec-support/16892/9
KDE devs malding at Fire*ack, crashes, would you like to send a bug report?* developers into adding support. Of course these lazy sacks of incompetent fucks havent done anything IN OVER A DECADE: https://bugzilla.mozilla.org/show_bug.cgi?id=665531
For some dumbfuck reason, those aforementioned gnome devs have gnome virtual file system that firefox - and only firefox - uses, despite MacOS adopting this TWO DECADE OLD LINUX FEATURE: https://connect.mozilla.org/t5/ideas/add-user-xdg-origin-url-attribute-to-downloaded-files/idi-p/17404 https://askubuntu.com/questions/633955/what-is-gvfsd-metadata

why am i even bothering?
2024-11-18 17:06:17 +00:00
9a172d9fca [+] AuProcesses::RevealInDirectory(...)
[*] Fix dshit shell portal process spawning
2024-11-17 15:48:24 +00:00
5a0bd702c5 [*] Refactor CpuLoadSampler -> ProcessLoadSampler to disambiguate the object from CoreLoadSamplerImpl
[*] Update readme and comments
2024-11-16 15:23:41 +00:00
54f7ee0b64 [+] Aurora::Threading::EWaitMethod::eAnd
[+] Aurora::Threading::EWaitMethod::eNotAnd

(amended: replace eAndNotMask with eNotAnd)
2024-11-14 21:13:13 +00:00
35c71481f7 [+] IAuroraThread::GetThreadTLSIdentity() [cherry-picked from debug update - delayed]
[+] TLSVariable::OfThread(u32) [cherry-picked from debug update - delayed]
2024-11-12 09:18:43 +00:00
c6c62ffca7 [*] Clean up RuntimeConfig.hpp
[*] Fix consoles blocking;
[*] Fix an AuSharedFromThis() in AuCertChain that should've been removed
2024-11-08 04:28:58 +00:00
1fb36548ea [*] Minor net fixes
[*] Fix async shutdown / inline shutdown condition
[*] Fix multiple net triggers
[*] Fix spurious UDP Session Socket timeouts
2024-10-19 17:52:28 +01:00
a2322470b8 [*] Win32 Shell Opener: do the main operation outside of the lock
[*] Linux IO / AuAsync: always use AU_CO_ROUTINE_SUS_NEVER or bool(false). Fixed dropped IO callbacks.
[*] Linux: Added POLLHUP to the blocking read poll. We shouldn't need this. Sockets and pipes set their read side on relevant events. For instance, async connect results in a writable signal, dropped sockets will become signaled under a select, etc. IPC works. Net works. Just gonna add this to the read trigger just in case.
2024-10-16 14:45:07 +01:00
7a0593adeb [+] AuCrypto::CA::ICertificateStore
[+] AuCrypto::CA::INewCertificateStore
[+] AuCrypto::CA::IPinCertificate
[+] AuCrypto::CA::PinAlwaysFail
[+] AuCrypto::CA::PinAlwaysPass
[+] AuCrypto::CA::PinCheckOS
[+] AuCrypto::CA::PinCheckDefault
[+] AuCrypto::CA::PinCheckBuiltin
[+] AuCrypto::CA::PinCheckGlobal
[+] AuCrypto::CA::PinCheckTwoAnd
[+] AuCrypto::CA::PinCheckTwoOr
[+] AuCrypto::CA::SetGlobalTLSPinner
[*] Minor AuCrypto::X509 decoder work
[*] AuCrypto::X509: transition to memory views (x509 is bytebuffer era and earlier code, beri early)
[+] AuCrypto::IPrivateKeyProvider
[+] AuCrypto::IPrivateKeyPair
[+] AuCrypto::PrivateKeyPair
[+] AuCrypto::ImportPrivateKeyPair
[*] Refactor: AuCrypto::X509::GenerateCertificate(...)
[+] AuCrypto::X509::NewChainFromOneDer
[+] AuCrypto::X509::NewChainFromManyDer
[+] AuCrypto::X509::NewChainFromManyDerInStream
[+] AuCrypto::X509::NewChainFromOnePem
[+] AuCrypto::X509::NewChainFromManyPem
[+] AuCrypto::X509::NewChainFromManyPemInStream
[*] Fix TLS code that was abandoned since its introduction with the net code. mbedtls is a hairbrained mess. so many *blocking* github issues starting after 2017. so little progress.
[+] AuIO::TLS::TLSMeta::pKeyPairProvider
[+] AuIO::TLS::TLSServer::bAllowSNIToFallBackDefault
[+] AuIO::TLS::TLSServer::bAllowSNILessUseDefaultCert
2024-10-16 02:07:24 +01:00
b5c4271807 [*] Some WTF
[*] Use waitpid instead of wait3 (BSD, now deprecated by POSIX)
[*] Win32 / x86_32: I guess the file map maximum size should be the same as 64bit since it lets us? we need this span constraint to be the entire file or less.
[*] Improved AuProcess UNIX signal safety
[*] Comments
[+] Secret API: RuntimeCollectMemory
2024-10-12 16:30:12 +01:00
02826d2365 [+] AuLoop::kWaitMultipleFlagNoIOCallbacks
[+] AuLoop::kWaitMultipleFlagBreakAfterAPC
[+] Alternative Wait AND implementations for NT, POSIX, and generic
[+] IOConfig::...
[*] LoopQueue improvements
[+] ILoopQueue::ConfigureDoIOApcCallbacks
[+] ILoopQueue::ConfigureDoIOApcCallbacks
2024-10-10 11:03:26 +01:00
82ed6e5617 [*] AuAsync build regression
[*] Fix potential for null deref under net adapters api
[*] Improved generic IO WaitFor * AND * (still suxs)
2024-10-09 01:59:50 +01:00
f93181b0bf [*] Amend again: 7046ccec11 2024-10-06 00:35:57 +01:00
978693559e [*] QOL / Hardening / Optimizations / Bug fixes
(but not really. this is just some patchwork)
2024-10-02 00:47:44 +01:00
ebec613f66 [*] Harden glibc resolver 2024-09-29 22:32:50 +01:00