Path admission. More...
#include <pulp/authoring_capsule/limits.hpp>#include <pulp/authoring_capsule/status.hpp>#include <pulp/runtime/result.hpp>#include <string>#include <string_view>#include <vector>Go to the source code of this file.
Namespaces | |
| namespace | pulp |
| namespace | pulp::authoring_capsule |
Functions | |
| runtime::Result< std::string, CapsuleError > | pulp::authoring_capsule::admit_member_path (std::string_view raw, const CapsuleLimits &limits=kCapsuleLimitsV1) |
| Verify a member path and return it unchanged. | |
| std::string | pulp::authoring_capsule::collision_key (std::string_view normalized_path) |
| Fold a normalized path to the key used for collision detection: ASCII case-folded, NFC, with confusable characters mapped to a representative. | |
| runtime::Result< void, CapsuleError > | pulp::authoring_capsule::check_collisions (const std::vector< std::string > &normalized) |
| Detect a collision across a member set. Returns the first offending pair. | |
Path admission.
A capsule path is data from an untrusted machine, so it is normalized and checked before it is ever joined to a real directory.