Skip to content

Keep Herdr reachable when Windows elevation is involved - #68

Merged
dibin666 merged 2 commits into
masterfrom
windows-elevated-herdr
Oct 14, 2026
Merged

dibin666 merged 2 commits into
masterfrom
windows-elevated-herdr

Conversation

@dibin666

Copy link
Copy Markdown
Owner

From Herdr 0.9.4 a Windows server started as administrator admits only administrator clients.

  • An unelevated connector refused by an elevated Herdr now gets herdr_elevated with a message that says how to fix it (ordinary terminal, or [server] allow_unelevated_clients = true), instead of a bare connect EPERM.
  • When herdr-remote itself runs elevated (the keep-alive Windows service) and Herdr is 0.9.4+, the server it starts gets --allow-unelevated-clients, so the user's own terminal is not locked out — the behaviour of every earlier Herdr.

Not exercised on a real Windows machine; covered by unit tests with injected whoami output and connect errors.

From Herdr 0.9.4 a Windows server started as administrator admits only
administrator clients. A connector that is not elevated then got a bare
"connect EPERM \\.\pipe\..." in the browser, which names neither the cause
nor the fix. Access denied on the pipe now comes back as herdr_elevated, and
the message says to start Herdr from an ordinary terminal or to set
allow_unelevated_clients under [server] in Herdr's config.
From Herdr 0.9.4 a Windows server started as administrator admits only
administrator clients. herdr-remote runs as administrator under its
keep-alive Windows service, so a Herdr it started there turned the user's own
terminal away, although the server is meant to be theirs. When its token has
High or System integrity and Herdr is 0.9.4 or later, it now starts
`herdr server --allow-unelevated-clients`, which admits them as every earlier
Herdr did. An older or unreadable Herdr gets no flag, since one that does not
know it would refuse to start.
@dibin666
dibin666 merged commit 3caf518 into master Oct 14, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant