Skip to content

Commit

Permalink
yml 19
Browse files Browse the repository at this point in the history
  • Loading branch information
iadgovuser29 committed Jan 13, 2025
1 parent 64c1c5a commit 0f36349
Show file tree
Hide file tree
Showing 24 changed files with 157 additions and 48 deletions.
28 changes: 14 additions & 14 deletions dotnet/ComponentClassRegistry/ComponentClassRegistry.sln
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PcieLibTests", "PcieTests\P
{BCAD4500-DD66-42C4-8E24-C0A7ADB1CAEE} = {BCAD4500-DD66-42C4-8E24-C0A7ADB1CAEE}
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PcieWinCfgMgr", "PcieWin\PcieWinCfgMgr.csproj", "{1ED5A0F3-D0DD-4A32-B351-E6AF7481A663}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PcieLib", "PcieLib\PcieLib.csproj", "{95E3A55E-7A5B-4704-B824-D0352B9A9D50}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CliLib", "CliLib\CliLib.csproj", "{E44C39B3-2483-407B-9266-8376F0C92F58}"
Expand All @@ -43,6 +41,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "StorageNvme", "StorageNvme\
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "StorageCli", "StorageCli\StorageCli.csproj", "{3E048E3D-F855-4C79-9EAC-8C0B3589ECAE}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PcieWinCfgMgr", "PcieWinCfgMgr\PcieWinCfgMgr.csproj", "{312697E0-831F-4D47-9866-C98620CAE83E}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand Down Expand Up @@ -113,18 +113,6 @@ Global
{5EDE8231-CE93-4BC0-8D05-18EF352A1CC0}.Release|x64.Build.0 = Release|Any CPU
{5EDE8231-CE93-4BC0-8D05-18EF352A1CC0}.Release|x86.ActiveCfg = Release|Any CPU
{5EDE8231-CE93-4BC0-8D05-18EF352A1CC0}.Release|x86.Build.0 = Release|Any CPU
{1ED5A0F3-D0DD-4A32-B351-E6AF7481A663}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1ED5A0F3-D0DD-4A32-B351-E6AF7481A663}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1ED5A0F3-D0DD-4A32-B351-E6AF7481A663}.Debug|x64.ActiveCfg = Debug|Any CPU
{1ED5A0F3-D0DD-4A32-B351-E6AF7481A663}.Debug|x64.Build.0 = Debug|Any CPU
{1ED5A0F3-D0DD-4A32-B351-E6AF7481A663}.Debug|x86.ActiveCfg = Debug|Any CPU
{1ED5A0F3-D0DD-4A32-B351-E6AF7481A663}.Debug|x86.Build.0 = Debug|Any CPU
{1ED5A0F3-D0DD-4A32-B351-E6AF7481A663}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1ED5A0F3-D0DD-4A32-B351-E6AF7481A663}.Release|Any CPU.Build.0 = Release|Any CPU
{1ED5A0F3-D0DD-4A32-B351-E6AF7481A663}.Release|x64.ActiveCfg = Release|Any CPU
{1ED5A0F3-D0DD-4A32-B351-E6AF7481A663}.Release|x64.Build.0 = Release|Any CPU
{1ED5A0F3-D0DD-4A32-B351-E6AF7481A663}.Release|x86.ActiveCfg = Release|Any CPU
{1ED5A0F3-D0DD-4A32-B351-E6AF7481A663}.Release|x86.Build.0 = Release|Any CPU
{95E3A55E-7A5B-4704-B824-D0352B9A9D50}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{95E3A55E-7A5B-4704-B824-D0352B9A9D50}.Debug|Any CPU.Build.0 = Debug|Any CPU
{95E3A55E-7A5B-4704-B824-D0352B9A9D50}.Debug|x64.ActiveCfg = Debug|Any CPU
Expand Down Expand Up @@ -221,6 +209,18 @@ Global
{3E048E3D-F855-4C79-9EAC-8C0B3589ECAE}.Release|x64.Build.0 = Release|Any CPU
{3E048E3D-F855-4C79-9EAC-8C0B3589ECAE}.Release|x86.ActiveCfg = Release|Any CPU
{3E048E3D-F855-4C79-9EAC-8C0B3589ECAE}.Release|x86.Build.0 = Release|Any CPU
{312697E0-831F-4D47-9866-C98620CAE83E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{312697E0-831F-4D47-9866-C98620CAE83E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{312697E0-831F-4D47-9866-C98620CAE83E}.Debug|x64.ActiveCfg = Debug|Any CPU
{312697E0-831F-4D47-9866-C98620CAE83E}.Debug|x64.Build.0 = Debug|Any CPU
{312697E0-831F-4D47-9866-C98620CAE83E}.Debug|x86.ActiveCfg = Debug|Any CPU
{312697E0-831F-4D47-9866-C98620CAE83E}.Debug|x86.Build.0 = Debug|Any CPU
{312697E0-831F-4D47-9866-C98620CAE83E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{312697E0-831F-4D47-9866-C98620CAE83E}.Release|Any CPU.Build.0 = Release|Any CPU
{312697E0-831F-4D47-9866-C98620CAE83E}.Release|x64.ActiveCfg = Release|Any CPU
{312697E0-831F-4D47-9866-C98620CAE83E}.Release|x64.Build.0 = Release|Any CPU
{312697E0-831F-4D47-9866-C98620CAE83E}.Release|x86.ActiveCfg = Release|Any CPU
{312697E0-831F-4D47-9866-C98620CAE83E}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down
3 changes: 2 additions & 1 deletion dotnet/ComponentClassRegistry/Pcie/Pcie.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
</PropertyGroup>

<ItemGroup>
Expand All @@ -27,7 +28,7 @@

<ItemGroup>
<ProjectReference Include="..\PcieLib\PcieLib.csproj" />
<ProjectReference Include="..\PcieWin\PcieWinCfgMgr.csproj" />
<ProjectReference Include="..\PcieWinCfgMgr\PcieWinCfgMgr.csproj" />
</ItemGroup>

<ItemGroup>
Expand Down
22 changes: 21 additions & 1 deletion dotnet/ComponentClassRegistry/PcieLib/PcieLib.csproj
Original file line number Diff line number Diff line change
@@ -1,12 +1,32 @@
<Project Sdk="Microsoft.NET.Sdk">

<Import Project="..\Pcie\Pcie.Shared.props" /><!--supplies version-->

<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<RuntimeIdentifiers>linux-x64;win-x64</RuntimeIdentifiers>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<RuntimeIdentifiers>linux-x64;win-x64</RuntimeIdentifiers>
<Authors>NSA Cybersecurity Directorate</Authors>
<PackageReadmeFile>README.md</PackageReadmeFile>
<PackageId>paccor.pcie.pcielib</PackageId>
<PackageVersion>$(Version)</PackageVersion>
<!--Defined in shared props file-->
<PackageTags>paccor;pci;pcie</PackageTags>
<PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
<PackageIcon>icon.png</PackageIcon>
<!--Source Link github.com/dotnet/sourcelink -->
<PublishRepositoryUrl>true</PublishRepositoryUrl>
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
</PropertyGroup>

<ItemGroup>
<!--Package resources -->
<None Include="..\..\..\LICENSE.md" Pack="true" PackagePath="LICENSE.md" />
<None Include="..\..\..\images\paccorpluginslogoicon.png" Pack="true" PackagePath="icon.png" />
<None Include="README.md" Pack="true" PackagePath="\" />
</ItemGroup>
</Project>
8 changes: 8 additions & 0 deletions dotnet/ComponentClassRegistry/PcieLib/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
paccor is a popular solution for creating the [TCG Platform Certificate](https://trustedcomputinggroup.org/resource/tcg-platform-certificate-profile/). The platform certificate enables traceability of components throughout the hardware supply chain of a computing device.

This library contains classes and methods for parsing PCI-e data.

Additional information is available on [paccor's GitHub page](https://github.com/nsacyber/paccor).



10 changes: 0 additions & 10 deletions dotnet/ComponentClassRegistry/PcieWin/PcieWinCfgMgr.csproj

This file was deleted.

32 changes: 32 additions & 0 deletions dotnet/ComponentClassRegistry/PcieWinCfgMgr/PcieWinCfgMgr.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<Project Sdk="Microsoft.NET.Sdk">

<Import Project="..\Pcie\Pcie.Shared.props" /><!--supplies version-->

<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<RuntimeIdentifiers>linux-x64;win-x64</RuntimeIdentifiers>
<Authors>NSA Cybersecurity Directorate</Authors>
<PackageReadmeFile>README.md</PackageReadmeFile>
<PackageId>paccor.pcie.pciewincfgmgr</PackageId>
<PackageVersion>$(Version)</PackageVersion>
<!--Defined in shared props file-->
<PackageTags>paccor;pci;pcie;windows;cfgmgr32</PackageTags>
<PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
<PackageIcon>icon.png</PackageIcon>
<!--Source Link github.com/dotnet/sourcelink -->
<PublishRepositoryUrl>true</PublishRepositoryUrl>
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
</PropertyGroup>

<ItemGroup>
<!--Package resources -->
<None Include="..\..\..\LICENSE.md" Pack="true" PackagePath="LICENSE.md" />
<None Include="..\..\..\images\paccorpluginslogoicon.png" Pack="true" PackagePath="icon.png" />
<None Include="README.md" Pack="true" PackagePath="\" />
</ItemGroup>
</Project>
8 changes: 8 additions & 0 deletions dotnet/ComponentClassRegistry/PcieWinCfgMgr/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
paccor is a popular solution for creating the [TCG Platform Certificate](https://trustedcomputinggroup.org/resource/tcg-platform-certificate-profile/). The platform certificate enables traceability of components throughout the hardware supply chain of a computing device.

This library contains classes and methods for working through Windows' cfgmgr32 library to access information about PCI components.

Additional information is available on [paccor's GitHub page](https://github.com/nsacyber/paccor).



1 change: 1 addition & 0 deletions dotnet/ComponentClassRegistry/Smbios/Smbios.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
</PropertyGroup>

<ItemGroup>
Expand Down
4 changes: 2 additions & 2 deletions dotnet/ComponentClassRegistry/Storage/README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
paccor is a popular solution for creating the [TCG Platform Certificate](https://trustedcomputinggroup.org/resource/tcg-platform-certificate-profile/). The platform certificate enables traceability of components throughout the hardware supply chain of a computing device.

The [Storage Component Class Registry](https://trustedcomputinggroup.org/resource/storage-component-class-registry/) specifies how to encode information from ATA-, SCSI-, and NVMe-enabled components into the platform certificate.
The [Storage Component Class Registry](https://trustedcomputinggroup.org/resource/storage-component-class-registry/) specifies how to encode information from ATA-, SCSI-, and NVMe-enabled components into the platform certificate. Note: Currently, this library will only collect NVMe components. On Windows, it requires the Intel RST driver. Greater support for NVMe on Windows is planned as well as support for ATA and SCSI drives.

This library can be used in subsequent programs to perform collection of information from systems according to the specification.
This library can be used in subsequent programs to perform collection of information from systems according to the specification.

A command line program is available for this library on [paccor's GitHub page](https://github.com/nsacyber/paccor).

Expand Down
2 changes: 1 addition & 1 deletion dotnet/ComponentClassRegistry/Storage/Storage.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,14 @@
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="paccor.HardwareManifestPlugin" Version="2.0.5" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\PcieWin\PcieWinCfgMgr.csproj" />
<ProjectReference Include="..\StorageLib\StorageLib.csproj" />
<ProjectReference Include="..\StorageNvme\StorageNvme.csproj" />
</ItemGroup>
Expand Down
6 changes: 3 additions & 3 deletions dotnet/ComponentClassRegistry/StorageCli/src/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@ public class StorageCli {
public static int Main(string[] args) {
int returnCode = (int)ClientExitCodes.SUCCESS;

if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) {
// Linux requires sudo
if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux) || RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) {
// Both Linux and Windows require sudo
int result = CliOptions.IsUserPrivileged();
if (result != (int)ClientExitCodes.SUCCESS) {
Console.WriteLine("Storage data retrieval on Linux requires admin privileges. Please run as root.");
Console.WriteLine("Storage data retrieval requires admin privileges. Please run as root.");
return result;
}
}
Expand Down
8 changes: 8 additions & 0 deletions dotnet/ComponentClassRegistry/StorageLib/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
paccor is a popular solution for creating the [TCG Platform Certificate](https://trustedcomputinggroup.org/resource/tcg-platform-certificate-profile/). The platform certificate enables traceability of components throughout the hardware supply chain of a computing device.

This library contains classes and methods for interacting with Linux and Windows to retrieve general disk information. Protocol-specific aspects are in separate libraries.

Additional information is available on [paccor's GitHub page](https://github.com/nsacyber/paccor).



25 changes: 24 additions & 1 deletion dotnet/ComponentClassRegistry/StorageLib/StorageLib.csproj
Original file line number Diff line number Diff line change
@@ -1,9 +1,32 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">

<Import Project="..\Storage\Storage.Shared.props" /><!--supplies version-->

<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<RuntimeIdentifiers>linux-x64;win-x64</RuntimeIdentifiers>
<Authors>NSA Cybersecurity Directorate</Authors>
<PackageReadmeFile>README.md</PackageReadmeFile>
<PackageId>paccor.storage.storagelib</PackageId>
<PackageVersion>$(Version)</PackageVersion>
<!--Defined in shared props file-->
<PackageTags>paccor;storage;ata;scsi;nvme</PackageTags>
<PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
<PackageIcon>icon.png</PackageIcon>
<!--Source Link github.com/dotnet/sourcelink -->
<PublishRepositoryUrl>true</PublishRepositoryUrl>
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
</PropertyGroup>

<ItemGroup>
<!--Package resources -->
<None Include="..\..\..\LICENSE.md" Pack="true" PackagePath="LICENSE.md" />
<None Include="..\..\..\images\paccorpluginslogoicon.png" Pack="true" PackagePath="icon.png" />
<None Include="README.md" Pack="true" PackagePath="\" />
</ItemGroup>
</Project>
8 changes: 8 additions & 0 deletions dotnet/ComponentClassRegistry/StorageNvme/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
paccor is a popular solution for creating the [TCG Platform Certificate](https://trustedcomputinggroup.org/resource/tcg-platform-certificate-profile/). The platform certificate enables traceability of components throughout the hardware supply chain of a computing device.

This library contains classes and methods for interacting with Linux and Windows to retrieve NVMe disk information.

Additional information is available on [paccor's GitHub page](https://github.com/nsacyber/paccor).



27 changes: 25 additions & 2 deletions dotnet/ComponentClassRegistry/StorageNvme/StorageNvme.csproj
Original file line number Diff line number Diff line change
@@ -1,15 +1,38 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">

<Import Project="..\Storage\Storage.Shared.props" /><!--supplies version-->

<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<RuntimeIdentifiers>linux-x64;win-x64</RuntimeIdentifiers>
<Authors>NSA Cybersecurity Directorate</Authors>
<PackageReadmeFile>README.md</PackageReadmeFile>
<PackageId>paccor.storage.storagenvme</PackageId>
<PackageVersion>$(Version)</PackageVersion>
<!--Defined in shared props file-->
<PackageTags>paccor;storage;nvme</PackageTags>
<PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
<PackageIcon>icon.png</PackageIcon>
<!--Source Link github.com/dotnet/sourcelink -->
<PublishRepositoryUrl>true</PublishRepositoryUrl>
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
</PropertyGroup>

<ItemGroup>
<ProjectReference Include="..\PcieLib\PcieLib.csproj" />
<ProjectReference Include="..\PcieWin\PcieWinCfgMgr.csproj" />
<ProjectReference Include="..\PcieWinCfgMgr\PcieWinCfgMgr.csproj" />
<ProjectReference Include="..\StorageLib\StorageLib.csproj" />
</ItemGroup>

<ItemGroup>
<!--Package resources -->
<None Include="..\..\..\LICENSE.md" Pack="true" PackagePath="LICENSE.md" />
<None Include="..\..\..\images\paccorpluginslogoicon.png" Pack="true" PackagePath="icon.png" />
<None Include="README.md" Pack="true" PackagePath="\" />
</ItemGroup>
</Project>
9 changes: 0 additions & 9 deletions dotnet/ComponentClassRegistry/StorageWin/StorageWin.csproj

This file was deleted.

This file was deleted.

0 comments on commit 0f36349

Please sign in to comment.