duckdb / duckdb/duckdb-httpfs

curl backend doesn't use system certificates on MacOS

Open
#282 12 comments 3 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
60
Forks
100
Avg merge
1h 50m
Merged PRs (30d)
25

Description

I have duckdb installed from homebrew on MacOS. I just installed the 1.5.0 update, which enabled the `curl` backend by default.
We use the `httpfs` extension for accessing S3 compatible object stores with self-signed certificates. The certificates are installed to the MacOS certificate store.

The old `httplib` backend would automatically trust those certificates, while the new `curl` backend fails with
```
IO Error:
SSL peer certificate or SSH remote key was not OK error for HTTP HEAD to 'https://***'
```

Linux is not affected by this.

It's possible to work around this problem by switching back to the `httplib` backend using `SET httpfs_client_implementation=httplib;`

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the httpfs extension's curl backend and compare its certificate handling with the httplib backend on macOS. Reproduce the HTTPS HEAD failure using a self-signed certificate installed in the macOS certificate store, then verify that the curl backend trusts it without regressing Linux behavior or the httpfs_client_implementation setting.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, macos
Domain
networking, security
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.