Skip to content

Runtime: report leftover root-owned Browser host access as structured status for the launcher #429

Open

Description

@SashaMIT

Follow-up to #418 (decision Q3: the launcher shows this notice in plain language, through structured status, not by parsing stdout).

Today

On Linux, elastos setup calls earlier_linux_host_access from retire_host (elastos/crates/elastos-server/src/setup/browser_config.rs:356-360, function at :384, on #418's branch fix/browser-helper-leftover-notice). It finds Browser host access that an earlier release set up as root for this account (helper copy /usr/local/lib/elastos/browser-vm-linux-network.py, /etc/systemd/system/elastos-browser-network-<uid>.service, /etc/udev/rules.d/70-elastos-browser-kvm-<uid>.rules, /var/lib/elastos-browser/<uid>.json; written by scripts/browser-vm-linux-network.py configure, installed by scripts/install.sh prepare_browser_linux_host). The result is only a println! on stdout. The launcher runs elastos setup (elastos-launcher src/main/targets/runtimeInstall.ts:379, windowsRuntime.ts:353) and has no structured way to see it.

Why the Runtime first

The detection, including the trust checks #418 adds (lstat, root-owned, no group/other write, no links in any folder of the path, /usr/bin/python3 resolved through root-owned links), lives in the Runtime. The launcher must not copy those checks (one source of truth) and must not parse the English text (it changes, and parsing it is fragile). So the Runtime must emit the status before the launcher can show it.

Ask

Runtime:

Launcher (elastos-launcher, after the field exists):

  • Read the field, never stdout. Show one plain-language line, for example: "An earlier version of ElastOS set up Browser access on this computer. It is not in use. An administrator can remove it." When removable is true, offer a "Show how to remove" action that shows the Runtime's command. The launcher does not run sudo itself.
  • Linux only. Not shown on macOS or in WSL2 unless the field says so.

Out of scope

Removing the access automatically (needs root; P: least privilege).

Activity

  1. added this to the After 0.8.0 milestone on Oct 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions