cmux/Sources
Lawrence Chen 51a67e31fd
Socket access control: process ancestry check (#58)
* Socket access control: process ancestry check + file permissions

Redesign socket control modes from (off, notifications, full) to
(off, cmuxOnly, allowAll):

- cmuxOnly (default): uses LOCAL_PEERPID + sysctl process tree walk to
  verify the connecting process is a descendant of cmux. External
  processes (SSH, other terminals) are rejected.
- allowAll: hidden mode accessible only via CMUX_SOCKET_MODE=allowAll
  env var, skips ancestry check. Legacy "full"/"notifications" env
  values map here for backward compat.
- off: disables socket entirely.

Security hardening:
- Server: chmod 0600 on socket after bind (owner-only access)
- CLI: stat() ownership check before connect (reject fake sockets)

Removes per-command allow-list (isCommandAllowed) — once a process
passes the ancestry check, all commands are available.

Includes migration for persisted UserDefaults values and env var
aliases (cmux_only, cmux-only, allow_all, allow-all).

* Add /sync-branch skill for submodule + main sync
2026-02-18 01:09:24 -08:00
..
Find Fix terminal keys swallowed after opening browser (#45) 2026-02-17 03:21:08 -08:00
Panels Browser searchbar bugs (#51) 2026-02-17 16:26:42 -08:00
Update Fix socket accept loop not restarted after Sparkle update relaunch 2026-02-17 22:00:47 -08:00
AppDelegate.swift Merge remote-tracking branch 'origin/main' into fix-file-drop-targeting 2026-02-17 22:12:26 -08:00
Backport.swift Polish browser suggestions, focus, and tagged reload flow 2026-02-14 21:33:28 -08:00
cmuxApp.swift Socket access control: process ancestry check (#58) 2026-02-18 01:09:24 -08:00
ContentView.swift Merge remote-tracking branch 'origin/main' into fix-file-drop-targeting 2026-02-17 22:12:26 -08:00
GhosttyConfig.swift Add cmuxterm CLI and socket control modes 2026-01-28 21:19:48 -08:00
GhosttyTerminalView.swift Use paste path for file drops and don't steal focus 2026-02-17 22:11:47 -08:00
KeyboardShortcutSettings.swift Fix terminal keys swallowed after opening browser (#45) 2026-02-17 03:21:08 -08:00
NotificationsPage.swift Fix frozen terminals after split churn (#12) 2026-02-13 16:45:31 -08:00
PostHogAnalytics.swift Add sidebar metadata (git branch, ports, logs, progress), fix localhost URL resolution, simplify analytics 2026-02-16 02:46:39 -08:00
SidebarSelectionState.swift Fix frozen terminals after split churn (#12) 2026-02-13 16:45:31 -08:00
SocketControlSettings.swift Socket access control: process ancestry check (#58) 2026-02-18 01:09:24 -08:00
TabManager.swift Release v1.36.0 (#47) 2026-02-17 04:04:29 -08:00
TerminalController.swift Socket access control: process ancestry check (#58) 2026-02-18 01:09:24 -08:00
TerminalNotificationStore.swift Polish browser suggestions, focus, and tagged reload flow 2026-02-14 21:33:28 -08:00
TerminalView.swift Add sidebar blur effect with withinWindow blending (#9) 2026-02-04 03:04:45 -08:00
UITestRecorder.swift Fix frozen terminals after split churn (#12) 2026-02-13 16:45:31 -08:00
WindowAccessor.swift Polish browser suggestions, focus, and tagged reload flow 2026-02-14 21:33:28 -08:00
WindowDecorationsController.swift Refine settings/about titlebar styling and controls alignment 2026-02-14 02:11:35 -08:00
WindowDragHandleView.swift Fix frozen terminals after split churn (#12) 2026-02-13 16:45:31 -08:00
WindowToolbarController.swift move update pill to sidebar only, add Install Update menu item 2026-02-15 21:17:33 -08:00
Workspace.swift Add "+" menu button to horizontal tab bar for new terminal/browser tabs (#48) 2026-02-17 14:59:24 -08:00
WorkspaceContentView.swift Add file drop support from Finder into terminal splits 2026-02-17 21:55:31 -08:00