From 5bcc4df0c3d1db8e9625397ef6f67823f5c07a6e Mon Sep 17 00:00:00 2001 From: Jeff McCune Date: Wed, 25 May 2011 13:46:10 -0700 Subject: [PATCH 1/2] Add basic validation to class parameters --- manifests/init.pp | 4 ++++ manifests/jdk_package.pp | 3 ++- manifests/jre_package.pp | 3 ++- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/manifests/init.pp b/manifests/init.pp index 721f0ed..f3ae555 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -17,6 +17,10 @@ class java( $version='1.6.0_25-fcs' ) { + validate_re($jre, [ '^true$', '^false$' ]) + validate_re($jdk, [ '^true$', '^false$' ]) + validate_re($version, '^[._0-9a-zA-Z:-]+$') + $jre_real = $jre $jdk_real = $jdk $version_real = $version diff --git a/manifests/jdk_package.pp b/manifests/jdk_package.pp index 18863ba..2ff72a2 100644 --- a/manifests/jdk_package.pp +++ b/manifests/jdk_package.pp @@ -17,7 +17,8 @@ class java::jdk_package ( $version ) { - # JJM FIXME Validation! + validate_re($version, '^[._0-9a-zA-Z:-]+$') + $version_real = $version package { 'jdk': diff --git a/manifests/jre_package.pp b/manifests/jre_package.pp index 7e2b86d..0405a8c 100644 --- a/manifests/jre_package.pp +++ b/manifests/jre_package.pp @@ -14,7 +14,8 @@ class java::jre_package ( $version ) { - # JJM FIXME Validation! + validate_re($version, '^[._0-9a-zA-Z:-]+$') + $version_real = $version package { 'jre': From 993b2e5e4c9e59adbabfd182e844bfd94b049a4b Mon Sep 17 00:00:00 2001 From: Jeff McCune Date: Wed, 25 May 2011 16:07:10 -0700 Subject: [PATCH 2/2] Fixup validation for Puppet 2.6.8 Anonymous arrays and comparing booleans does not work in 2.6.8 like they do in master. In 2.6.8 we cannot compare a true / false variable to a string inside of Ruby without forcing the function argument to be a string. --- manifests/init.pp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/manifests/init.pp b/manifests/init.pp index f3ae555..f8dd0a2 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -17,8 +17,11 @@ class java( $version='1.6.0_25-fcs' ) { - validate_re($jre, [ '^true$', '^false$' ]) - validate_re($jdk, [ '^true$', '^false$' ]) + # Cannot pass anonymous arrays to functions in 2.6.8 + $v_true_false = [ '^true$', '^false$' ] + # Must compare string values, not booleans. + validate_re("$jre", $v_true_false) + validate_re("$jdk", $v_true_false) validate_re($version, '^[._0-9a-zA-Z:-]+$') $jre_real = $jre