Repository navigation
Support canonical service aliases and safely load client identity files - #225
Merged
Merged
Conversation
LIghtJUNction
marked this pull request as ready for review
September 30, 2026 20:57
|
You have reached your Codex usage limits for security reviews. Please try again later. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #216. Refs #221, #219, #80, #85.
A single instance can now serve explicitly allowlisted domain aliases while keeping its original signing authority, certificates, receipts, advertised links and client identity directory. Both ordinary HTTP and the PostgreSQL read-only hosting runtime validate exact Host/port syntax and the allowlist; browser platform Origin must match the selected ingress. Published static pages keep their existing CSP isolation.
Clients select the network destination with --endpoint, or SSH-style HostName plus ServiceURL, while signing for --server. All four operation transports, OAuth and signed previews use the selected endpoint, require the original discovery authority and refuse redirects. Secret-delivery checks use the actual endpoint. Backup/restore retains the alias policy and existing quarantine/configuration-proof behavior.
IdentityFile and primary identity keys share an owned, private, bounded, nonblocking no-follow reader. Unsafe modes, symlinks, FIFOs, directories and hardlinks are rejected; invocation keys are checked before client state/network initialization. Recovery CI now installs the sandbox required by doctor. Existing CLI, composition and homepage regressions use the current explicit service, OperationSpec and branding contracts while retaining their behavioral/security assertions.
Validation on head 8b4c2cd, test merge df21c18, tree 34a1e3dd310a58ee1e80bd023347867fe479733a:
Server/client and TLS/proxy examples are in docs/SERVICE_ALIASES.md and docs/CLIENT_CONNECTIONS.md. DNS, TLS, proxy configuration and production rollout remain separate operator steps. Broader acceptance issues retain their existing evidence requirements.