up
Some checks failed
Docs CI / lint-and-preview (push) Has been cancelled
sdk-generator-smoke / sdk-smoke (push) Has been cancelled
SDK Publish & Sign / sdk-publish (push) Has been cancelled
api-governance / spectral-lint (push) Has been cancelled
oas-ci / oas-validate (push) Has been cancelled
Mirror Thin Bundle Sign & Verify / mirror-sign (push) Has been cancelled
Some checks failed
Docs CI / lint-and-preview (push) Has been cancelled
sdk-generator-smoke / sdk-smoke (push) Has been cancelled
SDK Publish & Sign / sdk-publish (push) Has been cancelled
api-governance / spectral-lint (push) Has been cancelled
oas-ci / oas-validate (push) Has been cancelled
Mirror Thin Bundle Sign & Verify / mirror-sign (push) Has been cancelled
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
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>
|
||||
public sealed record ElfVersionNeed(string Version, uint Hash);
|
||||
|
||||
/// <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);
|
||||
Reference in New Issue
Block a user