tar

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: May 14, 2016 License: Apache-2.0, Apache-2.0 Imports: 16 Imported by: 0

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 *uid.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.2.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

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

Types

type FilePermissionsEditor added in v0.2.0

type FilePermissionsEditor func(string, int, int, byte, os.FileInfo) error

func NewUidShiftingFilePermEditor added in v0.2.0

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

type PathWhitelistMap

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