From f25b7695f5e28dc26be738180f78ca1ba96ba164 Mon Sep 17 00:00:00 2001 From: Jeremy Barton Date: Thu, 15 Feb 2024 13:31:20 -0800 Subject: [PATCH 01/13] [release/6.0-staging] Manually depad RSAES-PKCS1 on Apple OSes --- .../Interop.RSA.cs | 107 ++++++++++++++-- .../Cryptography/RsaPaddingProcessor.cs | 104 ++++++++++++++++ .../RSA/EncryptDecrypt.cs | 115 ++++++++++++++++++ .../entrypoints.c | 1 + .../pal_rsa.c | 7 ++ .../pal_rsa.h | 8 ++ .../src/Resources/Strings.resx | 3 + 7 files changed, 336 insertions(+), 9 deletions(-) diff --git a/src/libraries/Common/src/Interop/OSX/System.Security.Cryptography.Native.Apple/Interop.RSA.cs b/src/libraries/Common/src/Interop/OSX/System.Security.Cryptography.Native.Apple/Interop.RSA.cs index f0ebcf94d95e5..69b0c03f65e2e 100644 --- a/src/libraries/Common/src/Interop/OSX/System.Security.Cryptography.Native.Apple/Interop.RSA.cs +++ b/src/libraries/Common/src/Interop/OSX/System.Security.Cryptography.Native.Apple/Interop.RSA.cs @@ -2,6 +2,7 @@ // The .NET Foundation licenses this file to you under the MIT license. using System; +using System.Buffers; using System.Diagnostics; using System.Runtime.InteropServices; using System.Security.Cryptography; @@ -111,6 +112,22 @@ private static extern int RsaDecryptPkcs( out SafeCFDataHandle pEncryptedOut, out SafeCFErrorHandle pErrorOut); + private static int RsaDecryptRaw( + SafeSecKeyRefHandle publicKey, + ReadOnlySpan pbData, + int cbData, + out SafeCFDataHandle pEncryptedOut, + out SafeCFErrorHandle pErrorOut) => + RsaDecryptRaw(publicKey, ref MemoryMarshal.GetReference(pbData), cbData, out pEncryptedOut, out pErrorOut); + + [DllImport(Libraries.AppleCryptoNative, EntryPoint = "AppleCryptoNative_RsaDecryptRaw")] + private static extern int RsaDecryptRaw( + SafeSecKeyRefHandle publicKey, + ref byte pbData, + int cbData, + out SafeCFDataHandle pEncryptedOut, + out SafeCFErrorHandle pErrorOut); + internal static void RsaGenerateKey( int keySizeInBits, out SafeSecKeyRefHandle pPublicKey, @@ -200,17 +217,40 @@ internal static byte[] RsaDecrypt( byte[] data, RSAEncryptionPadding padding) { + if (padding == RSAEncryptionPadding.Pkcs1) + { + byte[] padded = ExecuteTransform( + data, + (ReadOnlySpan source, out SafeCFDataHandle decrypted, out SafeCFErrorHandle error) => + RsaDecryptRaw(privateKey, source, source.Length, out decrypted, out error)); + + byte[] depad = CryptoPool.Rent(padded.Length); + OperationStatus status = RsaPaddingProcessor.DepadPkcs1Encryption(padded, depad, out int written); + byte[]? ret = null; + + if (status == OperationStatus.Done) + { + ret = depad.AsSpan(0, written).ToArray(); + } + + // Clear the whole thing, especially on failure. + CryptoPool.Return(depad); + CryptographicOperations.ZeroMemory(padded); + + if (ret is null) + { + throw new CryptographicException(SR.Cryptography_InvalidPadding); + } + + return ret; + } + + Debug.Assert(padding.Mode == RSAEncryptionPaddingMode.Oaep); + return ExecuteTransform( data, (ReadOnlySpan source, out SafeCFDataHandle decrypted, out SafeCFErrorHandle error) => { - if (padding == RSAEncryptionPadding.Pkcs1) - { - return RsaDecryptPkcs(privateKey, source, source.Length, out decrypted, out error); - } - - Debug.Assert(padding.Mode == RSAEncryptionPaddingMode.Oaep); - return RsaDecryptOaep( privateKey, source, @@ -229,14 +269,63 @@ internal static bool TryRsaDecrypt( out int bytesWritten) { Debug.Assert(padding.Mode == RSAEncryptionPaddingMode.Pkcs1 || padding.Mode == RSAEncryptionPaddingMode.Oaep); + + if (padding.Mode == RSAEncryptionPaddingMode.Pkcs1) + { + byte[] padded = CryptoPool.Rent(source.Length); + byte[] depad = CryptoPool.Rent(source.Length); + + bool processed = TryExecuteTransform( + source, + padded, + out int paddedLength, + (ReadOnlySpan innerSource, out SafeCFDataHandle outputHandle, out SafeCFErrorHandle errorHandle) => + RsaDecryptRaw(privateKey, innerSource, innerSource.Length, out outputHandle, out errorHandle)); + + Debug.Assert( + processed, + "TryExecuteTransform should always return true for a large enough buffer."); + + OperationStatus status = OperationStatus.InvalidData; + int depaddedLength = 0; + + if (processed) + { + status = RsaPaddingProcessor.DepadPkcs1Encryption( + new ReadOnlySpan(padded, 0, paddedLength), + depad, + out depaddedLength); + } + + CryptoPool.Return(padded); + + if (status == OperationStatus.Done) + { + if (depaddedLength <= destination.Length) + { + depad.AsSpan(0, depaddedLength).CopyTo(destination); + CryptoPool.Return(depad); + bytesWritten = depaddedLength; + return true; + } + + CryptoPool.Return(depad); + bytesWritten = 0; + return false; + } + + CryptoPool.Return(depad); + Debug.Assert(status == OperationStatus.InvalidData); + throw new CryptographicException(SR.Cryptography_InvalidPadding); + } + return TryExecuteTransform( source, destination, out bytesWritten, delegate (ReadOnlySpan innerSource, out SafeCFDataHandle outputHandle, out SafeCFErrorHandle errorHandle) { - return padding.Mode == RSAEncryptionPaddingMode.Pkcs1 ? - RsaDecryptPkcs(privateKey, innerSource, innerSource.Length, out outputHandle, out errorHandle) : + return RsaDecryptOaep(privateKey, innerSource, innerSource.Length, PalAlgorithmFromAlgorithmName(padding.OaepHashAlgorithm), out outputHandle, out errorHandle); }); } diff --git a/src/libraries/Common/src/System/Security/Cryptography/RsaPaddingProcessor.cs b/src/libraries/Common/src/System/Security/Cryptography/RsaPaddingProcessor.cs index 9538db1414322..9d997165fde67 100644 --- a/src/libraries/Common/src/System/Security/Cryptography/RsaPaddingProcessor.cs +++ b/src/libraries/Common/src/System/Security/Cryptography/RsaPaddingProcessor.cs @@ -1,6 +1,7 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. +using System.Buffers; using System.Buffers.Binary; using System.Collections.Concurrent; using System.Diagnostics; @@ -147,6 +148,109 @@ internal static void PadPkcs1Encryption( source.CopyTo(mInEM); } + internal static OperationStatus DepadPkcs1Encryption( + ReadOnlySpan source, + Span destination, + out int bytesWritten) + { + int primitive = DepadPkcs1Encryption(source); + int primitiveSign = SignStretch(primitive); + + // Primitive is a positive length, or ~length to indicate + // an error, so flip ~length to length if the high bit is set. + int len = Choose(primitiveSign, ~primitive, primitive); + int spaceRemain = destination.Length - len; + int spaceRemainSign = SignStretch(spaceRemain); + + // len = clampHigh(len, destination.Length); + len = Choose(spaceRemainSign, destination.Length, len); + + // ret = spaceRemain < 0 ? DestinationTooSmall : Done + int ret = Choose( + spaceRemainSign, + (int)OperationStatus.DestinationTooSmall, + (int)OperationStatus.Done); + + // ret = primitive < 0 ? InvalidData : ret; + ret = Choose(primitiveSign, (int)OperationStatus.InvalidData, ret); + + // Write some number of bytes, regardless of the final return. + source[^len..].CopyTo(destination); + + // bytesWritten = ret == Done ? len : 0; + bytesWritten = Choose(CheckZero(ret), len, 0); + return (OperationStatus)ret; + } + + private static int DepadPkcs1Encryption(ReadOnlySpan source) + { + Debug.Assert(source.Length > 11); + ReadOnlySpan afterPadding = source.Slice(10); + ReadOnlySpan noZeros = source.Slice(2, 8); + + // Find the first zero in noZeros, or -1 for no zeros. + int zeroPos = BlindFindFirstZero(noZeros); + + // If zeroPos is negative, valid is -1, otherwise 0. + int valid = SignStretch(zeroPos); + + // If there are no zeros in afterPadding then zeroPos is negative, + // so negating the sign stretch is 0, which makes hasPos 0. + // If there -was- a zero, sign stretching is 0, so negating it makes hasPos -1. + zeroPos = BlindFindFirstZero(afterPadding); + int hasLen = ~SignStretch(zeroPos); + valid &= hasLen; + + // Check that the first two bytes are { 00 02 } + valid &= CheckZero(source[0] | (source[1] ^ 0x02)); + + int lenIfGood = afterPadding.Length - zeroPos - 1; + // If there were no zeros, use the full after-min-padding segment. + int lenIfBad = ~Choose(hasLen, lenIfGood, source.Length - 11); + + Debug.Assert(lenIfBad < 0); + return Choose(valid, lenIfGood, lenIfBad); + } + + private static int BlindFindFirstZero(ReadOnlySpan source) + { + // Any vectorization of this routine needs to use non-early termination, + // and instructions that do not vary their completion time on the input. + + int pos = -1; + + for (int i = source.Length - 1; i >= 0; i--) + { + // pos = source[i] == 0 ? i : pos; + int local = CheckZero(source[i]); + pos = Choose(local, i, pos); + } + + return pos; + } + + private static int SignStretch(int value) + { + return value >> 31; + } + + private static int Choose(int selector, int yes, int no) + { + Debug.Assert((selector | (selector - 1)) == -1); + return (selector & yes) | (~selector & no); + } + + private static int CheckZero(int value) + { + // For zero, ~value and value-1 are both all bits set (negative). + // For positive values, ~value is negative and value-1 is positive. + // For negative values except MinValue, ~value is positive and value-1 is negative. + // For MinValue, ~value is positive and value-1 is also positive. + // All together, the only thing that has negative & negative is 0, so stretch the sign bit. + int mask = ~value & (value - 1); + return SignStretch(mask); + } + internal void PadPkcs1Signature( ReadOnlySpan source, Span destination) diff --git a/src/libraries/Common/tests/System/Security/Cryptography/AlgorithmImplementations/RSA/EncryptDecrypt.cs b/src/libraries/Common/tests/System/Security/Cryptography/AlgorithmImplementations/RSA/EncryptDecrypt.cs index 55a044d62a695..9167efae0900f 100644 --- a/src/libraries/Common/tests/System/Security/Cryptography/AlgorithmImplementations/RSA/EncryptDecrypt.cs +++ b/src/libraries/Common/tests/System/Security/Cryptography/AlgorithmImplementations/RSA/EncryptDecrypt.cs @@ -2,6 +2,8 @@ // The .NET Foundation licenses this file to you under the MIT license. using System.Collections.Generic; +using System.Diagnostics; +using System.Numerics; using Test.Cryptography; using Microsoft.DotNet.XUnitExtensions; using Xunit; @@ -712,6 +714,119 @@ public void Decrypt_Pkcs1_ErrorsForInvalidPadding(byte[] data) } } + [Fact] + public void Decrypt_Pkcs1_BadPadding() + { + if ((PlatformDetection.IsWindows && !PlatformDetection.IsWindows10Version2004OrGreater)) + { + return; + } + + RSAParameters keyParams = TestData.RSA2048Params; + BigInteger e = new BigInteger(keyParams.Exponent, true, true); + BigInteger n = new BigInteger(keyParams.Modulus, true, true); + byte[] buf = new byte[keyParams.Modulus.Length]; + byte[] c = new byte[buf.Length]; + + buf[1] = 2; + buf.AsSpan(2).Fill(1); + + ref byte afterMinPadding = ref buf[10]; + ref byte lastByte = ref buf[^1]; + afterMinPadding = 0; + + using (RSA rsa = RSAFactory.Create(keyParams)) + { + RawEncrypt(buf, e, n, c); + // Assert.NoThrow, check that manual padding is coherent + Decrypt(rsa, c, RSAEncryptionPadding.Pkcs1); + + // All RSA encryption schemes start with 00, so pick any other number. + // + // If buf > modulus then encrypt should fail, so this + // is the largest legal-but-invalid value to test. + buf[0] = keyParams.Modulus[0]; + RawEncrypt(buf, e, n, c); + Assert.ThrowsAny(() => Decrypt(rsa, c, RSAEncryptionPadding.Pkcs1)); + + // Check again with a zero length payload + (afterMinPadding, lastByte) = (lastByte, afterMinPadding); + RawEncrypt(buf, e, n, c); + Assert.ThrowsAny(() => Decrypt(rsa, c, RSAEncryptionPadding.Pkcs1)); + + // Back to valid padding + buf[0] = 0; + (afterMinPadding, lastByte) = (lastByte, afterMinPadding); + RawEncrypt(buf, e, n, c); + Decrypt(rsa, c, RSAEncryptionPadding.Pkcs1); + + // This is (sort of) legal for PKCS1 signatures, but not decryption. + buf[1] = 1; + RawEncrypt(buf, e, n, c); + Assert.ThrowsAny(() => Decrypt(rsa, c, RSAEncryptionPadding.Pkcs1)); + + // No RSA PKCS1 padding scheme starts with 00 FF. + buf[1] = 255; + RawEncrypt(buf, e, n, c); + Assert.ThrowsAny(() => Decrypt(rsa, c, RSAEncryptionPadding.Pkcs1)); + + // Check again with a zero length payload + (afterMinPadding, lastByte) = (lastByte, afterMinPadding); + RawEncrypt(buf, e, n, c); + Assert.ThrowsAny(() => Decrypt(rsa, c, RSAEncryptionPadding.Pkcs1)); + + // Back to valid padding + buf[1] = 2; + (afterMinPadding, lastByte) = (lastByte, afterMinPadding); + RawEncrypt(buf, e, n, c); + Decrypt(rsa, c, RSAEncryptionPadding.Pkcs1); + + // Try a zero in every possible required padding position + for (int i = 2; i < 10; i++) + { + buf[i] = 0; + + RawEncrypt(buf, e, n, c); + Assert.ThrowsAny(() => Decrypt(rsa, c, RSAEncryptionPadding.Pkcs1)); + + // It used to be 1, now it's 2, still not zero. + buf[i] = 2; + } + + // Back to valid padding + RawEncrypt(buf, e, n, c); + Decrypt(rsa, c, RSAEncryptionPadding.Pkcs1); + + // Make it such that + // "there is no octet with hexadecimal value 0x00 to separate PS from M" + // (RFC 3447 sec 7.2.2, rule 3, third clause) + buf.AsSpan(10).Fill(3); + RawEncrypt(buf, e, n, c); + Assert.ThrowsAny(() => Decrypt(rsa, c, RSAEncryptionPadding.Pkcs1)); + + // Every possible problem, for good measure. + buf[0] = 2; + buf[1] = 0; + buf[4] = 0; + RawEncrypt(buf, e, n, c); + Assert.ThrowsAny(() => Decrypt(rsa, c, RSAEncryptionPadding.Pkcs1)); + } + + static void RawEncrypt(ReadOnlySpan source, BigInteger e, BigInteger n, Span destination) + { + BigInteger m = new BigInteger(source, true, true); + BigInteger c = BigInteger.ModPow(m, e, n); + int shift = destination.Length - c.GetByteCount(true); + destination.Slice(0, shift).Clear(); + bool wrote = c.TryWriteBytes(destination.Slice(shift), out int written, true, true); + + if (!wrote || written + shift != destination.Length) + { + throw new InvalidOperationException(); + } + } + } + public static IEnumerable OaepPaddingModes { get diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/entrypoints.c b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/entrypoints.c index db75e90b3a436..2a1b138e4b51f 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/entrypoints.c +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/entrypoints.c @@ -63,6 +63,7 @@ static const Entry s_cryptoAppleNative[] = DllImportEntry(AppleCryptoNative_RsaGenerateKey) DllImportEntry(AppleCryptoNative_RsaDecryptOaep) DllImportEntry(AppleCryptoNative_RsaDecryptPkcs) + DllImportEntry(AppleCryptoNative_RsaDecryptRaw) DllImportEntry(AppleCryptoNative_RsaEncryptOaep) DllImportEntry(AppleCryptoNative_RsaEncryptPkcs) DllImportEntry(AppleCryptoNative_RsaSignaturePrimitive) diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_rsa.c b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_rsa.c index a9aece35fb0f5..1746828d5b0d7 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_rsa.c +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_rsa.c @@ -134,6 +134,13 @@ int32_t AppleCryptoNative_RsaDecryptOaep(SecKeyRef privateKey, privateKey, pbData, cbData, pDecryptedOut, pErrorOut, mgfAlgorithm, SecKeyCreateDecryptedData); } +int32_t AppleCryptoNative_RsaDecryptRaw( + SecKeyRef privateKey, uint8_t* pbData, int32_t cbData, CFDataRef* pDecryptedOut, CFErrorRef* pErrorOut) +{ + return RsaPrimitive( + privateKey, pbData, cbData, pDecryptedOut, pErrorOut, kSecKeyAlgorithmRSAEncryptionRaw, SecKeyCreateDecryptedData); +} + int32_t AppleCryptoNative_RsaDecryptPkcs( SecKeyRef privateKey, uint8_t* pbData, int32_t cbData, CFDataRef* pDecryptedOut, CFErrorRef* pErrorOut) { diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_rsa.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_rsa.h index 253fdae78e4b3..34a350f80f9bc 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_rsa.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_rsa.h @@ -31,6 +31,14 @@ PALEXPORT int32_t AppleCryptoNative_RsaDecryptOaep(SecKeyRef privateKey, CFDataRef* pDecryptedOut, CFErrorRef* pErrorOut); +/* +Decrypt the contents of pbData using the provided privateKey without validating or removing padding. + +Follows pal_seckey return conventions. +*/ +PALEXPORT int32_t AppleCryptoNative_RsaDecryptRaw( + SecKeyRef privateKey, uint8_t* pbData, int32_t cbData, CFDataRef* pDecryptedOut, CFErrorRef* pErrorOut); + /* Decrypt the contents of pbData using the provided privateKey under PKCS#1 padding. diff --git a/src/libraries/System.Security.Cryptography.X509Certificates/src/Resources/Strings.resx b/src/libraries/System.Security.Cryptography.X509Certificates/src/Resources/Strings.resx index a5624952731d8..f16b13441fbf2 100644 --- a/src/libraries/System.Security.Cryptography.X509Certificates/src/Resources/Strings.resx +++ b/src/libraries/System.Security.Cryptography.X509Certificates/src/Resources/Strings.resx @@ -193,6 +193,9 @@ Object identifier (OID) is unknown. + + Padding is invalid and cannot be removed. + Specified padding mode is not valid for this algorithm. From 06f09bed404ebd3c0f5d202a6a9f1880f3a64089 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20S=C3=A1nchez=20L=C3=B3pez?= <1175054+carlossanlop@users.noreply.github.com> Date: Tue, 20 Feb 2024 14:54:36 -0600 Subject: [PATCH 02/13] Bump Pkcs to servicing version 4 (#98716) --- .../src/System.Security.Cryptography.Pkcs.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libraries/System.Security.Cryptography.Pkcs/src/System.Security.Cryptography.Pkcs.csproj b/src/libraries/System.Security.Cryptography.Pkcs/src/System.Security.Cryptography.Pkcs.csproj index 951f229ed4e62..3bb3f45e43cd3 100644 --- a/src/libraries/System.Security.Cryptography.Pkcs/src/System.Security.Cryptography.Pkcs.csproj +++ b/src/libraries/System.Security.Cryptography.Pkcs/src/System.Security.Cryptography.Pkcs.csproj @@ -8,7 +8,7 @@ true false - 3 + 4 Provides support for PKCS and CMS algorithms. Commonly Used Types: From 69ddeaf0c30ddd4db445c482cad875e095282f2b Mon Sep 17 00:00:00 2001 From: Steve Pfister Date: Wed, 21 Feb 2024 17:32:50 -0800 Subject: [PATCH 03/13] [release/6.0] Bump NuGet.ProjectModel version (#98724) This resolves a CG alert Co-authored-by: Steve Pfister --- eng/Versions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/Versions.props b/eng/Versions.props index a710defe37cc9..adfb4bc17b779 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -138,7 +138,7 @@ 16.10.0 $(MicrosoftBuildVersion) 4.7.2 - 6.7.0 + 6.7.1 6.2.2 1.0.1-prerelease-00006 From c9b42e2306d2f4186d114d59fe7d57ec9d77fb45 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Wed, 21 Feb 2024 19:35:25 -0600 Subject: [PATCH 04/13] Update dependencies from https://github.com/dotnet/arcade build 20240213.1 (#98464) Microsoft.DotNet.ApiCompat , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.XUnitExtensions From Version 6.0.0-beta.24059.3 -> To Version 6.0.0-beta.24113.1 Co-authored-by: dotnet-maestro[bot] From 208b21b142133979afb268903b92fdd5b982b755 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Wed, 6 Mar 2024 11:45:34 -0800 Subject: [PATCH 05/13] [release/6.0-staging] Update dependencies from dotnet/emsdk (#98438) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update dependencies from https://github.com/dotnet/emsdk build 20240214.2 Microsoft.NET.Workload.Emscripten.Manifest-6.0.100 , Microsoft.NET.Workload.Emscripten.Manifest-6.0.300 , Microsoft.NET.Workload.Emscripten.Manifest-6.0.400 From Version 6.0.28 -> To Version 6.0.28 * Update dependencies from https://github.com/dotnet/emsdk build 20240215.4 Microsoft.NET.Workload.Emscripten.Manifest-6.0.100 , Microsoft.NET.Workload.Emscripten.Manifest-6.0.300 , Microsoft.NET.Workload.Emscripten.Manifest-6.0.400 From Version 6.0.28 -> To Version 6.0.28 * Update dependencies from https://github.com/dotnet/emsdk build 20240227.3 Microsoft.NET.Workload.Emscripten.Manifest-6.0.100 , Microsoft.NET.Workload.Emscripten.Manifest-6.0.300 , Microsoft.NET.Workload.Emscripten.Manifest-6.0.400 From Version 6.0.28 -> To Version 6.0.28 --------- Co-authored-by: dotnet-maestro[bot] Co-authored-by: Carlos Sánchez López <1175054+carlossanlop@users.noreply.github.com> --- NuGet.config | 2 +- eng/Version.Details.xml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/NuGet.config b/NuGet.config index 798a7d0e55e65..44cf761484a1b 100644 --- a/NuGet.config +++ b/NuGet.config @@ -9,7 +9,7 @@ - + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index cfcc7ab255260..4e2a41cf68ce6 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -10,15 +10,15 @@ https://github.com/dotnet/emsdk - 925c59b436d60b9cd6b5df54c3f9be13a9512c95 + ee3546a41338fd3c82167b62d7ff989934c6cb01 https://github.com/dotnet/emsdk - 925c59b436d60b9cd6b5df54c3f9be13a9512c95 + ee3546a41338fd3c82167b62d7ff989934c6cb01 https://github.com/dotnet/emsdk - 925c59b436d60b9cd6b5df54c3f9be13a9512c95 + ee3546a41338fd3c82167b62d7ff989934c6cb01 https://github.com/dotnet/wcf From 1a694d4f9ef00661c5e8d53c787edab56b055ca9 Mon Sep 17 00:00:00 2001 From: Milena Hristova Date: Wed, 6 Mar 2024 20:52:30 +0100 Subject: [PATCH 06/13] [release/6.0-staging] Set assets manifest metadata for assets that get shipped with .NET release (#98991) * Set assets manifest metadata for assets that get shipped with .NET release (#98824) * add metadata to manifest * set in ItemDefinitionGroup * remove from items * comment * Add ProducesNetCoreAssets property to Publishing.props (#98665) * add property to publishing.props * rename to ProducesDotNetReleaseShippingAssets * Update Publishing.props --------- Co-authored-by: Viktor Hofer --------- Co-authored-by: Viktor Hofer --- eng/Publishing.props | 7 ++++--- src/installer/prepare-artifacts.proj | 12 ++++++++++++ 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/eng/Publishing.props b/eng/Publishing.props index 920e79cbbd2f7..8b796225f8274 100644 --- a/eng/Publishing.props +++ b/eng/Publishing.props @@ -1,6 +1,7 @@ - + - 3 + true - \ No newline at end of file + + diff --git a/src/installer/prepare-artifacts.proj b/src/installer/prepare-artifacts.proj index a4476a5d1e9d1..2de1d3b43d3a2 100644 --- a/src/installer/prepare-artifacts.proj +++ b/src/installer/prepare-artifacts.proj @@ -23,6 +23,8 @@ + + @@ -56,6 +58,16 @@ + + + + DotNetReleaseShipping=true + + + + + + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 4e2a41cf68ce6..a1a1675c0fe9e 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -242,9 +242,9 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-optimization d50065944d8b41d804448a7056351481d583ad3d - + https://github.com/dotnet/hotreload-utils - 453eb973df8f81461022c8a428c717ed87129055 + 0d7d008228ffdfeb200fdf8039419a7c019eff50 https://github.com/dotnet/runtime-assets diff --git a/eng/Versions.props b/eng/Versions.props index c06da7867d432..d556b81419cb6 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -145,7 +145,7 @@ 17.4.0-preview-20220707-01 6.0.0-prerelease.23531.3 6.0.0-prerelease.23531.3 - 6.0.0-alpha.0.23518.4 + 6.0.0-alpha.0.24115.1 6.0.0-alpha.0.23367.3 2.4.2-pre.9 2.4.2 From 5b34a8d20e9d417f64c3f92dd53eb2bdc5726ce2 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Mon, 11 Mar 2024 16:41:17 -0700 Subject: [PATCH 09/13] [release/6.0-staging] Update dependencies from dotnet/runtime-assets (#99189) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update dependencies from https://github.com/dotnet/runtime-assets build 20240224.1 Microsoft.DotNet.CilStrip.Sources , System.ComponentModel.TypeConverter.TestData , System.Data.Common.TestData , System.Drawing.Common.TestData , System.IO.Compression.TestData , System.IO.Packaging.TestData , System.Net.TestData , System.Private.Runtime.UnicodeData , System.Runtime.Numerics.TestData , System.Runtime.TimeZoneData , System.Security.Cryptography.X509Certificates.TestData , System.Windows.Extensions.TestData From Version 6.0.0-beta.23512.1 -> To Version 6.0.0-beta.24124.1 * Update dependencies from https://github.com/dotnet/runtime-assets build 20240224.1 Microsoft.DotNet.CilStrip.Sources , System.ComponentModel.TypeConverter.TestData , System.Data.Common.TestData , System.Drawing.Common.TestData , System.IO.Compression.TestData , System.IO.Packaging.TestData , System.Net.TestData , System.Private.Runtime.UnicodeData , System.Runtime.Numerics.TestData , System.Runtime.TimeZoneData , System.Security.Cryptography.X509Certificates.TestData , System.Windows.Extensions.TestData From Version 6.0.0-beta.23512.1 -> To Version 6.0.0-beta.24124.1 * Update dependencies from https://github.com/dotnet/runtime-assets build 20240224.1 Microsoft.DotNet.CilStrip.Sources , System.ComponentModel.TypeConverter.TestData , System.Data.Common.TestData , System.Drawing.Common.TestData , System.IO.Compression.TestData , System.IO.Packaging.TestData , System.Net.TestData , System.Private.Runtime.UnicodeData , System.Runtime.Numerics.TestData , System.Runtime.TimeZoneData , System.Security.Cryptography.X509Certificates.TestData , System.Windows.Extensions.TestData From Version 6.0.0-beta.23512.1 -> To Version 6.0.0-beta.24124.1 * Update dependencies from https://github.com/dotnet/runtime-assets build 20240224.1 Microsoft.DotNet.CilStrip.Sources , System.ComponentModel.TypeConverter.TestData , System.Data.Common.TestData , System.Drawing.Common.TestData , System.IO.Compression.TestData , System.IO.Packaging.TestData , System.Net.TestData , System.Private.Runtime.UnicodeData , System.Runtime.Numerics.TestData , System.Runtime.TimeZoneData , System.Security.Cryptography.X509Certificates.TestData , System.Windows.Extensions.TestData From Version 6.0.0-beta.23512.1 -> To Version 6.0.0-beta.24124.1 * Update dependencies from https://github.com/dotnet/runtime-assets build 20240224.1 Microsoft.DotNet.CilStrip.Sources , System.ComponentModel.TypeConverter.TestData , System.Data.Common.TestData , System.Drawing.Common.TestData , System.IO.Compression.TestData , System.IO.Packaging.TestData , System.Net.TestData , System.Private.Runtime.UnicodeData , System.Runtime.Numerics.TestData , System.Runtime.TimeZoneData , System.Security.Cryptography.X509Certificates.TestData , System.Windows.Extensions.TestData From Version 6.0.0-beta.23512.1 -> To Version 6.0.0-beta.24124.1 * Update dependencies from https://github.com/dotnet/runtime-assets build 20240224.1 Microsoft.DotNet.CilStrip.Sources , System.ComponentModel.TypeConverter.TestData , System.Data.Common.TestData , System.Drawing.Common.TestData , System.IO.Compression.TestData , System.IO.Packaging.TestData , System.Net.TestData , System.Private.Runtime.UnicodeData , System.Runtime.Numerics.TestData , System.Runtime.TimeZoneData , System.Security.Cryptography.X509Certificates.TestData , System.Windows.Extensions.TestData From Version 6.0.0-beta.23512.1 -> To Version 6.0.0-beta.24124.1 * Update dependencies from https://github.com/dotnet/runtime-assets build 20240224.1 Microsoft.DotNet.CilStrip.Sources , System.ComponentModel.TypeConverter.TestData , System.Data.Common.TestData , System.Drawing.Common.TestData , System.IO.Compression.TestData , System.IO.Packaging.TestData , System.Net.TestData , System.Private.Runtime.UnicodeData , System.Runtime.Numerics.TestData , System.Runtime.TimeZoneData , System.Security.Cryptography.X509Certificates.TestData , System.Windows.Extensions.TestData From Version 6.0.0-beta.23512.1 -> To Version 6.0.0-beta.24124.1 * Update dependencies from https://github.com/dotnet/runtime-assets build 20240224.1 Microsoft.DotNet.CilStrip.Sources , System.ComponentModel.TypeConverter.TestData , System.Data.Common.TestData , System.Drawing.Common.TestData , System.IO.Compression.TestData , System.IO.Packaging.TestData , System.Net.TestData , System.Private.Runtime.UnicodeData , System.Runtime.Numerics.TestData , System.Runtime.TimeZoneData , System.Security.Cryptography.X509Certificates.TestData , System.Windows.Extensions.TestData From Version 6.0.0-beta.23512.1 -> To Version 6.0.0-beta.24124.1 * Update dependencies from https://github.com/dotnet/runtime-assets build 20240224.1 Microsoft.DotNet.CilStrip.Sources , System.ComponentModel.TypeConverter.TestData , System.Data.Common.TestData , System.Drawing.Common.TestData , System.IO.Compression.TestData , System.IO.Packaging.TestData , System.Net.TestData , System.Private.Runtime.UnicodeData , System.Runtime.Numerics.TestData , System.Runtime.TimeZoneData , System.Security.Cryptography.X509Certificates.TestData , System.Windows.Extensions.TestData From Version 6.0.0-beta.23512.1 -> To Version 6.0.0-beta.24124.1 * Update dependencies from https://github.com/dotnet/runtime-assets build 20240224.1 Microsoft.DotNet.CilStrip.Sources , System.ComponentModel.TypeConverter.TestData , System.Data.Common.TestData , System.Drawing.Common.TestData , System.IO.Compression.TestData , System.IO.Packaging.TestData , System.Net.TestData , System.Private.Runtime.UnicodeData , System.Runtime.Numerics.TestData , System.Runtime.TimeZoneData , System.Security.Cryptography.X509Certificates.TestData , System.Windows.Extensions.TestData From Version 6.0.0-beta.23512.1 -> To Version 6.0.0-beta.24124.1 --------- Co-authored-by: dotnet-maestro[bot] Co-authored-by: Carlos Sánchez López <1175054+carlossanlop@users.noreply.github.com> --- eng/Version.Details.xml | 48 ++++++++++++++++++++--------------------- eng/Versions.props | 24 ++++++++++----------- 2 files changed, 36 insertions(+), 36 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index a1a1675c0fe9e..7b7cd0316a8c5 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -102,49 +102,49 @@ https://github.com/microsoft/vstest 140434f7109d357d0158ade9e5164a4861513965 - + https://github.com/dotnet/runtime-assets - 982dfbc57db3a7ccd49e671ab1ca9779cc7070e5 + 883c47a740b678482efd9dfee6da38ac108fbca9 - + https://github.com/dotnet/runtime-assets - 982dfbc57db3a7ccd49e671ab1ca9779cc7070e5 + 883c47a740b678482efd9dfee6da38ac108fbca9 - + https://github.com/dotnet/runtime-assets - 982dfbc57db3a7ccd49e671ab1ca9779cc7070e5 + 883c47a740b678482efd9dfee6da38ac108fbca9 - + https://github.com/dotnet/runtime-assets - 982dfbc57db3a7ccd49e671ab1ca9779cc7070e5 + 883c47a740b678482efd9dfee6da38ac108fbca9 - + https://github.com/dotnet/runtime-assets - 982dfbc57db3a7ccd49e671ab1ca9779cc7070e5 + 883c47a740b678482efd9dfee6da38ac108fbca9 - + https://github.com/dotnet/runtime-assets - 982dfbc57db3a7ccd49e671ab1ca9779cc7070e5 + 883c47a740b678482efd9dfee6da38ac108fbca9 - + https://github.com/dotnet/runtime-assets - 982dfbc57db3a7ccd49e671ab1ca9779cc7070e5 + 883c47a740b678482efd9dfee6da38ac108fbca9 - + https://github.com/dotnet/runtime-assets - 982dfbc57db3a7ccd49e671ab1ca9779cc7070e5 + 883c47a740b678482efd9dfee6da38ac108fbca9 - + https://github.com/dotnet/runtime-assets - 982dfbc57db3a7ccd49e671ab1ca9779cc7070e5 + 883c47a740b678482efd9dfee6da38ac108fbca9 - + https://github.com/dotnet/runtime-assets - 982dfbc57db3a7ccd49e671ab1ca9779cc7070e5 + 883c47a740b678482efd9dfee6da38ac108fbca9 - + https://github.com/dotnet/runtime-assets - 982dfbc57db3a7ccd49e671ab1ca9779cc7070e5 + 883c47a740b678482efd9dfee6da38ac108fbca9 https://github.com/dotnet/llvm-project @@ -246,9 +246,9 @@ https://github.com/dotnet/hotreload-utils 0d7d008228ffdfeb200fdf8039419a7c019eff50 - + https://github.com/dotnet/runtime-assets - 982dfbc57db3a7ccd49e671ab1ca9779cc7070e5 + 883c47a740b678482efd9dfee6da38ac108fbca9 https://github.com/dotnet/roslyn-analyzers diff --git a/eng/Versions.props b/eng/Versions.props index d556b81419cb6..22394f2b7dd8c 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -108,18 +108,18 @@ 4.5.0 6.0.0-rc.1.21415.6 - 6.0.0-beta.23512.1 - 6.0.0-beta.23512.1 - 6.0.0-beta.23512.1 - 6.0.0-beta.23512.1 - 6.0.0-beta.23512.1 - 6.0.0-beta.23512.1 - 6.0.0-beta.23512.1 - 6.0.0-beta.23512.1 - 6.0.0-beta.23512.1 - 6.0.0-beta.23512.1 - 6.0.0-beta.23512.1 - 6.0.0-beta.23512.1 + 6.0.0-beta.24124.1 + 6.0.0-beta.24124.1 + 6.0.0-beta.24124.1 + 6.0.0-beta.24124.1 + 6.0.0-beta.24124.1 + 6.0.0-beta.24124.1 + 6.0.0-beta.24124.1 + 6.0.0-beta.24124.1 + 6.0.0-beta.24124.1 + 6.0.0-beta.24124.1 + 6.0.0-beta.24124.1 + 6.0.0-beta.24124.1 1.0.0-prerelease.21416.5 1.0.0-prerelease.21416.5 From 85ca6cea642e014035facbefe629f41de009fa95 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Mon, 11 Mar 2024 16:41:32 -0700 Subject: [PATCH 10/13] Update dependencies from https://github.com/dotnet/icu build 20240214.3 (#99166) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Microsoft.NETCore.Runtime.ICU.Transport From Version 6.0.0-rtm.23512.2 -> To Version 6.0.0-rtm.24114.3 Co-authored-by: dotnet-maestro[bot] Co-authored-by: Carlos Sánchez López <1175054+carlossanlop@users.noreply.github.com> --- eng/Version.Details.xml | 4 ++-- eng/Versions.props | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 7b7cd0316a8c5..25a1ae7d7e28d 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,8 +1,8 @@ - + https://github.com/dotnet/icu - 0a6b6dc4153f52a42dad0cf275e969c2bfaad1a2 + b62077d90972117ad4663128962914864b19ad05 https://github.com/dotnet/msquic diff --git a/eng/Versions.props b/eng/Versions.props index 22394f2b7dd8c..31cd7e023c036 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -163,7 +163,7 @@ 6.0.100-1.21459.1 $(MicrosoftNETILLinkTasksVersion) - 6.0.0-rtm.23512.2 + 6.0.0-rtm.24114.3 6.0.0-servicing.22205.1 From 757ccc2e10e3d24ee52c47b05c060f1fe97f5811 Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Mon, 11 Mar 2024 23:38:07 -0400 Subject: [PATCH 11/13] [release/6.0] Add RID for Alpine 3.19 / 3.20 (#99560) * Add RID for Alpine 3.19 * Add RID for Alpine 3.20 * Microsoft.NETCore.Platforms: bump ServicingVersion --- .../src/Microsoft.NETCore.Platforms.csproj | 2 +- .../src/runtime.compatibility.json | 457 +++++++++++++++++- .../src/runtime.json | 72 ++- .../src/runtimeGroups.props | 2 +- 4 files changed, 529 insertions(+), 4 deletions(-) diff --git a/src/libraries/Microsoft.NETCore.Platforms/src/Microsoft.NETCore.Platforms.csproj b/src/libraries/Microsoft.NETCore.Platforms/src/Microsoft.NETCore.Platforms.csproj index fc06a0deae9bb..eb2be04a4ca5e 100644 --- a/src/libraries/Microsoft.NETCore.Platforms/src/Microsoft.NETCore.Platforms.csproj +++ b/src/libraries/Microsoft.NETCore.Platforms/src/Microsoft.NETCore.Platforms.csproj @@ -18,7 +18,7 @@ $(AdditionalRuntimeIdentifiers);$(OutputRID) - 12 + 13 true diff --git a/src/libraries/Microsoft.NETCore.Platforms/src/runtime.compatibility.json b/src/libraries/Microsoft.NETCore.Platforms/src/runtime.compatibility.json index 809c62872a898..a1397baaf8fde 100644 --- a/src/libraries/Microsoft.NETCore.Platforms/src/runtime.compatibility.json +++ b/src/libraries/Microsoft.NETCore.Platforms/src/runtime.compatibility.json @@ -1570,6 +1570,461 @@ "any", "base" ], + "alpine.3.19": [ + "alpine.3.19", + "alpine.3.18", + "alpine.3.17", + "alpine.3.16", + "alpine.3.15", + "alpine.3.14", + "alpine.3.13", + "alpine.3.12", + "alpine.3.11", + "alpine.3.10", + "alpine.3.9", + "alpine.3.8", + "alpine.3.7", + "alpine.3.6", + "alpine", + "linux-musl", + "linux", + "unix", + "any", + "base" + ], + "alpine.3.19-arm": [ + "alpine.3.19-arm", + "alpine.3.19", + "alpine.3.18-arm", + "alpine.3.18", + "alpine.3.17-arm", + "alpine.3.17", + "alpine.3.16-arm", + "alpine.3.16", + "alpine.3.15-arm", + "alpine.3.15", + "alpine.3.14-arm", + "alpine.3.14", + "alpine.3.13-arm", + "alpine.3.13", + "alpine.3.12-arm", + "alpine.3.12", + "alpine.3.11-arm", + "alpine.3.11", + "alpine.3.10-arm", + "alpine.3.10", + "alpine.3.9-arm", + "alpine.3.9", + "alpine.3.8-arm", + "alpine.3.8", + "alpine.3.7-arm", + "alpine.3.7", + "alpine.3.6-arm", + "alpine.3.6", + "alpine-arm", + "alpine", + "linux-musl-arm", + "linux-musl", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], + "alpine.3.19-arm64": [ + "alpine.3.19-arm64", + "alpine.3.19", + "alpine.3.18-arm64", + "alpine.3.18", + "alpine.3.17-arm64", + "alpine.3.17", + "alpine.3.16-arm64", + "alpine.3.16", + "alpine.3.15-arm64", + "alpine.3.15", + "alpine.3.14-arm64", + "alpine.3.14", + "alpine.3.13-arm64", + "alpine.3.13", + "alpine.3.12-arm64", + "alpine.3.12", + "alpine.3.11-arm64", + "alpine.3.11", + "alpine.3.10-arm64", + "alpine.3.10", + "alpine.3.9-arm64", + "alpine.3.9", + "alpine.3.8-arm64", + "alpine.3.8", + "alpine.3.7-arm64", + "alpine.3.7", + "alpine.3.6-arm64", + "alpine.3.6", + "alpine-arm64", + "alpine", + "linux-musl-arm64", + "linux-musl", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "alpine.3.19-s390x": [ + "alpine.3.19-s390x", + "alpine.3.19", + "alpine.3.18-s390x", + "alpine.3.18", + "alpine.3.17-s390x", + "alpine.3.17", + "alpine.3.16-s390x", + "alpine.3.16", + "alpine.3.15-s390x", + "alpine.3.15", + "alpine.3.14-s390x", + "alpine.3.14", + "alpine.3.13-s390x", + "alpine.3.13", + "alpine.3.12-s390x", + "alpine.3.12", + "alpine.3.11-s390x", + "alpine.3.11", + "alpine.3.10-s390x", + "alpine.3.10", + "alpine.3.9-s390x", + "alpine.3.9", + "alpine.3.8-s390x", + "alpine.3.8", + "alpine.3.7-s390x", + "alpine.3.7", + "alpine.3.6-s390x", + "alpine.3.6", + "alpine-s390x", + "alpine", + "linux-musl-s390x", + "linux-musl", + "linux-s390x", + "linux", + "unix-s390x", + "unix", + "any", + "base" + ], + "alpine.3.19-x64": [ + "alpine.3.19-x64", + "alpine.3.19", + "alpine.3.18-x64", + "alpine.3.18", + "alpine.3.17-x64", + "alpine.3.17", + "alpine.3.16-x64", + "alpine.3.16", + "alpine.3.15-x64", + "alpine.3.15", + "alpine.3.14-x64", + "alpine.3.14", + "alpine.3.13-x64", + "alpine.3.13", + "alpine.3.12-x64", + "alpine.3.12", + "alpine.3.11-x64", + "alpine.3.11", + "alpine.3.10-x64", + "alpine.3.10", + "alpine.3.9-x64", + "alpine.3.9", + "alpine.3.8-x64", + "alpine.3.8", + "alpine.3.7-x64", + "alpine.3.7", + "alpine.3.6-x64", + "alpine.3.6", + "alpine-x64", + "alpine", + "linux-musl-x64", + "linux-musl", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "alpine.3.19-x86": [ + "alpine.3.19-x86", + "alpine.3.19", + "alpine.3.18-x86", + "alpine.3.18", + "alpine.3.17-x86", + "alpine.3.17", + "alpine.3.16-x86", + "alpine.3.16", + "alpine.3.15-x86", + "alpine.3.15", + "alpine.3.14-x86", + "alpine.3.14", + "alpine.3.13-x86", + "alpine.3.13", + "alpine.3.12-x86", + "alpine.3.12", + "alpine.3.11-x86", + "alpine.3.11", + "alpine.3.10-x86", + "alpine.3.10", + "alpine.3.9-x86", + "alpine.3.9", + "alpine.3.8-x86", + "alpine.3.8", + "alpine.3.7-x86", + "alpine.3.7", + "alpine.3.6-x86", + "alpine.3.6", + "alpine-x86", + "alpine", + "linux-musl-x86", + "linux-musl", + "linux-x86", + "linux", + "unix-x86", + "unix", + "any", + "base" + ], + "alpine.3.20": [ + "alpine.3.20", + "alpine.3.19", + "alpine.3.18", + "alpine.3.17", + "alpine.3.16", + "alpine.3.15", + "alpine.3.14", + "alpine.3.13", + "alpine.3.12", + "alpine.3.11", + "alpine.3.10", + "alpine.3.9", + "alpine.3.8", + "alpine.3.7", + "alpine.3.6", + "alpine", + "linux-musl", + "linux", + "unix", + "any", + "base" + ], + "alpine.3.20-arm": [ + "alpine.3.20-arm", + "alpine.3.20", + "alpine.3.19-arm", + "alpine.3.19", + "alpine.3.18-arm", + "alpine.3.18", + "alpine.3.17-arm", + "alpine.3.17", + "alpine.3.16-arm", + "alpine.3.16", + "alpine.3.15-arm", + "alpine.3.15", + "alpine.3.14-arm", + "alpine.3.14", + "alpine.3.13-arm", + "alpine.3.13", + "alpine.3.12-arm", + "alpine.3.12", + "alpine.3.11-arm", + "alpine.3.11", + "alpine.3.10-arm", + "alpine.3.10", + "alpine.3.9-arm", + "alpine.3.9", + "alpine.3.8-arm", + "alpine.3.8", + "alpine.3.7-arm", + "alpine.3.7", + "alpine.3.6-arm", + "alpine.3.6", + "alpine-arm", + "alpine", + "linux-musl-arm", + "linux-musl", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], + "alpine.3.20-arm64": [ + "alpine.3.20-arm64", + "alpine.3.20", + "alpine.3.19-arm64", + "alpine.3.19", + "alpine.3.18-arm64", + "alpine.3.18", + "alpine.3.17-arm64", + "alpine.3.17", + "alpine.3.16-arm64", + "alpine.3.16", + "alpine.3.15-arm64", + "alpine.3.15", + "alpine.3.14-arm64", + "alpine.3.14", + "alpine.3.13-arm64", + "alpine.3.13", + "alpine.3.12-arm64", + "alpine.3.12", + "alpine.3.11-arm64", + "alpine.3.11", + "alpine.3.10-arm64", + "alpine.3.10", + "alpine.3.9-arm64", + "alpine.3.9", + "alpine.3.8-arm64", + "alpine.3.8", + "alpine.3.7-arm64", + "alpine.3.7", + "alpine.3.6-arm64", + "alpine.3.6", + "alpine-arm64", + "alpine", + "linux-musl-arm64", + "linux-musl", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "alpine.3.20-s390x": [ + "alpine.3.20-s390x", + "alpine.3.20", + "alpine.3.19-s390x", + "alpine.3.19", + "alpine.3.18-s390x", + "alpine.3.18", + "alpine.3.17-s390x", + "alpine.3.17", + "alpine.3.16-s390x", + "alpine.3.16", + "alpine.3.15-s390x", + "alpine.3.15", + "alpine.3.14-s390x", + "alpine.3.14", + "alpine.3.13-s390x", + "alpine.3.13", + "alpine.3.12-s390x", + "alpine.3.12", + "alpine.3.11-s390x", + "alpine.3.11", + "alpine.3.10-s390x", + "alpine.3.10", + "alpine.3.9-s390x", + "alpine.3.9", + "alpine.3.8-s390x", + "alpine.3.8", + "alpine.3.7-s390x", + "alpine.3.7", + "alpine.3.6-s390x", + "alpine.3.6", + "alpine-s390x", + "alpine", + "linux-musl-s390x", + "linux-musl", + "linux-s390x", + "linux", + "unix-s390x", + "unix", + "any", + "base" + ], + "alpine.3.20-x64": [ + "alpine.3.20-x64", + "alpine.3.20", + "alpine.3.19-x64", + "alpine.3.19", + "alpine.3.18-x64", + "alpine.3.18", + "alpine.3.17-x64", + "alpine.3.17", + "alpine.3.16-x64", + "alpine.3.16", + "alpine.3.15-x64", + "alpine.3.15", + "alpine.3.14-x64", + "alpine.3.14", + "alpine.3.13-x64", + "alpine.3.13", + "alpine.3.12-x64", + "alpine.3.12", + "alpine.3.11-x64", + "alpine.3.11", + "alpine.3.10-x64", + "alpine.3.10", + "alpine.3.9-x64", + "alpine.3.9", + "alpine.3.8-x64", + "alpine.3.8", + "alpine.3.7-x64", + "alpine.3.7", + "alpine.3.6-x64", + "alpine.3.6", + "alpine-x64", + "alpine", + "linux-musl-x64", + "linux-musl", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "alpine.3.20-x86": [ + "alpine.3.20-x86", + "alpine.3.20", + "alpine.3.19-x86", + "alpine.3.19", + "alpine.3.18-x86", + "alpine.3.18", + "alpine.3.17-x86", + "alpine.3.17", + "alpine.3.16-x86", + "alpine.3.16", + "alpine.3.15-x86", + "alpine.3.15", + "alpine.3.14-x86", + "alpine.3.14", + "alpine.3.13-x86", + "alpine.3.13", + "alpine.3.12-x86", + "alpine.3.12", + "alpine.3.11-x86", + "alpine.3.11", + "alpine.3.10-x86", + "alpine.3.10", + "alpine.3.9-x86", + "alpine.3.9", + "alpine.3.8-x86", + "alpine.3.8", + "alpine.3.7-x86", + "alpine.3.7", + "alpine.3.6-x86", + "alpine.3.6", + "alpine-x86", + "alpine", + "linux-musl-x86", + "linux-musl", + "linux-x86", + "linux", + "unix-x86", + "unix", + "any", + "base" + ], "alpine.3.6": [ "alpine.3.6", "alpine", @@ -10802,4 +11257,4 @@ "any", "base" ] -} \ No newline at end of file +} diff --git a/src/libraries/Microsoft.NETCore.Platforms/src/runtime.json b/src/libraries/Microsoft.NETCore.Platforms/src/runtime.json index ac8a62325fbfd..32ba949a6f806 100644 --- a/src/libraries/Microsoft.NETCore.Platforms/src/runtime.json +++ b/src/libraries/Microsoft.NETCore.Platforms/src/runtime.json @@ -350,6 +350,76 @@ "alpine.3.17-x86" ] }, + "alpine.3.19": { + "#import": [ + "alpine.3.18" + ] + }, + "alpine.3.19-arm": { + "#import": [ + "alpine.3.19", + "alpine.3.18-arm" + ] + }, + "alpine.3.19-arm64": { + "#import": [ + "alpine.3.19", + "alpine.3.18-arm64" + ] + }, + "alpine.3.19-s390x": { + "#import": [ + "alpine.3.19", + "alpine.3.18-s390x" + ] + }, + "alpine.3.19-x64": { + "#import": [ + "alpine.3.19", + "alpine.3.18-x64" + ] + }, + "alpine.3.19-x86": { + "#import": [ + "alpine.3.19", + "alpine.3.18-x86" + ] + }, + "alpine.3.20": { + "#import": [ + "alpine.3.19" + ] + }, + "alpine.3.20-arm": { + "#import": [ + "alpine.3.20", + "alpine.3.19-arm" + ] + }, + "alpine.3.20-arm64": { + "#import": [ + "alpine.3.20", + "alpine.3.19-arm64" + ] + }, + "alpine.3.20-s390x": { + "#import": [ + "alpine.3.20", + "alpine.3.19-s390x" + ] + }, + "alpine.3.20-x64": { + "#import": [ + "alpine.3.20", + "alpine.3.19-x64" + ] + }, + "alpine.3.20-x86": { + "#import": [ + "alpine.3.20", + "alpine.3.19-x86" + ] + }, "alpine.3.6": { "#import": [ "alpine" @@ -4331,4 +4401,4 @@ ] } } -} \ No newline at end of file +} diff --git a/src/libraries/Microsoft.NETCore.Platforms/src/runtimeGroups.props b/src/libraries/Microsoft.NETCore.Platforms/src/runtimeGroups.props index 71f41149bc93b..06ca771082ec3 100644 --- a/src/libraries/Microsoft.NETCore.Platforms/src/runtimeGroups.props +++ b/src/libraries/Microsoft.NETCore.Platforms/src/runtimeGroups.props @@ -16,7 +16,7 @@ linux-musl x64;x86;arm;arm64;s390x - 3.6;3.7;3.8;3.9;3.10;3.11;3.12;3.13;3.14;3.15;3.16;3.17;3.18 + 3.6;3.7;3.8;3.9;3.10;3.11;3.12;3.13;3.14;3.15;3.16;3.17;3.18;3.19;3.20 From 5d4543b9666a76239f9b93a58a2c6d578e255b06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20S=C3=A1nchez=20L=C3=B3pez?= <1175054+carlossanlop@users.noreply.github.com> Date: Mon, 11 Mar 2024 21:01:53 -0700 Subject: [PATCH 12/13] Microsoft.Windows.Compatibility (#99570) --- .../src/Microsoft.Windows.Compatibility.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libraries/Microsoft.Windows.Compatibility/src/Microsoft.Windows.Compatibility.csproj b/src/libraries/Microsoft.Windows.Compatibility/src/Microsoft.Windows.Compatibility.csproj index 0e13d0d42f37e..a86115b820874 100644 --- a/src/libraries/Microsoft.Windows.Compatibility/src/Microsoft.Windows.Compatibility.csproj +++ b/src/libraries/Microsoft.Windows.Compatibility/src/Microsoft.Windows.Compatibility.csproj @@ -5,7 +5,7 @@ false true - true + false 8 $(NoWarn);NU5128 From bc5e878a90d558680c206d04ccff9b60faecbda2 Mon Sep 17 00:00:00 2001 From: Eric StJohn Date: Mon, 11 Mar 2024 22:49:22 -0700 Subject: [PATCH 13/13] Add missing Evidence types to AcccessControl NETFramework Facade (#99462) The AccessControl assembly is missing type forwards for Evidence and EvidenceBase on .NETFramework. Cannot use Evidence or EvidenceBase from a netstandard2.0 library and run on .NETFramework. Fixes https://github.com/dotnet/runtime/issues/99447 --- .../ref/System.Security.AccessControl.net461.cs | 2 ++ .../src/System.Security.AccessControl.csproj | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/libraries/System.Security.AccessControl/ref/System.Security.AccessControl.net461.cs b/src/libraries/System.Security.AccessControl/ref/System.Security.AccessControl.net461.cs index 9fa292c50bbb7..ff36e7ac84125 100644 --- a/src/libraries/System.Security.AccessControl/ref/System.Security.AccessControl.net461.cs +++ b/src/libraries/System.Security.AccessControl/ref/System.Security.AccessControl.net461.cs @@ -50,3 +50,5 @@ [assembly: TypeForwardedTo(typeof(System.Security.AccessControl.ResourceType))] [assembly: TypeForwardedTo(typeof(System.Security.AccessControl.SecurityInfos))] [assembly: TypeForwardedTo(typeof(System.Security.AccessControl.SystemAcl))] +[assembly: TypeForwardedTo(typeof(System.Security.Policy.Evidence))] +[assembly: TypeForwardedTo(typeof(System.Security.Policy.EvidenceBase))] diff --git a/src/libraries/System.Security.AccessControl/src/System.Security.AccessControl.csproj b/src/libraries/System.Security.AccessControl/src/System.Security.AccessControl.csproj index 90ad8ce8968f2..6a6304598900b 100644 --- a/src/libraries/System.Security.AccessControl/src/System.Security.AccessControl.csproj +++ b/src/libraries/System.Security.AccessControl/src/System.Security.AccessControl.csproj @@ -4,8 +4,8 @@ $(NetCoreAppCurrent)-windows;$(NetCoreAppCurrent);netstandard2.0-windows;netstandard2.0;net461-windows true - false - 0 + true + 1 Provides base classes that enable managing access and audit control lists on securable objects. Commonly Used Types: