Fixes#1886 (F3 defect l). On an instance with no <configDir>/secrets/agents, adding an agent with a store credential left the bus unable to start, failing with credential-file. The cause: Credentials refuses a missing store root, and only issue() created it, which needs a running bus.
The fix: at bus start, the runtime now creates the root with mode 0700, the same way issue() does. It only does this when some reference has store: true. Credentials' own refusal is unchanged (credential-store T1), and a root with loose modes or that is a symlink still refuses.
Tests:
Two new credential-verbs tests. The creation test fails on the parent with credential-file.
All 171 bus test files, run one at a time: 1713 pass, 0 fail.
After rebasing onto 03fe321b1, credential-verbs is 4/0 and requirements is 3/0.
Review: one Sol round approved it with 0 findings (reports/defectl-review.md). It ran 40 checks, and the parent reproduced the original refusal.
Fixes #1886 (F3 defect l). On an instance with no `<configDir>/secrets/agents`, adding an agent with a store credential left the bus unable to start, failing with `credential-file`. The cause: Credentials refuses a missing store root, and only `issue()` created it, which needs a running bus.
The fix: at bus start, the runtime now creates the root with mode 0700, the same way `issue()` does. It only does this when some reference has `store: true`. Credentials' own refusal is unchanged (credential-store T1), and a root with loose modes or that is a symlink still refuses.
Tests:
- Two new credential-verbs tests. The creation test fails on the parent with `credential-file`.
- All 171 bus test files, run one at a time: 1713 pass, 0 fail.
- After rebasing onto 03fe321b1, credential-verbs is 4/0 and requirements is 3/0.
Review: one Sol round approved it with 0 findings (`reports/defectl-review.md`). It ran 40 checks, and the parent reproduced the original refusal.
Adding an agent with a store credential on an instance with no
<configDir>/secrets/agents left the bus unable to start
(credential-file): Credentials refuses a missing store root, and only
issue() made it, which needs a running bus. Start now makes the root
(0700) the same way issue() does, only when some reference has
store: true. Credentials' own refusal (credential-store T1) is unchanged,
and a root with loose modes or a symlink still refuses start.
Tests: two new credential-verbs tests; the creation test fails on
483eccb3d with credential-file. All 171 bus test files run one at a
time: 1713 pass, 0 fail.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Fixes #1886 (F3 defect l). On an instance with no
<configDir>/secrets/agents, adding an agent with a store credential left the bus unable to start, failing withcredential-file. The cause: Credentials refuses a missing store root, and onlyissue()created it, which needs a running bus.The fix: at bus start, the runtime now creates the root with mode 0700, the same way
issue()does. It only does this when some reference hasstore: true. Credentials' own refusal is unchanged (credential-store T1), and a root with loose modes or that is a symlink still refuses.Tests:
credential-file.03fe321b1, credential-verbs is 4/0 and requirements is 3/0.Review: one Sol round approved it with 0 findings (
reports/defectl-review.md). It ran 40 checks, and the parent reproduced the original refusal.