Files
versitygw/tests/integration
niksis02 f567abc91c fix: authorize every key in a DeleteObjects batch after a bucket-policy deny
objectsAccessErrors recorded the first resource-policy Deny and returned immediately, leaving every later key in the same action subset with a nil result — which VerifyObjectsAccess caller reads as "authorized" and sends straight to the backend. An explicit bucket-policy Deny therefore let the keys after it skip authorization entirely and be deleted, including keys that same bucket policy explicitly denied.

The loop now continues rather than returning, so every denied key is settled with its own error. The identity-policy round trip the early return was saving is still skipped, but only when the bucket policy denied every key in the batch, since no identity-policy answer could change any result then. Both loops that follow skip keys already holding an error, so a resource-level explicit deny is never overwritten by an identity-policy result nor flattened to the generic AccessDenied message.
2026-09-01 14:40:09 +04:00
..
2026-03-10 09:47:37 -07:00
2026-05-21 23:49:34 +04:00
2026-05-21 23:49:34 +04:00
2026-05-21 23:49:34 +04:00
2026-05-21 23:49:34 +04:00
2026-08-25 01:03:22 +04:00
2026-08-25 01:03:22 +04:00
2026-05-21 23:49:34 +04:00
2026-05-21 23:49:34 +04:00
2026-05-21 23:49:34 +04:00
2026-08-29 12:06:50 +05:00
2026-06-15 14:48:31 +04:00