1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00
moby--moby/pkg
Eric Mountain 95eb490780
Use v2 capabilities in layer archives
When building images in a user-namespaced container, v3 capabilities are
stored including the root UID of the creator of the user-namespace.

This UID does not make sense outside the build environment however. If
the image is run in a non-user-namespaced runtime, or if a user-namespaced
runtime uses a different UID, the capabilities requested by the effective
bit will not be honoured by `execve(2)` due to this mismatch.

Instead, we convert v3 capabilities to v2, dropping the root UID on the
fly.

Signed-off-by: Eric Mountain <eric.mountain@datadoghq.com>
2020-12-23 14:16:41 +01:00
..
aaparser Also trim "~..." from AppArmor versions 2020-10-08 17:03:51 -07:00
archive Use v2 capabilities in layer archives 2020-12-23 14:16:41 +01:00
authorization pkg/authorization: Fix test failures on macOS 2020-04-08 13:06:50 +03:00
broadcaster Various code-cleanup 2018-05-23 17:50:54 +02:00
capabilities Add more import comments 2019-04-10 16:59:33 +02:00
chrootarchive pkg/chrootarchive: Skip privileged tests when non-root 2020-12-15 09:47:48 +07:00
containerfs replace pkg/symlink with github.com/moby/sys/symlink 2020-11-03 11:17:12 +01:00
devicemapper pkg/devicemapper: fix invalid usage of reflect.SliceHeader 2020-11-03 14:20:52 +07:00
directory TestMoveToSubdir: use sort.Strings() (gosimple) 2019-09-18 12:55:45 +02:00
discovery bump gotest.tools v3.0.1 for compatibility with Go 1.14 2020-02-11 00:06:42 +01:00
dmesg Use Klogctl from x/sys/unix to read Linux kernel log 2019-08-22 08:25:13 +02:00
filenotify TestPollerEvent: fix filemode (staticcheck) 2019-09-18 12:57:56 +02:00
fileutils bump gotest.tools v3.0.1 for compatibility with Go 1.14 2020-02-11 00:06:42 +01:00
fsutils Add canonical import comment 2018-02-05 16:51:57 -05:00
homedir pkg/homedir: clarify Get() docs wrt static linking 2019-10-24 16:39:24 -07:00
idtools pkg/idtools: refactor to avoid string-splitting 2020-08-20 12:24:38 +02:00
ioutils bump gotest.tools v3.0.1 for compatibility with Go 1.14 2020-02-11 00:06:42 +01:00
jsonmessage remove uses of deprecated pkg/term 2020-04-21 16:29:27 +02:00
locker replace pkg/locker with github.com/moby/locker 2020-09-10 22:15:40 +02:00
longpath Add canonical import comment 2018-02-05 16:51:57 -05:00
loopback Use correct LOOP_CTL_GET_FREE API in pkg/loopback 2019-08-27 06:22:10 -07:00
mount Separate non-Windows mount code from common code 2020-11-08 23:15:15 +11:00
namesgenerator Fixed typo in inventor comments. 2020-04-07 09:03:56 -04:00
parsers pkg/parsers: remove uses of mattn/go-shellwords 2020-07-14 14:03:10 +02:00
pidfile Allow system.MkDirAll() to be used as drop-in for os.MkDirAll() 2019-08-08 15:05:49 +02:00
platform Use unix.Uname instead of shelling out to uname on darwin/freebsd 2019-09-03 22:43:16 +02:00
plugingetter Move plugin client to separate interface 2018-05-30 15:22:10 -04:00
plugins Replace errors.Cause() with errors.Is() / errors.As() 2020-04-29 00:28:41 +02:00
pools bump gotest.tools v3.0.1 for compatibility with Go 1.14 2020-02-11 00:06:42 +01:00
progress pkg/progress: normalize comment formatting 2019-11-27 15:41:23 +01:00
pubsub docker stats: fix 'panic: close of closed channel' 2020-10-24 11:48:56 +08:00
reexec bump gotest.tools v3.0.1 for compatibility with Go 1.14 2020-02-11 00:06:42 +01:00
signal Merge pull request #40496 from thaJeztah/locally_scope_variable 2020-04-07 09:54:25 +09:00
stdcopy Merge pull request #37088 from ohbarye/fix-typos-duplicated-the 2018-05-19 20:57:47 +02:00
streamformatter bump gotest.tools v3.0.1 for compatibility with Go 1.14 2020-02-11 00:06:42 +01:00
stringid Entropy cannot be saved 2019-06-07 11:54:45 +01:00
symlink replace pkg/symlink with github.com/moby/sys/symlink 2020-11-03 11:17:12 +01:00
sysinfo use containerd/cgroups to detect cgroups v2 2020-11-09 15:00:32 +01:00
system pkg/system: fix compile on darwin (macOS) 2020-11-10 20:49:09 +01:00
tailfile bump gotest.tools v3.0.1 for compatibility with Go 1.14 2020-02-11 00:06:42 +01:00
tarsum bump gotest.tools v3.0.1 for compatibility with Go 1.14 2020-02-11 00:06:42 +01:00
term pkg/term: vendor moby/term and make pkg/term an alias 2020-04-21 16:29:19 +02:00
truncindex Entropy cannot be saved 2019-06-07 11:54:45 +01:00
urlutil Be explicit about github.com prefix being a legacy feature 2018-05-30 11:09:14 +02:00
useragent Add canonical import comment 2018-02-05 16:51:57 -05:00
README.md Rename a few docker to moby 2017-10-25 13:56:12 +02:00

pkg/ is a collection of utility packages used by the Moby project without being specific to its internals.

Utility packages are kept separate from the moby core codebase to keep it as small and concise as possible. If some utilities grow larger and their APIs stabilize, they may be moved to their own repository under the Moby organization, to facilitate re-use by other projects. However that is not the priority.

The directory pkg is named after the same directory in the camlistore project. Since Brad is a core Go maintainer, we thought it made sense to copy his methods for organizing Go code :) Thanks Brad!

Because utility packages are small and neatly separated from the rest of the codebase, they are a good place to start for aspiring maintainers and contributors. Get in touch if you want to help maintain them!