From f8298611ce8de6120093e4c0a6732865debc6266 Mon Sep 17 00:00:00 2001 From: anthony_lai Date: Fri, 17 Jun 2022 00:26:02 +0000 Subject: [PATCH 1/4] add validation that domainUID argument must be a valid WebLogic domain name --- kubernetes/samples/scripts/common/validate.sh | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/kubernetes/samples/scripts/common/validate.sh b/kubernetes/samples/scripts/common/validate.sh index 6cb9df11b70..9fb004f804a 100755 --- a/kubernetes/samples/scripts/common/validate.sh +++ b/kubernetes/samples/scripts/common/validate.sh @@ -82,6 +82,27 @@ 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 - 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 @@ -115,6 +136,7 @@ validateVersion() { # validateDomainUid() { validateLowerCase "domainUID" ${domainUID} + validateWlsDomainName "domainUID" "${domainUID}" validateDNS1123LegalName domainUID ${domainUID} } From c2755abed2a3fe097abcc566c3b494c4ae2ad37f Mon Sep 17 00:00:00 2001 From: anthony_lai Date: Fri, 17 Jun 2022 17:59:45 +0000 Subject: [PATCH 2/4] update comment of validateDomainUid function --- kubernetes/samples/scripts/common/validate.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/kubernetes/samples/scripts/common/validate.sh b/kubernetes/samples/scripts/common/validate.sh index 9fb004f804a..7f3ab81ee21 100755 --- a/kubernetes/samples/scripts/common/validate.sh +++ b/kubernetes/samples/scripts/common/validate.sh @@ -133,11 +133,13 @@ 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. # validateDomainUid() { validateLowerCase "domainUID" ${domainUID} - validateWlsDomainName "domainUID" "${domainUID}" validateDNS1123LegalName domainUID ${domainUID} + validateWlsDomainName "domainUID" "${domainUID}" } # From d5ce249b3128e66be15aaeac090bbdc97f04e50d Mon Sep 17 00:00:00 2001 From: anthony_lai Date: Tue, 21 Jun 2022 16:46:51 +0000 Subject: [PATCH 3/4] fix function comment --- kubernetes/samples/scripts/common/validate.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kubernetes/samples/scripts/common/validate.sh b/kubernetes/samples/scripts/common/validate.sh index 7f3ab81ee21..14d0944cf22 100755 --- a/kubernetes/samples/scripts/common/validate.sh +++ b/kubernetes/samples/scripts/common/validate.sh @@ -88,7 +88,8 @@ validateLowerCase() { # or underscore characters (_) and contain at least one letter # but must start with an alphanumeric or underscore character. # -# $1 - value to check +# $1 - name of object being checked +# $2 - value to check validateWlsDomainName() { echo "validateWlsDomainName called with $2" if ! [[ "$2" =~ ^[a-z_][a-z0-9_.-]*$ ]] ; then From dcaeed90d5576a4248625b6cea5c9c4bb4f1e047 Mon Sep 17 00:00:00 2001 From: anthony_lai Date: Tue, 21 Jun 2022 17:05:53 +0000 Subject: [PATCH 4/4] fix arguments in calls from validateDomainUid --- kubernetes/samples/scripts/common/validate.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kubernetes/samples/scripts/common/validate.sh b/kubernetes/samples/scripts/common/validate.sh index 14d0944cf22..e749d9e3f0c 100755 --- a/kubernetes/samples/scripts/common/validate.sh +++ b/kubernetes/samples/scripts/common/validate.sh @@ -138,8 +138,8 @@ validateVersion() { # name, it must also be a valid WebLogic domain name. # validateDomainUid() { - validateLowerCase "domainUID" ${domainUID} - validateDNS1123LegalName domainUID ${domainUID} + validateLowerCase "domainUID" "${domainUID}" + validateDNS1123LegalName "domainUID" "${domainUID}" validateWlsDomainName "domainUID" "${domainUID}" }