]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
rgw: fetch_remote_obj() preserves original part lengths for BlockDecrypt
authorCasey Bodley <cbodley@redhat.com>
Wed, 28 Jun 2023 21:14:16 +0000 (17:14 -0400)
committerCasey Bodley <cbodley@redhat.com>
Fri, 4 Aug 2023 18:30:12 +0000 (14:30 -0400)
commitd61004d5ba661ffd13e517064f3a079d1fe25853
tree017ccf3e9e41880443ac9a96370bd837cd556935
parentf82d6b824d60719ee17d32d51ba2f1d862437d37
rgw: fetch_remote_obj() preserves original part lengths for BlockDecrypt

because multisite replicates multipart objects as a single part, we lose
information about the part sizes from the original manifest that is
necessary to correctly decrypt across those part boundaries

on replication, parse the part lengths out of the source object's
manifest, and store them in a separate RGW_ATTR_CRYPT_PARTS for use on
decryption

Fixes: https://tracker.ceph.com/issues/46062
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit e7d98fb36994559b08bf0e2273d333d8fc125886)
src/rgw/driver/rados/rgw_rados.cc
src/rgw/rgw_common.h
src/rgw/rgw_rest_s3.cc