v0.0.25 - Add --allow-all flag and short aliases for CLI options

This commit is contained in:
Laan Tungir
2026-05-06 12:09:08 -04:00
parent cca1254740
commit f4413b7969
27 changed files with 1190 additions and 95 deletions

View File

@@ -49,6 +49,16 @@ Still missing for complete Qubes integration:
- qrexec policy in dom0 remains first enforcement boundary.
- `n_signer` policy/approval remains second boundary.
### 3.4 Optional per-program identity inside one qube (`--auth optional`)
qrexec now supports an optional auth-envelope layer:
- `nsigner --listen qrexec --auth off` (default): identity remains `qubes:<source-vm>`.
- `nsigner --listen qrexec --auth optional`: if a caller includes a valid auth envelope, identity becomes `qubes:<source-vm>+pubkey:<hex>`.
- `nsigner --listen qrexec --auth required`: all requests must carry valid envelopes and identity is always `qubes:<source-vm>+pubkey:<hex>`.
This enables per-program approvals inside a single caller qube while preserving existing behavior for legacy callers that do not emit auth envelopes.
---
## 4. Required implementation tasks
@@ -102,6 +112,12 @@ In qrexec mode, default prompt behavior is now:
This replaces the previous permissive `PROMPT_NEVER` temporary setting.
If qrexec auth envelopes are enabled (`--auth optional` or `--auth required`), approved callers can also be recorded as composite identities:
- `qubes:<vm>+pubkey:<hex>`
This gives independent approval rows for distinct programs running in the same source qube.
## 4.4 Client helper examples ✅ Implemented
Added:
@@ -135,6 +151,7 @@ Includes:
- from caller qube, invoke test request (`get_public_key`)
- confirm signer qube receives request
- confirm activity log displays `qubes:<source-vm>` caller prefix
- with `--auth optional`, confirm envelope-enabled clients show `qubes:<source-vm>+pubkey:<hex>`
- validate deny behavior from unauthorized qube
## 5.4 Failure checks