mirror of
https://github.com/ceph/ceph
synced 2025-01-04 02:02:36 +00:00
rgw: reject encrypted object COPY before supported
Current implementation does not follow S3 spec and even may result in data corruption silently when copying multipart objects accorss pools. So reject COPY operations on encrypted objects before it is fully functional. Fixes: http://tracker.ceph.com/issues/23232 Signed-off-by: Jeegn Chen <jeegnchen@gmail.com>
This commit is contained in:
parent
c454b1d1d6
commit
a1513efe21
@ -8097,6 +8097,15 @@ int RGWRados::copy_obj(RGWObjectCtx& obj_ctx,
|
||||
if (ret < 0) {
|
||||
return ret;
|
||||
}
|
||||
if (src_attrs.count(RGW_ATTR_CRYPT_MODE)) {
|
||||
// Current implementation does not follow S3 spec and even
|
||||
// may result in data corruption silently when copying
|
||||
// multipart objects acorss pools. So reject COPY operations
|
||||
//on encrypted objects before it is fully functional.
|
||||
ldout(cct, 0) << "ERROR: copy op for encrypted object " << src_obj
|
||||
<< " has not been implemented." << dendl;
|
||||
return -ERR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
src_attrs[RGW_ATTR_ACL] = attrs[RGW_ATTR_ACL];
|
||||
src_attrs.erase(RGW_ATTR_DELETE_AT);
|
||||
|
Loading…
Reference in New Issue
Block a user