curl backend doesn't use system certificates on MacOS
- 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