22486b90e6
[*] NT: WaitMultipleLoopSourcesEx wasn't bypassing the wait cap
2023-12-18 07:35:24 +00:00
207b8f6f46
[+] Copyable IOHandles
2023-12-18 05:41:27 +00:00
9b99e6e7c7
[*] Harden IPC pipes
2023-12-16 21:08:46 +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
073d77a17b
[*] Harden IO processor item usage after parent processor release
2023-12-11 20:18:36 +00:00
5541c25050
[+] AuIO::Loop::WaitMultipleLoopSourcesEx
2023-12-10 22:25:03 +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
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
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
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
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
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
b0a7417d6f
[*] Local loopsources werent calling the parents OnTrigger
2023-12-01 11:02:15 +00:00
f05cafbff7
[*] Win32 loopqueue optimization
2023-12-01 10:36:47 +00:00
049de14090
[*] Ooops: acd8f6cf
2023-12-01 07:04:04 +00:00
c32022a8e4
[*] eb1ec8b7
(W32oW64 awareness) cont: WinXP regression
2023-12-01 06:20:39 +00:00
acd8f6cf0b
[*] Win32: fast move directory
2023-12-01 06:14:03 +00:00
eb1ec8b763
[*] W32oW64 awareness
2023-12-01 02:21:58 +00:00
5ec28735ed
[*] Improved AuProtocolStack API
2023-11-30 09:40:02 +00:00
52b49986f3
[+] ISocketServer::GetSessionCount
2023-11-30 02:40:30 +00:00
74b1e560bb
[*] I needed 'eeep (amend previous two commits)
2023-11-29 23:38:03 +00:00
42beaeabf5
[*] AuFS::MoveDirectory -> Try remove dirs afterwards (should only succeed if empty. failure is ignored and reported to CopyDirResult)
2023-11-29 14:04:57 +00:00
dcf94a8b23
[+] (dummy!) ISocketServerLimits.hpp
...
[+] (dummy!) ISocketChannelLimits.hpp
[+] ISocketChannel::GetChannelLimits
[+] ISocketBase::GetLockedWorkerThread
[+] ISocket::GetSocketServer
2023-11-29 13:55:01 +00:00
9b74a623af
[*] UNIX: Use O_EXCL if available
...
[*] UNIX: Try to open readable dirs
2023-11-11 13:32:31 +00:00
dcb27645a1
[*] bug: drop limitation in io processor
...
[*] attempting to mitigate freeze on remote start watch
2023-11-05 21:20:16 +00:00
01824d6589
[*] Caught Windows XP network iface regression
2023-10-30 15:42:15 +00:00
087bac4085
[+] AuByteBuffer::flagNoRealloc
...
[*] Fix IO regression / Critical Bug / Leak and stupid double free
2023-10-29 20:36:11 +00:00
59b30e47c0
[*] yea
2023-10-29 11:24:00 +00:00
54e8cf01c5
[*] clean up: I forgot these were a thing
2023-10-29 11:20:32 +00:00
17ca7a6bef
[*] Added SMT yield down these paths
2023-10-26 17:25:40 +01:00
ec8f3b3f23
[+] INetAdapter::ToMacAddress
...
[+] INetAdapter::HasDHCP
[+] INetAdapter::GetMTU
2023-10-24 19:12:47 +01:00
4ce49941ff
[+] SysCheckNotNullMemory
...
[+] SysCheckNotNull
[+] SysCheckRetExpNotNull
[+] SysCheckRetExpNotNullMemory
2023-10-24 17:43:00 +01:00
69188d8c1e
[+] ICompressionStream::ToStreamReader
2023-10-24 17:14:54 +01:00
cca3ff73cb
[+] Protocol stack: IOConfig::uProtocolStackDefaultBufferSize
2023-10-24 12:02:05 +01:00
efd4da861a
[*] Protocol stack: harden these/check for out of memory
2023-10-24 11:59:55 +01:00
4b38f205d1
[*] oops i didnt just break the build
2023-10-23 12:38:29 +01:00
dfe6b468ec
[*] protocol stack: hardening of buffer flags
2023-10-23 11:30:25 +01:00
08c37454fe
[+] ENetworkError::eBrokenByteBuffer
2023-10-23 11:21:10 +01:00
72fd8d018e
[*] a7af61e9
cont: Potential Win32 loop queue bug fixes/improvements
2023-10-23 10:21:31 +01:00
1f685b635b
[+] ISocketStats::GetUptimeNS
...
[*] Some socket stat cleanup+fixes
2023-10-23 09:17:46 +01:00
a7af61e9bf
[*] Potential Win32 loop queue bug fixes/improvements
2023-10-22 22:12:55 +01:00
fb1920ccba
[*] Ensure the other fast paths work properly
2023-10-22 06:17:32 +01:00
591c0fe48b
[+] ILSSemaphore::AddMany
2023-10-22 06:11:39 +01:00
3d01d6cc8f
[*] Improve LSLocalSemaphore
2023-10-21 18:57:48 +01:00
a1a2d482d7
[*] everything before semaphore cast
2023-10-21 16:09:45 +01:00
f9916e0f21
[*] More NT Loop Queue fixes
2023-10-21 14:22:12 +01:00
5233dc7ac8
[*] NT fix pre/finish sleep out of balance
...
[*] Fix some more wait alls
2023-10-21 13:22:11 +01:00
4d454287b8
[+] IPCPipeWriter
...
[+] IPCPipeReader
2023-10-21 10:43:28 +01:00
c79993af74
[*] Fixup the WaitMultipleLoopSources Any path
2023-10-21 09:33:04 +01:00
f185f13dc7
[+] LSLocalEvent
2023-10-21 09:04:48 +01:00
d910c71ad8
[*] This snucked in and i forgot to enable an nt specific fast path
2023-10-21 06:57:07 +01:00
18c023acae
[*] Suppress spurious IO wakeups in WaitSingleBase
2023-10-21 06:19:51 +01:00
60bb1020ce
[+] bool WaitMultipleLoopSources(const AuList<AuSPtr<Loop::ILoopSource>> &lsList,
...
AuList<AuSPtr<Loop::ILoopSource>> &signaled,
bool bAny = true,
AuOptionalEx<AuUInt32> uTimeoutMS = 0);
2023-10-21 06:10:33 +01:00
e366d058f6
[*] Fix busted timeout calc in the previous two commits
2023-10-21 05:41:29 +01:00
186444853d
[+] LSLocalSemaphore (faster io semaphore)
2023-10-21 04:59:05 +01:00
1589079ead
[+] LSLocalMutex (faster io mutex)
2023-10-21 04:51:51 +01:00
bd69ad6739
[+] IPCPipe::ToFileStream
...
[+] IPCPipe::ToStreamReader
[+] IPCPipe::ToStreamWriter
2023-10-20 16:33:18 +01:00
88094c48ae
[*] Harden pipe reads under FS streams
2023-10-20 11:37:52 +01:00
871479172b
[+] AuIPC::NewPipeEx(AuUInt32 uPipeLength)
2023-10-20 10:48:10 +01:00
c8f3305669
[*] Address a number of NT/x86_32 build regressions
2023-10-17 03:08:29 +01:00
6bb5dd39f2
[*] 358964ef
cont: realloc event callbacks not fired
2023-10-16 04:03:19 +01:00
f53ea2a0a7
[*] 240685f7
cont: datagram channel missing [G/S]etNextFrameTargetLength
2023-10-16 03:20:28 +01:00
4742d2b9e7
[*] Missing iStartTickMS_ assignment
2023-10-16 02:18:12 +01:00
358964efb0
[+] IIOPipeEventListener::OnPipeFailureEvent
2023-10-16 01:56:28 +01:00
240685f7a6
[+] ISocketChannel::GetNextFrameTargetLength
...
[+] ISocketChannel::SetNextFrameTargetLength
2023-10-16 01:48:09 +01:00
cb60e77c63
[+] IIOPipeWork::SetNextFrameTargetLength
...
[+] IIOPipeWork::GetNextFrameTargetLength
[+] IIOPipeWork::GetNextFrameTargetLength
[+] IIOPipeWork::ReallocateLater
[+] IIOPipeWork::GetSuccessfulReallocations
[+] IIOPipeWork::GetFailedReallocations
[+] IIOPipeWork::DidLastReallocFail
(will save net and engine from doing its their current hacks)
2023-10-16 01:47:22 +01:00
be60d2c80d
[+} NewMemoryViewReadAdapter
...
[+] NewMemoryViewLinearSeekableAdapter
[+] NewMemoryViewWriteAdapter
2023-10-13 21:08:57 +01:00
4a0eeefe1b
[+] AuFS::MoveDirectory
2023-10-13 18:11:49 +01:00
c52c1c89f1
[+] AuFS::CopyDirectory
2023-10-13 18:04:47 +01:00
44afa1e3de
[*] Disable this perf hack for now
2023-10-13 17:00:51 +01:00
7db0e2e688
[*] Drop all static references to User32.dll
2023-10-13 00:10:44 +01:00
ff77873ad6
[*] Further reduce win32 link time requirements (advanced api)
2023-10-11 02:13:49 +01:00
48c2175be9
[+] IProtocolStack::AppendInterceptorDynamicBuffer
...
[+] IProtocolStack::PrependInterceptorDynamicBuffer
[+] IProtocolStack::PrependSingleFrameProcessorDynamicBuffer
[+] IProtocolStack::AppendSingleFrameProcessorDynamicBuffer
[+] IProtocolStack::IsValid
[+] IProtocolPiece::ExchangeMaximumBufferLength
2023-10-07 20:25:43 +01:00
605862094e
[*] Fix some old known Win32 loop queue issues under bullshit real world conditions
...
(recursion, any retries, etc)
2023-10-03 22:02:48 +01:00
ea241d86f3
[*] Resolve ambiguous namespace regression (new conflict between Aurora::IO::Utility and Aurora::Utility)
2023-09-28 15:42:09 +01:00
635f9e39e9
[*] Modernize IOBufferedProcessor (and moved to the io utility namespace)
...
[+] AuIO::Utility::NewBufferedProcessorEx
[+] AuByteBuffer::calcDifferenceBetweenHeadsUnsigned
[+] AuByteBuffer::calcDifferenceBetweenHeadsSigned
2023-09-28 12:38:01 +01:00
c5ab03cbfc
[-] OS specific types derived from AFileHandle
2023-09-28 11:53:42 +01:00
5555e99488
[*] Move NewByteBufferPair, NewByteBufferPairEx, and NewRingByteBuffer to AuIO::Utility
2023-09-28 11:51:46 +01:00
374df4a92b
[*] 3c8442d8
regressed DNS based connect
...
[*] improved an error message
2023-09-23 20:36:28 +01:00
3c8442d8ce
[+] Added NetSocketConnectBase
...
[*] ded60591
cont
2023-09-23 19:33:08 +01:00
ded605910f
[*] Refactor AuNet::NetSocketConnect
2023-09-23 17:10:00 +01:00
7e9bfd8215
[*] Move/refactor AuIO adapters to Aurora::IO::Adapters
2023-09-23 16:40:13 +01:00
345cf608b3
[*] Linux connect by hostname regression/first pass?
2023-09-23 09:25:18 +01:00
c05fabc633
[*] Linux fixes
2023-09-23 08:15:50 +01:00
828430889c
[+] IIOHandle::SectionLock
...
[+] IIOHandle::SectionUnlock
[*] FileSteam.NT.cpp clean up
2023-09-23 04:48:48 +01:00
994fcb5010
[*/+] Added/Moved code to AuProtocolStackSpecialWriter[.cpp]
...
[+] Further mutex guarantees under protocol stacks (hardening)
2023-09-21 21:18:59 +01:00
7da39d2022
[+] Aurora::IO::Protocol::NewProtocolStackFromDescription
...
[+] Aurora::IO::Protocol::UtilityWrapStreamReaderWithInterceptors
[+] Aurora::IO::Protocol::EProtocolStackCreateType
[+] Aurora::IO::Protocol::ProtocolStackByBufferedAdhoc
[+] Aurora::IO::Protocol::ProtocolStackByBuffered
[+] Aurora::IO::Protocol::ProtocolStackByPipe
[+] Aurora::IO::Protocol::ProtocolStackDescription
2023-09-21 08:02:02 +01:00
7bc533b710
[*] More POSIX bugs
2023-09-20 21:13:43 +01:00
4fa053ce97
[*] Harden POSIX FS Remove
2023-09-20 20:17:42 +01:00
259572724c
[+] Fetch non-desktop class NT hostnames
2023-09-20 18:33:27 +01:00
5ef6e0cd23
[*] Fix IO Processor regression, circa WorkerPId_t behaviour change.
...
[*] Fix minor Linux SOCK_CLOEXEC issue
2023-09-18 19:04:09 +01:00
5d12f1a203
[*] Resolve IO regressions (4. Hello FS) (Mostly UNIX)
2023-09-18 07:11:34 +01:00
11ef18cbf0
[*] moar regressions :(
2023-09-18 06:09:29 +01:00
09b044ab2e
[*] amend 9be76adb23
2023-09-17 22:21:24 +01:00
9be76adb23
[*] Further drop required symbols from OLE (COM) and SHELL32 (NT Shell)
...
[*] Optimize NT file and URI opener
2023-09-17 21:33:14 +01:00
a96788623f
[*] Fix linux build warning and not quite complete linux ipc fix a4f6db7ec9
2023-09-17 18:36:20 +01:00
84c0e94282
[*] 523abaf0
cont: not so sure on the UNIX-like variant either
2023-09-17 14:03:03 +01:00
523abaf0bb
[*] security: bIsIntranetTrusted not properly respected
2023-09-17 13:57:58 +01:00
0de153dfe3
[*] Aggressively harden win32 loops against out of memory events
2023-09-17 04:08:01 +01:00
ab6f00f094
[*] NT build regression
2023-09-17 00:35:23 +01:00
a4f6db7ec9
[*] Linux IPC reliability: finally got around to closing #48
2023-09-16 23:30:10 +01:00
f2339bb0a9
[+] AuIO::Loop::NewLSIOHandle(const AuSPtr<IIOHandle> &pHandle)
...
[-] Rip 2021-10-1 LSCondVar
2023-09-16 22:59:26 +01:00
9a294cf955
[*] (Mostly Linux) Harden FS apis
2023-09-16 01:20:28 +01:00
ac86fd481b
[*] caught runtime regressions
2023-09-15 18:21:47 +01:00
d0fb19f87e
[*] Global build regressions caused by addd4080
2023-09-15 18:09:34 +01:00
a80524d573
[-] AuProcesses::EStandardHandle
2023-09-15 15:55:46 +01:00
d166a00d81
[*] Linux: begin catching up AuProcesses to NT
2023-09-15 00:11:14 +01:00
fe8ef28930
[*] tism
2023-09-13 04:04:45 +01:00
f177b67e1f
[*] GetLastError() == ERROR_FILE_EXISTS fast path
2023-09-13 03:48:10 +01:00
b4d5f4c127
[+] AuIO::IO::EStandardStream
...
[+] AuIO::IOHandle::InitFromStreamEnum(...)
2023-09-13 02:50:59 +01:00
d0538ea4de
[*] NT/Win32-like: Use Win32Open as opposed to CreateFileW
2023-09-13 02:27:18 +01:00
a8696c0b7e
[*] ...no
2023-09-13 00:02:26 +01:00
6181d97c3c
[*] Improve internal path consistency
...
[*] Removes some unnecessary panics
2023-09-12 20:49:02 +01:00
b46390f83a
[*] Remove explicit Windows version check assuming certain file systems and platforms can be stupid
2023-09-12 01:35:54 +01:00
6062a16d9c
[*] Prevent overflow into UNC root namespace of hostnames and volumes via path or filename overflow
2023-09-12 00:52:16 +01:00
92593be412
[*] FS path mitigation: begin to handle >= MAX_PATHs by enforcing UNC \\?\ prefixes across every single Win32/NT api we hit (if relevant. im sure some long paths may still break things.)
2023-09-10 23:49:47 +01:00
5107911ba5
[*] Exploit mitigation - file protocols can be valid paths
2023-09-10 16:30:59 +01:00
51dcd190b3
[*] Missing SysPushErrorXXXs
2023-09-07 23:20:26 +01:00
d112179c83
[*] May as well make this in line with the others
2023-09-04 16:45:42 +01:00
bcf3fabd83
[*] FS Resources (GetWritableAppdata): fail over to this path instead of failing
2023-09-04 16:32:28 +01:00
5b9e780fa0
[*] Fix some obvious recent regressions in NT loop queue
2023-09-02 19:36:12 +01:00
73a52552f7
[*] [to revert?] Attempt to mitigate message spam wakeups on older systems
...
Also forces higher latency on Windows 7
2023-09-02 17:56:15 +01:00
cc6e0358fa
[*] NT: further optimizations to solve CPU usage regressions
2023-09-02 16:11:06 +01:00
85102ec7ce
[*] Minor NT LoopQueue fixes/improvements
2023-09-02 04:56:41 +01:00
47cec914cb
[*] Refactor FIOConfig::ddefaultBrand -> (AuOptional) FIOConfig::optDefaultBrand
...
[+] FIOConfig::bIsIntranetTrusted
2023-08-29 21:10:53 +01:00
b5a452a43d
[+] AuFS::IsFileBlocked
...
[+] AuFS::IsFileTrusted
2023-08-29 20:30:09 +01:00
9fcc62fb92
[*] Always check adapter info length
2023-08-29 16:31:39 +01:00
3503d0ec68
[+] Added Linux signal configuration and separate LinuxConfig type (LinuxConfig)
...
[*] Fix Linux regressions in previous NT commit
2023-08-29 03:11:28 +01:00
ac0981ac1b
[+] bool IsHandleFile(AuUInt uHandle)
...
[+] bool IsHandleTTY(AuUInt uHandle)
[+] bool IsHandlePipe(AuUInt uHandle)
...as opposed to forced IOHandle usage
[+] AuIOHandle
[+] AuSharedIOHandle
2023-08-29 01:37:25 +01:00
b2e1df8f72
[*] Annoying Linux checks
2023-08-27 21:35:40 +01:00
4674f45dd3
[*] Support for further Win32 API degradation / historical OSes / emulators
2023-08-27 17:43:29 +01:00
5cf7533eab
[*] Linux and UNIX QOL
2023-08-27 12:42:10 +01:00
cf363b9f5b
[*] Ensure this never throws
2023-08-22 09:45:32 +01:00
e6bf022bef
[*] Atomic SOCK_CLOEXEC-awareness on some UNIX systems
2023-08-19 15:06:59 +01:00