package safepath
import "github.com/dotcloud/docker/internal/safepath"
Index ¶
- type ErrEscapesBase
- type ErrNotAccessible
- func (e *ErrNotAccessible) Error() string
- func (*ErrNotAccessible) NotFound()
- func (e *ErrNotAccessible) Unwrap() error
- type SafePath
Types ¶
type ErrEscapesBase ¶
type ErrEscapesBase struct { Base, Subpath string }
ErrEscapesBase is returned by Join when the resulting concatenation would point outside of the specified base directory.
func (*ErrEscapesBase) Error ¶
func (e *ErrEscapesBase) Error() string
func (*ErrEscapesBase) InvalidParameter ¶
func (*ErrEscapesBase) InvalidParameter()
type ErrNotAccessible ¶
ErrNotAccessible is returned by Join when the resulting path doesn't exist, is not accessible, or any of the path components was replaced with a symlink during the path traversal.
func (*ErrNotAccessible) Error ¶
func (e *ErrNotAccessible) Error() string
func (*ErrNotAccessible) NotFound ¶
func (*ErrNotAccessible) NotFound()
func (*ErrNotAccessible) Unwrap ¶
func (e *ErrNotAccessible) Unwrap() error
type SafePath ¶
type SafePath struct {
// contains filtered or unexported fields
}
func Join ¶
Join makes sure that the concatenation of path and subpath doesn't resolve to a path outside of path and returns a path to a temporary file that is a bind mount to the exact same file/directory that was validated.
After use, it is the caller's responsibility to call Close on the returned SafePath object, which will unmount the temporary file/directory and remove it.
func (*SafePath) Close ¶
Close releases the resources used by the path.
func (*SafePath) IsValid ¶
IsValid return true when path can still be used and wasn't cleaned up by Close.
func (*SafePath) Path ¶
Path returns a safe, temporary path that can be used to access the original path.
func (*SafePath) SourcePath ¶
SourcePath returns the source path the safepath points to.
Source Files ¶
common.go errors.go join_linux.go k8s_safeopen_linux.go safepath.go
- Version
- v28.1.1+incompatible (latest)
- Published
- Apr 18, 2025
- Platform
- linux/amd64
- Imports
- 12 packages
- Last checked
- 3 minutes ago –
Tools for package owners.