summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Heon <matthew.heon@gmail.com>2018-01-02 14:02:52 -0500
committerAtomic Bot <atomic-devel@projectatomic.io>2018-01-02 19:54:45 +0000
commitde6d5b75ac8baa6871991984dc8dcf9b702b8a9e (patch)
treeca67aa59ef568b5643e74fa8b7ea9c133473d4a0
parent1a48c426c931ab7c98233afbabb21b01276136ec (diff)
downloadpodman-de6d5b75ac8baa6871991984dc8dcf9b702b8a9e.tar.gz
podman-de6d5b75ac8baa6871991984dc8dcf9b702b8a9e.tar.bz2
podman-de6d5b75ac8baa6871991984dc8dcf9b702b8a9e.zip
Ensure that names are reasonable via regex
Signed-off-by: Matthew Heon <matthew.heon@gmail.com> Closes: #175 Approved by: rhatdan
-rw-r--r--libpod/options.go12
1 files changed, 12 insertions, 0 deletions
diff --git a/libpod/options.go b/libpod/options.go
index cbce1f767..4836e1d67 100644
--- a/libpod/options.go
+++ b/libpod/options.go
@@ -3,6 +3,7 @@ package libpod
import (
"fmt"
"path/filepath"
+ "regexp"
"syscall"
"github.com/containers/storage"
@@ -15,6 +16,7 @@ var (
ctrNotImplemented = func(c *Container) error {
return fmt.Errorf("NOT IMPLEMENTED")
}
+ nameRegex = regexp.MustCompile("[a-zA-Z0-9_-]+")
)
const (
@@ -390,6 +392,11 @@ func WithName(name string) CtrCreateOption {
return ErrCtrFinalized
}
+ // Check the name against a regex
+ if !nameRegex.MatchString(name) {
+ return errors.Wrapf(ErrInvalidArg, "name must match regex [a-zA-Z0-9_-]+")
+ }
+
ctr.config.Name = name
return nil
@@ -453,6 +460,11 @@ func WithPodName(name string) PodCreateOption {
return ErrPodFinalized
}
+ // Check the name against a regex
+ if !nameRegex.MatchString(name) {
+ return errors.Wrapf(ErrInvalidArg, "name must match regex [a-zA-Z0-9_-]+")
+ }
+
pod.name = name
return nil