diff --git a/Directory.Packages.props b/Directory.Packages.props index 4d80612a67a..c660b2de933 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -25,17 +25,17 @@ - + - - - - - - - - + + + + + + + + diff --git a/src/Docfx.Build/XRefMaps/XRefMapDownloader.cs b/src/Docfx.Build/XRefMaps/XRefMapDownloader.cs index a4ebdeb330f..5512388b115 100644 --- a/src/Docfx.Build/XRefMaps/XRefMapDownloader.cs +++ b/src/Docfx.Build/XRefMaps/XRefMapDownloader.cs @@ -3,6 +3,8 @@ using System.IO.Compression; using System.Net; +using System.Net.Security; +using System.Security.Cryptography.X509Certificates; using Docfx.Common; using EnvironmentVariables = Docfx.DataContracts.Common.Constants.EnvironmentVariables; @@ -158,6 +160,20 @@ private static async Task DownloadFromWebAsync(Uri uri, CancellationTok { AutomaticDecompression = DecompressionMethods.All, CheckCertificateRevocationList = !EnvironmentVariables.NoCheckCertificateRevocationList, + ServerCertificateCustomValidationCallback = (req, cert, chain, errors) => + { + if (errors == SslPolicyErrors.None) + return true; + + // Ignore OCSP validation error on macos. (On GitHub Actions environment. OSCP HTTP access seems be blocked) + if (OperatingSystem.IsMacOS()) + { + if (chain?.ChainStatus != null && chain.ChainStatus.All(s => s.Status == X509ChainStatusFlags.RevocationStatusUnknown)) + return true; + } + + return false; + } }) { Timeout = TimeSpan.FromMinutes(30), // Default: 100 seconds diff --git a/src/Docfx.Dotnet/SymbolFormatter.Symbols.cs b/src/Docfx.Dotnet/SymbolFormatter.Symbols.cs index 439dc11d3c9..a918eea53ed 100644 --- a/src/Docfx.Dotnet/SymbolFormatter.Symbols.cs +++ b/src/Docfx.Dotnet/SymbolFormatter.Symbols.cs @@ -217,6 +217,8 @@ private class PropertySymbol : IPropertySymbol public IPropertySymbol PartialDefinitionPart => Inner.PartialDefinitionPart; public IPropertySymbol PartialImplementationPart => Inner.PartialImplementationPart; public bool IsPartialDefinition => Inner.IsPartialDefinition; + public IPropertySymbol ReduceExtensionMember(ITypeSymbol receiverType) => Inner.ReduceExtensionMember(receiverType); + } public class MethodSymbol : IMethodSymbol @@ -367,6 +369,7 @@ public class MethodSymbol : IMethodSymbol public ImmutableArray GetReturnTypeAttributes() => Inner.GetReturnTypeAttributes(); public ITypeSymbol GetTypeInferredDuringReduction(ITypeParameterSymbol reducedFromTypeParameter) => Inner.GetTypeInferredDuringReduction(reducedFromTypeParameter); public IMethodSymbol ReduceExtensionMethod(ITypeSymbol receiverType) => Inner.ReduceExtensionMethod(receiverType); + public IMethodSymbol ReduceExtensionMember(ITypeSymbol receiverType) => Inner.ReduceExtensionMember(receiverType); public ImmutableArray ToDisplayParts(SymbolDisplayFormat format = null) => Inner.ToDisplayParts(format); public string ToDisplayString(SymbolDisplayFormat format = null) => Inner.ToDisplayString(format); public ImmutableArray ToMinimalDisplayParts(SemanticModel semanticModel, int position, SymbolDisplayFormat format = null) => Inner.ToMinimalDisplayParts(semanticModel, position, format); diff --git a/test/Docfx.Dotnet.Tests/SymbolUrlResolverUnitTest.cs b/test/Docfx.Dotnet.Tests/SymbolUrlResolverUnitTest.cs index 2fe299a1a5e..b2d68fbafde 100644 --- a/test/Docfx.Dotnet.Tests/SymbolUrlResolverUnitTest.cs +++ b/test/Docfx.Dotnet.Tests/SymbolUrlResolverUnitTest.cs @@ -2,7 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. using System.Text.RegularExpressions; -using Microsoft.CodeAnalysis; using Xunit; namespace Docfx.Dotnet.Tests;