From 62bd5d3de654d602d7b212884d871b91c0c17777 Mon Sep 17 00:00:00 2001 From: Michael Fraenkel Date: Fri, 24 Feb 2017 10:07:20 -0800 Subject: [PATCH] Validate ConfigMapRef and SecretRef name --- pkg/api/validation/validation.go | 8 ++++++++ pkg/api/validation/validation_test.go | 20 ++++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/pkg/api/validation/validation.go b/pkg/api/validation/validation.go index 880f15fb4c8..66b306a92d9 100644 --- a/pkg/api/validation/validation.go +++ b/pkg/api/validation/validation.go @@ -1399,6 +1399,10 @@ func validateConfigMapEnvSource(configMapSource *api.ConfigMapEnvSource, fldPath allErrs := field.ErrorList{} if len(configMapSource.Name) == 0 { allErrs = append(allErrs, field.Required(fldPath.Child("name"), "")) + } else { + for _, msg := range ValidateConfigMapName(configMapSource.Name, true) { + allErrs = append(allErrs, field.Invalid(fldPath.Child("name"), configMapSource.Name, msg)) + } } return allErrs } @@ -1407,6 +1411,10 @@ func validateSecretEnvSource(secretSource *api.SecretEnvSource, fldPath *field.P allErrs := field.ErrorList{} if len(secretSource.Name) == 0 { allErrs = append(allErrs, field.Required(fldPath.Child("name"), "")) + } else { + for _, msg := range ValidateSecretName(secretSource.Name, true) { + allErrs = append(allErrs, field.Invalid(fldPath.Child("name"), secretSource.Name, msg)) + } } return allErrs } diff --git a/pkg/api/validation/validation_test.go b/pkg/api/validation/validation_test.go index 92f3b0ef0f1..4180f5a808c 100644 --- a/pkg/api/validation/validation_test.go +++ b/pkg/api/validation/validation_test.go @@ -2316,6 +2316,16 @@ func TestValidateEnvFrom(t *testing.T) { }, expectedError: "field[0].configMapRef.name: Required value", }, + { + name: "invalid name", + envs: []api.EnvFromSource{ + { + ConfigMapRef: &api.ConfigMapEnvSource{ + LocalObjectReference: api.LocalObjectReference{Name: "$"}}, + }, + }, + expectedError: "field[0].configMapRef.name: Invalid value", + }, { name: "invalid prefix", envs: []api.EnvFromSource{ @@ -2337,6 +2347,16 @@ func TestValidateEnvFrom(t *testing.T) { }, expectedError: "field[0].secretRef.name: Required value", }, + { + name: "invalid name", + envs: []api.EnvFromSource{ + { + SecretRef: &api.SecretEnvSource{ + LocalObjectReference: api.LocalObjectReference{Name: "&"}}, + }, + }, + expectedError: "field[0].secretRef.name: Invalid value", + }, { name: "invalid prefix", envs: []api.EnvFromSource{