open-standards/wai/http-conformance/cases/relist/wai-r2-dot-same.m3u8
Transaction Science b290c11d4b wai: a live chain re-anchors past the walk bound when ahead; bindings keyed by resolved URL, a gap never withdraws a segment, bindings retained for 256 revisions; corpus pins the walk's per-parent checks
- Past WALK_BOUND, a revision ahead of the head (its media sequence after its last
  complete segment greater) re-anchors the chain (reanchored): it becomes the head,
  the chain keeps its bindings, the revisions between are not signed. One not ahead is
  refused (playlist_receipt_walk_exceeded), so a stale or older revision never moves
  it back; the head fetched again is unchanged, however often. (§8.6)
- Bindings key a line by its URI resolved against the playlist's URL and normalized
  (RFC 3986 §5.2, §6.2.2; http_binding::uri, and an independent rfc3986_resolve in
  http_verify.py), so ./720/1201.0.wai is 720/1201.0.wai. (§11.5)
- A gap at a sequence number bound to an object is playlist_listing_rebound.
- A binding is kept while one of the last 256 revisions lists it (RETENTION); a
  rebinding older than that is not detected, as §11.5 states.
- Corpus: live_edge_reanchored*, live_edge_reanchor_not_backwards,
  live_edge_parent_substituted, live_edge_parent_invalid, live_relisted_dot_alias,
  live_dot_alias_same_object, live_gap_withdraws_a_segment, and uri_resolve cases (RFC
  3986 §5.4 and alias spellings) with a fuzz family.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-06 14:18:36 -04:00

36 lines
3.8 KiB
Text

