-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
[QUIC] Improve MSQuic OS Version detection #32575
Comments
fwiw, dotnet-cli uses this property for runtime/src/installer/managed/Microsoft.DotNet.PlatformAbstractions/RuntimeEnvironment.cs Line 16 in cf43585
|
Microsoft.DotNet.PlatformAbstractions package is obsolete. P/Invoking |
This is considered to be a feature. It is not necessary something you want to "fix". |
will its sources be removed and dotnet-cli switch to p/invoke? Edit: nvm, found the issue tracking it - #3470 |
This version check is to see if the OS has the right TLS 1.3 support. Http3 will have other opt-in guards to maintain compat. Once a developer opts in, false negatives from this version check are an unnecessary hurdle and support burden. |
#33643 fixed Environment.OSVersion so we can depend on that again. |
@jkotalik have you confirmed which version we need? |
No, let's just merge what we have in that #36302 for now. I'll need to figure out if the Windows slow preview train has schannel support, which will take a while. |
I'm thinking it's better to implement this in MsQuic -- microsoft/msquic#92 |
This can be covered by analyzers with edit: |
runtime/src/libraries/System.Net.Quic/src/System/Net/Quic/Implementations/MsQuic/Internal/MsQuicApi.cs
Lines 144 to 146 in 3be5238
Environment.OSVersion is an unreliable API that reports old versions for compat purposes. It only reports the correct Win10 version if an app manifest is added. VS and the test runner have this manifest but sample apps and customer apps won't.
https://stackoverflow.com/questions/33328739/system-environment-osversion-returns-wrong-version
We're going to need a different way to check for this support. Worst case we look at the registry.
The text was updated successfully, but these errors were encountered: