Merge pull request #50404 from thaJeztah/saner_copy_defaults

daemon: ContainerExtractToDir: make AllowOverwriteDirWithFile opt-in
This commit is contained in:
Paweł Gronowski
2025-07-24 12:35:25 +02:00
committed by GitHub
7 changed files with 20 additions and 18 deletions

View File

@@ -97,7 +97,7 @@ func (daemon *Daemon) containerArchivePath(container *container.Container, path
// noOverwriteDirNonDir is true then it will be an error if unpacking the
// given content would cause an existing directory to be replaced with a non-
// directory and vice versa.
func (daemon *Daemon) containerExtractToDir(container *container.Container, path string, copyUIDGID, noOverwriteDirNonDir bool, content io.Reader) error {
func (daemon *Daemon) containerExtractToDir(container *container.Container, path string, copyUIDGID, allowOverwriteDirWithFile bool, content io.Reader) error {
container.Lock()
defer container.Unlock()
@@ -131,13 +131,13 @@ func (daemon *Daemon) containerExtractToDir(container *container.Container, path
return err
}
options := daemon.defaultTarCopyOptions(noOverwriteDirNonDir)
options := daemon.defaultTarCopyOptions(allowOverwriteDirWithFile)
if copyUIDGID {
var err error
// tarCopyOptions will appropriately pull in the right uid/gid for the
// user/group and will set the options.
options, err = daemon.tarCopyOptions(container, noOverwriteDirNonDir)
options, err = daemon.tarCopyOptions(container, allowOverwriteDirWithFile)
if err != nil {
return err
}