]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
rgw: decrypt filter does not cross multipart boundaries
authorCasey Bodley <cbodley@redhat.com>
Fri, 22 Mar 2019 13:57:33 +0000 (09:57 -0400)
committerAbhishek Lekshmanan <abhishek@suse.com>
Mon, 1 Apr 2019 15:48:13 +0000 (17:48 +0200)
commitc72b438db579f5fcfec469cca963650122fc5c95
tree75e0ea09252fcebb5cf32eb9b50a6ddee641b204
parente5150777ad04869959974ea9e2bf0e74e282762b
rgw: decrypt filter does not cross multipart boundaries

multipart uploads with sse encrypts each part separately, using an
initialization vector based on the part offset

decryption must respect the same part boundaries, and start each part
with a fresh initialization vector. this means that the decrypt filter
must flush data up to part boundaries before starting the next

Fixes: http://tracker.ceph.com/issues/38700
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit b782902954abd20e49c0ed1c14cebee4c8ab6f88)
luminous modifications: std::make_unique -> ceph::make_unique
src/rgw/rgw_crypt.cc
src/rgw/rgw_crypt.h
src/rgw/rgw_rest_s3.cc