Nix 2.26.3
Nix, the purely functional package manager; unstable internal interfaces
 
Loading...
Searching...
No Matches
nix::AllowListSourceAccessor Struct Referenceabstract

#include <filtering-source-accessor.hh>

Inheritance diagram for nix::AllowListSourceAccessor:
nix::FilteringSourceAccessor nix::SourceAccessor nix::AllowListSourceAccessorImpl

Public Member Functions

virtual void allowPrefix (CanonPath prefix)=0
 
 FilteringSourceAccessor (const SourcePath &src, MakeNotAllowedError &&makeNotAllowedError)
 
- Public Member Functions inherited from nix::FilteringSourceAccessor
 FilteringSourceAccessor (const SourcePath &src, MakeNotAllowedError &&makeNotAllowedError)
 
std::optional< std::filesystem::path > getPhysicalPath (const CanonPath &path) override
 
std::string readFile (const CanonPath &path) override
 
bool pathExists (const CanonPath &path) override
 
std::optional< StatmaybeLstat (const CanonPath &path) override
 
DirEntries readDirectory (const CanonPath &path) override
 
std::string readLink (const CanonPath &path) override
 
std::string showPath (const CanonPath &path) override
 
void checkAccess (const CanonPath &path)
 
virtual bool isAllowed (const CanonPath &path)=0
 
- Public Member Functions inherited from nix::SourceAccessor
virtual void readFile (const CanonPath &path, Sink &sink, std::function< void(uint64_t)> sizeCallback=[](uint64_t size){})
 
Stat lstat (const CanonPath &path)
 
virtual void dumpPath (const CanonPath &path, Sink &sink, PathFilter &filter=defaultPathFilter)
 
Hash hashPath (const CanonPath &path, PathFilter &filter=defaultPathFilter, HashAlgorithm ha=HashAlgorithm::SHA256)
 
bool operator== (const SourceAccessor &x) const
 
auto operator<=> (const SourceAccessor &x) const
 
void setPathDisplay (std::string displayPrefix, std::string displaySuffix="")
 
CanonPath resolveSymlinks (const CanonPath &path, SymlinkResolution mode=SymlinkResolution::Full)
 
virtual std::optional< time_t > getLastModified ()
 

Static Public Member Functions

static ref< AllowListSourceAccessorcreate (ref< SourceAccessor > next, std::set< CanonPath > &&allowedPrefixes, MakeNotAllowedError &&makeNotAllowedError)
 

Additional Inherited Members

- Public Types inherited from nix::SourceAccessor
enum  Type {
  tRegular , tSymlink , tDirectory , tChar ,
  tBlock , tSocket , tFifo , tUnknown
}
 
typedef std::optional< TypeDirEntry
 
typedef std::map< std::string, DirEntry > DirEntries
 
- Public Attributes inherited from nix::FilteringSourceAccessor
ref< SourceAccessornext
 
CanonPath prefix
 
MakeNotAllowedError makeNotAllowedError
 
- Public Attributes inherited from nix::SourceAccessor
const size_t number
 
std::string displayPrefix
 
std::string displaySuffix
 
std::optional< std::string > fingerprint
 

Detailed Description

A wrapping SourceAccessor that checks paths against a set of allowed prefixes.

Member Function Documentation

◆ allowPrefix()

virtual void nix::AllowListSourceAccessor::allowPrefix ( CanonPath prefix)
pure virtual

Grant access to the specified prefix.

Implemented in nix::AllowListSourceAccessorImpl.


The documentation for this struct was generated from the following files: