api: commit-pack refuses permission-style file modes that upstream normalizes

Aberta
#806 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
49/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
go
Domínio
api

Direção de pesquisa

Start with internal/api/handlers_write_commit.go:506 and inspect wcValidModes and the commit-pack handler. Trace diff-commit and every other route that accepts FileOperation.mode to compare their validation paths. Normalize the four documented forms before validation, preserve current behavior for other modes, and confirm the affected requests are accepted while other mode responses stay unchanged.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

Problem

Spec 5d8e1801 says commit-pack stores 644 and 100664 as 100644, and 755 and 100775 as 100755. We answer 400 for all four (wcValidModes, internal/api/handlers_write_commit.go:506).

Desk decision

Normalize exactly those four forms before validation. Every other mode keeps its current answer. Check diff-commit and every other route that takes FileOperation.mode.

Severity

Medium: valid upstream requests fail.

Upstream audit 2026-11-12, evidence 2026-11-12-1159UTC. Docs spec 5d8e1801 (ETag W/"8GUlAlKU8eko7Rr2", Last-Modified 2026-11-10 22:29:59 GMT). The cluster still serves ee8092bf, so this is documented drift, not a proven deployment (#234 rule: adopt what the docs publish). SDK 0.1.1 (Nov 10) and 0.1.2 (Nov 11) shipped on npm, PyPI and Go; their route list and token minting are unchanged from 0.1.0.


Generated with xum • Model: anthropic:claude-opus-5-5 • Thinking: medium

Linguagem predominante
Go
Estrelas
0
Forks
0
Merge médio
6h 16min
PRs com merge (30d)
243

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de coder/openstorage

Todas as issues de coder/openstorage

Issues semelhantes

Mais issues de Go

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.