]> review.fuel-infra Code Review - packages/trusty/ceph.git/commitdiff
rgw: url_decode values from X-Object-Manifest during GET on Swift DLO 40/25640/2
authorRodion Tikunov <rtikunov@mirantis.com>
Tue, 30 Aug 2016 14:13:19 +0000 (17:13 +0300)
committerRodion Tikunov <rtikunov@mirantis.com>
Tue, 6 Sep 2016 08:48:42 +0000 (11:48 +0300)
Added an upstream patch [1] which solves the problem.

[1] https://github.com/ceph/ceph/commit/69cf089596a0e5d4da2826b5c276306316a00690

Closes-Bug: #1482888

Change-Id: I766a07be9efb62dd6a3f5f9e88f0a5212bfc59a1

debian/changelog
debian/patches/rgw-url_decode-values-from-x-object-manifest.patch [new file with mode: 0644]
debian/patches/series

index ee0ba3d426d3a1d27839d1546cf8fe0d56fdcee6..19c58bccdbcbeab71daab3f3a1b26f0c5b6474fc 100644 (file)
@@ -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 <rtikunov@mirantis.com>  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 (file)
index 0000000..e504e00
--- /dev/null
@@ -0,0 +1,32 @@
+From 69cf089596a0e5d4da2826b5c276306316a00690 Mon Sep 17 00:00:00 2001
+From: Radoslaw Zarzynski <rzarzynski@mirantis.com>
+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 <rzarzynski@mirantis.com>
+---
+ 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;
index 55563bd1a0708e81b3457bdd0bef7d2e12412610..73e5ab28a8a340ee2283c17a961dae20d4999ca3 100644 (file)
@@ -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