Skip to content

[curl] Add apple-sectrust feature#51089

Draft
awesomekling wants to merge 1 commit intomicrosoft:masterfrom
awesomekling:curl-apple-sectrust
Draft

[curl] Add apple-sectrust feature#51089
awesomekling wants to merge 1 commit intomicrosoft:masterfrom
awesomekling:curl-apple-sectrust

Conversation

@awesomekling
Copy link
Copy Markdown

Fixes #48355

Expose curl's USE_APPLE_SECTRUST option as a macOS-only feature.

This lets ports opt into Apple's native certificate verification for compatible curl TLS backends without changing curl's default behavior.

This can avoid certificate verification failures on macOS for sites that are trusted by the system trust store but not by a plain OpenSSL setup.

  • Changes comply with the maintainer guide.
  • SHA512s are updated for each updated download.
  • The "supports" clause reflects platforms that may be fixed by this new version, or no changes were necessary.
  • Any fixed CI baseline and CI feature baseline entries are removed from that file, or no entries needed to be changed.
  • All patch files in the port are applied and succeed.
  • The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
  • Exactly one version is added in each modified versions file.

@awesomekling
Copy link
Copy Markdown
Author

@microsoft-github-policy-service agree

Copy link
Copy Markdown
Member

@BillyONeal BillyONeal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you need a

curl[core,apple-sectrust,mbedtls]=options
curl[core,apple-sectrust,wolfssl]=options

in ci.feature.baseline.txt. But I also don't see why this really should be a feature in the first place....

list(APPEND FEATURE_OPTIONS -DCURL_USE_SCHANNEL=ON)
endif()

if("apple-sectrust" IN_LIST FEATURES)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this even be a feature or should we always just do it? (It's hard to imagine a case where one does not want this behavior)

rtmp USE_LIBRTMP
httpsrr USE_HTTPSRR
ssls-export USE_SSLS_EXPORT
apple-sectrust USE_APPLE_SECTRUST
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks like a newlines change but it isn't, the file is still correctly LF, this is just inserting extra spaces to get the options to line up again now that apple-sectrust is longer.

No change requested.

@BillyONeal
Copy link
Copy Markdown
Member

It looks like this doesn't currently blow up because we already have:

curl[core,http3,gnutls]=options
curl[core,http3,mbedtls]=options
curl[core,http3,wolfssl]=options

so the combined feature test picks http3 and excludes gnutls, mbedtls and wolfssl. But I still think we should add lines for this (if it remains as a feature)

@BillyONeal BillyONeal marked this pull request as draft April 11, 2026 00:36
"dependencies": [
"openssl"
]
},
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this feature depend on openssl libs?

And do we want an apple-specific feature? A similar capability exists for Windows (CURL_CA_NATIVE).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[curl] Support USE_APPLE_SECTRUST curl build option

3 participants