registrystack / registrystack/registry-stack
bregctl refuses symlinked destinations such as macOS /tmp without naming the symlink
- Ngôn ngữ chính
- Rust
- Star
- 2
- Fork
- 0
- Merge trung bình
- 2 giờ 55 phút
- Pull request đã merge (30 ngày)
- 130
Mô tả
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.
Hướng dẫn đóng góp
Hướng nghiên cứu
Bắt đầu với crates/registry-bregctl/src/safe_path.rs và tái hiện lỗi bằng cách sử dụng bregctl dev export-client và bregctl init với một đích bên dưới macOS /tmp. Xác định xem việc từ chối các đường dẫn liên kết tượng trưng có phải là chủ ý hay không; được xem là hoàn tất khi lỗi nêu tên liên kết tượng trưng và đường dẫn đã được phân giải, hoặc thư mục cha của đích được canonicalize trước khi kiểm tra.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- rust
- Lĩnh vực
- cli, security
- Loại issue
- Lỗi
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức độ hoạt động
- Sôi nổi
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 68/100