registrystack / registrystack/registry-stack
bregctl refuses symlinked destinations such as macOS /tmp without naming the symlink
- 主要言語
- Rust
- スター
- 2
- フォーク
- 0
- 平均マージ
- 2時間 55分
- マージ済み PR(30日)
- 130
説明
Found while writing the public tutorial `Review BReg changes in Casework`.
## What Happened
`bregctl dev export-client --output ` refused a destination under `/tmp` on macOS:
```
path traverses a symbolic link
```
`/tmp` is a symlink to `/private/tmp` on macOS, so any temporary directory fails. `bregctl init` refuses the same destinations for the same reason (`crates/registry-bregctl/src/safe_path.rs`).
## Expected Behavior
If refusing symlinked paths is deliberate (it looks like a safety rule for files holding credentials), the message should name the component that is a symlink and the resolved path, so a macOS reader knows to use `/private/tmp` or a directory under `$HOME`. If it is not deliberate, canonicalise the destination parent before the check.
## Environment
Registry Stack 0.30.0 release binaries, macOS.
Triage: later.
コントリビューションガイド
調査の方向性
Start with crates/registry-bregctl/src/safe_path.rs and reproduce the failure using bregctl dev export-client and bregctl init with a destination under macOS /tmp. Determine whether rejecting symlinked paths is intentional; done means either the error names the symlink and resolved path, or the destination parent is canonicalised before checking.
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- rust
- 領域
- cli, security
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 活発
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 68/100