Commit Graph

270 Commits

Author SHA1 Message Date
895ef05887 [*] Allow empty file creation via NULL memoryviews 2024-01-14 14:15:11 +00:00
95adfe127d [*] eng-regression: introduce missing RuntimeWaitForSecondaryTick's 2024-01-09 05:08:54 +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
d199b52c0f [*] Improved support for completion groups when used with net streams 2024-01-02 07:06:42 +00:00
63050b2262 [+] IFileStream::IsFlushOnClose
[+] IFileStream::SetFlushOnClose
[+] IFileStream::IsWriteEoSOnClose
[+] IFileStream::SetWriteEoSOnClose
[+] IIOHandle::IsFlushOnClose
[+] IIOHandle::SetFlushOnClose
2024-01-02 00:00:47 +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
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
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
0faf4c7846 [+] Aurora::Processes::OutputOf
[+] Aurora::Processes::OutputOfAsync
[*] Fix win32 regression
2023-12-23 07:05:44 +00:00
bd6b70f215 [*] Win32 bug fix 2023-12-22 12:55:08 +00:00
66eca9ff8f [*] Exceptionless-API hardening 2023-12-22 00:22:43 +00:00
2570aea213 [+] Clang/Win32 compilation support 2023-12-19 03:43:11 +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
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
baf31e32d0 [+] IFileStream::ToStreamReader()
[+] IFileStreamToStreamWriter()
[+] IProcess::ToStreamReader(EStandardHandle stream)
[+] IProcess::ToStreamWriter()
2023-12-02 18:05:49 +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
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
4ce49941ff [+] SysCheckNotNullMemory
[+] SysCheckNotNull
[+] SysCheckRetExpNotNull
[+] SysCheckRetExpNotNullMemory
2023-10-24 17:43:00 +01:00
88094c48ae [*] Harden pipe reads under FS streams 2023-10-20 11:37:52 +01:00
c8f3305669 [*] Address a number of NT/x86_32 build regressions 2023-10-17 03:08:29 +01:00
4a0eeefe1b [+] AuFS::MoveDirectory 2023-10-13 18:11:49 +01:00
c52c1c89f1 [+] AuFS::CopyDirectory 2023-10-13 18:04:47 +01:00
ff77873ad6 [*] Further reduce win32 link time requirements (advanced api) 2023-10-11 02:13:49 +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
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
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
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
9a294cf955 [*] (Mostly Linux) Harden FS apis 2023-09-16 01:20:28 +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
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
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
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
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
ebce7e0048 [*] Alternative solution for FOLDERID_UserProgramFiles when targeting <= Windows Vista 2023-08-18 18:38:11 +01:00
78634d11db [*] NT File Stream: unlikely race condition 2023-08-15 14:48:54 +01:00
3df8621944 [+] NT: IOHandle::IsFile(), IOHandle::IsTTY(), IOHandle::IsPipe()
[*] Revert to supporting write-only handles
2023-08-15 14:46:21 +01:00
9cea2fe82a [*] This was bothering me 2023-08-15 14:19:23 +01:00
79371fc82f [*] Linux stat regression? 2023-08-15 09:03:22 +01:00
4db0d3c6af [*] Regressed written length check in: 7100c807 2023-08-15 08:45:44 +01:00
1f173a8799 [*] Begin resolving 8 months of Linux neglect 2023-08-11 16:51:42 +01:00
7100c807c8 [*] Unify FS write utilities 2023-08-11 06:21:42 +01:00
424cccd00a [+] IAsyncTransaction::HasCompleted 2023-08-09 00:14:36 +01:00
df6f29bf38 [+] IAsyncTransaction::SetBaseOffset 2023-08-09 00:02:35 +01:00
3ff5d8a74e [*] NT FSStream: Added more push debug errors 2023-07-29 10:13:25 +01:00
c05a859638 [*] nt: fix new blocking over async paths (eos handling) 2023-07-29 10:07:27 +01:00
a79caa707f [*] autism 2023-07-29 10:00:16 +01:00
a8daf3ff4f [*] Minor failover fix (Nt delete on close) 2023-07-29 09:48:18 +01:00
9ce4e08d36 [+] IFileStream::GetHandle() 2023-07-29 09:13:43 +01:00
7e2aa2de3d [+] AuIO::IIOHandle 2023-07-29 08:02:47 +01:00
0cf38d5fcd [*] Fix: IPC test fails on Windows 7 2023-07-28 17:54:30 +01:00
7fa0a52e2c [*] Fix FS Watcher under Windows XP -> Windows 7 2023-07-28 14:20:45 +01:00
d45dc977d8 [*] NT: Further reduce Win32 link-time requirements cont (1948dd0c) 2023-07-24 12:48:42 +01:00
1948dd0c1a [*] Further reduce Win32 link-time requirements 2023-07-24 07:17:08 +01:00
4d1201a4c1 [+] EStreamForward::eNewConsoleWindow
[*] NT: Improve the selection of flags used when spawning processes
[*] NT: Caught regression in NTs FS/generic transaction IsSignaled
2023-07-06 13:44:32 +01:00
ca2c0462ab [*] Continue to refactor allocations of synchronization primitive away
[*] NT: Fix missing CoTaskMemFree leak on startup
[*] Fix ConsoleStd restart bug
2023-06-28 10:33:12 +01:00
1fa433540b [*] Experimental lower-latency IO pipes
[*] revert win32 net tx hardening - do not use the Reset function to null pSocket
[*] fix a bytebuffer circular buffer path
[*] update how TLS protocol stacks can snap the stack
2023-05-11 16:05:00 +01:00
2fdf730263 [*] Stats now return nanoseconds timestamps 2023-05-03 08:57:21 +01:00
30b0c2e0ba [*] Preemptive GetOverlappedResult fast-paths under WaitMultiple2 that rely on the alertable yield under next read/write cannot be trusted if the read count is zero.
Direct IO-specific quirk?
Windows 7 specific quirk?
Direct IO under Win7 specific quirk?
idk, but this fixes it
2023-04-26 07:25:45 +01:00
00129255f8 [*] changed this to be a soft-failure 2023-04-19 04:03:49 +01:00
53a29a6c13 [*] flag consistency 2023-04-16 23:41:06 +01:00
4cac821fbb [+] Added critical log level
[*] Fix win32 DELETE bug
2023-04-16 23:38:31 +01:00
a550a6f58f [*] Harden normalize path 2023-03-05 09:16:09 +00:00
f43251c8fc [+] AuNet::ISocketChannelEventListener
[+] AuFS::UpdateTimes
[+] AuFS::UpdateFileTimes
[+] AuFS::CompressEx
[*] AuFS::Compress now rejects files that look to be already compressed
[+] AuFS::DecompressEx
[+] AuFS::Create
[+] AuFS::WriteNewFile
[+] AuFS::WriteNewString
[+] AuFs::FileAttrsList
[+] AuFs::FileAttrsGet
[+] AuFs::FileAttrsSet
[+] DirectoryLogger::uMaxLogsOrZeroBeforeCompress
[+] ISocketChannel.AddEventListener
[+] ISocketChannel.AddEventListener
[+] DirectoryLogger.uMaxLogsOrZeroBeforeCompress
[*] Fix UNIX regression
[*] Fix up stream socket channel realloc IPC
[*] Fix shutdown regression in pretty much everything thanks to 8ff81df1's dumbass fix
    (fixes fence regression on shutdown)
