Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
6c702d3
Merge commit '38eebd98c95a7333b8840e617cbe60e3cb1464c9'
Jan 26, 2026
df16015
Merge commit '9345cccad00d286571cd786da050d532fd99c977'
Feb 5, 2026
5fc1194
Merge commit '7a6845db5fa9ebd81e3d0877dad0db6841c1d6f0'
Feb 5, 2026
651453b
Merge commit '7e539644a0f836b74a3f062cd44576a3474ea369'
Feb 9, 2026
be5a472
Merge commit 'e1139d2e5cd046ee708078573666d0964a8c981d'
Feb 10, 2026
4d43f6c
Merge branch 'release/8.0' of https://github.com/dotnet/runtime into …
jozkee Feb 12, 2026
8f88172
Disable GeneratePackageOnBuild
jozkee Feb 12, 2026
e4f8a40
Merge commit '0006fccea1ebb9cfa3e09046f70852b1e236b3f0'
Feb 12, 2026
35c10d7
Merge branch 'release/8.0' into release/8.0-staging
jozkee Feb 12, 2026
cf19152
[manual] Merge release/8.0-staging into release/8.0 (#124310)
hoyosjs Feb 12, 2026
b753199
Merge commit 'cf19152e6aafdcdb03b1f6bab452cd4bb926c58f'
Feb 12, 2026
3b39d74
[release/8.0] Disable ResolveLinkTarget_Succeeds returnFinalTarget=tr…
github-actions[bot] Mar 3, 2026
39a2334
[release/8.0] Update branding to 8.0.26 (#125133)
vseanreesermsft Mar 3, 2026
35e8ce4
Merge commit 'b753199016332cbf257e70c417aa5d1d02202dc7' into internal…
vseanreesermsft Mar 10, 2026
adb7b47
[release/8.0] Update dependencies from dotnet/emsdk (#124756)
dotnet-maestro[bot] Mar 11, 2026
c0c2ac6
Merging internal commits for release/8.0 (#125400)
jozkee Mar 11, 2026
8fe0f1c
[release/8.0-staging] Deny unmasked frame receive for WebSocket Serve…
liveans Mar 13, 2026
917b296
Disable GeneratePackageOnBuild
jozkee Mar 13, 2026
aa5bfad
[manual] Merge release/8.0-staging to release/8.0 (#125466)
wfurt Mar 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion NuGet.config
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<clear />
<!--Begin: Package sources managed by Dependency Flow automation. Do not edit the sources below.-->
<!-- Begin: Package sources from dotnet-emsdk -->
<add key="darc-pub-dotnet-emsdk-badf9f9" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-emsdk-badf9f97/nuget/v3/index.json" />
<add key="darc-pub-dotnet-emsdk-050048d" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-emsdk-050048d7/nuget/v3/index.json" />
<!-- End: Package sources from dotnet-emsdk -->
<!-- Begin: Package sources from dotnet-sdk -->
<!-- End: Package sources from dotnet-sdk -->
Expand Down
8 changes: 4 additions & 4 deletions eng/Version.Details.xml
Original file line number Diff line number Diff line change
Expand Up @@ -90,13 +90,13 @@
<Sha>8bb0f2d5f3b6b9dff32e2643642bea09bf6ae38d</Sha>
<SourceBuild RepoName="cecil" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100" Version="8.0.25">
<Dependency Name="Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100" Version="8.0.26">
<Uri>https://github.com/dotnet/emsdk</Uri>
<Sha>badf9f97aaf4c2166b17bd6475ca73958c11e309</Sha>
<Sha>050048d77141e904449880ff47a38da3a7f515b6</Sha>
</Dependency>
<Dependency Name="Microsoft.SourceBuild.Intermediate.emsdk" Version="8.0.25-servicing.26102.2">
<Dependency Name="Microsoft.SourceBuild.Intermediate.emsdk" Version="8.0.26-servicing.26160.3">
<Uri>https://github.com/dotnet/emsdk</Uri>
<Sha>badf9f97aaf4c2166b17bd6475ca73958c11e309</Sha>
<Sha>050048d77141e904449880ff47a38da3a7f515b6</Sha>
<SourceBuild RepoName="emsdk" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-reference-packages" Version="8.0.0-alpha.1.25615.3">
Expand Down
6 changes: 3 additions & 3 deletions eng/Versions.props
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<Project>
<PropertyGroup>
<!-- The .NET product branding version -->
<ProductVersion>8.0.25</ProductVersion>
<ProductVersion>8.0.26</ProductVersion>
<!-- File version numbers -->
<MajorVersion>8</MajorVersion>
<MinorVersion>0</MinorVersion>
<PatchVersion>25</PatchVersion>
<PatchVersion>26</PatchVersion>
<SdkBandVersion>8.0.100</SdkBandVersion>
<PackageVersionNet7>7.0.20</PackageVersionNet7>
<PackageVersionNet6>6.0.36</PackageVersionNet6>
Expand Down Expand Up @@ -253,7 +253,7 @@
Note: when the name is updated, make sure to update dependency name in eng/pipelines/common/xplat-setup.yml
like - DarcDependenciesChanged.Microsoft_NET_Workload_Emscripten_Current_Manifest-8_0_100_Transport
-->
<MicrosoftNETWorkloadEmscriptenCurrentManifest80100Version>8.0.25</MicrosoftNETWorkloadEmscriptenCurrentManifest80100Version>
<MicrosoftNETWorkloadEmscriptenCurrentManifest80100Version>8.0.26</MicrosoftNETWorkloadEmscriptenCurrentManifest80100Version>
<MicrosoftNETRuntimeEmscriptenVersion>$(MicrosoftNETWorkloadEmscriptenCurrentManifest80100Version)</MicrosoftNETRuntimeEmscriptenVersion>
<!-- SdkVersionForWorkloadTesting is used to compute the sdk band and version for workload testing.
The published manifests are built in dotnet/sdk so these values are for testing purposes only.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,11 +57,18 @@ public static IEnumerable<object[]> SymbolicLink_ResolveLinkTarget_PathToTarget_
{
get
{
foreach (string path in PathToTargetData.Union(PathToTargetUncData))
foreach (string path in PathToTargetData)
{
yield return new object[] { path, false };
yield return new object[] { path, true };
}
// UNC paths are excluded from the returnFinalTarget=true case since
// they throw "The specified network name is no longer available" in
// various Windows versions. https://github.com/dotnet/runtime/issues/120380
foreach (string path in PathToTargetUncData)
{
yield return new object[] { path, false };
}
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,9 @@
<data name="net_Websockets_ClientReceivedMaskedFrame" xml:space="preserve">
<value>The WebSocket server sent a masked frame.</value>
</data>
<data name="net_Websockets_ServerReceivedUnmaskedFrame" xml:space="preserve">
<value>The WebSocket client sent an unmasked frame.</value>
</data>
<data name="net_Websockets_ContinuationFromFinalFrame" xml:space="preserve">
<value>The WebSocket received a continuation frame from a previous final message.</value>
</data>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1204,6 +1204,11 @@ private async ValueTask CloseWithReceiveErrorAndThrowAsync(
// Consume the mask bytes
ConsumeFromBuffer(4);
}
else if (_isServer)
{
resultHeader = default;
return SR.net_Websockets_ServerReceivedUnmaskedFrame;
}

// Do basic validation of the header
switch (header.Opcode)
Expand Down
15 changes: 15 additions & 0 deletions src/libraries/System.Net.WebSockets/tests/WebSocketTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
// The .NET Foundation licenses this file to you under the MIT license.

using System.IO;
using System.Threading;
using System.Threading.Tasks;
using Xunit;

Expand Down Expand Up @@ -184,6 +185,20 @@ public async Task ThrowWhenContinuationWithDifferentCompressionFlags()
client.SendAsync(Memory<byte>.Empty, WebSocketMessageType.Binary, WebSocketMessageFlags.EndOfMessage, default));
}

[Fact]
public async Task ReceiveAsync_ServerUnmaskedFrame_ThrowsWebSocketException()
{
byte[] frame = { 0x81, 0x05, 0x48, 0x65, 0x6C, 0x6C, 0x6F };
using var stream = new MemoryStream();
stream.Write(frame, 0, frame.Length);
stream.Position = 0;
using WebSocket websocket = WebSocket.CreateFromStream(stream, new WebSocketCreationOptions { IsServer = true });
WebSocketException exception = await Assert.ThrowsAsync<WebSocketException>(() =>
websocket.ReceiveAsync(new byte[5], CancellationToken.None));
Assert.Equal("The WebSocket client sent an unmasked frame.", exception.Message);
Assert.Equal(WebSocketState.Aborted, websocket.State);
}

public abstract class ExposeProtectedWebSocket : WebSocket
{
public static new bool IsStateTerminal(WebSocketState state) =>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<IsPackable>true</IsPackable>
<ServicingVersion>2</ServicingVersion>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
<PackageDescription>Provides support for CBOR Object Signing and Encryption (COSE).</PackageDescription>
</PropertyGroup>

Expand Down
Loading