Update deps, docs, auth logic; add SixLabors license
Playwright Tests / test (push) Has been cancelled

- Expanded copilot-instructions.md with project/routing details and ImageSharp license handling
- Upgraded MailKit and MimeKit to v4.17.0
- Added sixlabors.lic for ImageSharp 4.x licensing
- Removed SecretManagementExtensions.cs stub
- Updated OCORE and OCORE_web submodules
- Improved unauthorized access handling in IntranetController
- Removed empty placeholder file
This commit is contained in:
Stefan
2026-05-30 23:20:11 +02:00
parent 1ce497b37e
commit 2d65e34500
8 changed files with 8 additions and 22 deletions
+1 -1
View File
@@ -1,6 +1,5 @@
# Copilot Instructions # Copilot Instructions
## Project Overview ## Project Overview
- **Fuchs Intranet** is an ASP.NET Core (.NET 10) web application — the intranet IS the entire website, served from `/`. - **Fuchs Intranet** is an ASP.NET Core (.NET 10) web application — the intranet IS the entire website, served from `/`.
- Routes: `/{fn?}/{id?}/{code?}``IntranetController.Index`; `/do/{fn?}/{id?}/{code?}``IntranetController.Do`. - Routes: `/{fn?}/{id?}/{code?}``IntranetController.Index`; `/do/{fn?}/{id?}/{code?}``IntranetController.Do`.
@@ -30,6 +29,7 @@
- Make use of OCORE libraries where possible, especially for common tasks such as logging, configuration management, and data access. - Make use of OCORE libraries where possible, especially for common tasks such as logging, configuration management, and data access.
- Whenever possible, prefer OCORE_web_pdf / OCORE PDF functions for PDF-related tasks over rewriting. - Whenever possible, prefer OCORE_web_pdf / OCORE PDF functions for PDF-related tasks over rewriting.
- Do not use OCMS or OCMS_sharp; use only OCORE or OCORE_web. - Do not use OCMS or OCMS_sharp; use only OCORE or OCORE_web.
- For builds failing due to SixLabors.ImageSharp requiring a license (v4.0.0+), check copilot-instructions.md for the SixLabors license key/handling info before downgrading ImageSharp.
## Azure Key Vault — Secret Naming ## Azure Key Vault — Secret Naming
- Secret names must satisfy the pattern `^[0-9a-zA-Z-]+$` (alphanumerics and hyphens only; no underscores, dots, or spaces). - Secret names must satisfy the pattern `^[0-9a-zA-Z-]+$` (alphanumerics and hyphens only; no underscores, dots, or spaces).
@@ -1 +0,0 @@
-
+2
View File
@@ -91,9 +91,11 @@ public partial class IntranetController : Microsoft.AspNetCore.Mvc.Controller
if (!UserIdent.IsAuthenticated && !(new string[] { "login","logout" }).Contains(fn.ToLower()) && !_allowedNonAuth.Contains(fn.ToLower())) if (!UserIdent.IsAuthenticated && !(new string[] { "login","logout" }).Contains(fn.ToLower()) && !_allowedNonAuth.Contains(fn.ToLower()))
{ {
if (!_allowedGet.Contains(fn.ToLower()) && !_allowedGet.Contains($"{fn.ToLower()}|{id.ToLower()}")) if (!_allowedGet.Contains(fn.ToLower()) && !_allowedGet.Contains($"{fn.ToLower()}|{id.ToLower()}"))
{
_logger.LogInformation($"rejected function on do {fn}"); _logger.LogInformation($"rejected function on do {fn}");
return Unauthorized401(); return Unauthorized401();
} }
}
try try
{ {
+2 -2
View File
@@ -27,7 +27,7 @@
<!-- Compatible packages (kept) --> <!-- Compatible packages (kept) -->
<PackageReference Include="BouncyCastle" Version="1.8.9" /> <PackageReference Include="BouncyCastle" Version="1.8.9" />
<PackageReference Include="HtmlAgilityPack" Version="1.12.4" /> <PackageReference Include="HtmlAgilityPack" Version="1.12.4" />
<PackageReference Include="MailKit" Version="4.16.0" /> <PackageReference Include="MailKit" Version="4.17.0" />
<PackageReference Include="Microsoft.IO.RecyclableMemoryStream" Version="3.0.1" /> <PackageReference Include="Microsoft.IO.RecyclableMemoryStream" Version="3.0.1" />
<PackageReference Include="Portable.BouncyCastle" Version="1.9.0" /> <PackageReference Include="Portable.BouncyCastle" Version="1.9.0" />
<PackageReference Include="QRCoder" Version="1.8.0" /> <PackageReference Include="QRCoder" Version="1.8.0" />
@@ -37,7 +37,7 @@
<PackageReference Include="Squid-Box.SevenZipSharp" Version="1.6.2.24" /> <PackageReference Include="Squid-Box.SevenZipSharp" Version="1.6.2.24" />
<!-- Updated packages --> <!-- Updated packages -->
<PackageReference Include="BouncyCastle.Cryptography" Version="2.6.2" /> <PackageReference Include="BouncyCastle.Cryptography" Version="2.6.2" />
<PackageReference Include="MimeKit" Version="4.16.0" /> <PackageReference Include="MimeKit" Version="4.17.0" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.4" /> <PackageReference Include="Newtonsoft.Json" Version="13.0.4" />
<!-- New packages (needed for .NET 10) --> <!-- New packages (needed for .NET 10) -->
<PackageReference Include="Microsoft.Data.SqlClient" Version="7.0.1" /> <PackageReference Include="Microsoft.Data.SqlClient" Version="7.0.1" />
@@ -1,16 +0,0 @@
using Microsoft.AspNetCore.Builder;
namespace OCORE_web.Secrets;
/// <summary>
/// Placeholder for secret management extension methods.
/// Replace with a real Azure Key Vault / DPAPI implementation when ready.
/// </summary>
public static class SecretManagementExtensions
{
/// <summary>
/// No-op stub. Wire up real secret management (e.g. Azure Key Vault) here.
/// </summary>
public static WebApplicationBuilder AddSecretManagement(this WebApplicationBuilder builder)
=> builder;
}
+1
View File
@@ -0,0 +1 @@
Id=ctm_01krg7sa3rpyvdbwx3mnvv1y4d;Kind=Community;ExpiryDateUtc=2027-08-11T11:27:58.0492360Z;Key=zHKV/xQMPGRV4RU3G7LQNunqLBoQBDsZmHPVN3AzxjuQ02NgCFxHBTkm6HanXsRbcmYCFjJm/PWdY+NOHt85fQ==
+1 -1
Submodule OCORE updated: 9f4826767f...758c28e934