7 Commits

Author SHA1 Message Date
dutchpsycho 3bcfe1cccd clang: formatted 2026-05-06 09:32:58 +10:00
dutchpsycho 5a3d5122f6 controller/netsvc: make network service launcher optional 2026-05-06 09:11:08 +10:00
dutchpsycho 14123cc20a controller/runtime: split service runtime and symbols 2026-05-06 09:11:08 +10:00
dutchpsycho 8233d87928 controller/runtime: port controller runtime, node runtime, and symbol service to C++
Replace Blackbird_controller_runtime.c, blackbird_controller_node_runtime.c, and
blackbird_controller_symbol_service.c with runtime.cpp, node_runtime.cpp, and
symbol_service.cpp respectively. Node-runtime thread management uses std::thread
and the symbol service uses std::string for path handling. Refs #11.
2026-04-17 11:00:00 +00:00
dutchpsycho 5a2f4dd851 controller/ipc: persist interface auth and preserve hook call stacks
Two regressions landed in the same control path.

First, interface authentication was bound to the transient control client that
issued MarkInterfaceReady. Follow-on handles from the same interface process
were treated as unauthenticated and immediately hit ACCESS_DENIED, which broke
OpenControlDevice and later controller calls even when the interface was the
trusted client.

Second, usermode hook events were published into the ETW transport with the
origin address but with StackCount zeroed, so the controller/UI stack chain
collapsed before symbol enrichment could do any useful work.

Restructure the controller side to keep the auth chain and hook evidence intact:
- persist the authorized interface process/session after MarkInterfaceReady
- allow later control handles from that same trusted interface session to
  resume authenticated access
- accept both published and repo-build interface paths when establishing trust
- carry captured hook stack frames into the mapped ETW event instead of
  discarding them
- prime and symbol-enrich every captured frame up to the ETW stack limit

This restores the expected control-device handshake while also keeping caller
origin and stack evidence available to downstream analysis surfaces.
2026-04-08 15:42:00 +10:00
dutchpsycho d34404c95e hook/runtime: harden controller bootstrap and prune legacy IPC 2026-04-13 14:55:19 +10:00
dutchpsycho b5a1526529 Fix project paths after source tree rename 2026-04-03 14:23:15 +10:00