13 Commits
Author SHA1 Message Date
Raymond Bennett f6d16c5793 fix: look for a program in the folders of PATH in CreateProcess
CreateProcess with no application name looked for the program of its
command line in the caller's folder, the current folder, System32 and the
Windows folder, but never in PATH, where Windows looks last (after the
16-bit System folder, also added). Nim starts gcc.exe that way and could not
build anything. The folders of PATH come from one place now, which the
library search already used.

Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: the program search of CreateProcess
(cherry picked from commit f1d78cb8c699516f471e44c81252c65f9c896f58)
2026-10-30 08:25:23 -07:00
Raymond Bennett f81d169617 fix: read the environment block CreateProcess is given a page at a time
CreateProcessW read the caller's environment block in 4096-byte pieces from
its start, so a block that ends less than a page before unmapped memory
failed the call with ERROR_NOACCESS. Zig hit this when it started its
linker. The block is now read up to each page boundary, as strings are.

Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: the environment block reader
(cherry picked from commit 0cd1074ec232ef2824f0eefb7ed69d3b78d1f8ec)
2026-10-29 01:30:24 -07:00
Raymond Bennett ef953e9325 feat: start console programs on the terminal and give every prefix a cmd.exe
A console program started from a terminal gets it as its console without --stdio=inherit. CreateProcess runs .bat and .cmd
files through cmd /c, as Windows does. The console code pages start as UTF-8, since Raven has no table for code page 437.

Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Wrote the subsystem check, the batch-file launch, a first command processor from Microsoft's public cmd documentation and its test.
2026-10-27 23:19:39 -04:00
mirkobrombin 44a593867c feat: run an SSH client's terminal and file transfer windows 2026-10-26 23:13:38 +00:00
mirkobrombin 0a0fe4be89 feat: add shared Windows process state and parallel guest execution 2026-10-24 16:24:23 +00:00
Mirko Brombin 98503c2c88 feat: serve what framework setups run: unquoted program paths, read-only folders, service settings, counter names and bounded formatting 2026-10-03 10:22:11 +00:00
Mirko Brombin 85af42cba5 feat: end a process through its own handle, detach libraries as a load and add the C runtime calls Paint.NET reaches 2026-09-23 16:34:21 +00:00
Mirko Brombin 7bd5507188 feat: add the Rtl SID helpers, MakeSelfRelativeSD, the token pseudo handles, CreateProcessAsUserW, CoCreateGuid and the forced debug data of critical sections 2026-09-21 06:06:44 +00:00
Mirko Brombin ead54d6b10 feat: run Google Chrome with NT object queries, COM apartments, file completion ports and SDDL descriptors 2026-09-03 21:44:05 +02:00
Mirko Brombin 26fbeabc78 feat: run Steam's web UI with cross-process handles, per-thread message queues, socket events and process identity 2026-09-03 16:48:12 +02:00
Mirko Brombin 66087052d8 feat: run Chromium's helper processes with DirectWrite, named pipes, jobs, inherited handles and shared sections 2026-09-03 06:06:54 +02:00
Mirko Brombin 966069f911 feat: run Steam to its web helper with real sockets, TLS chains, child environments and image protection 2026-09-03 02:50:56 +02:00
Mirko Brombin a7256dafac feat: run the Steam installer to Finish with child processes, shell links and sockets 2026-09-03 01:15:07 +02:00