From: Rodion Tikunov Date: Tue, 30 Aug 2016 14:13:19 +0000 (+0300) Subject: rgw: url_decode values from X-Object-Manifest during GET on Swift DLO X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=1ff585001e3dd9366cf460698a94b859e96af893;p=packages%2Ftrusty%2Fceph.git rgw: url_decode values from X-Object-Manifest during GET on Swift DLO Added an upstream patch [1] which solves the problem. [1] https://github.com/ceph/ceph/commit/69cf089596a0e5d4da2826b5c276306316a00690 Closes-Bug: #1482888 Change-Id: I766a07be9efb62dd6a3f5f9e88f0a5212bfc59a1 --- diff --git a/debian/changelog b/debian/changelog index ee0ba3d4..19c58bcc 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,12 @@ +ceph (0.94.5-0u~u14.04+mos3+mos8.0+1) mos8.0; urgency=medium + + * Added an upstream patch which adds to rgw url_decode values from + X-Object-Manifest during GET on Swift DLO: + - https://github.com/ceph/ceph/commit/69cf089596a + (LP: #1482888) + + -- Rodion Tikunov Tue, 30 Aug 2016 17:11:10 +0300 + ceph (0.94.5-0u~u14.04+mos3) mos8.0; urgency=medium * Added an upstream patch which makes recovery after a crash during diff --git a/debian/patches/rgw-url_decode-values-from-x-object-manifest.patch b/debian/patches/rgw-url_decode-values-from-x-object-manifest.patch new file mode 100644 index 00000000..e504e00a --- /dev/null +++ b/debian/patches/rgw-url_decode-values-from-x-object-manifest.patch @@ -0,0 +1,32 @@ +From 69cf089596a0e5d4da2826b5c276306316a00690 Mon Sep 17 00:00:00 2001 +From: Radoslaw Zarzynski +Date: Wed, 19 Aug 2015 20:32:39 +0200 +Subject: [PATCH] rgw: url_decode values from X-Object-Manifest during GET on + Swift DLO. + +Fixes: #12728 +Signed-off-by: Radoslaw Zarzynski +--- + src/rgw/rgw_op.cc | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git a/src/rgw/rgw_op.cc b/src/rgw/rgw_op.cc +index c382771..9094e9d 100644 +--- a/src/rgw/rgw_op.cc ++++ b/src/rgw/rgw_op.cc +@@ -808,8 +808,13 @@ int RGWGetObj::handle_user_manifest(const char *prefix) + if (pos < 0) + return -EINVAL; + +- string bucket_name = prefix_str.substr(0, pos); +- string obj_prefix = prefix_str.substr(pos + 1); ++ string bucket_name_raw, bucket_name; ++ bucket_name_raw = prefix_str.substr(0, pos); ++ url_decode(bucket_name_raw, bucket_name); ++ ++ string obj_prefix_raw, obj_prefix; ++ obj_prefix_raw = prefix_str.substr(pos + 1); ++ url_decode(obj_prefix_raw, obj_prefix); + + rgw_bucket bucket; + diff --git a/debian/patches/series b/debian/patches/series index 55563bd1..73e5ab28 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -4,6 +4,7 @@ Compare-parted-output-with-the-dereferenced-path.patch ceph-disk-is_mpath-predicate-for-multipath-devices.patch ceph-disk-multipath-support-for-is_partition-and-lis.patch ceph-disk-multipath-support-for-split_dev_base_partn.patch +rgw-url_decode-values-from-x-object-manifest.patch ## Debian rbdmap3-lazyumount.patch