aria2, through c-ares, takes its DNS servers from each adapter's
FirstDnsServerAddress list, which Raven left empty, so name resolution
failed with "Could not contact DNS servers". Every adapter but the loopback
one now lists the nameservers of the host's resolver configuration, as
IP_ADAPTER_DNS_SERVER_ADDRESS records, unless GAA_FLAG_SKIP_DNS_SERVER asks
for none.
Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: the DNS server records
(cherry picked from commit d312173201493c6be172c9aaa3cb124d8b7b7b1c)
* feat: give console programs the terminal as their console
A standard handle that is a terminal, and CONIN$, CONOUT$ and CON, now act as a console: modes map to terminal settings,
reads and writes convert between UTF-16 and the terminal's UTF-8, terminal input becomes key events, and Ctrl+C runs the
control handlers. Files and pipes still fail the console functions, as on Windows.
Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Wrote the console functions over the terminal, their pty test and the guest test program from the public console API documentation.
* test: let the console client run by hand, saying which step failed
Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Made the exact size and cursor checks optional and gave each step an instruction and a failure number.
* feat: follow the console cursor through the output instead of asking the terminal
Programs that redraw their command line read and move the cursor on every key; asking the terminal each time was slow, and
wrong on terminals that never answer. The terminal is now asked only when the position may be stale.
Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Wrote the cursor tracker, WriteConsoleOutputCharacter, ScrollConsoleScreenBuffer, the resize events and their tests.