-
Notifications
You must be signed in to change notification settings - Fork 6.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[openssl] add new port openssl 3.0.0 #20031
Comments
@xavier2k6 ,At present, there is already an openssl port in vcpkg. Is there any difference between it and this port? |
I know OpenSSL 1.1.1.L port is available in vcpkg, I just wasn't sure when opening issue if it should be treated as an update/upgrade or whether it should be treated as separate - I went with the latter. (erred on the side of caution) |
I think it should be a separate port: since it's not fully backward compatible with 1.1.1*, a lot of ports that use it will be immediately broken |
However, without replacing Our end goal is that this should be checked in as |
@ras0219-msft, does this mean that all ports, that have openssl as a dependency and are not yet support openssl3, will have openssl version fixed in their vcpkg.json file? |
Unfortunately, I expect migration to 3.0 to be slow, and probably most importantly, I expect it will happen at vastly different rates among all of its dependents in the vcpkg repository. Won't this frequently result in unsatisfiable versioning constraints when installing ports (e.g. a user requires 5 packages that depend on OpenSSL < 3 and 5 that depend on OpenSSL >= 3)? So, instead of recommending users to rely on versioning or introducing a new
|
I think the same. |
That is exactly what happens but worse if we ship This is why it is absolutely critical for
so we will need to see what the precise fallout of this upgrade will be. Glancing through the upgrade guide (https://www.openssl.org/docs/man3.0/man7/migration_guide.html) it looks like the vast majority of changes are additive. Some things have been marked as deprecated but still exist. The most significant change listed looks to be
My reading is that this should be fine for most library code. The end application may choose what libraries to load or unload into the new provider interface, but libraries should function as correctly as possible given the circumstances. |
Will there be a way for OpenSSL 1.1.1 users to consume security patches to OpenSSL 1.1.1 via vcpkg if the openssl port is updated to OpenSSL 3? I am getting reports in my project that Homebrew updating their OpenSSL to OpenSSL 3 is causing issues in our 1.1.1 code, so I am very interested in seeing a centralized solution for that. |
Openssl 3 can only be merged if all downstream ports fix their issues related to openssl 3! Many people are waiting for vcpkg to support openssl 3 and the only thing that holds us back are ~10 out of many packages that don't support openssl 3! Because vcpkg doesn't support the same versioning like npm, we can't just add breaking changes.
In this case the entire versioning idea is kind of useless if all dependant ports need to support the latest version anyway! The only benefit is that end uses that don't create a new port can choose which version they want to use. Instead, we need a way to resolve version conflicts. The only solution is to find out why those ports don't support openssl 3. In the linked PR is a list of all of these ports. |
I don't agree at all. Take a look on opencv and you will see there isn't undefined behavior as you say.
It not critical that openssl have to be in a single version, and stop intimidate people and developers. |
I have a suggestion. |
I think that's acceptable, but we should skip all triplets in ci.baseline.txt, and warning users that they are conflicts. |
@talregev |
Library name: OpenSSL v3.0.0
Library description:
OpenSSL is a robust, commercial-grade, and full-featured toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It is also a general-purpose cryptography library.
Source repository URL:
https://github.com/openssl/openssl/releases
Project homepage (if different from the source repository):
https://www.openssl.org/
Anything else that is useful to know when adding (such as optional features the library may have that should be included):
https://www.openssl.org/blog/blog/2021/09/07/OpenSSL3.Final/
https://github.com/openssl/openssl/releases
https://www.openssl.org/news/changelog.md
https://www.openssl.org/news/changelog.html#openssl-30
https://github.com/openssl/openssl/blob/master/doc/man7/migration_guide.pod
The text was updated successfully, but these errors were encountered: