Files
git.stella-ops.org/tests/shared/OpenSslLegacyShim.cs
StellaOps Bot 6e45066e37
Some checks failed
Concelier Attestation Tests / attestation-tests (push) Has been cancelled
Policy Simulation / policy-simulate (push) Has been cancelled
AOC Guard CI / aoc-guard (push) Has been cancelled
AOC Guard CI / aoc-verify (push) Has been cancelled
Signals CI & Image / signals-ci (push) Has been cancelled
Signals Reachability Scoring & Events / reachability-smoke (push) Has been cancelled
Signals Reachability Scoring & Events / sign-and-upload (push) Has been cancelled
Docs CI / lint-and-preview (push) Has been cancelled
Policy Lint & Smoke / policy-lint (push) Has been cancelled
Scanner Analyzers / Discover Analyzers (push) Has been cancelled
Scanner Analyzers / Build Analyzers (push) Has been cancelled
Scanner Analyzers / Test Language Analyzers (push) Has been cancelled
Scanner Analyzers / Validate Test Fixtures (push) Has been cancelled
Scanner Analyzers / Verify Deterministic Output (push) Has been cancelled
up
2025-12-13 09:37:15 +02:00

44 lines
1.2 KiB
C#

using System;
using System.IO;
using System.Linq;
namespace StellaOps.Testing;
/// <summary>
/// Ensures OpenSSL 1.1 native libraries are visible on platforms that no longer ship them.
/// </summary>
public static class OpenSslLegacyShim
{
private const string LinuxLibraryVariable = "LD_LIBRARY_PATH";
public static void EnsureOpenSsl11()
{
if (!OperatingSystem.IsLinux())
{
return;
}
var nativeDirectory = Path.Combine(AppContext.BaseDirectory, "native", "linux-x64");
if (!Directory.Exists(nativeDirectory))
{
return;
}
var current = Environment.GetEnvironmentVariable(LinuxLibraryVariable);
if (string.IsNullOrEmpty(current))
{
Environment.SetEnvironmentVariable(LinuxLibraryVariable, nativeDirectory);
return;
}
const char separator = ':';
var segments = current.Split(separator, StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries);
if (segments.Contains(nativeDirectory, StringComparer.Ordinal))
{
return;
}
Environment.SetEnvironmentVariable(LinuxLibraryVariable, string.Concat(nativeDirectory, separator, current));
}
}