[*] Fix DirDeleterEx formatting of reported failed paths
[*] Fix up file not truncated if already exists bugs. Extended and alternative apis added.
[*] Fix ICompressionStream::ReadEx returning the wrong read value
[+] Legacy compression API can now self-correct once newer stream processor objects are added
2023-02-04 19:43:01 +00:00
2474566d80 [*] two hotfixes 2023-01-29 23:03:54 +00:00
04aca5fcf2 [+] Aurora::IO::Net::NetSocketConnectByHost
[+] Aurora::IO::FS::DirDeleterEx
[+] Aurora::IO::Compress
[+] Aurora::IO::Decompress
[*] Aurora::Memory::ByteBuffer zero-alloc fixes
[*] Aurora::Memory::ByteBuffer linear read of begin/end should return (`const AuUInt8 *`)'s
[*] Changed NT file CREATE flags
[*] Fix linux regression
[*] Update logger sink DirLogArchive
... [+] DirectoryLogger::uMaxLogsOrZeroBeforeDelete
... [+] DirectoryLogger::uMaxCumulativeFileSizeInMiBOrZeroBeforeDelete
... [+] DirectoryLogger::uMaxCumulativeFileSizeInMiBOrZeroBeforeCompress
... [+] DirectoryLogger::uMaxFileTimeInDeltaMSOrZeroBeforeCompress
... [+] DirectoryLogger::uMaxFileTimeInDeltaMSOrZeroBeforeDelete
[*] FIX: BufferedLineReader was taking the wrong end head
(prep) LZMACompressor
[*] Updated build-script for LZMA (when i can be bothered to impl it)
(prep) FSOverlappedUtilities
(prep) FSDefaultOverlappedWorkerThread | default worker pool / apc dispatcher / auasync dispatcher concept for higher level overlapped ops
(stub) [+] Aurora::IO::FS::OverlappedForceDelegatedIO
(stub) [+] Aurora::IO::FS::OverlappedCompress
(stub) [+] Aurora::IO::FS::OverlappedDecompress
(stub) [+] Aurora::IO::FS::OverlappedWrite
(stub) [+] Aurora::IO::FS::OverlappedRead
(stub) [+] Aurora::IO::FS::OverlappedStat
(stub) [+] Aurora::IO::FS::OverlappedCopy
(stub) [+] Aurora::IO::FS::OverlappedRelink
(stub) [+] Aurora::IO::FS::OverlappedTrustFile
(stub) [+] Aurora::IO::FS::OverlappedBlockFile
(stub) [+] Aurora::IO::FS::OverlappedUnblockFile
(stub) [+] Aurora::IO::FS::OverlappedDelete
2023-01-26 21:43:19 +00:00
bf8c1eb8c7 [+] AuFS::TrustFile
[+] AuFS::UnblockFile
[+] AuFS::TrustFile
[*] Fixup UNIX open logic a bit

