Skip to content

Commit 882d438

Browse files
authored
Merge pull request #39025 from vseanreesermsft/internal-merge-5.0-2021-12-14-0955
Merging internal commits for release/5.0
2 parents 1a0e69b + e4e595d commit 882d438

File tree

10 files changed

+509
-358
lines changed

10 files changed

+509
-358
lines changed

eng/Baseline.Designer.props

Lines changed: 208 additions & 208 deletions
Large diffs are not rendered by default.

eng/Baseline.xml

Lines changed: 100 additions & 100 deletions
Large diffs are not rendered by default.

eng/Version.Details.xml

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -9,37 +9,37 @@
99
-->
1010
<Dependencies>
1111
<ProductDependencies>
12-
<Dependency Name="dotnet-ef" Version="5.0.12">
12+
<Dependency Name="dotnet-ef" Version="5.0.13">
1313
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-efcore</Uri>
14-
<Sha>8d3ca1a23a881f6ff435c797a43b1d893328eee9</Sha>
14+
<Sha>f9c7b6583ab20e17526fc17a347ea7e5b633327f</Sha>
1515
</Dependency>
16-
<Dependency Name="Microsoft.EntityFrameworkCore.InMemory" Version="5.0.12">
16+
<Dependency Name="Microsoft.EntityFrameworkCore.InMemory" Version="5.0.13">
1717
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-efcore</Uri>
18-
<Sha>8d3ca1a23a881f6ff435c797a43b1d893328eee9</Sha>
18+
<Sha>f9c7b6583ab20e17526fc17a347ea7e5b633327f</Sha>
1919
</Dependency>
20-
<Dependency Name="Microsoft.EntityFrameworkCore.Relational" Version="5.0.12">
20+
<Dependency Name="Microsoft.EntityFrameworkCore.Relational" Version="5.0.13">
2121
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-efcore</Uri>
22-
<Sha>8d3ca1a23a881f6ff435c797a43b1d893328eee9</Sha>
22+
<Sha>f9c7b6583ab20e17526fc17a347ea7e5b633327f</Sha>
2323
</Dependency>
24-
<Dependency Name="Microsoft.EntityFrameworkCore.Sqlite" Version="5.0.12">
24+
<Dependency Name="Microsoft.EntityFrameworkCore.Sqlite" Version="5.0.13">
2525
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-efcore</Uri>
26-
<Sha>8d3ca1a23a881f6ff435c797a43b1d893328eee9</Sha>
26+
<Sha>f9c7b6583ab20e17526fc17a347ea7e5b633327f</Sha>
2727
</Dependency>
28-
<Dependency Name="Microsoft.EntityFrameworkCore.SqlServer" Version="5.0.12">
28+
<Dependency Name="Microsoft.EntityFrameworkCore.SqlServer" Version="5.0.13">
2929
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-efcore</Uri>
30-
<Sha>8d3ca1a23a881f6ff435c797a43b1d893328eee9</Sha>
30+
<Sha>f9c7b6583ab20e17526fc17a347ea7e5b633327f</Sha>
3131
</Dependency>
32-
<Dependency Name="Microsoft.EntityFrameworkCore.Tools" Version="5.0.12">
32+
<Dependency Name="Microsoft.EntityFrameworkCore.Tools" Version="5.0.13">
3333
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-efcore</Uri>
34-
<Sha>8d3ca1a23a881f6ff435c797a43b1d893328eee9</Sha>
34+
<Sha>f9c7b6583ab20e17526fc17a347ea7e5b633327f</Sha>
3535
</Dependency>
36-
<Dependency Name="Microsoft.EntityFrameworkCore" Version="5.0.12">
36+
<Dependency Name="Microsoft.EntityFrameworkCore" Version="5.0.13">
3737
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-efcore</Uri>
38-
<Sha>8d3ca1a23a881f6ff435c797a43b1d893328eee9</Sha>
38+
<Sha>f9c7b6583ab20e17526fc17a347ea7e5b633327f</Sha>
3939
</Dependency>
40-
<Dependency Name="Microsoft.EntityFrameworkCore.Design" Version="5.0.12">
40+
<Dependency Name="Microsoft.EntityFrameworkCore.Design" Version="5.0.13">
4141
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-efcore</Uri>
42-
<Sha>8d3ca1a23a881f6ff435c797a43b1d893328eee9</Sha>
42+
<Sha>f9c7b6583ab20e17526fc17a347ea7e5b633327f</Sha>
4343
</Dependency>
4444
<Dependency Name="Microsoft.Extensions.Caching.Abstractions" Version="5.0.0">
4545
<Uri>https://github.com/dotnet/runtime</Uri>
@@ -294,17 +294,17 @@
294294
Win-x64 is used here because we have picked an arbitrary runtime identifier to flow the version of the latest NETCore.App runtime.
295295
All Runtime.$rid packages should have the same version.
296296
-->
297-
<Dependency Name="Microsoft.NETCore.App.Runtime.win-x64" Version="5.0.12">
297+
<Dependency Name="Microsoft.NETCore.App.Runtime.win-x64" Version="5.0.13">
298298
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-runtime</Uri>
299-
<Sha>7211aa01b34bb55ca67bdddd6e80ce23ee201bd2</Sha>
299+
<Sha>b3afe992253738208ccaaa058e726553889928de</Sha>
300300
</Dependency>
301-
<Dependency Name="Microsoft.NETCore.App.Internal" Version="5.0.12-servicing.21522.7">
301+
<Dependency Name="Microsoft.NETCore.App.Internal" Version="5.0.13-servicing.21565.16">
302302
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-runtime</Uri>
303-
<Sha>7211aa01b34bb55ca67bdddd6e80ce23ee201bd2</Sha>
303+
<Sha>b3afe992253738208ccaaa058e726553889928de</Sha>
304304
</Dependency>
305-
<Dependency Name="Microsoft.NETCore.BrowserDebugHost.Transport" Version="5.0.12-servicing.21522.7">
305+
<Dependency Name="Microsoft.NETCore.BrowserDebugHost.Transport" Version="5.0.13-servicing.21565.16">
306306
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-runtime</Uri>
307-
<Sha>7211aa01b34bb55ca67bdddd6e80ce23ee201bd2</Sha>
307+
<Sha>b3afe992253738208ccaaa058e726553889928de</Sha>
308308
</Dependency>
309309
</ProductDependencies>
310310
<ToolsetDependencies>

