[ms-quic] update version to 2.2.0#29568
[ms-quic] update version to 2.2.0#29568FrankXie05 wants to merge 25 commits intomicrosoft:masterfrom
Conversation
|
Is there any update on this? |
|
@medcelerate |
|
@FrankXie05 would you rebase/sync with master branch? |
|
/azp run |
|
Commenter does not have sufficient privileges for PR 29568 in repo microsoft/vcpkg |
You can trigger this to happen yourself by just pushing into the branch again, such as a merge commit with master. |
|
Why does this port use a vendored copy of openssl 1.1.1k? 2.2.0 added support for openssl 3. And now there is 2.2.1 with additional improvements. |
|
Translating the link to a reasonable answer: Correct me if I'm wrong. Follow-up questions: (When) Will this be upgraded to openssl 3? Given the struggle to bring port openssl into a good shape, is the vendored build of openssl the reason for ms-quic being not tested in vcpkg CI for: (This doesn't leave many triplets.) |
|
Upstream is updating to |
|
MsQuic must use a custom fork of openssl for QUIC support. The normal openssl does not support the necessary QUIC APIs. But as it was mentioned above, at runtime we can leverage the pristine crypto layer (libcrypto) of openssl, just not the TLS (libssl) layer, so we statically link that layer into MsQuic. And v2.2 of MsQuic does support both v1.1 and v3.1 of openssl, but you have to select which you want at compile time. Generally, we publish Linux packages that match the distro version's openssl (i.e., 20.04 uses v1.1 & 22.04 uses v3.1). |
The point is: the openssl copy in the ms-quic port isn't updating magically. vcpkg/ports/ms-quic/portfile.cmake Lines 15 to 21 in 78a727b quictls/openssl@a6e9d76 is from Apr 12, 2021. Unchanged by this PR. No security fixes in 13 months. |
|
microsoft/msquic submodules the quictls fork of openssl and we immediately update the dependencies as there are security issues. IMHO, there shouldn't be yet another place here in vcpkg that would need to be updated. vcpkg should point to the HEAD of the msquic release/* branches that are consistently kept up to date (and never have breaking changes). Just build msquic with its submodule references. |
|
@nibanks vcpkg doesn't do a git checkout of upstream's So this port is constructed in a way that it needs to follow a primary and a secondary upstream. The secondary relationship is under-maintained. |
|
What can be done here then? I cannot necessarily commit any resources of my team to help keep vcpkg updated, unless we have very clear instructions (in the msquic repo) for what needs to be done when we service a fix. But generally, this seems like a super fragile system. With likely thousands of dependencies here, each has to be manually updated whenever a servicing change is patched for a release? Who does all that? |
|
Some checks could be be automated in the portfiles.
There are several issues in vcpkg which cause fragility, such as not running tests, or updating ports without looking at
|
|
I can't believe that this PR gets https://github.com/microsoft/vcpkg/labels/info%3Areviewed after being loudly reminded of the importance of updating the undermaintained openssl download. |
| if(VCPKG_TARGET_IS_WINDOWS) | ||
| LIST(APPEND QUIC_TLS "schannel") | ||
| else() | ||
| LIST(APPEND QUIC_TLS "openssl") |
There was a problem hiding this comment.
Using schannel limits msquic to Windows 11 only and as per docs This configuration does not support 0-RTT due to Schannel's current lack of support.. I think it makes more sense to still default to openssl even for Windows.
|
Closing this change in favor of #39332 . Thanks for your contribution! |
Fix #29459 #26811
Note: Update
[ms-quic]version to 2.1.8Remove the
ci.baseline.txtrecords.Fix the compilation on newer windows SDKs.
microsoft/msquic#3405
The "supports" clause reflects platforms that may be fixed by this new versionAny patches that are no longer applied are deleted from the port's directory../vcpkg x-add-version --alland committing the result.