registrystack / registrystack/registry-stack

bregctl refuses symlinked destinations such as macOS /tmp without naming the symlink

オープン
#1,007 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
agent-ready area:breg criticality:p3 enhancement
主要言語
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

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。