eng/Versions.props

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
<AspNetCoreMajorVersion>5</AspNetCoreMajorVersion>
1010
<AspNetCoreMinorVersion>0</AspNetCoreMinorVersion>
1111
<AspNetCorePatchVersion>14</AspNetCorePatchVersion>
12-
<ValidateBaseline>false</ValidateBaseline>
12+
<ValidateBaseline>true</ValidateBaseline>
1313
<!--
1414
When StabilizePackageVersion is set to 'true', this branch will produce stable outputs for 'Shipping' packages
1515
-->
@@ -59,10 +59,10 @@
5959
<PropertyGroup Label="Automated">
6060
<!-- Packages from dotnet/runtime -->
6161
<MicrosoftExtensionsDependencyModelPackageVersion>5.0.0</MicrosoftExtensionsDependencyModelPackageVersion>
62-
<MicrosoftNETCoreAppInternalPackageVersion>5.0.12-servicing.21522.7</MicrosoftNETCoreAppInternalPackageVersion>
62+
<MicrosoftNETCoreAppInternalPackageVersion>5.0.13-servicing.21565.16</MicrosoftNETCoreAppInternalPackageVersion>
6363
<MicrosoftNETCoreAppRefPackageVersion>5.0.0</MicrosoftNETCoreAppRefPackageVersion>
64-
<MicrosoftNETCoreAppRuntimewinx64PackageVersion>5.0.12</MicrosoftNETCoreAppRuntimewinx64PackageVersion>
65-
<MicrosoftNETCoreBrowserDebugHostTransportPackageVersion>5.0.12-servicing.21522.7</MicrosoftNETCoreBrowserDebugHostTransportPackageVersion>
64+
<MicrosoftNETCoreAppRuntimewinx64PackageVersion>5.0.13</MicrosoftNETCoreAppRuntimewinx64PackageVersion>
65+
<MicrosoftNETCoreBrowserDebugHostTransportPackageVersion>5.0.13-servicing.21565.16</MicrosoftNETCoreBrowserDebugHostTransportPackageVersion>
6666
<MicrosoftWin32RegistryPackageVersion>5.0.0</MicrosoftWin32RegistryPackageVersion>
6767
<MicrosoftWin32SystemEventsPackageVersion>5.0.0</MicrosoftWin32SystemEventsPackageVersion>
6868
<MicrosoftExtensionsCachingAbstractionsPackageVersion>5.0.0</MicrosoftExtensionsCachingAbstractionsPackageVersion>
@@ -127,14 +127,14 @@
127127
<!-- Only listed explicitly to workaround https://github.com/dotnet/cli/issues/10528 -->
128128
<MicrosoftNETCorePlatformsPackageVersion>5.0.4</MicrosoftNETCorePlatformsPackageVersion>
129129
<!-- Packages from dotnet/efcore -->
130-
<dotnetefPackageVersion>5.0.12</dotnetefPackageVersion>
131-
<MicrosoftEntityFrameworkCoreInMemoryPackageVersion>5.0.12</MicrosoftEntityFrameworkCoreInMemoryPackageVersion>
132-
<MicrosoftEntityFrameworkCoreRelationalPackageVersion>5.0.12</MicrosoftEntityFrameworkCoreRelationalPackageVersion>
133-
<MicrosoftEntityFrameworkCoreSqlitePackageVersion>5.0.12</MicrosoftEntityFrameworkCoreSqlitePackageVersion>
134-
<MicrosoftEntityFrameworkCoreSqlServerPackageVersion>5.0.12</MicrosoftEntityFrameworkCoreSqlServerPackageVersion>
135-
<MicrosoftEntityFrameworkCoreToolsPackageVersion>5.0.12</MicrosoftEntityFrameworkCoreToolsPackageVersion>
136-
<MicrosoftEntityFrameworkCorePackageVersion>5.0.12</MicrosoftEntityFrameworkCorePackageVersion>
137-
<MicrosoftEntityFrameworkCoreDesignPackageVersion>5.0.12</MicrosoftEntityFrameworkCoreDesignPackageVersion>
130+
<dotnetefPackageVersion>5.0.13</dotnetefPackageVersion>
131+
<MicrosoftEntityFrameworkCoreInMemoryPackageVersion>5.0.13</MicrosoftEntityFrameworkCoreInMemoryPackageVersion>
132+
<MicrosoftEntityFrameworkCoreRelationalPackageVersion>5.0.13</MicrosoftEntityFrameworkCoreRelationalPackageVersion>
133+
<MicrosoftEntityFrameworkCoreSqlitePackageVersion>5.0.13</MicrosoftEntityFrameworkCoreSqlitePackageVersion>
134+
<MicrosoftEntityFrameworkCoreSqlServerPackageVersion>5.0.13</MicrosoftEntityFrameworkCoreSqlServerPackageVersion>
135+
<MicrosoftEntityFrameworkCoreToolsPackageVersion>5.0.13</MicrosoftEntityFrameworkCoreToolsPackageVersion>
136+
<MicrosoftEntityFrameworkCorePackageVersion>5.0.13</MicrosoftEntityFrameworkCorePackageVersion>
137+
<MicrosoftEntityFrameworkCoreDesignPackageVersion>5.0.13</MicrosoftEntityFrameworkCoreDesignPackageVersion>
138138
<!-- Packages from dotnet/arcade -->
139139
<MicrosoftDotNetBuildTasksInstallersPackageVersion>5.0.0-beta.21565.1</MicrosoftDotNetBuildTasksInstallersPackageVersion>
140140
</PropertyGroup>
@@ -238,7 +238,7 @@
238238
<!-- Packages from 2.1, 2.2, and 3.1 branches used for site extension build. -->
239239
<MicrosoftAspNetCoreAzureAppServicesSiteExtension21PackageVersion>2.1.1</MicrosoftAspNetCoreAzureAppServicesSiteExtension21PackageVersion>
240240
<MicrosoftAspNetCoreAzureAppServicesSiteExtension22PackageVersion>2.2.0</MicrosoftAspNetCoreAzureAppServicesSiteExtension22PackageVersion>
241-
<MicrosoftAspNetCoreAzureAppServicesSiteExtension31PackageVersion>3.1.21-servicing-21523-9</MicrosoftAspNetCoreAzureAppServicesSiteExtension31PackageVersion>
241+
<MicrosoftAspNetCoreAzureAppServicesSiteExtension31PackageVersion>3.1.22-servicing-21579-4</MicrosoftAspNetCoreAzureAppServicesSiteExtension31PackageVersion>
242242
<MicrosoftAspNetCoreAzureAppServicesSiteExtension31x64PackageVersion>$(MicrosoftAspNetCoreAzureAppServicesSiteExtension31PackageVersion)</MicrosoftAspNetCoreAzureAppServicesSiteExtension31x64PackageVersion>
243243
<MicrosoftAspNetCoreAzureAppServicesSiteExtension31x86PackageVersion>$(MicrosoftAspNetCoreAzureAppServicesSiteExtension31PackageVersion)</MicrosoftAspNetCoreAzureAppServicesSiteExtension31x86PackageVersion>
244244
<!-- 3rd party dependencies -->

