diff --git a/src/NuGetGallery/Controllers/PackagesController.cs b/src/NuGetGallery/Controllers/PackagesController.cs index 9a8d655292..1cfd71f25a 100644 --- a/src/NuGetGallery/Controllers/PackagesController.cs +++ b/src/NuGetGallery/Controllers/PackagesController.cs @@ -658,7 +658,7 @@ private async Task GetVerifyPackageView(User currentUser, packageMetadata.LicenseMetadata?.Type == LicenseType.File && Path.GetExtension(license).Equals(ServicesConstants.MarkdownFileExtension, StringComparison.InvariantCulture)) { - model.LicenseFileContentsHtml = _markdownService.GetHtmlFromMarkdown(packageContentData.LicenseFileContents, incrementHeadersBy: 2)?.Content; + model.LicenseFileContentsHtml = _markdownService.GetHtmlFromMarkdown(packageContentData.LicenseFileContents, incrementHeadersBy: 2); } model.LicenseExpressionSegments = packageContentData.LicenseExpressionSegments; diff --git a/src/NuGetGallery/Helpers/ViewModelExtensions/DisplayLicenseViewModelFactory.cs b/src/NuGetGallery/Helpers/ViewModelExtensions/DisplayLicenseViewModelFactory.cs index fd01fca5e7..fcad05d36b 100644 --- a/src/NuGetGallery/Helpers/ViewModelExtensions/DisplayLicenseViewModelFactory.cs +++ b/src/NuGetGallery/Helpers/ViewModelExtensions/DisplayLicenseViewModelFactory.cs @@ -68,7 +68,7 @@ private DisplayLicenseViewModel SetupInternal( package.EmbeddedLicenseType == EmbeddedLicenseFileType.Markdown && licenseFileContents != null) { - viewModel.LicenseFileContentsHtml = _markdownService.GetHtmlFromMarkdown(licenseFileContents)?.Content; + viewModel.LicenseFileContentsHtml = _markdownService.GetHtmlFromMarkdown(licenseFileContents); } return viewModel; diff --git a/src/NuGetGallery/RequestModels/VerifyPackageRequest.cs b/src/NuGetGallery/RequestModels/VerifyPackageRequest.cs index b2d19d272b..76a736c6cb 100644 --- a/src/NuGetGallery/RequestModels/VerifyPackageRequest.cs +++ b/src/NuGetGallery/RequestModels/VerifyPackageRequest.cs @@ -105,7 +105,7 @@ public VerifyPackageRequest(PackageMetadata packageMetadata, IEnumerable p public string LicenseExpression { get; set; } public IReadOnlyCollection LicenseExpressionSegments { get; set; } public string LicenseFileContents { get; set; } - public string LicenseFileContentsHtml { get; set; } + public RenderedMarkdownResult LicenseFileContentsHtml { get; set; } public string MinClientVersionDisplay { get; set; } public string ProjectUrl { get; set; } public string RepositoryUrl { get; set; } diff --git a/src/NuGetGallery/ViewModels/DisplayLicenseViewModel.cs b/src/NuGetGallery/ViewModels/DisplayLicenseViewModel.cs index e1e5a375f4..732e5357ad 100644 --- a/src/NuGetGallery/ViewModels/DisplayLicenseViewModel.cs +++ b/src/NuGetGallery/ViewModels/DisplayLicenseViewModel.cs @@ -15,6 +15,6 @@ public class DisplayLicenseViewModel : PackageViewModel public IReadOnlyCollection LicenseNames { get; set; } public IReadOnlyCollection LicenseExpressionSegments { get; set; } public string LicenseFileContents { get; set; } - public string LicenseFileContentsHtml { get; set; } + public RenderedMarkdownResult LicenseFileContentsHtml { get; set; } } } \ No newline at end of file diff --git a/src/NuGetGallery/Views/Packages/License.cshtml b/src/NuGetGallery/Views/Packages/License.cshtml index 31053a9a1a..466b20f40c 100644 --- a/src/NuGetGallery/Views/Packages/License.cshtml +++ b/src/NuGetGallery/Views/Packages/License.cshtml @@ -68,9 +68,14 @@
@if (Model.LicenseFileContentsHtml != null) { - @Html.Raw(Model.LicenseFileContentsHtml) - } - else + if (Model.LicenseFileContentsHtml.ImageSourceDisallowed) + { + @ViewHelpers.AlertWarning(@Some images are not displayed as they are not from trusted domains.) + + } + @Html.Raw(Model.LicenseFileContentsHtml.Content) + } + else {
@Model.LicenseFileContents
} diff --git a/src/NuGetGallery/Views/Packages/_VerifyMetadata.cshtml b/src/NuGetGallery/Views/Packages/_VerifyMetadata.cshtml index 0780164b6c..b0b841d96b 100644 --- a/src/NuGetGallery/Views/Packages/_VerifyMetadata.cshtml +++ b/src/NuGetGallery/Views/Packages/_VerifyMetadata.cshtml @@ -135,7 +135,10 @@
- + + @ViewHelpers.AlertWarning(@Some images are not displayed as they are not from trusted domains.) + +