Skip to content

Commit e12faac

Browse files
committed
Add enable_curl_server_cert_verification option
1 parent d39fd75 commit e12faac

File tree

4 files changed

+8
-2
lines changed

4 files changed

+8
-2
lines changed

extension/httpfs/httpfs.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@ unique_ptr<HTTPParams> HTTPFSUtil::InitializeParameters(optional_ptr<FileOpener>
4848
FileOpener::TryGetCurrentSetting(opener, "http_retry_wait_ms", result->retry_wait_ms, info);
4949
FileOpener::TryGetCurrentSetting(opener, "http_retry_backoff", result->retry_backoff, info);
5050
FileOpener::TryGetCurrentSetting(opener, "http_keep_alive", result->keep_alive, info);
51+
FileOpener::TryGetCurrentSetting(opener, "enable_curl_server_cert_verification", result->enable_curl_server_cert_verification,
52+
info);
5153
FileOpener::TryGetCurrentSetting(opener, "enable_server_cert_verification", result->enable_server_cert_verification,
5254
info);
5355
FileOpener::TryGetCurrentSetting(opener, "ca_cert_file", result->ca_cert_file, info);

extension/httpfs/httpfs_curl_client.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -135,10 +135,12 @@ class HTTPFSCurlClient : public HTTPClient {
135135
curl_easy_setopt(*curl, CURLOPT_FORBID_REUSE, 1L);
136136
}
137137

138-
// client->enable_server_certificate_verification(http_params.enable_server_cert_verification);
139-
if (http_params.enable_server_cert_verification) {
138+
if (http_params.enable_curl_server_cert_verification) {
140139
curl_easy_setopt(*curl, CURLOPT_SSL_VERIFYPEER, 1L); // Verify the cert
141140
curl_easy_setopt(*curl, CURLOPT_SSL_VERIFYHOST, 2L); // Verify that the cert matches the hostname
141+
} else {
142+
curl_easy_setopt(*curl, CURLOPT_SSL_VERIFYPEER, 0L); // Override default, don't verify the cert
143+
curl_easy_setopt(*curl, CURLOPT_SSL_VERIFYHOST, 0L); // Override default, don't verify that the cert matches the hostname
142144
}
143145

144146
// set read timeout

extension/httpfs/httpfs_extension.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ static void LoadInternal(ExtensionLoader &loader) {
5555
"http_keep_alive",
5656
"Keep alive connections. Setting this to false can help when running into connection failures",
5757
LogicalType::BOOLEAN, Value(true));
58+
config.AddExtensionOption("enable_curl_server_cert_verification", "Enable server side certificate verification for CURL backend.", LogicalType::BOOLEAN, Value(true));
5859
config.AddExtensionOption("enable_server_cert_verification", "Enable server side certificate verification.",
5960
LogicalType::BOOLEAN, Value(false));
6061
config.AddExtensionOption("ca_cert_file", "Path to a custom certificate file for self-signed certificates.",

extension/httpfs/include/httpfs_client.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ struct HTTPFSParams : public HTTPParams {
1919

2020
bool force_download = DEFAULT_FORCE_DOWNLOAD;
2121
bool enable_server_cert_verification = DEFAULT_ENABLE_SERVER_CERT_VERIFICATION;
22+
bool enable_curl_server_cert_verification = true;
2223
idx_t hf_max_per_page = DEFAULT_HF_MAX_PER_PAGE;
2324
string ca_cert_file;
2425
string bearer_token;

0 commit comments

Comments
 (0)