]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw/http/client-side: disable curl path normalization 59258/head
authorOguzhan Ozmen <oozmen@bloomberg.net>
Tue, 13 Feb 2024 16:40:38 +0000 (11:40 -0500)
committerKonstantin Shalygin <k0ste@k0ste.ru>
Fri, 25 Oct 2024 15:41:57 +0000 (22:41 +0700)
test_multi.py:test_object_sync is updated to reproduce the issue.
Without the fix, objects "." and ".." are not replicated and the test
fails (times out).

Fixes: https://tracker.ceph.com/issues/64366
Signed-off-by: Oguzhan Ozmen <oozmen@bloomberg.net>
(cherry picked from commit b4b1868a0047890ada2c8b39c3a932ae51255714)

src/rgw/rgw_http_client.cc
src/test/rgw/rgw_multi/tests.py

index ffadd9f834d711d881236b939d76194a89883abe..77501af7259b5fe8056542e91d9e28af33b4b9df 100644 (file)
@@ -590,6 +590,8 @@ int RGWHTTPClient::init_request(rgw_http_req_data *_req_data)
   curl_easy_setopt(easy_handle, CURLOPT_READFUNCTION, send_http_data);
   curl_easy_setopt(easy_handle, CURLOPT_READDATA, (void *)req_data);
   curl_easy_setopt(easy_handle, CURLOPT_BUFFERSIZE, cct->_conf->rgw_curl_buffersize);
+  curl_easy_setopt(easy_handle, CURLOPT_PATH_AS_IS, 1L);
+
   if (send_data_hint || is_upload_request(method)) {
     curl_easy_setopt(easy_handle, CURLOPT_UPLOAD, 1L);
   }
index 9e2517ad2373422495ea53ebdc7047de76562990..292d3e53f2e30af1e9eec16c0f7251609caa62ea 100644 (file)
@@ -610,7 +610,8 @@ def test_object_sync():
     zonegroup_conns = ZonegroupConns(zonegroup)
     buckets, zone_bucket = create_bucket_per_zone(zonegroup_conns)
 
-    objnames = [ 'myobj', '_myobj', ':', '&' ]
+    objnames = [ 'myobj', '_myobj', ':', '&', '.', '..', '...',  '.o', '.o.']
+
     content = 'asdasd'
 
     # don't wait for meta sync just yet