(amended. i did not mess up octals >:( )
2023-01-25 16:50:53 +00:00
d4dfe22c6c [+] Always expand directory tree when attempting to copy or move files, just like every other FIO create operation.
[*] ~~Fix improper yield BlockUntilComplete on NewFence~~, kind of, not really. Wasn't really a bug. Might've introduced more overhead. Might revert.
2023-01-23 21:18:58 +00:00
a1e77a471b [*] Dumb path bug 2022-12-21 14:27:26 +00:00
9ce314a838 [*] Linux DirMks shall copy the stat of the parent dir before assuming 775.
[*] Added missing null allocation checks under linux net adapter list
2022-12-17 15:37:46 +00:00
f0fcec0cb7 [+] _CLOEXEC on F-tier operating systems predating SMP and processes 2022-12-16 03:48:04 +00:00
766be57a46 [+] Linux build [again]
[+] ProcessSectionViewReserved.Unix.cpp
[*] Fix missing ::Flush() member on ViewWriter
2022-12-16 00:41:01 +00:00
c79a20c7fe [*] i hate object cache 2022-12-14 07:12:43 +00:00
bb9c383aee [+] ICompressionInterceptor::LimitPassthroughOnOverflow
[+] IOPipeRequest::uMinBytesToRead
[+] (secret api intended for unix users) AuIO::NewLSOSHandleEx
[*] Fix quirks when running Gtk under an io processor
...CtxYield shouldn't spin while work (improper breakout on remote update)
[*] EFileOpenMode::eWrite should assume O_CREAT semantics making eReadWrite somewhat redundant. OpenWrite + eWrite should reasonably work with file-appends. it should not mean force create + cucked GetLength().
2022-11-20 10:31:13 +00:00
033f7e2453 [+] Aurora::Crypto::X509::CertRequest
[+] Aurora::Crypto::X509::GenerateCertificate
[*] Fix lazily copied gen1 RSA code
[+] Aurora::Crypto::ECC::EECCCurve::eCurveSECP256R1
[+] Aurora::Crypto::ECC::EECCCurve::eCurveSECP256K1
[+] Aurora::Crypto::ECC::EECCCurve::eCurveSECP384R1
[+] Aurora::Crypto::ECC::EECCCurve::eCurveSECP521R1
[*] Unfuck ECC interop
[*] Tls pinning: use mbedtls_ssl_conf_verify for tls1.3 (when mbedtls is in a better state)
2022-11-18 21:03:11 +00:00
745b9f974a [+] ByteBuffer::WriteFromEx
[+] ByteBuffer::WriteFrom
[*] Fix known path resolution quirks and missing compression staged change
[+] ICompressionInterceptor::LimitHasHit
[+] ICompressionInterceptor::LimitReset
[+] ICompressionInterceptor::LimitSet
[+] ICompressionInterceptor::LimitGetIndex
2022-11-07 22:46:35 +00:00
07fd9f19f8 [+] NewProtocolStackFromPipe([...], bool bAutoTick)
[+] IOPipeRequestAIO::uStartOffset
[*] Fix Zstd frames being finicky
[*] Fix compression interceptor invalid weak reference to pipe that
[*] Fix WinFileStream::GetOffset using wrong enumeration
[*] Null ByteBuffer flags on init bc not all operators and constructors account for them
[will prevent bugs in the future]
2022-11-07 13:34:28 +00:00