From: Orit Wasserman Date: Tue, 13 Jun 2017 12:42:00 +0000 (+0300) Subject: Merge branch 'master' into wip-19739 X-Git-Tag: v12.1.1~64^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=f59c9d89b49b28a772b5beaac1df379fa2fe4dd8;p=ceph.git Merge branch 'master' into wip-19739 --- f59c9d89b49b28a772b5beaac1df379fa2fe4dd8 diff --cc src/rgw/rgw_op.cc index 7a3378cac857,29adbc58aa48..487c8dbc64af --- a/src/rgw/rgw_op.cc +++ b/src/rgw/rgw_op.cc @@@ -3488,21 -3499,11 +3500,26 @@@ void RGWPostObj::execute( return; } + op_ret = store->check_bucket_shards(s->bucket_info, s->bucket, bucket_quota); + if (op_ret < 0) { + return; + } + + if (supplied_md5_b64) { + char supplied_md5_bin[CEPH_CRYPTO_MD5_DIGESTSIZE + 1]; + ldout(s->cct, 15) << "supplied_md5_b64=" << supplied_md5_b64 << dendl; + op_ret = ceph_unarmor(supplied_md5_bin, &supplied_md5_bin[CEPH_CRYPTO_MD5_DIGESTSIZE + 1], + supplied_md5_b64, supplied_md5_b64 + strlen(supplied_md5_b64)); + ldout(s->cct, 15) << "ceph_armor ret=" << op_ret << dendl; + if (op_ret != CEPH_CRYPTO_MD5_DIGESTSIZE) { + op_ret = -ERR_INVALID_DIGEST; + return; + } + + buf_to_hex((const unsigned char *)supplied_md5_bin, CEPH_CRYPTO_MD5_DIGESTSIZE, supplied_md5); + ldout(s->cct, 15) << "supplied_md5=" << supplied_md5 << dendl; + } + RGWPutObjProcessor_Atomic processor(*static_cast(s->obj_ctx), s->bucket_info, s->bucket,