tar

package
v1.30.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 13, 2018 License: Apache-2.0 Imports: 17 Imported by: 44

Documentation

Overview

Package tar contains helper functions for working with tar files

Index

Constants

View Source
const DEFAULT_DIR_MODE os.FileMode = 0755

Variables

View Source
var ErrNotSupportedPlatform = errors.New("platform and architecture is not supported")

Functions

func ExtractTar

func ExtractTar(rs io.Reader, dir string, overwrite bool, uidRange *user.UidRange, pwl PathWhitelistMap) error

ExtractTar extracts a tarball (from a io.Reader) into the given directory if pwl is not nil, only the paths in the map are extracted. If overwrite is true, existing files will be overwritten. The extraction is executed by fork/exec()ing a new process. The new process needs the CAP_SYS_CHROOT capability.

func ExtractTarInsecure added in v0.11.0

func ExtractTarInsecure(tr *tar.Reader, target string, overwrite bool, pwl PathWhitelistMap, editor FilePermissionsEditor) error

ExtractTarInsecure extracts a tarball (from a tar.Reader) into the target directory. If pwl is not nil, only the paths in the map are extracted. If overwrite is true, existing files will be overwritten.

func HdrToTimespec added in v0.4.2

func HdrToTimespec(hdr *tar.Header) []syscall.Timespec

Types

type FilePermissionsEditor added in v0.11.0

type FilePermissionsEditor func(path string, uid, gid int, typ byte, _ os.FileInfo, xattr map[string]string) error

func NewUidShiftingFilePermEditor added in v0.11.0

func NewUidShiftingFilePermEditor(uidRange *user.UidRange) (FilePermissionsEditor, error)

type PathWhitelistMap added in v0.2.0

type PathWhitelistMap map[string]struct{}

Map of paths that should be whitelisted. The paths should be relative to the root of the tar file and should be cleaned (for example using filepath.Clean)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL