moby/pkg/archive
Eric Mountain 2a0c446866
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>
(cherry picked from commit 95eb490780)
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2021-05-05 21:46:31 +09:00
..
testdata Move archive package into pkg/archive 2014-09-29 23:23:36 -07:00
archive.go Use v2 capabilities in layer archives 2021-05-05 21:46:31 +09:00
archive_linux.go archive: do not use overlayWhiteoutConverter for UserNS 2021-04-01 19:00:42 +09:00
archive_linux_test.go archive: do not use overlayWhiteoutConverter for UserNS 2021-04-01 19:00:42 +09:00
archive_other.go archive: do not use overlayWhiteoutConverter for UserNS 2021-04-01 19:00:42 +09:00
archive_test.go archive: avoid creating parent dirs for XGlobalHeader 2021-02-17 21:12:55 +01:00
archive_unix.go pkg/archive: allow mknodding FIFO inside userns 2021-02-02 14:29:49 +09:00
archive_unix_test.go pkg/archive: TestUntarParentPathPermissions requires root 2021-03-01 22:05:09 +01:00
archive_windows.go pkg/archive: normalize comment formatting 2019-11-27 15:38:49 +01:00
archive_windows_test.go LCOW: lazycontext: Use correct lstat, fix archive check 2018-06-27 13:29:21 -07:00
changes.go pkg/archive fixes, and port most unit tests to Windows 2018-11-26 10:20:40 -08:00
changes_linux.go Update overlay2 to use naive diff for changes 2018-06-20 11:07:36 -07:00
changes_other.go Add canonical import comment 2018-02-05 16:51:57 -05:00
changes_posix_test.go Various code-cleanup 2018-05-23 17:50:54 +02:00
changes_test.go bump gotest.tools v3.0.1 for compatibility with Go 1.14 2020-02-11 00:06:42 +01:00
changes_unix.go pkg/archive fixes, and port most unit tests to Windows 2018-11-26 10:20:40 -08:00
changes_windows.go pkg/archive fixes, and port most unit tests to Windows 2018-11-26 10:20:40 -08:00
copy.go pkg/archive:CopyTo(): fix for long dest filename 2019-01-24 18:10:52 -08:00
copy_unix.go Add canonical import comment 2018-02-05 16:51:57 -05:00
copy_unix_test.go bump gotest.tools v3.0.1 for compatibility with Go 1.14 2020-02-11 00:06:42 +01:00
copy_windows.go Add canonical import comment 2018-02-05 16:51:57 -05:00
diff.go Merge pull request #39699 from thaJeztah/mkdirall_dropin 2019-08-27 16:27:53 -07:00
diff_test.go pkg/archive fixes, and port most unit tests to Windows 2018-11-26 10:20:40 -08:00
example_changes.go Update logrus to v1.0.1 2017-07-31 13:16:46 -07:00
README.md Move archive package into pkg/archive 2014-09-29 23:23:36 -07:00
time_linux.go Various code-cleanup 2018-05-23 17:50:54 +02:00
time_unsupported.go Add canonical import comment 2018-02-05 16:51:57 -05:00
utils_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
whiteouts.go Add canonical import comment 2018-02-05 16:51:57 -05:00
wrap.go Add canonical import comment 2018-02-05 16:51:57 -05:00
wrap_test.go bump gotest.tools v3.0.1 for compatibility with Go 1.14 2020-02-11 00:06:42 +01:00

This code provides helper functions for dealing with archive files.