From e032c901e573679650fb46de6962eb1bd488215e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?James=20Newton-King=20=E2=99=94?= Date: Thu, 6 Jan 2022 18:44:49 +0000 Subject: [PATCH 1/8] =?UTF-8?q?Merged=20PR=2020330:=20[6.0]=20MSRC=2068921?= =?UTF-8?q?=E2=80=89-=20Kestrel=20overpooling=20of=20HTTP/2=20and=20HTTP/3?= =?UTF-8?q?=20request=20headers?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit MSRC Case Opened: 68921 - ASP.NET Core - Kestrel overpooling of HTTP/2 and HTTP/3 request headers leads to DoS CRM:0802002372 Summary of the changes (Less than 80 chars) ## Description Kestrel now correctly calls OnHeadersComplete after parsing request headers so unused headers are removed from headers collection. Prevents headers building up over time and exhausting memory. ## Customer Impact Potential DoS attack ## Regression? - [ ] Yes - [x] No [If yes, specify the version the behavior has regressed from] ## Risk - [ ] High - [x] Medium - [ ] Low The change is small but this code is on the critical path of a request. It is executed with every HTTP/2 and HTTP/3 request. ## Verification - [X] Manual (required) - [x] Automated ## Packaging changes reviewed? - [ ] Yes - [ ] No - [x] N/A ---- ## When servicing release/2.1 - [ ] Make necessary changes in eng/PatchConfig.props --- .../src/Internal/Http2/Http2Connection.cs | 2 + .../src/Internal/Http3/Http3Connection.cs | 2 +- .../Core/src/Internal/Http3/Http3Stream.cs | 2 + .../Http2/Http2ConnectionTests.cs | 68 +++++++++++++++++++ .../Http3/Http3ConnectionTests.cs | 46 +++++++++++++ 5 files changed, 119 insertions(+), 1 deletion(-) diff --git a/src/Servers/Kestrel/Core/src/Internal/Http2/Http2Connection.cs b/src/Servers/Kestrel/Core/src/Internal/Http2/Http2Connection.cs index a9e10b912dc1..2f54decb91b6 100644 --- a/src/Servers/Kestrel/Core/src/Internal/Http2/Http2Connection.cs +++ b/src/Servers/Kestrel/Core/src/Internal/Http2/Http2Connection.cs @@ -977,6 +977,8 @@ private Task DecodeHeadersAsync(bool endHeaders, in ReadOnlySequence paylo if (endHeaders) { + _currentHeadersStream.OnHeadersComplete(); + StartStream(); ResetRequestHeaderParsingState(); } diff --git a/src/Servers/Kestrel/Core/src/Internal/Http3/Http3Connection.cs b/src/Servers/Kestrel/Core/src/Internal/Http3/Http3Connection.cs index 3452bd52d7a0..3d601eff2a2a 100644 --- a/src/Servers/Kestrel/Core/src/Internal/Http3/Http3Connection.cs +++ b/src/Servers/Kestrel/Core/src/Internal/Http3/Http3Connection.cs @@ -24,7 +24,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http3 { internal class Http3Connection : IHttp3StreamLifetimeHandler, IRequestProcessor { - private static readonly object StreamPersistentStateKey = new object(); + internal static readonly object StreamPersistentStateKey = new object(); // Internal for unit testing internal readonly Dictionary _streams = new Dictionary(); diff --git a/src/Servers/Kestrel/Core/src/Internal/Http3/Http3Stream.cs b/src/Servers/Kestrel/Core/src/Internal/Http3/Http3Stream.cs index ea69197bc27e..c1086dc02a85 100644 --- a/src/Servers/Kestrel/Core/src/Internal/Http3/Http3Stream.cs +++ b/src/Servers/Kestrel/Core/src/Internal/Http3/Http3Stream.cs @@ -662,6 +662,8 @@ private static Task ProcessUnknownFrameAsync() InputRemaining = HttpRequestHeaders.ContentLength; + OnHeadersComplete(); + // If the stream is complete after receiving the headers then run OnEndStreamReceived. // If there is a bad content length then this will throw before the request delegate is called. if (isCompleted) diff --git a/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http2/Http2ConnectionTests.cs b/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http2/Http2ConnectionTests.cs index 3016d57237f5..6ed5d5df629b 100644 --- a/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http2/Http2ConnectionTests.cs +++ b/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http2/Http2ConnectionTests.cs @@ -10,6 +10,7 @@ using System.Linq; using System.Net.Http; using System.Net.Http.HPack; +using System.Reflection; using System.Text; using System.Threading; using System.Threading.Tasks; @@ -211,6 +212,73 @@ public async Task RequestHeaderStringReuse_MultipleStreams_KnownHeaderReused() await StopConnectionAsync(expectedLastStreamId: 3, ignoreNonGoAwayFrames: false); } + [Fact] + public async Task RequestHeaderStringReuse_MultipleStreams_KnownHeaderClearedIfNotReused() + { + const BindingFlags privateFlags = BindingFlags.NonPublic | BindingFlags.Instance; + + IEnumerable> requestHeaders1 = new[] + { + new KeyValuePair(HeaderNames.Method, "GET"), + new KeyValuePair(HeaderNames.Path, "/hello"), + new KeyValuePair(HeaderNames.Scheme, "http"), + new KeyValuePair(HeaderNames.Authority, "localhost:80"), + new KeyValuePair(HeaderNames.ContentType, "application/json") + }; + + // Note: No content-type + IEnumerable> requestHeaders2 = new[] + { + new KeyValuePair(HeaderNames.Method, "GET"), + new KeyValuePair(HeaderNames.Path, "/hello"), + new KeyValuePair(HeaderNames.Scheme, "http"), + new KeyValuePair(HeaderNames.Authority, "localhost:80") + }; + + await InitializeConnectionAsync(_noopApplication); + + await StartStreamAsync(1, requestHeaders1, endStream: true); + + await ExpectAsync(Http2FrameType.HEADERS, + withLength: 36, + withFlags: (byte)(Http2HeadersFrameFlags.END_HEADERS | Http2HeadersFrameFlags.END_STREAM), + withStreamId: 1); + + // TriggerTick will trigger the stream to be returned to the pool so we can assert it + TriggerTick(); + + // Stream has been returned to the pool + Assert.Equal(1, _connection.StreamPool.Count); + Assert.True(_connection.StreamPool.TryPeek(out var stream1)); + + // Hacky but required because header references is private. + var headerReferences1 = typeof(HttpRequestHeaders).GetField("_headers", privateFlags).GetValue(stream1.RequestHeaders); + var contentTypeValue1 = (StringValues)headerReferences1.GetType().GetField("_ContentType").GetValue(headerReferences1); + + await StartStreamAsync(3, requestHeaders2, endStream: true); + + await ExpectAsync(Http2FrameType.HEADERS, + withLength: 6, + withFlags: (byte)(Http2HeadersFrameFlags.END_HEADERS | Http2HeadersFrameFlags.END_STREAM), + withStreamId: 3); + + // TriggerTick will trigger the stream to be returned to the pool so we can assert it + TriggerTick(); + + // Stream has been returned to the pool + Assert.Equal(1, _connection.StreamPool.Count); + Assert.True(_connection.StreamPool.TryPeek(out var stream2)); + + // Hacky but required because header references is private. + var headerReferences2 = typeof(HttpRequestHeaders).GetField("_headers", privateFlags).GetValue(stream2.RequestHeaders); + var contentTypeValue2 = (StringValues)headerReferences2.GetType().GetField("_ContentType").GetValue(headerReferences2); + + Assert.Equal("application/json", contentTypeValue1); + Assert.Equal(StringValues.Empty, contentTypeValue2); + + await StopConnectionAsync(expectedLastStreamId: 3, ignoreNonGoAwayFrames: false); + } + private class ResponseTrailersWrapper : IHeaderDictionary { readonly IHeaderDictionary _innerHeaders; diff --git a/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http3/Http3ConnectionTests.cs b/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http3/Http3ConnectionTests.cs index ead3a1656bdc..614fdc569e79 100644 --- a/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http3/Http3ConnectionTests.cs +++ b/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http3/Http3ConnectionTests.cs @@ -6,11 +6,14 @@ using System.Collections.Generic; using System.Globalization; using System.Net.Http; +using System.Reflection; using System.Text; using System.Text.RegularExpressions; using System.Threading.Tasks; using Microsoft.AspNetCore.Connections; +using Microsoft.AspNetCore.Connections.Features; using Microsoft.AspNetCore.Http.Features; +using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http; using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http3; using Microsoft.AspNetCore.Testing; using Microsoft.Extensions.Logging; @@ -334,6 +337,49 @@ public async Task StreamPool_MultipleStreamsInSequence_PooledStreamReused() Assert.Same(streamContext1, streamContext2); } + [Fact] + public async Task RequestHeaderStringReuse_MultipleStreams_KnownHeaderClearedIfNotReused() + { + const BindingFlags privateFlags = BindingFlags.NonPublic | BindingFlags.Instance; + + KeyValuePair[] requestHeaders1 = new[] + { + new KeyValuePair(HeaderNames.Method, "GET"), + new KeyValuePair(HeaderNames.Path, "/hello"), + new KeyValuePair(HeaderNames.Scheme, "http"), + new KeyValuePair(HeaderNames.Authority, "localhost:80"), + new KeyValuePair(HeaderNames.ContentType, "application/json") + }; + + // Note: No content-type + KeyValuePair[] requestHeaders2 = new[] + { + new KeyValuePair(HeaderNames.Method, "GET"), + new KeyValuePair(HeaderNames.Path, "/hello"), + new KeyValuePair(HeaderNames.Scheme, "http"), + new KeyValuePair(HeaderNames.Authority, "localhost:80") + }; + + await Http3Api.InitializeConnectionAsync(_echoApplication); + + var streamContext1 = await MakeRequestAsync(0, requestHeaders1, sendData: true, waitForServerDispose: true); + var http3Stream1 = (Http3Stream)streamContext1.Features.Get().State[Http3Connection.StreamPersistentStateKey]; + + // Hacky but required because header references is private. + var headerReferences1 = typeof(HttpRequestHeaders).GetField("_headers", privateFlags).GetValue(http3Stream1.RequestHeaders); + var contentTypeValue1 = (StringValues)headerReferences1.GetType().GetField("_ContentType").GetValue(headerReferences1); + + var streamContext2 = await MakeRequestAsync(1, requestHeaders2, sendData: true, waitForServerDispose: true); + var http3Stream2 = (Http3Stream)streamContext2.Features.Get().State[Http3Connection.StreamPersistentStateKey]; + + // Hacky but required because header references is private. + var headerReferences2 = typeof(HttpRequestHeaders).GetField("_headers", privateFlags).GetValue(http3Stream2.RequestHeaders); + var contentTypeValue2 = (StringValues)headerReferences1.GetType().GetField("_ContentType").GetValue(headerReferences2); + + Assert.Equal("application/json", contentTypeValue1); + Assert.Equal(StringValues.Empty, contentTypeValue2); + } + [Theory] [InlineData(10)] [InlineData(100)] From 5e8131b3f36f0814069e0fd0fc6268ec3ad22ae4 Mon Sep 17 00:00:00 2001 From: Brennan Conroy Date: Mon, 10 Jan 2022 22:38:13 +0000 Subject: [PATCH 2/8] Merged PR 20577: Fix build errors https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore/pullrequest/20330 added some tests that didn't compile in 6.0 --- .../InMemory.FunctionalTests/Http2/Http2ConnectionTests.cs | 4 ++-- .../InMemory.FunctionalTests/Http3/Http3ConnectionTests.cs | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http2/Http2ConnectionTests.cs b/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http2/Http2ConnectionTests.cs index 6ed5d5df629b..6a9656d9f730 100644 --- a/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http2/Http2ConnectionTests.cs +++ b/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http2/Http2ConnectionTests.cs @@ -245,7 +245,7 @@ public async Task RequestHeaderStringReuse_MultipleStreams_KnownHeaderClearedIfN withStreamId: 1); // TriggerTick will trigger the stream to be returned to the pool so we can assert it - TriggerTick(); + TriggerTick(_serviceContext.MockSystemClock.UtcNow); // Stream has been returned to the pool Assert.Equal(1, _connection.StreamPool.Count); @@ -263,7 +263,7 @@ public async Task RequestHeaderStringReuse_MultipleStreams_KnownHeaderClearedIfN withStreamId: 3); // TriggerTick will trigger the stream to be returned to the pool so we can assert it - TriggerTick(); + TriggerTick(_serviceContext.MockSystemClock.UtcNow); // Stream has been returned to the pool Assert.Equal(1, _connection.StreamPool.Count); diff --git a/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http3/Http3ConnectionTests.cs b/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http3/Http3ConnectionTests.cs index 614fdc569e79..b83f3b64deb4 100644 --- a/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http3/Http3ConnectionTests.cs +++ b/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http3/Http3ConnectionTests.cs @@ -17,6 +17,7 @@ using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http3; using Microsoft.AspNetCore.Testing; using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Primitives; using Microsoft.Net.Http.Headers; using Xunit; using Http3SettingType = Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http3.Http3SettingType; From 608229f48bd30ebdc8e4719bf774275ee6acb4b9 Mon Sep 17 00:00:00 2001 From: DotNet Bot Date: Fri, 14 Jan 2022 00:22:48 +0000 Subject: [PATCH 3/8] [internal/release/6.0] Update dependencies from dnceng/internal/dotnet-runtime dnceng/internal/dotnet-efcore - Fixup - Fixup - Remove dotnetcliruntime, fix extension - Make sure dotnetcliruntime is set - !fixup! Remove extra `?` from URI - Download Runtime correlation payload - Move from alpine 3.9 to 3.14 --- .azure/pipelines/ci.yml | 2 +- .azure/pipelines/jobs/default-build.yml | 3 + NuGet.config | 8 +- eng/Version.Details.xml | 98 ++++++++++++------------- eng/Versions.props | 44 +++++------ eng/helix/helix.proj | 10 ++- eng/targets/Helix.Common.props | 7 ++ eng/targets/Helix.props | 4 - 8 files changed, 93 insertions(+), 83 deletions(-) diff --git a/.azure/pipelines/ci.yml b/.azure/pipelines/ci.yml index 17ffe8ce1ef4..87b1b96261cb 100644 --- a/.azure/pipelines/ci.yml +++ b/.azure/pipelines/ci.yml @@ -528,7 +528,7 @@ stages: jobName: Linux_musl_x64_build jobDisplayName: "Build: Linux Musl x64" agentOs: Linux - container: mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.9-WithNode-0fc54a3-20190918214015 + container: mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.14-WithNode-20210910135833-c401c85 buildArgs: --arch x64 --os-name linux-musl diff --git a/.azure/pipelines/jobs/default-build.yml b/.azure/pipelines/jobs/default-build.yml index c990fadd726d..abb200952797 100644 --- a/.azure/pipelines/jobs/default-build.yml +++ b/.azure/pipelines/jobs/default-build.yml @@ -220,6 +220,7 @@ jobs: # Include the variables we always want. COMPlus_DbgEnableMiniDump: 1 COMPlus_DbgMiniDumpName: "$(System.DefaultWorkingDirectory)/dotnet-%d.%t.core" + DotNetCliMsrcReadSasToken: "$(dotnetclimsrc-read-sas-token)" # Expand provided `env:` properties, if any. ${{ if step.env }}: ${{ step.env }} @@ -230,12 +231,14 @@ jobs: env: COMPlus_DbgEnableMiniDump: 1 COMPlus_DbgMiniDumpName: "$(System.DefaultWorkingDirectory)/dotnet-%d.%t.core" + DotNetCliMsrcReadSasToken: "$(dotnetclimsrc-read-sas-token)" - ${{ if ne(parameters.agentOs, 'Windows') }}: - script: $(BuildDirectory)/build.sh --ci --nobl --configuration $(BuildConfiguration) $(BuildScriptArgs) displayName: Run build.sh env: COMPlus_DbgEnableMiniDump: 1 COMPlus_DbgMiniDumpName: "$(System.DefaultWorkingDirectory)/dotnet-%d.%t.core" + DotNetCliMsrcReadSasToken: "$(dotnetclimsrc-read-sas-token)" - ${{ parameters.afterBuild }} diff --git a/NuGet.config b/NuGet.config index aa6163b399db..37e15a49ade1 100644 --- a/NuGet.config +++ b/NuGet.config @@ -4,10 +4,10 @@ - + - + @@ -27,10 +27,10 @@ - + - + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 56dc6ff3b52a..c498e40f97c1 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -9,45 +9,45 @@ --> - + https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - 41e6aaaf6216de904530de11b0bfd4af43fb13f7 + 35c542c8bbefb222a6e592eed0790e6c264690a0 - + https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - 41e6aaaf6216de904530de11b0bfd4af43fb13f7 + 35c542c8bbefb222a6e592eed0790e6c264690a0 - + https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - 41e6aaaf6216de904530de11b0bfd4af43fb13f7 + 35c542c8bbefb222a6e592eed0790e6c264690a0 - + https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - 41e6aaaf6216de904530de11b0bfd4af43fb13f7 + 35c542c8bbefb222a6e592eed0790e6c264690a0 - + https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - 41e6aaaf6216de904530de11b0bfd4af43fb13f7 + 35c542c8bbefb222a6e592eed0790e6c264690a0 - + https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - 41e6aaaf6216de904530de11b0bfd4af43fb13f7 + 35c542c8bbefb222a6e592eed0790e6c264690a0 - + https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - 41e6aaaf6216de904530de11b0bfd4af43fb13f7 + 35c542c8bbefb222a6e592eed0790e6c264690a0 - + https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - 41e6aaaf6216de904530de11b0bfd4af43fb13f7 + 35c542c8bbefb222a6e592eed0790e6c264690a0 https://github.com/dotnet/runtime 4822e3c3aa77eb82b2fb33c9321f923cf11ddde6 - - https://github.com/dotnet/runtime - 4822e3c3aa77eb82b2fb33c9321f923cf11ddde6 + + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime + 5e9fd16f0c7c5589d36b3655b0be32ac4485f32f https://github.com/dotnet/runtime @@ -61,9 +61,9 @@ https://github.com/dotnet/runtime 4822e3c3aa77eb82b2fb33c9321f923cf11ddde6 - - https://github.com/dotnet/runtime - 4822e3c3aa77eb82b2fb33c9321f923cf11ddde6 + + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime + 5e9fd16f0c7c5589d36b3655b0be32ac4485f32f https://github.com/dotnet/runtime @@ -77,9 +77,9 @@ https://github.com/dotnet/runtime 4822e3c3aa77eb82b2fb33c9321f923cf11ddde6 - - https://github.com/dotnet/runtime - 4822e3c3aa77eb82b2fb33c9321f923cf11ddde6 + + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime + 5e9fd16f0c7c5589d36b3655b0be32ac4485f32f https://github.com/dotnet/runtime @@ -121,9 +121,9 @@ https://github.com/dotnet/runtime 4822e3c3aa77eb82b2fb33c9321f923cf11ddde6 - - https://github.com/dotnet/runtime - 4822e3c3aa77eb82b2fb33c9321f923cf11ddde6 + + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime + 5e9fd16f0c7c5589d36b3655b0be32ac4485f32f https://github.com/dotnet/runtime @@ -177,9 +177,9 @@ https://github.com/dotnet/runtime 4822e3c3aa77eb82b2fb33c9321f923cf11ddde6 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3a25a7f1cc446b60678ed25c9d829420d6321eba + 5e9fd16f0c7c5589d36b3655b0be32ac4485f32f https://github.com/dotnet/runtime @@ -189,13 +189,13 @@ https://github.com/dotnet/runtime 4822e3c3aa77eb82b2fb33c9321f923cf11ddde6 - - https://github.com/dotnet/runtime - 4822e3c3aa77eb82b2fb33c9321f923cf11ddde6 + + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime + 5e9fd16f0c7c5589d36b3655b0be32ac4485f32f - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3a25a7f1cc446b60678ed25c9d829420d6321eba + 5e9fd16f0c7c5589d36b3655b0be32ac4485f32f https://github.com/dotnet/runtime @@ -233,9 +233,9 @@ https://github.com/dotnet/runtime 4822e3c3aa77eb82b2fb33c9321f923cf11ddde6 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3a25a7f1cc446b60678ed25c9d829420d6321eba + 5e9fd16f0c7c5589d36b3655b0be32ac4485f32f https://github.com/dotnet/runtime @@ -245,33 +245,33 @@ https://github.com/dotnet/runtime 4822e3c3aa77eb82b2fb33c9321f923cf11ddde6 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3a25a7f1cc446b60678ed25c9d829420d6321eba + 5e9fd16f0c7c5589d36b3655b0be32ac4485f32f - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3a25a7f1cc446b60678ed25c9d829420d6321eba + 5e9fd16f0c7c5589d36b3655b0be32ac4485f32f - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3a25a7f1cc446b60678ed25c9d829420d6321eba + 5e9fd16f0c7c5589d36b3655b0be32ac4485f32f - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3a25a7f1cc446b60678ed25c9d829420d6321eba + 5e9fd16f0c7c5589d36b3655b0be32ac4485f32f - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3a25a7f1cc446b60678ed25c9d829420d6321eba + 5e9fd16f0c7c5589d36b3655b0be32ac4485f32f - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3a25a7f1cc446b60678ed25c9d829420d6321eba + 5e9fd16f0c7c5589d36b3655b0be32ac4485f32f diff --git a/eng/Versions.props b/eng/Versions.props index 4159fec01500..e805b94a667b 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -65,23 +65,23 @@ 6.0.0 - 6.0.1 - 6.0.1 - 6.0.1 - 6.0.1 - 6.0.1 - 6.0.1-servicing.21567.5 + 6.0.2 + 6.0.2 + 6.0.2 + 6.0.2 + 6.0.2 + 6.0.2-servicing.22062.6 6.0.0 - 6.0.0 + 6.0.1 6.0.0 6.0.0 6.0.0 - 6.0.0 + 6.0.1 6.0.0 6.0.0 6.0.0 6.0.0 - 6.0.0 + 6.0.1 6.0.0 6.0.0 6.0.0 @@ -91,7 +91,7 @@ 6.0.0 6.0.1-servicing.21567.5 6.0.0 - 6.0.0 + 6.0.1 6.0.0 6.0.0 6.0.0 @@ -105,11 +105,11 @@ 6.0.0 6.0.0 6.0.0 - 6.0.1-servicing.21567.5 + 6.0.2-servicing.22062.6 6.0.0 6.0.0 - 6.0.0 - 6.0.1 + 6.0.1 + 6.0.2 6.0.0 6.0.0 6.0.0 @@ -119,19 +119,19 @@ 6.0.0 6.0.0 6.0.0 - 6.0.1 + 6.0.2 6.0.0 6.0.1 - 6.0.1 - 6.0.1 - 6.0.1 - 6.0.1 - 6.0.1 - 6.0.1 - 6.0.1 - 6.0.1 + 6.0.2 + 6.0.2 + 6.0.2 + 6.0.2 + 6.0.2 + 6.0.2 + 6.0.2 + 6.0.2 6.0.0-beta.21609.4 6.0.0-beta.21609.4 diff --git a/eng/helix/helix.proj b/eng/helix/helix.proj index 392c90bd1e07..e64dd7d86e20 100644 --- a/eng/helix/helix.proj +++ b/eng/helix/helix.proj @@ -29,6 +29,9 @@ $(NETCoreSdkVersion) Current + .tar.gz + .zip + $(RepoRoot)artifacts\bin\$(MSBuildProjectName)\ @@ -37,10 +40,11 @@ - - runtime - + diff --git a/eng/targets/Helix.Common.props b/eng/targets/Helix.Common.props index c82fe494c85f..f17314b89e81 100644 --- a/eng/targets/Helix.Common.props +++ b/eng/targets/Helix.Common.props @@ -62,4 +62,11 @@ + + + false + true + false + true + diff --git a/eng/targets/Helix.props b/eng/targets/Helix.props index bc0dfe046eae..dc2bad9552b9 100644 --- a/eng/targets/Helix.props +++ b/eng/targets/Helix.props @@ -14,10 +14,6 @@ 00:30:00 00:40:00 false - false - true - false - true $(MSBuildProjectName)--$(TargetFramework) false 14.17.6 From 1dcf7acfacf0fe154adcc23270cb0da11ff44ace Mon Sep 17 00:00:00 2001 From: DotNet Bot Date: Sat, 15 Jan 2022 05:10:25 +0000 Subject: [PATCH 4/8] [internal/release/6.0] Update dependencies from dnceng/internal/dotnet-efcore dnceng/internal/dotnet-runtime - Pass feed properties to source-build - Point helix.proj dotnetcli payload to dotnetbuilds/internal - Update RuntimeSourceFeed and RuntimeSourceFeedKey for dotnetbuilds - Change `$(DotNetPrivateAssetRootUrl)` --- .azure/pipelines/ci.yml | 14 ++++---- .azure/pipelines/jobs/default-build.yml | 6 ++-- NuGet.config | 8 ++--- eng/Version.Details.xml | 48 ++++++++++++------------- eng/Versions.props | 6 ++-- eng/helix/helix.proj | 4 +-- 6 files changed, 43 insertions(+), 43 deletions(-) diff --git a/.azure/pipelines/ci.yml b/.azure/pipelines/ci.yml index 87b1b96261cb..b2146de54a72 100644 --- a/.azure/pipelines/ci.yml +++ b/.azure/pipelines/ci.yml @@ -93,17 +93,17 @@ variables: - name: _InternalRuntimeDownloadCodeSignArgs value: '' - ${{ if eq(variables['System.TeamProject'], 'internal') }}: - - group: DotNet-MSRC-Storage + - group: DotNetBuilds storage account read tokens - name: _InternalRuntimeDownloadArgs - value: -RuntimeSourceFeed https://dotnetclimsrc.blob.core.windows.net/dotnet - -RuntimeSourceFeedKey $(dotnetclimsrc-read-sas-token-base64) - /p:DotNetAssetRootAccessTokenSuffix='$(dotnetclimsrc-read-sas-token-base64)' + value: -RuntimeSourceFeed https://dotnetbuilds.blob.core.windows.net/internal + -RuntimeSourceFeedKey $(dotnetbuilds-internal-container-read-token-base64) + /p:DotNetAssetRootAccessTokenSuffix='$(dotnetbuilds-internal-container-read-token-base64)' # The code signing doesn't use the aspnet build scripts, so the msbuild parameters have to be passed directly. This # is awkward but necessary because the eng/common/ build scripts don't add the msbuild properties automatically. - name: _InternalRuntimeDownloadCodeSignArgs value: $(_InternalRuntimeDownloadArgs) - /p:DotNetRuntimeSourceFeed=https://dotnetclimsrc.blob.core.windows.net/dotnet - /p:DotNetRuntimeSourceFeedKey=$(dotnetclimsrc-read-sas-token-base64) + /p:DotNetRuntimeSourceFeed=https://dotnetbuilds.blob.core.windows.net/internal + /p:DotNetRuntimeSourceFeedKey=$(dotnetbuilds-internal-container-read-token-base64) - group: DotNet-HelixApi-Access - name: _UseHelixOpenQueues value: 'false' @@ -736,7 +736,7 @@ stages: platform: name: 'Managed' container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:centos-7-20210714125435-9b5bbc2' - buildScript: './eng/build.sh $(_PublishArgs) --no-build-repo-tasks' + buildScript: './eng/build.sh $(_PublishArgs) --no-build-repo-tasks $(_InternalRuntimeDownloadArgs)' skipPublishValidation: true # Publish to the BAR diff --git a/.azure/pipelines/jobs/default-build.yml b/.azure/pipelines/jobs/default-build.yml index abb200952797..75b8db0262cb 100644 --- a/.azure/pipelines/jobs/default-build.yml +++ b/.azure/pipelines/jobs/default-build.yml @@ -220,7 +220,7 @@ jobs: # Include the variables we always want. COMPlus_DbgEnableMiniDump: 1 COMPlus_DbgMiniDumpName: "$(System.DefaultWorkingDirectory)/dotnet-%d.%t.core" - DotNetCliMsrcReadSasToken: "$(dotnetclimsrc-read-sas-token)" + DotNetBuildsInternalReadSasToken: $(dotnetbuilds-internal-container-read-token) # Expand provided `env:` properties, if any. ${{ if step.env }}: ${{ step.env }} @@ -231,14 +231,14 @@ jobs: env: COMPlus_DbgEnableMiniDump: 1 COMPlus_DbgMiniDumpName: "$(System.DefaultWorkingDirectory)/dotnet-%d.%t.core" - DotNetCliMsrcReadSasToken: "$(dotnetclimsrc-read-sas-token)" + DotNetBuildsInternalReadSasToken: $(dotnetbuilds-internal-container-read-token) - ${{ if ne(parameters.agentOs, 'Windows') }}: - script: $(BuildDirectory)/build.sh --ci --nobl --configuration $(BuildConfiguration) $(BuildScriptArgs) displayName: Run build.sh env: COMPlus_DbgEnableMiniDump: 1 COMPlus_DbgMiniDumpName: "$(System.DefaultWorkingDirectory)/dotnet-%d.%t.core" - DotNetCliMsrcReadSasToken: "$(dotnetclimsrc-read-sas-token)" + DotNetBuildsInternalReadSasToken: $(dotnetbuilds-internal-container-read-token) - ${{ parameters.afterBuild }} diff --git a/NuGet.config b/NuGet.config index 37e15a49ade1..050fda0b4dcd 100644 --- a/NuGet.config +++ b/NuGet.config @@ -4,10 +4,10 @@ - + - + @@ -27,10 +27,10 @@ - + - + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index c498e40f97c1..5650cb1bb795 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -11,35 +11,35 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - 35c542c8bbefb222a6e592eed0790e6c264690a0 + d93f389536054e13de2f820fe89197aa374c01eb https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - 35c542c8bbefb222a6e592eed0790e6c264690a0 + d93f389536054e13de2f820fe89197aa374c01eb https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - 35c542c8bbefb222a6e592eed0790e6c264690a0 + d93f389536054e13de2f820fe89197aa374c01eb https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - 35c542c8bbefb222a6e592eed0790e6c264690a0 + d93f389536054e13de2f820fe89197aa374c01eb https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - 35c542c8bbefb222a6e592eed0790e6c264690a0 + d93f389536054e13de2f820fe89197aa374c01eb https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - 35c542c8bbefb222a6e592eed0790e6c264690a0 + d93f389536054e13de2f820fe89197aa374c01eb https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - 35c542c8bbefb222a6e592eed0790e6c264690a0 + d93f389536054e13de2f820fe89197aa374c01eb https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - 35c542c8bbefb222a6e592eed0790e6c264690a0 + d93f389536054e13de2f820fe89197aa374c01eb https://github.com/dotnet/runtime @@ -47,7 +47,7 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 5e9fd16f0c7c5589d36b3655b0be32ac4485f32f + 839cdfb0ecca5e0be3dbccd926e7651ef50fdf10 https://github.com/dotnet/runtime @@ -63,7 +63,7 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 5e9fd16f0c7c5589d36b3655b0be32ac4485f32f + 839cdfb0ecca5e0be3dbccd926e7651ef50fdf10 https://github.com/dotnet/runtime @@ -79,7 +79,7 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 5e9fd16f0c7c5589d36b3655b0be32ac4485f32f + 839cdfb0ecca5e0be3dbccd926e7651ef50fdf10 https://github.com/dotnet/runtime @@ -123,7 +123,7 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 5e9fd16f0c7c5589d36b3655b0be32ac4485f32f + 839cdfb0ecca5e0be3dbccd926e7651ef50fdf10 https://github.com/dotnet/runtime @@ -177,9 +177,9 @@ https://github.com/dotnet/runtime 4822e3c3aa77eb82b2fb33c9321f923cf11ddde6 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 5e9fd16f0c7c5589d36b3655b0be32ac4485f32f + 839cdfb0ecca5e0be3dbccd926e7651ef50fdf10 https://github.com/dotnet/runtime @@ -191,11 +191,11 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 5e9fd16f0c7c5589d36b3655b0be32ac4485f32f + 839cdfb0ecca5e0be3dbccd926e7651ef50fdf10 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 5e9fd16f0c7c5589d36b3655b0be32ac4485f32f + 839cdfb0ecca5e0be3dbccd926e7651ef50fdf10 https://github.com/dotnet/runtime @@ -235,7 +235,7 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 5e9fd16f0c7c5589d36b3655b0be32ac4485f32f + 839cdfb0ecca5e0be3dbccd926e7651ef50fdf10 https://github.com/dotnet/runtime @@ -247,15 +247,15 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 5e9fd16f0c7c5589d36b3655b0be32ac4485f32f + 839cdfb0ecca5e0be3dbccd926e7651ef50fdf10 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 5e9fd16f0c7c5589d36b3655b0be32ac4485f32f + 839cdfb0ecca5e0be3dbccd926e7651ef50fdf10 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 5e9fd16f0c7c5589d36b3655b0be32ac4485f32f + 839cdfb0ecca5e0be3dbccd926e7651ef50fdf10 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 5e9fd16f0c7c5589d36b3655b0be32ac4485f32f + 839cdfb0ecca5e0be3dbccd926e7651ef50fdf10 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 5e9fd16f0c7c5589d36b3655b0be32ac4485f32f + 839cdfb0ecca5e0be3dbccd926e7651ef50fdf10 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 5e9fd16f0c7c5589d36b3655b0be32ac4485f32f + 839cdfb0ecca5e0be3dbccd926e7651ef50fdf10 diff --git a/eng/Versions.props b/eng/Versions.props index e805b94a667b..b5aa79c0c3a8 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -70,7 +70,7 @@ 6.0.2 6.0.2 6.0.2 - 6.0.2-servicing.22062.6 + 6.0.2-servicing.22064.6 6.0.0 6.0.1 6.0.0 @@ -105,7 +105,7 @@ 6.0.0 6.0.0 6.0.0 - 6.0.2-servicing.22062.6 + 6.0.2-servicing.22064.6 6.0.0 6.0.0 6.0.1 @@ -272,6 +272,6 @@ https://dotnetcli.azureedge.net/dotnet/ - https://dotnetclimsrc.blob.core.windows.net/dotnet/ + https://dotnetbuilds.azureedge.net/internal/ diff --git a/eng/helix/helix.proj b/eng/helix/helix.proj index e64dd7d86e20..56ecf5c1fbdd 100644 --- a/eng/helix/helix.proj +++ b/eng/helix/helix.proj @@ -40,11 +40,11 @@ + Uri="https://dotnetbuilds.blob.core.windows.net/internal/Runtime/$(MicrosoftNETCoreBrowserDebugHostTransportVersion)/dotnet-runtime-$(MicrosoftNETCoreAppRuntimeVersion)-$(DotNetCliRuntime)$(ArchiveExtension)$([System.Environment]::GetEnvironmentVariable('DotNetBuildsInternalReadSasToken'))" /> From 5d6a092a900000b9d9526f2f4f23f1369c0e2436 Mon Sep 17 00:00:00 2001 From: Will Godbe Date: Tue, 8 Feb 2022 11:50:14 -0800 Subject: [PATCH 5/8] Update baseline, SDK, SiteExtension --- eng/Baseline.Designer.props | 478 ++++++++++++++++++------------------ eng/Baseline.xml | 214 ++++++++-------- eng/Versions.props | 4 +- global.json | 4 +- 4 files changed, 350 insertions(+), 350 deletions(-) diff --git a/eng/Baseline.Designer.props b/eng/Baseline.Designer.props index 7da0830be28e..f8c3f2116444 100644 --- a/eng/Baseline.Designer.props +++ b/eng/Baseline.Designer.props @@ -2,28 +2,28 @@ $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 - - - + + + @@ -34,120 +34,120 @@ - 6.0.0 + 6.0.2 - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 - - + + - 6.0.1 + 6.0.2 - - + + - 6.0.1 + 6.0.2 - + - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 - - + + - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 @@ -155,114 +155,114 @@ - 6.0.1 + 6.0.2 - + - + - + - 6.0.1 + 6.0.2 - - + + - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 - + - 6.0.1 + 6.0.2 - - + + - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 - - + + - 6.0.1 + 6.0.2 - + - 6.0.1 + 6.0.2 - - - + + + - + - 6.0.1 + 6.0.2 - - + + - 6.0.1 + 6.0.2 - - + + - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 - - + + @@ -270,7 +270,7 @@ - 6.0.1 + 6.0.2 @@ -278,50 +278,50 @@ - 6.0.1 + 6.0.2 - + - + - - + + - + - + - - + + - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 - + - + - + - 6.0.1 + 6.0.2 - - + + @@ -331,8 +331,8 @@ - - + + @@ -340,8 +340,8 @@ - - + + @@ -352,58 +352,58 @@ - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 - - + + - 6.0.1 + 6.0.2 - + - + - + - 6.0.1 + 6.0.2 - + - + - + - 6.0.1 + 6.0.2 - + - 6.0.1 + 6.0.2 @@ -411,71 +411,71 @@ - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 - + - + - + - + - 6.0.1 + 6.0.2 - - + + - + - - + + - 6.0.1 + 6.0.2 - - + + - 6.0.1 + 6.0.2 - - + + - 6.0.1 + 6.0.2 @@ -491,195 +491,195 @@ - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 - + - 6.0.1 + 6.0.2 - - + + - 6.0.1 + 6.0.2 - - + + - 6.0.1 + 6.0.2 - + - + - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 - + - 6.0.1 + 6.0.2 - - + + - - + + - - + + - 6.0.1 + 6.0.2 - - + + - - + + - - + + - - + + - 6.0.1 + 6.0.2 - + - + - + - + - + - 6.0.1 + 6.0.2 - + - + - + - 6.0.1 + 6.0.2 - + - + - + - 6.0.1 + 6.0.2 - + - + - + - 6.0.1 + 6.0.2 - - - - + + + + - 6.0.1 + 6.0.2 @@ -688,69 +688,69 @@ - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 - + - 6.0.1 + 6.0.2 - + - 6.0.1 + 6.0.2 - + - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 @@ -769,7 +769,7 @@ - 6.0.1 + 6.0.2 @@ -788,7 +788,7 @@ - 6.0.1 + 6.0.2 @@ -804,46 +804,46 @@ - 6.0.1 + 6.0.2 - + - + - + - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 - - - + + + - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 @@ -853,7 +853,7 @@ - 6.0.1 + 6.0.2 @@ -862,76 +862,76 @@ - 6.0.1 + 6.0.2 - + - + - + - 6.0.1 + 6.0.2 - + - + - + - 6.0.1 + 6.0.2 - + - + - + - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 - + @@ -940,7 +940,7 @@ - + @@ -948,7 +948,7 @@ - + @@ -957,11 +957,11 @@ - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 @@ -979,13 +979,13 @@ - 6.0.1 + 6.0.2 - 6.0.1 + 6.0.2 - + \ No newline at end of file diff --git a/eng/Baseline.xml b/eng/Baseline.xml index 6a0991dc7477..24d6ccfa45b2 100644 --- a/eng/Baseline.xml +++ b/eng/Baseline.xml @@ -4,111 +4,111 @@ This file contains a list of all the packages and their versions which were rele Update this list when preparing for a new patch. --> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/eng/Versions.props b/eng/Versions.props index faa0941d6680..bcdc94b4a10d 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -9,7 +9,7 @@ 6 0 3 - false + true @@ -215,7 +215,7 @@ 3.1.22-servicing-21579-4 $(MicrosoftAspNetCoreAzureAppServicesSiteExtension31Version) $(MicrosoftAspNetCoreAzureAppServicesSiteExtension31Version) - 5.0.13-servicing-21572-2 + 5.0.14-servicing.22063.24 $(MicrosoftAspNetCoreAzureAppServicesSiteExtension50Version) $(MicrosoftAspNetCoreAzureAppServicesSiteExtension50Version) diff --git a/global.json b/global.json index 1b01dc3e2b6e..95b232866811 100644 --- a/global.json +++ b/global.json @@ -1,9 +1,9 @@ { "sdk": { - "version": "6.0.101" + "version": "6.0.102" }, "tools": { - "dotnet": "6.0.101", + "dotnet": "6.0.102", "runtimes": { "dotnet/x64": [ "2.1.30", From a1f88020ed3ffc63234c83b25ee1d679be363c91 Mon Sep 17 00:00:00 2001 From: William Godbe Date: Tue, 8 Feb 2022 15:40:08 -0800 Subject: [PATCH 6/8] Made workaround conditional --- eng/helix/helix.proj | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/eng/helix/helix.proj b/eng/helix/helix.proj index 56ecf5c1fbdd..240f9ef0a25f 100644 --- a/eng/helix/helix.proj +++ b/eng/helix/helix.proj @@ -43,8 +43,14 @@ !temporary! e.g. https://dotnetbuilds.blob.core.windows.net/internal/Runtime/6.0.2-servicing.22060.12/dotnet-runtime-6.0.2-win-x86.zip?{token} --> Destination="dotnet-cli" Uri="https://dotnetbuilds.blob.core.windows.net/internal/Runtime/$(MicrosoftNETCoreBrowserDebugHostTransportVersion)/dotnet-runtime-$(MicrosoftNETCoreAppRuntimeVersion)-$(DotNetCliRuntime)$(ArchiveExtension)$([System.Environment]::GetEnvironmentVariable('DotNetBuildsInternalReadSasToken'))" /> + + + runtime + From 22fef7d73bc8db87997c727afc08b3725a8eca96 Mon Sep 17 00:00:00 2001 From: William Godbe Date: Tue, 8 Feb 2022 16:16:22 -0800 Subject: [PATCH 7/8] Update helix.proj --- eng/helix/helix.proj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/helix/helix.proj b/eng/helix/helix.proj index 240f9ef0a25f..958ca4e4cb45 100644 --- a/eng/helix/helix.proj +++ b/eng/helix/helix.proj @@ -43,12 +43,12 @@ !temporary! e.g. https://dotnetbuilds.blob.core.windows.net/internal/Runtime/6.0.2-servicing.22060.12/dotnet-runtime-6.0.2-win-x86.zip?{token} --> + Condition="'$(SYSTEM_TEAMPROJECT)' == 'internal'" Destination="dotnet-cli" Uri="https://dotnetbuilds.blob.core.windows.net/internal/Runtime/$(MicrosoftNETCoreBrowserDebugHostTransportVersion)/dotnet-runtime-$(MicrosoftNETCoreAppRuntimeVersion)-$(DotNetCliRuntime)$(ArchiveExtension)$([System.Environment]::GetEnvironmentVariable('DotNetBuildsInternalReadSasToken'))" /> + Condition="'$(SYSTEM_TEAMPROJECT)' != 'internal'"> runtime From fd80be8577a072a935e835c89229376c04cf8538 Mon Sep 17 00:00:00 2001 From: Will Godbe Date: Wed, 9 Feb 2022 13:17:24 -0800 Subject: [PATCH 8/8] IsPublicRuntime --- eng/helix/helix.proj | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/eng/helix/helix.proj b/eng/helix/helix.proj index 958ca4e4cb45..3f354ab1872d 100644 --- a/eng/helix/helix.proj +++ b/eng/helix/helix.proj @@ -1,5 +1,18 @@ + + + false + + + Condition="'$(SYSTEM_TEAMPROJECT)' != 'internal' OR '$(IsPublicRuntime)' == 'true'"> runtime