]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw/http/client-side: disable curl path normalization 55565/head
authorOguzhan Ozmen <oozmen@bloomberg.net>
Tue, 13 Feb 2024 16:40:38 +0000 (11:40 -0500)
committerOguzhan Ozmen <oozmen@bloomberg.net>
Sun, 18 Feb 2024 00:57:57 +0000 (19:57 -0500)
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>
src/rgw/rgw_http_client.cc
src/test/rgw/rgw_multi/tests.py

index 587b33d04780db0b096ab725341809ebcc1a5976..a1873586b013f914bc692d361f76f52e7da9bcc3 100644 (file)
@@ -591,6 +591,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 3f5ae0fea5d3d84cf9a483521be255837f35fc32..eed721ad59ba763abefd681e1efd84e35a2f678f 100644 (file)
@@ -612,7 +612,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