package utils
import "github.com/opencontainers/runc/libcontainer/utils"
Index ¶
- Constants
- func Annotations(labels []string) (bundle string, userAnnotations map[string]string)
- func CleanPath(path string) string
- func ExitStatus(status unix.WaitStatus) int
- func RecvFile(socket *os.File) (_ *os.File, Err error)
- func SearchLabels(labels []string, key string) (string, bool)
- func SendFile(socket *os.File, file *os.File) error
- func SendRawFd(socket *os.File, msg string, fd uintptr) error
- func WriteJSON(w io.Writer, v interface{}) error
Constants ¶
const MaxNameLen = 4096
MaxNameLen is the maximum length of the name of a file descriptor being sent using SendFile. The name of the file handle returned by RecvFile will never be larger than this value.
Functions ¶
func Annotations ¶
Annotations returns the bundle path and user defined annotations from the libcontainer state. We need to remove the bundle because that is a label added by libcontainer.
func CleanPath ¶
CleanPath makes a path safe for use with filepath.Join. This is done by not only cleaning the path, but also (if the path is relative) adding a leading '/' and cleaning it (then removing the leading '/'). This ensures that a path resulting from prepending another path will always resolve to lexically be a subdirectory of the prefixed path. This is all done lexically, so paths that include symlinks won't be safe as a result of using CleanPath.
func ExitStatus ¶
func ExitStatus(status unix.WaitStatus) int
ExitStatus returns the correct exit status for a process based on if it was signaled or exited cleanly
func RecvFile ¶
RecvFile waits for a file descriptor to be sent over the given AF_UNIX socket. The file name of the remote file descriptor will be recreated locally (it is sent as non-auxiliary data in the same payload).
func SearchLabels ¶
SearchLabels searches through a list of key=value pairs for a given key, returning its value, and the binary flag telling whether the key exist.
func SendFile ¶
SendFile sends a file over the given AF_UNIX socket. file.Name() is also included so that if the other end uses RecvFile, the file will have the same name information.
func SendRawFd ¶
SendRawFd sends a specific file descriptor over the given AF_UNIX socket.
func WriteJSON ¶
WriteJSON writes the provided struct v to w using standard json marshaling without a trailing newline. This is used instead of json.Encoder because there might be a problem in json decoder in some cases, see: https://github.com/docker/docker/issues/14203#issuecomment-174177790
Source Files ¶
- Version
- v1.2.4
- Published
- Jan 6, 2025
- Platform
- windows/amd64
- Imports
- 8 packages
- Last checked
- 8 minutes ago –
Tools for package owners.