Skip to content

fix(paroche): authenticate endpoints, SSRF guard, real pagination, transactional writes - #483

Merged
forkwright merged 1 commit into
mainfrom
fix/paroche-api-server
Jul 1, 2026
Merged

fix(paroche): authenticate endpoints, SSRF guard, real pagination, transactional writes#483
forkwright merged 1 commit into
mainfrom
fix/paroche-api-server

Conversation

@forkwright

Copy link
Copy Markdown
Owner

Closes #361, #372, #373, #374, #375, #457.

Changes

Verification

kanon gate --full green (fmt, check, advisory-parity, cargo-deny, clippy workspace, nextest, kanon lint). SSRF guard has unit + integration coverage; auth-rejection and rollback paths tested.

Follow-ups filed

#477 (Subsonic song-attach unreachable via serde_urlencoded — surfaced writing the #457 tests), #479 (SSRF hardening residuals: DNS-rebinding, IPv4-compatible-IPv6, magnet-tracker DNS).

…ansactional writes

- #361: authenticate all zone-management handlers — RequireAdmin for
  topology mutations (create/delete zone, add/remove member),
  AuthenticatedUser for reads and playback control.
- #373: gate enqueue_download to admin-only and validate download_url
  against SSRF (new net_validate.rs: http(s) hosts are DNS-resolved and
  every resolved address is range-checked; magnet trackers validated).
- #374: constant-time KOSync credential comparison via subtle.
- #372: real pagination in list_tracks — apotheke search_tracks gains
  LIMIT/OFFSET and a count_tracks sibling; total reflects the full match.
- #375: delete_user soft-deletes (deactivate + delete refresh tokens +
  revoke api keys) and returns 404 for unknown ids, instead of a no-op 204.
- #457: wrap subsonic create_playlist and sibling write sites in a single
  transaction and propagate INSERT errors.

Closes #361
Closes #372
Closes #373
Closes #374
Closes #375
Closes #457

Gate-Passed: kanon 0.1.5 +stages:fmt,check,clippy,nextest,lint sha:6be909d1b6a94cec9961d9573a742ffe1f00f9be
@forkwright
forkwright merged commit 7faa6ca into main Jul 1, 2026
11 checks passed
@forkwright
forkwright deleted the fix/paroche-api-server branch July 1, 2026 22:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

All zone management endpoints are unauthenticated

1 participant