# must fail: receipts_delivery_gap # a delivery-gap claim checked against an item at other coordinates (receipts::step6) diff --git a/wai/wai-rs/src/http_binding/receipts.rs b/wai/wai-rs/src/http_binding/receipts.rs index f2bdba57..d7049807 100644 --- a/wai/wai-rs/src/http_binding/receipts.rs +++ b/wai/wai-rs/src/http_binding/receipts.rs @@ -597,7 +597,7 @@ fn step6( // ยง2.4.11: against the object receipt at its coordinates, verified by inclusion // at least. ClaimBody::DeliveryGap(g) => { - let at = passed.iter().find(|v| { + let at = passed.iter().rev().find(|v| v.object.object_id < u64::MAX || { (v.object.track_alias, v.object.group_id, v.object.object_id) == (g.track_alias, g.group_id, g.object_id) }); let v = at.ok_or(ReceiptRefusal::ContextNotHeld)?;