#include <pulp/format/reload/swap_pack.hpp>
#include <pulp/runtime/crypto.hpp>
#include <cstdint>
#include <filesystem>
#include <fstream>
#include <string>
#include <system_error>
#include <vector>
Go to the source code of this file.
|
| std::string | pulp::format::reload::swap_pack_content_id (const SwapPackManifest &m) |
| | The content id is the SHA-256 of the pack's signed message — every signed field (id, plugin, version, policy, per-file hash+kind) feeds it, so two byte-identical packs collide (dedup) and any change yields a new dir.
|
| PackInstallResult | pulp::format::reload::install_verified_pack (const std::filesystem::path &source_root, const SwapPackManifest &manifest, const std::vector< std::uint8_t > &trusted_public_key, const std::filesystem::path &install_base, bool reject_unknown_kinds=true) |
| | Verify source_root against trusted_public_key, then install the pack's files into install_base/<content-id>/ as read-only, rejecting symlinks and (for consumer packs) unknown kinds.
|