From b0cea408f21cc813f3ef435029982113b1934d4a Mon Sep 17 00:00:00 2001 From: Camillo Toselli Date: Tue, 3 Aug 2021 21:47:34 +0200 Subject: [PATCH 1/5] accept empty realm for digest auth (#56369) (#56455) * accept empty realm for digest auth (#56369) * accept empty realm for digest auth (#56369) * accept empty realm for digest auth (#56369) * accept empty realm for digest auth (#56369) Co-authored-by: Luca Bompani --- .../Net/Http/HttpClientHandlerTest.Authentication.cs | 1 + .../Net/Http/LoopbackServer.AuthenticationHelpers.cs | 2 +- .../SocketsHttpHandler/AuthenticationHelper.Digest.cs | 9 +++++---- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/libraries/Common/tests/System/Net/Http/HttpClientHandlerTest.Authentication.cs b/src/libraries/Common/tests/System/Net/Http/HttpClientHandlerTest.Authentication.cs index f7ccc3127e9ab..41718d37eb869 100644 --- a/src/libraries/Common/tests/System/Net/Http/HttpClientHandlerTest.Authentication.cs +++ b/src/libraries/Common/tests/System/Net/Http/HttpClientHandlerTest.Authentication.cs @@ -99,6 +99,7 @@ public static IEnumerable Authentication_SocketsHttpHandler_TestData() { yield return new object[] { "Digest realm=\"testrealm\",nonce=\"6afd170437eb5144258b308f7c491d96\",opaque=\"\",stale=FALSE,algorithm=MD5,qop=\"auth\"", true }; yield return new object[] { "Digest realm=\"testrealm\", domain=\"\", nonce=\"NA42+vpOFQd1GwCyVRZuhhy+jDn4BMRl\", algorithm=MD5, qop=\"auth\", stale=false", true }; + yield return new object[] { "Digest realm=\"\", nonce=\"NA42+vpOFQd1GwCyVRZuhhy+jDn4BMRl\", algorithm=MD5, qop=\"auth\", stale=false", true }; } } diff --git a/src/libraries/Common/tests/System/Net/Http/LoopbackServer.AuthenticationHelpers.cs b/src/libraries/Common/tests/System/Net/Http/LoopbackServer.AuthenticationHelpers.cs index bfb2ccb46be1a..4f322c8cb6a97 100644 --- a/src/libraries/Common/tests/System/Net/Http/LoopbackServer.AuthenticationHelpers.cs +++ b/src/libraries/Common/tests/System/Net/Http/LoopbackServer.AuthenticationHelpers.cs @@ -150,7 +150,7 @@ internal static bool IsDigestAuthTokenValid(string clientResponse, string reques } // Realm is mandatory. - if (string.IsNullOrEmpty(realm)) + if (realm == null) return false; } else if (trimmedValue.StartsWith(nameof(cnonce))) diff --git a/src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/AuthenticationHelper.Digest.cs b/src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/AuthenticationHelper.Digest.cs index c44dac794eeef..234ca135aa9bd 100644 --- a/src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/AuthenticationHelper.Digest.cs +++ b/src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/AuthenticationHelper.Digest.cs @@ -104,8 +104,7 @@ internal static partial class AuthenticationHelper } // Add realm - if (realm != string.Empty) - sb.AppendKeyValue(Realm, realm); + sb.AppendKeyValue(Realm, realm); // Add nonce sb.AppendKeyValue(Nonce, nonce); @@ -407,9 +406,11 @@ private void Parse(string challenge) break; // Ensure value is valid. - // Opaque and Domain can have empty string + // Opaque, Domain and Realm can have empty string if (value == string.Empty && - (!key.Equals(Opaque, StringComparison.OrdinalIgnoreCase) && !key.Equals(Domain, StringComparison.OrdinalIgnoreCase))) + !key.Equals(Opaque, StringComparison.OrdinalIgnoreCase) && + !key.Equals(Domain, StringComparison.OrdinalIgnoreCase) && + !key.Equals(Realm, StringComparison.OrdinalIgnoreCase)) break; // Add the key-value pair to Parameters. From 4b3db59e280562d56a6a77e6aa94d7333137b14d Mon Sep 17 00:00:00 2001 From: Huo Yaoyuan Date: Wed, 4 Aug 2021 04:00:20 +0800 Subject: [PATCH 2/5] Use File.OpenHandle in Socket.SendFile directly (#56777) * Directly open file handle in Windows. * Directly open file handle on Unix. * Dispose FileHandle. * Update scope of using. --- .../src/System/Net/Sockets/Socket.Unix.cs | 12 ++++++------ .../src/System/Net/Sockets/Socket.Windows.cs | 9 +++------ .../src/System/Net/Sockets/Socket.cs | 3 ++- .../src/System/Net/Sockets/SocketPal.Unix.cs | 7 ++----- 4 files changed, 13 insertions(+), 18 deletions(-) diff --git a/src/libraries/System.Net.Sockets/src/System/Net/Sockets/Socket.Unix.cs b/src/libraries/System.Net.Sockets/src/System/Net/Sockets/Socket.Unix.cs index 594a09f0247d0..a57b275a58d03 100644 --- a/src/libraries/System.Net.Sockets/src/System/Net/Sockets/Socket.Unix.cs +++ b/src/libraries/System.Net.Sockets/src/System/Net/Sockets/Socket.Unix.cs @@ -5,6 +5,7 @@ using System.IO; using System.Threading.Tasks; using System.Runtime.Versioning; +using Microsoft.Win32.SafeHandles; namespace System.Net.Sockets { @@ -190,12 +191,11 @@ private void SendFileInternal(string? fileName, ReadOnlySpan preBuffer, Re { CheckTransmitFileOptions(flags); + SocketError errorCode = SocketError.Success; + // Open the file, if any // Open it before we send the preBuffer so that any exception happens first - FileStream? fileStream = OpenFile(fileName); - - SocketError errorCode = SocketError.Success; - using (fileStream) + using (SafeFileHandle? fileHandle = OpenFileHandle(fileName)) { // Send the preBuffer, if any // This will throw on error @@ -205,10 +205,10 @@ private void SendFileInternal(string? fileName, ReadOnlySpan preBuffer, Re } // Send the file, if any - if (fileStream != null) + if (fileHandle != null) { // This can throw ObjectDisposedException. - errorCode = SocketPal.SendFile(_handle, fileStream); + errorCode = SocketPal.SendFile(_handle, fileHandle); } } diff --git a/src/libraries/System.Net.Sockets/src/System/Net/Sockets/Socket.Windows.cs b/src/libraries/System.Net.Sockets/src/System/Net/Sockets/Socket.Windows.cs index 736015bb01435..a6b58ff563c56 100644 --- a/src/libraries/System.Net.Sockets/src/System/Net/Sockets/Socket.Windows.cs +++ b/src/libraries/System.Net.Sockets/src/System/Net/Sockets/Socket.Windows.cs @@ -397,14 +397,11 @@ private Socket GetOrCreateAcceptSocket(Socket? acceptSocket, bool checkDisconnec private void SendFileInternal(string? fileName, ReadOnlySpan preBuffer, ReadOnlySpan postBuffer, TransmitFileOptions flags) { - // Open the file, if any - FileStream? fileStream = OpenFile(fileName); - SocketError errorCode; - using (fileStream) - { - SafeFileHandle? fileHandle = fileStream?.SafeFileHandle; + // Open the file, if any + using (SafeFileHandle? fileHandle = OpenFileHandle(fileName)) + { // This can throw ObjectDisposedException. errorCode = SocketPal.SendFile(_handle, fileHandle, preBuffer, postBuffer, flags); } diff --git a/src/libraries/System.Net.Sockets/src/System/Net/Sockets/Socket.cs b/src/libraries/System.Net.Sockets/src/System/Net/Sockets/Socket.cs index 247b02a2431d9..0898a0aa7bc68 100644 --- a/src/libraries/System.Net.Sockets/src/System/Net/Sockets/Socket.cs +++ b/src/libraries/System.Net.Sockets/src/System/Net/Sockets/Socket.cs @@ -13,6 +13,7 @@ using System.Runtime.Versioning; using System.Threading; using System.Threading.Tasks; +using Microsoft.Win32.SafeHandles; namespace System.Net.Sockets { @@ -3783,7 +3784,7 @@ private void ValidateBlockingMode() partial void ValidateForMultiConnect(bool isMultiEndpoint); // Helper for SendFile implementations - private static FileStream? OpenFile(string? name) => string.IsNullOrEmpty(name) ? null : File.OpenRead(name); + private static SafeFileHandle? OpenFileHandle(string? name) => string.IsNullOrEmpty(name) ? null : File.OpenHandle(name, FileMode.Open, FileAccess.Read); private void UpdateReceiveSocketErrorForDisposed(ref SocketError socketError, int bytesTransferred) { diff --git a/src/libraries/System.Net.Sockets/src/System/Net/Sockets/SocketPal.Unix.cs b/src/libraries/System.Net.Sockets/src/System/Net/Sockets/SocketPal.Unix.cs index cf25ed4c8da42..6c0d038b2a289 100644 --- a/src/libraries/System.Net.Sockets/src/System/Net/Sockets/SocketPal.Unix.cs +++ b/src/libraries/System.Net.Sockets/src/System/Net/Sockets/SocketPal.Unix.cs @@ -1172,13 +1172,10 @@ public static SocketError Send(SafeSocketHandle handle, ReadOnlySpan buffe return errorCode; } - public static SocketError SendFile(SafeSocketHandle handle, FileStream fileStream) + public static SocketError SendFile(SafeSocketHandle handle, SafeFileHandle fileHandle) { long offset = 0; - long length = fileStream.Length; - - SafeFileHandle fileHandle = fileStream.SafeFileHandle; - + long length = RandomAccess.GetLength(fileHandle); long bytesTransferred = 0; if (!handle.IsNonBlocking) From 90edb169b3cf4df5538b1d32e0de39cccef1436f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Rylek?= Date: Tue, 3 Aug 2021 22:13:25 +0200 Subject: [PATCH 3/5] Fix timeouts in coreroot_determinism test in GC stress mode (#56770) I have found two deficiencies in our CoreCLR test infrastructure related to running Crossgen2 in GC stress mode; this change should fix both: 1) In the Unix (bash) variant of Execute.Crossgen.targets we weren't properly unsetting the GC stress-related COMPlus environment variables. 2) In the particular case of the coreroot_determinism test this needed fixing in r2rtest that is internally used by the test implementation (on both Windows and Unix). Thanks Tomas --- src/coreclr/tools/r2rtest/Crossgen2Runner.cs | 4 ++++ src/tests/Common/CLRTest.CrossGen.targets | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/coreclr/tools/r2rtest/Crossgen2Runner.cs b/src/coreclr/tools/r2rtest/Crossgen2Runner.cs index 2aa1dee6b6f6d..d903ff4e2b0ab 100644 --- a/src/coreclr/tools/r2rtest/Crossgen2Runner.cs +++ b/src/coreclr/tools/r2rtest/Crossgen2Runner.cs @@ -65,6 +65,10 @@ public override ProcessParameters CompilationProcess(string outputFileName, IEnu { ProcessParameters processParameters = base.CompilationProcess(outputFileName, inputAssemblyFileNames); processParameters.Arguments = $"{Crossgen2Path} {processParameters.Arguments}"; + processParameters.EnvironmentOverrides["COMPlus_GCStress"] = ""; + processParameters.EnvironmentOverrides["COMPlus_HeapVerify"] = ""; + processParameters.EnvironmentOverrides["COMPlus_ReadyToRun"] = ""; + processParameters.EnvironmentOverrides["COMPlus_GCName"] = ""; return processParameters; } diff --git a/src/tests/Common/CLRTest.CrossGen.targets b/src/tests/Common/CLRTest.CrossGen.targets index 3590d4e4affea..6075c74b6d297 100644 --- a/src/tests/Common/CLRTest.CrossGen.targets +++ b/src/tests/Common/CLRTest.CrossGen.targets @@ -87,9 +87,9 @@ if [ ! -z ${RunCrossGen2+x} ]%3B then local heapVerifyModeToRestore=$COMPlus_HeapVerify; local readyToRunModeToRestore=$COMPlus_ReadyToRun; local gcstandaloneModeToRestore=$COMPlus_GCName; - export COMPlus_GCStress= - export COMPlus_HeapVerify= - export COMPlus_ReadyToRun= + unset COMPlus_GCStress + unset COMPlus_HeapVerify + unset COMPlus_ReadyToRun unset COMPlus_GCName __Command=$_DebuggerFullPath From 52d216eceb67d7cfcba875af53b0301478647f0c Mon Sep 17 00:00:00 2001 From: Thays Grazia Date: Tue, 3 Aug 2021 18:00:24 -0300 Subject: [PATCH 4/5] [wasm] [debugger] Skip thread static field (#56749) * Fix #56249 * Fix line test. * Fix indentation. * Addressing PR comments. * Fix line number changed --- src/mono/mono/component/debugger-agent.c | 2 + .../BrowserDebugProxy/MonoSDBHelper.cs | 3 ++ .../DebuggerTestSuite/BreakpointTests.cs | 2 +- .../DebuggerTestSuite/GetPropertiesTests.cs | 2 +- .../wasm/debugger/DebuggerTestSuite/Tests.cs | 21 +++++++++- .../tests/debugger-test/debugger-test.csproj | 1 + .../tests/debugger-test/debugger-test2.cs | 39 +++++++++++++++++++ .../debugger/tests/debugger-test/weather.json | 32 +++++++++++++++ 8 files changed, 99 insertions(+), 3 deletions(-) create mode 100644 src/mono/wasm/debugger/tests/debugger-test/weather.json diff --git a/src/mono/mono/component/debugger-agent.c b/src/mono/mono/component/debugger-agent.c index d5c8a3484f18e..2b6842c11fea6 100644 --- a/src/mono/mono/component/debugger-agent.c +++ b/src/mono/mono/component/debugger-agent.c @@ -8025,6 +8025,8 @@ type_commands_internal (int command, MonoClass *klass, MonoDomain *domain, guint buffer_add_string (buf, f->name); buffer_add_typeid (buf, domain, mono_class_from_mono_type_internal (f->type)); buffer_add_int (buf, f->type->attrs); + if (CHECK_PROTOCOL_VERSION(2, 61)) + buffer_add_int(buf, mono_class_field_is_special_static(f)); i ++; } g_assert (i == nfields); diff --git a/src/mono/wasm/debugger/BrowserDebugProxy/MonoSDBHelper.cs b/src/mono/wasm/debugger/BrowserDebugProxy/MonoSDBHelper.cs index 2cb784123bcf8..9b4b51c28596d 100644 --- a/src/mono/wasm/debugger/BrowserDebugProxy/MonoSDBHelper.cs +++ b/src/mono/wasm/debugger/BrowserDebugProxy/MonoSDBHelper.cs @@ -981,6 +981,9 @@ public async Task> GetTypeFields(SessionId sessionId, int t string fieldNameStr = retDebuggerCmdReader.ReadString(); int typeId = retDebuggerCmdReader.ReadInt32(); //typeId retDebuggerCmdReader.ReadInt32(); //attrs + int isSpecialStatic = retDebuggerCmdReader.ReadInt32(); //is_special_static + if (isSpecialStatic == 1) + continue; if (fieldNameStr.Contains("k__BackingField")) { fieldNameStr = fieldNameStr.Replace("k__BackingField", ""); diff --git a/src/mono/wasm/debugger/DebuggerTestSuite/BreakpointTests.cs b/src/mono/wasm/debugger/DebuggerTestSuite/BreakpointTests.cs index 7bfc088150682..ed5d59e7ef572 100644 --- a/src/mono/wasm/debugger/DebuggerTestSuite/BreakpointTests.cs +++ b/src/mono/wasm/debugger/DebuggerTestSuite/BreakpointTests.cs @@ -259,7 +259,7 @@ public async Task BreakOnDebuggerBreak() { await EvaluateAndCheck( "window.setTimeout(function() { invoke_static_method_async('[debugger-test] UserBreak:BreakOnDebuggerBreakCommand'); }, 1);", - "dotnet://debugger-test.dll/debugger-test2.cs", 56, 4, + "dotnet://debugger-test.dll/debugger-test2.cs", 58, 4, "BreakOnDebuggerBreakCommand"); } diff --git a/src/mono/wasm/debugger/DebuggerTestSuite/GetPropertiesTests.cs b/src/mono/wasm/debugger/DebuggerTestSuite/GetPropertiesTests.cs index 6b4dcd65900be..51064a7bf3ff6 100644 --- a/src/mono/wasm/debugger/DebuggerTestSuite/GetPropertiesTests.cs +++ b/src/mono/wasm/debugger/DebuggerTestSuite/GetPropertiesTests.cs @@ -340,7 +340,7 @@ public async Task GetObjectValueWithInheritance() { var pause_location = await EvaluateAndCheck( "window.setTimeout(function() { invoke_static_method('[debugger-test] TestChild:TestWatchWithInheritance'); }, 1);", - "dotnet://debugger-test.dll/debugger-test2.cs", 83, 4, + "dotnet://debugger-test.dll/debugger-test2.cs", 122, 4, "TestWatchWithInheritance"); var frame_id = pause_location["callFrames"][0]["callFrameId"].Value(); var frame_locals = await GetProperties(frame_id); diff --git a/src/mono/wasm/debugger/DebuggerTestSuite/Tests.cs b/src/mono/wasm/debugger/DebuggerTestSuite/Tests.cs index 35bc79fcb0a27..b09e32a28765e 100644 --- a/src/mono/wasm/debugger/DebuggerTestSuite/Tests.cs +++ b/src/mono/wasm/debugger/DebuggerTestSuite/Tests.cs @@ -91,7 +91,7 @@ public async Task ExceptionThrownInJSOutOfBand() [Fact] public async Task InspectLocalsTypesAtBreakpointSite() => await CheckInspectLocalsAtBreakpointSite( - "dotnet://debugger-test.dll/debugger-test2.cs", 48, 8, "Types", + "dotnet://debugger-test.dll/debugger-test2.cs", 50, 8, "Types", "window.setTimeout(function() { invoke_static_method (\"[debugger-test] Fancy:Types\")(); }, 1);", use_cfo: false, test_fn: (locals) => @@ -826,6 +826,25 @@ public async Task GetSourceUsingSourceLink() Assert.True(source.IsOk); } + [Fact] + public async Task InspectTaskAtLocals() => await CheckInspectLocalsAtBreakpointSite( + "InspectTask", + "RunInspectTask", + 7, + "b__0" , + $"window.setTimeout(function() {{ invoke_static_method_async('[debugger-test] InspectTask:RunInspectTask'); }}, 1);", + wait_for_event_fn: async (pause_location) => + { + var locals = await GetProperties(pause_location["callFrames"][0]["callFrameId"].Value()); + + var t_props = await GetObjectOnLocals(locals, "t"); + await CheckProps(t_props, new + { + s_taskIdCounter = TNumber(0), + Status = TGetter("Status") + }, "t_props", num_fields: 53); + }); + //TODO add tests covering basic stepping behavior as step in/out/over } } diff --git a/src/mono/wasm/debugger/tests/debugger-test/debugger-test.csproj b/src/mono/wasm/debugger/tests/debugger-test/debugger-test.csproj index 797fa16751648..0503feaaff07e 100644 --- a/src/mono/wasm/debugger/tests/debugger-test/debugger-test.csproj +++ b/src/mono/wasm/debugger/tests/debugger-test/debugger-test.csproj @@ -11,6 +11,7 @@ + diff --git a/src/mono/wasm/debugger/tests/debugger-test/debugger-test2.cs b/src/mono/wasm/debugger/tests/debugger-test/debugger-test2.cs index d360819356479..2a5d525392fc9 100644 --- a/src/mono/wasm/debugger/tests/debugger-test/debugger-test2.cs +++ b/src/mono/wasm/debugger/tests/debugger-test/debugger-test2.cs @@ -3,6 +3,8 @@ using System; using System.Diagnostics; +using System.Net.Http.Json; + public class Misc { //Only append content to this class as the test suite depends on line info public static int CreateObject(int foo, int bar) @@ -57,6 +59,43 @@ public static void BreakOnDebuggerBreakCommand() } } +public class WeatherForecast +{ + public DateTime Date { get; set; } + + public int TemperatureC { get; set; } + + public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); + + public string Summary { get; set; } +} + +public class InspectTask +{ + public static async System.Threading.Tasks.Task RunInspectTask() + { + WeatherForecast[] forecasts = null; + var httpClient = new System.Net.Http.HttpClient(); + var getJsonTask = httpClient.GetFromJsonAsync("http://localhost:9400/weather.json"); + try + { + await getJsonTask.ContinueWith(t => + { + if (t.IsCompletedSuccessfully) + forecasts = t.Result; + + if (t.IsFaulted) + throw t.Exception!; + }); + } + catch (Exception ex) + { + Console.WriteLine($"error {ex}"); + return; + } + } +} + public class TestParent2 { public int k = 30; diff --git a/src/mono/wasm/debugger/tests/debugger-test/weather.json b/src/mono/wasm/debugger/tests/debugger-test/weather.json new file mode 100644 index 0000000000000..e1ca33d0beb84 --- /dev/null +++ b/src/mono/wasm/debugger/tests/debugger-test/weather.json @@ -0,0 +1,32 @@ +[ + { + "dateFormatted": "06/05/2018", + "temperatureC": 1, + "summary": "Freezing", + "temperatureF": 33 + }, + { + "dateFormatted": "07/05/2018", + "temperatureC": 14, + "summary": "Bracing", + "temperatureF": 57 + }, + { + "dateFormatted": "08/05/2018", + "temperatureC": -13, + "summary": "Freezing", + "temperatureF": 9 + }, + { + "dateFormatted": "09/05/2018", + "temperatureC": -16, + "summary": "Balmy", + "temperatureF": 4 + }, + { + "dateFormatted": "10/05/2018", + "temperatureC": -2, + "summary": "Chilly", + "temperatureF": 29 + } +] From f5988467e9762ebcfd5e77cc18d83dba58e36c35 Mon Sep 17 00:00:00 2001 From: Tomas Weinfurt Date: Tue, 3 Aug 2021 14:28:29 -0700 Subject: [PATCH 5/5] add RID for Debian 11 (#56789) --- .../src/runtime.compatibility.json | 68 +++++++++++++++++++ .../src/runtime.json | 35 ++++++++++ .../src/runtimeGroups.props | 2 +- 3 files changed, 104 insertions(+), 1 deletion(-) diff --git a/src/libraries/Microsoft.NETCore.Platforms/src/runtime.compatibility.json b/src/libraries/Microsoft.NETCore.Platforms/src/runtime.compatibility.json index 70868742f3f6c..1617ecf4dab27 100644 --- a/src/libraries/Microsoft.NETCore.Platforms/src/runtime.compatibility.json +++ b/src/libraries/Microsoft.NETCore.Platforms/src/runtime.compatibility.json @@ -2219,6 +2219,74 @@ "any", "base" ], + "debian.11": [ + "debian.11", + "debian", + "linux", + "unix", + "any", + "base" + ], + "debian.11-arm": [ + "debian.11-arm", + "debian.11", + "debian-arm", + "debian", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], + "debian.11-arm64": [ + "debian.11-arm64", + "debian.11", + "debian-arm64", + "debian", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "debian.11-armel": [ + "debian.11-armel", + "debian.11", + "debian-armel", + "debian", + "linux-armel", + "linux", + "unix-armel", + "unix", + "any", + "base" + ], + "debian.11-x64": [ + "debian.11-x64", + "debian.11", + "debian-x64", + "debian", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "debian.11-x86": [ + "debian.11-x86", + "debian.11", + "debian-x86", + "debian", + "linux-x86", + "linux", + "unix-x86", + "unix", + "any", + "base" + ], "debian.8": [ "debian.8", "debian", diff --git a/src/libraries/Microsoft.NETCore.Platforms/src/runtime.json b/src/libraries/Microsoft.NETCore.Platforms/src/runtime.json index 1ba7d697df712..04e41069e0a6d 100644 --- a/src/libraries/Microsoft.NETCore.Platforms/src/runtime.json +++ b/src/libraries/Microsoft.NETCore.Platforms/src/runtime.json @@ -752,6 +752,41 @@ "debian-x86" ] }, + "debian.11": { + "#import": [ + "debian" + ] + }, + "debian.11-arm": { + "#import": [ + "debian.11", + "debian-arm" + ] + }, + "debian.11-arm64": { + "#import": [ + "debian.11", + "debian-arm64" + ] + }, + "debian.11-armel": { + "#import": [ + "debian.11", + "debian-armel" + ] + }, + "debian.11-x64": { + "#import": [ + "debian.11", + "debian-x64" + ] + }, + "debian.11-x86": { + "#import": [ + "debian.11", + "debian-x86" + ] + }, "debian.8": { "#import": [ "debian" diff --git a/src/libraries/Microsoft.NETCore.Platforms/src/runtimeGroups.props b/src/libraries/Microsoft.NETCore.Platforms/src/runtimeGroups.props index a9973ff87660a..63e342106d82d 100644 --- a/src/libraries/Microsoft.NETCore.Platforms/src/runtimeGroups.props +++ b/src/libraries/Microsoft.NETCore.Platforms/src/runtimeGroups.props @@ -59,7 +59,7 @@ linux x64;x86;arm;armel;arm64 - 8;9;10 + 8;9;10;11 false