From: wanghao72 <47028767+wanghao72@users.noreply.github.com> Date: Thu, 20 Jan 2022 07:57:29 +0000 (+0800) Subject: rgw: CopyObject works with x-amz-copy-source-if-* headers X-Git-Tag: v18.0.0~1421^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=9d8093311a33dba9e3604068e9ec5d7723539490;p=ceph.git rgw: CopyObject works with x-amz-copy-source-if-* headers CopyObject api support condition headers, eg x-amz-copy-source-if-match, while radosgw miss out the 'source' keyword Fixes: https://tracker.ceph.com/issues/53945 Signed-off-by: Wang Hao --- diff --git a/src/rgw/rgw_rest_s3.cc b/src/rgw/rgw_rest_s3.cc index 1cb855d09e3..f096a81c670 100644 --- a/src/rgw/rgw_rest_s3.cc +++ b/src/rgw/rgw_rest_s3.cc @@ -3233,10 +3233,10 @@ int RGWCopyObj_ObjStore_S3::get_params(optional_yield y) obj_legal_hold = new RGWObjectLegalHold(obj_legal_hold_str); } - if_mod = s->info.env->get("HTTP_X_AMZ_COPY_IF_MODIFIED_SINCE"); - if_unmod = s->info.env->get("HTTP_X_AMZ_COPY_IF_UNMODIFIED_SINCE"); - if_match = s->info.env->get("HTTP_X_AMZ_COPY_IF_MATCH"); - if_nomatch = s->info.env->get("HTTP_X_AMZ_COPY_IF_NONE_MATCH"); + if_mod = s->info.env->get("HTTP_X_AMZ_COPY_SOURCE_IF_MODIFIED_SINCE"); + if_unmod = s->info.env->get("HTTP_X_AMZ_COPY_SOURCE_IF_UNMODIFIED_SINCE"); + if_match = s->info.env->get("HTTP_X_AMZ_COPY_SOURCE_IF_MATCH"); + if_nomatch = s->info.env->get("HTTP_X_AMZ_COPY_SOURCE_IF_NONE_MATCH"); src_tenant_name = s->src_tenant_name; src_bucket_name = s->src_bucket_name;