eng/targets/Helix.targets

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@
166166
When the targeting pack builds, it has exactly the same version as the shared framework. Passing
167167
SharedFxVersion because that's needed even when the targeting pack isn't building.
168168
-->
169-
<Command Condition="$(IsWindowsHelixQueue)">call runtests.cmd $(TargetFileName) $(NETCoreSdkVersion) $(MicrosoftNETCoreAppInternalPackageVersion) $(SharedFxVersion) $(_HelixFriendlyNameTargetQueue) $(TargetArchitecture) $(RunQuarantinedTests) $(DotnetEfPackageVersion) $(HelixTimeout) $(DotNetRuntimeSourceFeedKey)</Command>
169+
<Command Condition="$(IsWindowsHelixQueue)">call runtests.cmd $(TargetFileName) $(NETCoreSdkVersion) $(MicrosoftNETCoreAppInternalPackageVersion) $(SharedFxVersion) $(_HelixFriendlyNameTargetQueue) $(TargetArchitecture) $(RunQuarantinedTests) $(DotnetEfPackageVersion) $(HelixTimeout) &quot;$(DotNetRuntimeSourceFeedKey)&quot;</Command>
170170
<Command Condition="!$(IsWindowsHelixQueue)">./runtests.sh $(TargetFileName) $(NETCoreSdkVersion) $(MicrosoftNETCoreAppInternalPackageVersion) $(SharedFxVersion) $(_HelixFriendlyNameTargetQueue) $(TargetArchitecture) $(RunQuarantinedTests) $(DotnetEfPackageVersion) $(HelixTimeout) $(DotNetRuntimeSourceFeedKey)</Command>
171171
<Command Condition="$(HelixCommand) != ''">$(HelixCommand)</Command>
172172
<Timeout>$(HelixTimeout)</Timeout>

