Commit Graph
132 Commits
Author SHA1 Message Date
Viktor Liu f1a5538840 Map uinput keysyms and typed text through the console's active keymap, and cover the keypad, lock and AltGr keysyms 2026-09-23 08:23:18 +02:00
Viktor Liu 3cc3da41c1 Open the FreeBSD framebuffer read-only and decode depth-24 as 32-bit storage, validate X11 byte order and visual masks, honour destination stride, and drop the cached frame on close 2026-09-23 08:16:15 +02:00
Viktor Liu 47c51fa3c4 Keep Windows input state per session, reject unmappable VkKeyScanA results, queue clipboard and paste reliably, and deselect the GDI bitmap before deleting it 2026-09-23 08:12:31 +02:00
Viktor Liu ff4d6928f7 Fix macOS input permissions, Caps Lock, scroll and layout-independent typing, reconnect the X11 injector, and release VNC resources when start fails 2026-09-23 08:07:11 +02:00
Viktor Liu 9b0a3d3b29 Hand the macOS agent token over stdin, refuse a pre-existing SAS event, bound session writes, and stop the service agent after handlers drain 2026-09-23 07:43:28 +02:00
Viktor Liu 574e68a9e6 Harden the xauth traversal walk against symlinks, keep the runtime dir readable, and enable SeIncreaseQuotaPrivilege for agent spawning 2026-09-22 21:09:53 +02:00
Viktor Liu d0e705bb25 Make the agent token-leak assertion able to fail 2026-09-22 21:06:07 +02:00
Viktor Liu 8f06a43d93 Fix gosec bounds in the byte swizzle, drop the now-unused releaseCapture, and make the SSH and approval-reuse tests actually exercise their paths 2026-09-22 21:03:30 +02:00
Viktor Liu 90450bd83b Frame the VNC session metrics explicitly instead of inferring updates from payload bytes 2026-09-22 20:14:53 +02:00
Viktor Liu 88dbac029e Order macOS pointer events by the previous button state, scale the cursor position into framebuffer pixels, and escalate crash cleanup to SIGKILL 2026-09-22 20:10:15 +02:00
Viktor Liu a5c146ccda Restore Windows privileges on shutdown, refuse approval on a locked session, and stop sessions reading a recycled capture buffer 2026-09-22 20:05:54 +02:00
Viktor Liu b703eb4409 Support scroll wheel and the missing modifier keysyms on uinput, and keep X11 capture when XTest is absent 2026-09-22 19:58:14 +02:00
Viktor Liu d1d8c19fc7 Retry a transient cursor-source failure and stop reporting stale framebuffer geometry 2026-09-22 19:56:19 +02:00
Viktor Liu 67c786b4f4 Report the MDM VNC keys to the UI and bound the copyrect tile-hash map 2026-09-22 19:53:43 +02:00
Viktor Liu 24f832e032 Fix big-endian pixel swizzle, closed-capturer panic on FreeBSD, and the macOS agent socket dir symlink race 2026-09-22 19:50:21 +02:00
Viktor Liu 2f03ea4051 Copy authorization slices on update, drain queued input on close, and drop input when the desktop switch fails 2026-09-22 19:46:36 +02:00
Viktor Liu 921aa2b543 Refuse ambiguous X11 display selection, harden the xauth temp file, and reset the service-agent latch on restart 2026-09-22 19:34:11 +02:00
Viktor Liu c622075088 Carry the VNC authorization across a listener rebind 2026-09-09 09:23:58 +02:00
Viktor Liu 8e0f8d02d0 Retry VNC accept on transient connection and resource errors 2026-09-03 10:05:09 +02:00
Viktor Liu 410faf9db0 Say whether an approval was refused, unanswered, or never shown 2026-08-31 15:15:37 +02:00
Viktor Liu e54fbe7023 Stop retrying an Accept that will not recover 2026-08-31 15:10:13 +02:00
Viktor Liu 89aafa16eb Describe the approval no-match result and the cursor-skip key as they behave 2026-08-30 05:56:59 +02:00
Viktor Liu 8389211aa2 Refuse an ambiguous X display and settle the approval timeout race under one claim 2026-08-29 17:25:02 +02:00
Viktor Liu c49727fb73 Attach to the X server on the active VT and keep a retryable DXGI frame from tearing down the capturer 2026-08-29 16:59:05 +02:00
Viktor Liu ab3d72660d Keep DXGI on an idle desktop, honour the FreeBSD pitch when swizzling, close the handler-drain race 2026-08-29 16:25:07 +02:00
Viktor Liu 5b46753f1d Reject an unsupported VNC session id and say why a cursor rect was skipped 2026-08-29 16:09:47 +02:00
Viktor Liu 7781d1cb7a Require a real first DXGI frame and read the FreeBSD framebuffer at its true pitch 2026-08-29 15:51:19 +02:00
Viktor Liu 0adf5ca70d Authenticate the daemon and its VNC agent to each other without sending the token 2026-08-29 15:45:09 +02:00
Viktor Liu bba7acaafa Encode one framebuffer update at a single negotiated pixel format 2026-08-29 13:56:54 +02:00
Viktor Liu 424951c046 Scope crash recovery to Linux, drain connection handlers before teardown 2026-08-29 13:43:12 +02:00
Viktor Liu 32b3016589 Honour the negotiated pixel format for the cursor, enqueue key edges reliably, drop racy test writes 2026-08-29 12:40:14 +02:00
Viktor Liu b56da75718 Stop narrowing the shared runtime dir, close the injector on stop, allowlist VNC metrics 2026-08-29 10:29:17 +02:00
Viktor Liu 5ba3de375b Compare cursor serials by identity so returning to an earlier cursor updates 2026-08-29 10:25:09 +02:00
Viktor Liu ec320278e3 Collect auth requirements for bidirectional source peers and fix follow-up review findings 2026-08-29 09:57:07 +02:00
Viktor Liu 1c10c19d45 Persist virtual session processes for crash recovery and identify them by start time 2026-08-29 09:48:45 +02:00
Viktor Liu 42450dbfbe Make session key authorization atomic, unblock the encoder on teardown, drop agent privileges unconditionally 2026-08-29 09:12:33 +02:00
Viktor Liu 8b719f0b4e Resolve VNC authorized users on the components path and fix uinput, X11 and macOS input gaps 2026-08-29 09:04:02 +02:00
Viktor Liu a126479ec5 Accept bare marker protocols, reject msb_right framebuffers, split the policy row conversion 2026-08-29 08:24:36 +02:00
Viktor Liu 1e923ccb31 Fix framebuffer layout handling, capturer lifecycle and macOS pointer state races 2026-08-27 21:08:20 +02:00
Viktor Liu ab472f572d Close view-only input, approval-responder and inbound-block gaps in the VNC path 2026-08-27 21:07:03 +02:00
Viktor Liu e426401941 Split the status summary into per-section helpers and scope retrackConn to service mode 2026-08-27 19:49:39 +02:00
Viktor Liu 47d8f912e5 Address review findings on the VNC server, session auth and capture decoder 2026-08-27 18:33:52 +02:00
Viktor Liu a7de70691b Stamp modifiers on injected macOS key events so shifted input works 2026-08-07 16:04:23 +02:00
Viktor Liu e95365f8b1 Recycle the macOS VNC agent per connection so permission prompts work 2026-08-07 15:59:45 +02:00
Viktor Liu ed1fb4b309 Ask for Screen Recording from the agent and Accessibility on first input 2026-08-06 12:56:25 +02:00
Viktor Liu 6781cd74bb Fail fast when no console session exists and keep the SAS value type 2026-08-06 10:40:16 +02:00
Viktor Liu 2b0b6abfde Draw inverted monochrome cursor pixels so the text caret is visible 2026-08-03 10:07:53 +02:00
Viktor Liu eb26ecb669 Wait for the Windows VNC agent to respawn instead of refusing the connection 2026-08-03 09:31:27 +02:00
Viktor Liu add0561909 Treat an unreadable SoftwareSASGeneration as unknown rather than absent 2026-07-31 21:07:19 +02:00
Viktor Liu ae20413a1f Move the service agent accessor to the platforms that have one 2026-07-31 19:23:26 +02:00