Skip to content

Commit

Permalink
Finer control for CAPath compile time enable or not
Browse files Browse the repository at this point in the history
  • Loading branch information
phoebusm committed Sep 26, 2023
1 parent 259cd0e commit cd41297
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 4 deletions.
6 changes: 5 additions & 1 deletion sdk/core/azure-core/inc/azure/core/http/curl_transport.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@
#include "azure/core/http/policies/policy.hpp"
#include "azure/core/http/transport.hpp"

#if defined(AZ_PLATFORM_LINUX) && OPENSSL_VERSION_NUMBER >= 0x00905100L
#define SUPPORT_SETTING_CAPATH
#endif

namespace Azure { namespace Core { namespace Http {
class CurlNetworkConnection;

Expand Down Expand Up @@ -122,7 +126,7 @@ namespace Azure { namespace Core { namespace Http {
*/
std::string CAInfo;

#if defined(AZ_PLATFORM_LINUX)
#if defined(SUPPORT_SETTING_CAPATH)
/**
* @brief Path to a directory which holds PEM encoded file, containing the certificate
* authorities sent to libcurl handle directly.
Expand Down
4 changes: 2 additions & 2 deletions sdk/core/azure-core/src/http/curl/curl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1283,7 +1283,7 @@ inline std::string GetConnectionKey(std::string const& host, CurlTransportOption
key.append(",");
key.append(!options.CAInfo.empty() ? options.CAInfo : "0");
key.append(",");
#if defined(AZ_PLATFORM_LINUX)
#if defined(SUPPORT_SETTING_CAPATH)
key.append(!options.CAPath.empty() ? options.CAPath : "0");
#else
key.append("0"); // CAPath is always empty on Windows;
Expand Down Expand Up @@ -2320,7 +2320,7 @@ CurlConnection::CurlConnection(
}
}

#if defined(AZ_PLATFORM_LINUX)
#if defined(SUPPORT_SETTING_CAPATH)
if (!options.CAPath.empty())
{
if (!SetLibcurlOption(m_handle, CURLOPT_CAPATH, options.CAPath.c_str(), &result))
Expand Down
2 changes: 1 addition & 1 deletion sdk/core/azure-core/test/ut/curl_options_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -235,7 +235,7 @@ namespace Azure { namespace Core { namespace Test {
.ConnectionPoolIndex.clear());
}

#if defined(AZ_PLATFORM_LINUX)
#if defined(SUPPORT_SETTING_CAPATH)
TEST(CurlTransportOptions, setCADirectory)
{
Azure::Core::Http::CurlTransportOptions curlOptions;
Expand Down

0 comments on commit cd41297

Please sign in to comment.