Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
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) 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.