global.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
{
22
"sdk": {
3-
"version": "5.0.403"
3+
"version": "5.0.404"
44
},
55
"tools": {
6-
"dotnet": "5.0.403",
6+
"dotnet": "5.0.404",
77
"runtimes": {
88
"dotnet/x64": [
99
"2.1.30",
@@ -13,7 +13,7 @@
1313
"$(MicrosoftNETCoreAppInternalPackageVersion)"
1414
],
1515
"aspnetcore/x64": [
16-
"3.1.21"
16+
"3.1.22"
1717
]
1818
},
1919
"Git": "2.22.0",
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
// Licensed to the .NET Foundation under one or more agreements.
2+
// The .NET Foundation licenses this file to you under the MIT license.
3+
4+
using System.Runtime.CompilerServices;
5+
6+
[assembly: InternalsVisibleTo("Microsoft.AspNetCore.Authentication.Test, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]

src/Security/Authentication/Certificate/src/CertificateValidationCache.cs

Lines changed: 32 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// Copyright (c) .NET Foundation. All rights reserved.
22
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
33

4+
using System;
45
using System.Security.Cryptography;
56
using System.Security.Cryptography.X509Certificates;
67
using Microsoft.AspNetCore.Http;
@@ -16,16 +17,21 @@ public class CertificateValidationCache : ICertificateValidationCache
1617
{
1718
private readonly MemoryCache _cache;
1819
private readonly CertificateValidationCacheOptions _options;
20+
private readonly ISystemClock _clock;
21+
22+
internal CertificateValidationCache(IOptions<CertificateValidationCacheOptions> options, ISystemClock clock)
23+
{
24+
_options = options.Value;
25+
_cache = new MemoryCache(new MemoryCacheOptions { SizeLimit = _options.CacheSize, Clock = new CachingClock(clock) });
26+
_clock = clock;
27+
}
1928

2029
/// <summary>
2130
/// Initializes a new instance of <see cref="CertificateValidationCache"/>.
2231
/// </summary>
2332
/// <param name="options">An accessor to <see cref="CertificateValidationCacheOptions"/></param>
24-
public CertificateValidationCache(IOptions<CertificateValidationCacheOptions> options)
25-
{
26-
_options = options.Value;
27-
_cache = new MemoryCache(new MemoryCacheOptions { SizeLimit = _options.CacheSize });
28-
}
33+
public CertificateValidationCache(IOptions<CertificateValidationCacheOptions> options) : this(options, new SystemClock())
34+
{ }
2935

3036
/// <summary>
3137
/// Get the <see cref="AuthenticateResult"/> for the connection and certificate.
@@ -43,10 +49,29 @@ public AuthenticateResult Get(HttpContext context, X509Certificate2 certificate)
4349
/// <param name="certificate">The certificate.</param>
4450
/// <param name="result">the <see cref="AuthenticateResult"/></param>
4551
public void Put(HttpContext context, X509Certificate2 certificate, AuthenticateResult result)
46-
=> _cache.Set(ComputeKey(certificate), result.Clone(), new MemoryCacheEntryOptions()
47-
.SetSize(1).SetSlidingExpiration(_options.CacheEntryExpiration).SetAbsoluteExpiration(certificate.NotAfter));
52+
{
53+
// Never cache longer than 30 minutes
54+
var absoluteExpiration = _clock.UtcNow.Add(TimeSpan.FromMinutes(30));
55+
var notAfter = certificate.NotAfter.ToUniversalTime();
56+
if (notAfter < absoluteExpiration)
57+
{
58+
absoluteExpiration = notAfter;
59+
}
60+
_cache.Set(ComputeKey(certificate), result.Clone(), new MemoryCacheEntryOptions()
61+
.SetSize(1)
62+
.SetSlidingExpiration(_options.CacheEntryExpiration)
63+
.SetAbsoluteExpiration(absoluteExpiration));
64+
}
4865

4966
private string ComputeKey(X509Certificate2 certificate)
5067
=> certificate.GetCertHashString(HashAlgorithmName.SHA256);
68+
69+
private class CachingClock : Extensions.Internal.ISystemClock
70+
{
71+
private readonly ISystemClock _clock;
72+
public CachingClock(ISystemClock clock) => _clock = clock;
73+
74+
public DateTimeOffset UtcNow => _clock.UtcNow;
75+
}
5176
}
5277
}

0 commit comments

Comments
 (0)