From 08e6a7a5866b8f679bbd67eb91a5f410e538d223 Mon Sep 17 00:00:00 2001 From: anthony_lai Date: Tue, 21 Jun 2022 18:17:05 +0000 Subject: [PATCH 1/3] validate that domainUID is a valid WebLogic domain name --- kubernetes/samples/scripts/common/validate.sh | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/kubernetes/samples/scripts/common/validate.sh b/kubernetes/samples/scripts/common/validate.sh index 1a407a99a82..9545b08c3ff 100755 --- a/kubernetes/samples/scripts/common/validate.sh +++ b/kubernetes/samples/scripts/common/validate.sh @@ -82,6 +82,28 @@ function validateLowerCase { fi } +# +# Function to check if a value is a valid WLS domain name. +# must include only alphanumeric characters, hyphens (-) +# or underscore characters (_) and contain at least one letter +# but must start with an alphanumeric or underscore character. +# +# $1 - name of object being checked +# $2 - value to check +validateWlsDomainName() { + echo "validateWlsDomainName called with $2" + if ! [[ "$2" =~ ^[a-z_][a-z0-9_.-]*$ ]] ; then + validationError "$1 with value of $2 is not a valid WebLogic domain name. "\ + "A valid WebLogic domain name must include only alphanumeric characters, hyphens (-) "\ + "or underscore characters (_) but must start with an alphanumeric or underscore character." + else + if ! [[ "$2" =~ ^.*[a-z0-9].*$ ]] ; then + validationError "$1 with value of $2 is not a valid WebLogic domain name. "\ + "A valid WebLogic domain name must contain at least one alphanumeric character." + fi + fi +} + # # Function to check if a value is lowercase and legal DNS name # $1 - name of object being checked @@ -114,8 +136,9 @@ function validateVersion { # Function to ensure the domain uid is a legal DNS name # function validateDomainUid { - validateLowerCase "domainUID" ${domainUID} - validateDNS1123LegalName domainUID ${domainUID} + validateLowerCase "domainUID" "${domainUID}" + validateDNS1123LegalName domainUID "${domainUID}" + validateWlsDomainName "domainUID" "${domainUID}" } # From 04708c520c882ff981422b8cc6a4751484cbeeab Mon Sep 17 00:00:00 2001 From: anthony_lai Date: Wed, 22 Jun 2022 16:54:35 +0000 Subject: [PATCH 2/3] add comment to validateDomainUid method --- kubernetes/samples/scripts/common/validate.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/kubernetes/samples/scripts/common/validate.sh b/kubernetes/samples/scripts/common/validate.sh index 9545b08c3ff..044b4199a8a 100755 --- a/kubernetes/samples/scripts/common/validate.sh +++ b/kubernetes/samples/scripts/common/validate.sh @@ -134,6 +134,8 @@ function validateVersion { # # Function to ensure the domain uid is a legal DNS name +# Because the domain uid is also used as a WebLogic domain +# name, it must also be a valid WebLogic domain name. # function validateDomainUid { validateLowerCase "domainUID" "${domainUID}" From 8a0c5437b5434dfb13bf27c17557591c4ec8f81d Mon Sep 17 00:00:00 2001 From: anthony_lai Date: Wed, 22 Jun 2022 23:21:24 +0000 Subject: [PATCH 3/3] backport from main --- kubernetes/samples/scripts/common/validate.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubernetes/samples/scripts/common/validate.sh b/kubernetes/samples/scripts/common/validate.sh index 044b4199a8a..b6f06337c80 100755 --- a/kubernetes/samples/scripts/common/validate.sh +++ b/kubernetes/samples/scripts/common/validate.sh @@ -139,7 +139,7 @@ function validateVersion { # function validateDomainUid { validateLowerCase "domainUID" "${domainUID}" - validateDNS1123LegalName domainUID "${domainUID}" + validateDNS1123LegalName "domainUID" "${domainUID}" validateWlsDomainName "domainUID" "${domainUID}" }