Some checks failed
AOC Guard CI / aoc-guard (push) Has been cancelled
AOC Guard CI / aoc-verify (push) Has been cancelled
Docs CI / lint-and-preview (push) Has been cancelled
Manifest Integrity / Audit SHA256SUMS Files (push) Has been cancelled
Manifest Integrity / Validate Schema Integrity (push) Has been cancelled
Manifest Integrity / Validate Contract Documents (push) Has been cancelled
Manifest Integrity / Validate Pack Fixtures (push) Has been cancelled
Manifest Integrity / Verify Merkle Roots (push) Has been cancelled
Scanner Analyzers / Build Analyzers (push) Has been cancelled
Scanner Analyzers / Discover 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
Signals CI & Image / signals-ci (push) Has been cancelled
Concelier Attestation Tests / attestation-tests (push) Has been cancelled
Policy Lint & Smoke / policy-lint (push) Has been cancelled
Export Center CI / export-ci (push) Has been cancelled
Notify Smoke Test / Notify Unit Tests (push) Has been cancelled
Notify Smoke Test / Notifier Service Tests (push) Has been cancelled
Notify Smoke Test / Notification Smoke Test (push) Has been cancelled
- Introduced `NativeTestBase` class for ELF, PE, and Mach-O binary parsing helpers and assertions. - Created `TestCryptoFactory` for SM2 cryptographic provider setup and key generation. - Implemented `Sm2SigningTests` to validate signing functionality with environment gate checks. - Developed console export service and store with comprehensive unit tests for export status management.
36 lines
1.7 KiB
C#
36 lines
1.7 KiB
C#
namespace StellaOps.Scanner.Analyzers.Native;
|
|
|
|
/// <summary>
|
|
/// Represents a declared dependency extracted from ELF dynamic sections.
|
|
/// </summary>
|
|
/// <param name="Soname">The shared library name from DT_NEEDED entry.</param>
|
|
/// <param name="ReasonCode">The reason code for this dependency (e.g., "elf-dtneeded").</param>
|
|
/// <param name="VersionNeeds">Symbol versions required from this dependency.</param>
|
|
public sealed record ElfDeclaredDependency(
|
|
string Soname,
|
|
string ReasonCode,
|
|
IReadOnlyList<ElfVersionNeed> VersionNeeds);
|
|
|
|
/// <summary>
|
|
/// Represents a symbol version requirement from .gnu.version_r section.
|
|
/// </summary>
|
|
/// <param name="Version">The version string (e.g., "GLIBC_2.17").</param>
|
|
/// <param name="Hash">The ELF hash of the version string.</param>
|
|
/// <param name="IsWeak">True if VER_FLG_WEAK is set, indicating this version is optional.</param>
|
|
public sealed record ElfVersionNeed(string Version, uint Hash, bool IsWeak = false);
|
|
|
|
/// <summary>
|
|
/// Contains all dynamic section information extracted from an ELF binary.
|
|
/// </summary>
|
|
/// <param name="BinaryId">The build-id of the binary (if present).</param>
|
|
/// <param name="Interpreter">The interpreter path (e.g., /lib64/ld-linux-x86-64.so.2).</param>
|
|
/// <param name="Rpath">Runtime search paths from DT_RPATH (colon-separated, split into list).</param>
|
|
/// <param name="Runpath">Runtime search paths from DT_RUNPATH (colon-separated, split into list).</param>
|
|
/// <param name="Dependencies">Declared dependencies from DT_NEEDED entries.</param>
|
|
public sealed record ElfDynamicInfo(
|
|
string? BinaryId,
|
|
string? Interpreter,
|
|
IReadOnlyList<string> Rpath,
|
|
IReadOnlyList<string> Runpath,
|
|
IReadOnlyList<ElfDeclaredDependency> Dependencies);
|