mirror of
https://github.com/opencontainers/runc.git
synced 2026-07-11 06:03:57 +08:00
libct/validator: Error out on non-abs paths
This was a warning already and it was requested to make this an error while we will add validation of idmap mounts: https://github.com/opencontainers/runc/pull/3717#discussion_r1154705318 I've also tested a k8s cluster and the config.json generated by containerd didn't use any relative paths. I tested one pod, so it was definitely not an extensive test. Signed-off-by: Rodrigo Campos <rodrigoca@microsoft.com>
This commit is contained in:
@@ -12,7 +12,6 @@ import (
|
||||
"github.com/opencontainers/runc/libcontainer/configs"
|
||||
"github.com/opencontainers/runc/libcontainer/intelrdt"
|
||||
selinux "github.com/opencontainers/selinux/go-selinux"
|
||||
"github.com/sirupsen/logrus"
|
||||
"golang.org/x/sys/unix"
|
||||
)
|
||||
|
||||
@@ -29,21 +28,13 @@ func Validate(config *configs.Config) error {
|
||||
sysctl,
|
||||
intelrdtCheck,
|
||||
rootlessEUIDCheck,
|
||||
mounts,
|
||||
}
|
||||
for _, c := range checks {
|
||||
if err := c(config); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
// Relaxed validation rules for backward compatibility
|
||||
warns := []check{
|
||||
mounts, // TODO (runc v1.x.x): make this an error instead of a warning
|
||||
}
|
||||
for _, c := range warns {
|
||||
if err := c(config); err != nil {
|
||||
logrus.WithError(err).Warn("invalid configuration")
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
@@ -360,11 +360,10 @@ func TestValidateMounts(t *testing.T) {
|
||||
isErr bool
|
||||
dest string
|
||||
}{
|
||||
// TODO (runc v1.x.x): make these relative paths an error. See https://github.com/opencontainers/runc/pull/3004
|
||||
{isErr: false, dest: "not/an/abs/path"},
|
||||
{isErr: false, dest: "./rel/path"},
|
||||
{isErr: false, dest: "./rel/path"},
|
||||
{isErr: false, dest: "../../path"},
|
||||
{isErr: true, dest: "not/an/abs/path"},
|
||||
{isErr: true, dest: "./rel/path"},
|
||||
{isErr: true, dest: "./rel/path"},
|
||||
{isErr: true, dest: "../../path"},
|
||||
|
||||
{isErr: false, dest: "/abs/path"},
|
||||
{isErr: false, dest: "/abs/but/../unclean"},
|
||||
|
||||
Reference in New Issue
Block a user