summaryrefslogtreecommitdiffstats
path: root/src/rgw/rgw_http_client_curl.cc (follow)
Commit message (Collapse)AuthorAgeFilesLines
* rgw: remove libcurl warning about curl_multi_wait()Casey Bodley2022-03-011-10/+0
| | | | Signed-off-by: Casey Bodley <cbodley@redhat.com>
* rgw: remove the civetweb frontend from src and qaCasey Bodley2021-05-171-1/+1
| | | | Signed-off-by: Casey Bodley <cbodley@redhat.com>
* RGW - Make sure editor settings are correct for all filesDaniel Gryniewicz2019-08-191-1/+1
| | | | Signed-off-by: Daniel Gryniewicz <dang@redhat.com>
* misc: mark constructors as explicitDanny Al-Gaaf2018-05-021-1/+1
| | | | | | | | | | | | | | | Set 218 constructors as explicit to avoid implicit usage. Fix for cppcheck warning: Class has a constructor with 1 argument that is not explicit. Such constructors should in general be explicit for type safety reasons. Using the explicit keyword in the constructor means some mistakes when using the class can be avoided. For more information check: https://www.codeproject.com/Articles/28663/Explicit-Constructor-in-C Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
* misc: fix various log messagesGu Zhongyan2018-04-091-2/+2
| | | | | | add space between __func__ and following messages Signed-off-by: Gu Zhongyan <guzhongyan@360.cn>
* rgw: call setup and release curl handles in setup_curlAbhishek Lekshmanan2018-03-051-0/+2
| | | | | | | | Since rgw admin can also use it which will fail otherwise. Fixes: http://tracker.ceph.com/issues/23203 Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
* rgw: make frontend map optional for ssl initAbhishek Lekshmanan2018-03-021-11/+14
| | | | | | | Since rgw admin also needs to init curl globally where we don't have a frontend map Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
* rgw: setup locks for libopensslAbhishek Lekshmanan2018-03-021-0/+117
openssl <= 1.02 requires explicit callbacks for locking which libcurl doesn't set. This causes random segmentation faults when openssl uses its global structures across multiple threads. Providing a simple mutex lock/unlock functions as a callback. We determine whether openssl is used for libcurl via curl-config utility which should be installed as a part of our curl development headers package. We also additionally check that the openssl version is < 1.1.0 which alleviates the need for these callbacks. In this patchset we have done the following: - move all curl related global init functionality under rgw::curl namespace since libcurl may need to set up various ssl libraries etc during its init - introduce WITH_CURL_OPENSSL in cmake this checks the backend curl is deployed with using curl-config. Since curl devel is expected to be installed anyway, this binary should be available and can help identify the ssl backend curl was compiled with. - we only setup the locks if beast/civetweb aren't terminated with ssl, since these libraries setup the locks anyway and we want to prevent double initialization of openssl. Also we pass in ~CURL_GLOBAL_SSL making curl not initialize openssl if civetwb/beast is initializing them. Unfortunately this flag is a noop from curl >= 7.57 wherein both the libraries will end up initializing openssl anyway, which might override certain settings like error strings if using openssl < 1.1 https://curl.haxx.se/libcurl/c/threadsafe.html https://www.openssl.org/docs/man1.0.2/crypto/threads.html#DESCRIPTION Fixes: http://tracker.ceph.com/issues/22951 Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com> Signed-off-by: Jesse Williamson <jwilliamson@suse.com>