chrootarchive
packageThis package is not in the latest version of its module.
Details
Validgo.mod file
The Go module system was introduced in Go 1.11 and is the official dependency management solution for Go.
Redistributable license
Redistributable licenses place minimal restrictions on how software can be used, modified, and redistributed.
Tagged version
Modules with tagged versions give importers more predictable builds.
Stable version
When a project reaches major version v1 it is considered stable.
- Learn more about best practices
Repository
Links
Documentation¶
Index¶
- func ApplyLayer(dest string, layer io.Reader) (size int64, err error)
- func ApplyUncompressedLayer(dest string, layer io.Reader, options *archive.TarOptions) (int64, error)
- func NewArchiver(idMapping user.IdentityMapping) *archive.Archiver
- func Tar(srcPath string, options *archive.TarOptions, root string) (io.ReadCloser, error)
- func Untar(tarArchive io.Reader, dest string, options *archive.TarOptions) error
- func UntarUncompressed(tarArchive io.Reader, dest string, options *archive.TarOptions) error
- func UntarWithRoot(tarArchive io.Reader, dest string, options *archive.TarOptions, root string) error
Constants¶
This section is empty.
Variables¶
This section is empty.
Functions¶
funcApplyLayer¶
ApplyLayer parses a diff in the standard layer format from `layer`,and applies it to the directory `dest`. The stream `layer` can only beuncompressed.Returns the size in bytes of the contents of the layer.
funcApplyUncompressedLayer¶
ApplyUncompressedLayer parses a diff in the standard layer format from`layer`, and applies it to the directory `dest`. The stream `layer`can only be uncompressed.Returns the size in bytes of the contents of the layer.
funcNewArchiver¶
func NewArchiver(idMappinguser.IdentityMapping) *archive.Archiver
NewArchiver returns a new Archiver which uses chrootarchive.Untar
funcTar¶
func Tar(srcPathstring, options *archive.TarOptions, rootstring) (io.ReadCloser,error)
Tar tars the requested path while chrooted to the specified root.
funcUntar¶
Untar reads a stream of bytes from `archive`, parses it as a tar archive,and unpacks it into the directory at `dest`.The archive may be compressed with one of the following algorithms:identity (uncompressed), gzip, bzip2, xz.
funcUntarUncompressed¶
UntarUncompressed reads a stream of bytes from `archive`, parses it as a tar archive,and unpacks it into the directory at `dest`.The archive must be an uncompressed stream.
funcUntarWithRoot¶
UntarWithRoot is the same as `Untar`, but allows you to pass in a root directoryThe root directory is the directory that will be chrooted to.`dest` must be a path within `root`, if it is not an error will be returned.
`root` should set to a directory which is not controlled by any potentiallymalicious process.
This should be used to prevent a potential attacker from manipulating `dest`such that it would provide access to files outside of `dest` through thingslike symlinks. Normally `ResolveSymlinksInScope` would handle this, howeversanitizing symlinks in this manner is inherently racey:ref: CVE-2018-15664
Types¶
This section is empty.