#EXTM3U
#EXT-X-VERSION:9
#EXT-X-TARGETDURATION:4
#EXT-X-PART-INF:PART-TARGET=0.320
#EXT-X-SERVER-CONTROL:CAN-BLOCK-RELOAD=YES,PART-HOLD-BACK=0.960
#EXT-X-MEDIA-SEQUENCE:1200
#EXT-X-PROGRAM-DATE-TIME:2026-10-01T12:00:00.000Z
#EXT-X-PART:DURATION=0.320,INDEPENDENT=YES,URI="720/1200.0.wai#cid=b8637cf58c3a5a0c567115d9065e5ec6d228663a65e50cb0b95a8b0dfb4cc385&n=3026"
#EXT-X-PART:DURATION=0.320,INDEPENDENT=YES,URI="720/1200.1.wai#cid=c4336fb0c48737e9e68b8fe5f4bc60aa8314878a602de85cfc9c3c0d33c0e03f&n=2962"
#EXT-X-PART:DURATION=0.320,INDEPENDENT=YES,URI="720/1200.2.wai#cid=12f271588cd4463ab7a8c89a25902fac152de57ec5420330b9ba5afd1fe0873a&n=2994"
#EXT-X-PART:DURATION=0.320,INDEPENDENT=YES,URI="720/1200.3.wai#cid=00af350c635dd361002588143eaac2171e7b3ba39e8f8354eb3ac3fabd3392d4&n=3018"
#EXT-X-PART:DURATION=0.320,INDEPENDENT=YES,URI="720/1200.4.wai#cid=27432e8c8ded7a74a057d0ffa83768d249982ed842d3e8659d0e39f69e92c815&n=3026"
#EXT-X-PART:DURATION=0.320,INDEPENDENT=YES,URI="720/1200.5.wai#cid=2f38e98c125601d888c9a719cf0ac74e0846fe09c2d9fb09ed88b54cabc3a778&n=2962"
#EXT-X-PART:DURATION=0.320,INDEPENDENT=YES,URI="720/1200.6.wai#cid=0a749256ffcfd6cfb3b396f04cea3d73622b5c230325096eed3585aa5f813008&n=2994"
#EXT-X-PART:DURATION=0.320,INDEPENDENT=YES,URI="720/1200.7.wai#cid=dd01430fa65add27f88d5de32bb2100a3491b6202e935a1d4101aae8062d9d6f&n=3018"
#EXT-X-PART:DURATION=0.320,INDEPENDENT=YES,URI="720/1200.8.wai#cid=7095c2d1f03b11435df79189640f73303b9c1492fa302d1dcbdb26f1527d9ce6&n=3026"
#EXT-X-PART:DURATION=0.320,INDEPENDENT=YES,URI="720/1200.9.wai#cid=55f3946ced44b2e8384e772b9ffb71f07acbb176d171508cf269d06f0cf69676&n=2962"
#EXT-X-PART:DURATION=0.320,INDEPENDENT=YES,URI="720/1200.10.wai#cid=f04294c0f3f12e5e6309b39f1c336ef3257c8c755dbeb69314bce44fcc0947ac&n=2994"
#EXT-X-PART:DURATION=0.320,INDEPENDENT=YES,URI="720/1200.11.wai#cid=62853bb69f462471f250a4140c254b7bb0af2cf0691e4e759b89cc320f5f8659&n=3014"
#EXTINF:3.840,
../objects/9de886a61b983bfcb8118ec313551c5af730a176180151756f8071fbb7d5f716.wai#n=16606
#EXT-X-PART:DURATION=0.320,INDEPENDENT=YES,URI="./720/1201.0.wai#cid=7ae66a04b663eaf965ee71c445af732893632ab0713cca8139969d3529e8ec8e&n=3190"
#EXT-X-PART:DURATION=0.320,INDEPENDENT=YES,URI="720/1201.1.wai#cid=ab999eaf1dfdbdee1784b3de6b4f1c7edf311119358fdb59870ad9d51c369c3d&n=3042"
#EXT-X-PART:DURATION=0.320,INDEPENDENT=YES,URI="720/1201.2.wai#cid=a002266b23a292284444fb753d53a3def273636f4bd7ca182b635326d9f74c7b&n=3122"
#EXT-X-PART:DURATION=0.320,INDEPENDENT=YES,URI="720/1201.3.wai#cid=a8ae3c937be0969d0e9a355e3afedd51eddb754dc3a95ed6fcd9386b2a6372cf&n=3190"
#EXT-X-PART:DURATION=0.320,INDEPENDENT=YES,URI="720/1201.4.wai#cid=6f5e3d4204b88e143da63ef4dc22840e65839fdbf47d2a0c03d68695860c0c70&n=3238"
#EXT-X-PART:DURATION=0.320,INDEPENDENT=YES,URI="720/1201.5.wai#cid=35f910e1a0a4acfbf8ed201e8ccd430302f395280aa79f9657b3cb16f23ba5b0&n=3146"
#EXT-X-PART:DURATION=0.320,INDEPENDENT=YES,URI="720/1201.6.wai#cid=cd095db1f4b9560782af8ba700fe5154e7ef541554a0550ea8edb796bde725ce&n=3222"
#EXT-X-PART:DURATION=0.320,INDEPENDENT=YES,URI="720/1201.7.wai#cid=173c227ba468e8809e9b7b016264bd86dc1310c7681a732e9d0886373411915f&n=3222"
#EXT-X-PART:DURATION=0.320,INDEPENDENT=YES,URI="720/1201.8.wai#cid=db17bd07b023ddcc31b057df9d0da1354b148c3920489e345201a8d3c2c72bed&n=3238"
#EXT-X-PART:DURATION=0.320,INDEPENDENT=YES,URI="720/1201.9.wai#cid=48c691c6021b6b07ae5a7046dd04eaee0b8ebb7ce3a5b9aca275ec5015d54312&n=3170"
#EXT-X-PART:DURATION=0.320,INDEPENDENT=YES,URI="720/1201.10.wai#cid=fa7e77738aaf35251d277030fb58d1cd9a3f262ce9b44bbb16248142037bf32d&n=3222"
#EXT-X-PART:DURATION=0.320,INDEPENDENT=YES,URI="720/1201.11.wai#cid=5f341dcfe19ad23b52d1c879fa2d6f52c60829e89d47cc544dfb0891cac41304&n=3222"
#EXTINF:3.840,
../objects/63c08b05659fd758074ff41a1378a391b7d449b0010a4ddd1894efb60026bb17.wai#n=19118
#EXT-X-PRELOAD-HINT:TYPE=PART,URI="720/1202.0.wai"