Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mimic sse c fixes #27297

Merged
merged 7 commits into from Apr 3, 2019

Conversation

Projects
None yet
3 participants
@theanalyst
Copy link
Member

commented Apr 1, 2019

https://tracker.ceph.com/issues/39069

  • References tracker ticket
  • Updates documentation if necessary
  • Includes tests for new functionality or reproducer for bug

cbodley and others added some commits Mar 22, 2019

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 b782902)
rgw_crypt: take care of start & end boundaries when parsing range
As http range header is inclusive of start and end ranges, this otherwise breaks
at ranges close to multipart boundaries

Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
(cherry picked from commit 9c92b56)
rgw_crypt: make decrypt's parts_len protected
This is so that testing classes can set this and use that to test the branches
in fixup_range tests

Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
(cherry picked from commit 78b37a5)
test_rgw_crypt: BlockCryptNone takes a block_size param
So that block sizes like 4096 can be tested

Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
(cherry picked from commit 9e13a42)
tests: rgw crypto tests with partlen vector
4 tests are added when either obj_size for an aligned object, and when an object
is not aligned to a boundary (1 B last part), or part_size is not aligned to a
boundary. Comments on boundary case explains the logic on choosing whether to
align to a 4095B boundary or not

Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
(cherry picked from commit 1bf59f6)
test_rgw_crypto: add invalid ranges beyond obj boundary
This is just to assert we're not doing an invalid memory access

Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
(cherry picked from commit b34a00d)
rgw: fixup_range() clamps offsets to valid part range
Signed-off-by: Adam Kupczyk <akupczyk@redhat.com>
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 4b3bac2)

@theanalyst theanalyst added the rgw label Apr 1, 2019

@theanalyst theanalyst added this to the mimic milestone Apr 1, 2019

@theanalyst theanalyst requested a review from cbodley Apr 1, 2019

@yuriw

This comment has been minimized.

Copy link
Contributor

commented Apr 2, 2019

@cbodley

cbodley approved these changes Apr 2, 2019

@yuriw yuriw merged commit 3fb3a30 into ceph:mimic Apr 3, 2019

4 checks passed

Docs: build check OK - docs built
Details
Signed-off-by all commits in this PR are signed
Details
Unmodified Submodules submodules for project are unmodified
Details
make check make check succeeded
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.