Repository navigation
fix(hls): preserve denied broadcast reference errors - #6495
Conversation
Propagate scoped-origin Unauthorized errors through rendition reads and return uncacheable HTTP 403 without reissuing the denied binding. Preserve allowed sibling playback and missing-media behavior. Co-Authored-By: GPT-6 <noreply@openai.com>
Use the private authorization guard for media reads while preserving timeline failure checks for listings. Cover retained init and segment draining alongside denied references. Co-Authored-By: GPT-6 <noreply@openai.com>
Co-Authored-By: GPT-6 <noreply@openai.com>
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 9 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 32f87b3439
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Main's announcement-following bindings no longer reissue a failed bind, so the denied-binding reissue guard and its unit test are dropped. A ranged playlist read now reports a denied reference before validating the range. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 58679a5761
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
A cursor over a denied rendition waited forever on its empty window. It now fails with the authorization error, including a refusal that lands while it waits. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 645e8387cd
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Keep the authorization checks from #6495 on the parsed segment id, and adapt its tests to the trimmed routes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Problem
A scoped origin may allow a catalog while denying a rendition's referenced broadcast. HLS discarded that existing typed authorization error and answered missing media or waited for readiness.
Approach
Propagate a denied binding's existing Unauthorized error through rendition playlist (ranged included), init and segment reads. Readiness settles on the refusal, and the HTTP router answers 403 with Cache-Control: no-store. Allowed sibling renditions keep serving. An authorization-only guard preserves retained media after an unrelated timeline failure. A pending media read also propagates a later refusal from its exact captured binding.
Impact
Error::Mux(moq_mux::Error::Moq(moq_net::Error::Unauthorized))reaches callers, including the segment cursor;MIGRATE.mddescribes the behavior.Decisions
Validation
just check: pass on d4b87d8.quest check --base origin/main: pass.just test interop --all: pass on 58679a5; the later commits only touch the HLS segment cursor.(Written by GPT-6, updated by Claude Opus 5.5)
🤖 Generated with Claude Code