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

Offen
#806 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
49/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
go
Bereich
api

Rechercherichtung

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.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

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

Vorherrschende Sprache
Go
Sterne
0
Forks
0
Ø Merge
6 Std. 16 Min.
Gemergte PRs (30 T.)
243

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus coder/openstorage

Alle Issues in coder/openstorage

Ähnliche Issues

Weitere Issues zu Go

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.