From 9e8355c188c04d909745cd28ca47b67b499f54fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Kra=C5=9Bnicki?= Date: Mon, 11 Jul 2016 13:53:33 +0200 Subject: Add validation for some parameters --- manifests/init.pp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/manifests/init.pp b/manifests/init.pp index 7b09d0a..aeb9868 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -52,6 +52,18 @@ class unattended_upgrades ( validate_bool($_options['force_confold']) validate_bool($_options['force_confnew']) validate_bool($_options['force_confmiss']) + if $dl_limit != undef { + validate_integer($dl_limit, undef, 0) + } + validate_integer($enable, 1, 0) + validate_string($package_ensure) + if $random_sleep != undef { + validate_integer($random_sleep, undef, 0) + } + validate_integer($update, undef, 0) + validate_integer($upgrade, undef, 0) + validate_integer($verbose, undef, 0) + validate_bool($notify_update) package { 'unattended-upgrades': ensure => $package_ensure, -- cgit v1.2.3 From 36fea4846d719f6b3794606f73d6d536a926e541 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Kra=C5=9Bnicki?= Date: Mon, 11 Jul 2016 13:54:47 +0200 Subject: Reorder validation to match class declaration --- manifests/init.pp | 65 ++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 40 insertions(+), 25 deletions(-) diff --git a/manifests/init.pp b/manifests/init.pp index aeb9868..f7eddbe 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -21,49 +21,64 @@ class unattended_upgrades ( $options = {}, ) inherits ::unattended_upgrades::params { + validate_hash($age) + $_age = merge($::unattended_upgrades::default_age, $age) + + validate_hash($auto) + $_auto = merge($::unattended_upgrades::default_auto, $auto) + + validate_hash($backup) + $_backup = merge($::unattended_upgrades::default_backup, $backup) + + validate_array($blacklist) + + if $dl_limit != undef { + validate_integer($dl_limit, undef, 0) + } + + validate_integer($enable, 1, 0) + + validate_bool($install_on_shutdown) + + validate_bool($legacy_origin) + validate_array($origins) if $legacy_origin == undef or $origins == undef { fail('Please explicitly specify unattended_upgrades::legacy_origin and unattended_upgrades::origins.') } - validate_bool( - $install_on_shutdown, - $legacy_origin, - $minimal_steps, - ) - validate_array($blacklist) - validate_array($origins) - validate_hash($auto) - $_auto = merge($::unattended_upgrades::default_auto, $auto) validate_hash($mail) if $mail['only_on_error'] { validate_bool($mail['only_on_error']) } $_mail = merge($::unattended_upgrades::default_mail, $mail) - validate_hash($backup) - $_backup = merge($::unattended_upgrades::default_backup, $backup) - validate_hash($age) - $_age = merge($::unattended_upgrades::default_age, $age) + + validate_bool($minimal_steps) + + validate_string($package_ensure) + + if $random_sleep != undef { + validate_integer($random_sleep, undef, 0) + } + validate_integer($size) + + validate_integer($update, undef, 0) + + validate_integer($upgrade, undef, 0) + validate_hash($upgradeable_packages) $_upgradeable_packages = merge($::unattended_upgrades::default_upgradeable_packages, $upgradeable_packages) + + validate_integer($verbose, undef, 0) + + validate_bool($notify_update) + validate_hash($options) $_options = merge($unattended_upgrades::default_options, $options) validate_bool($_options['force_confdef']) validate_bool($_options['force_confold']) validate_bool($_options['force_confnew']) validate_bool($_options['force_confmiss']) - if $dl_limit != undef { - validate_integer($dl_limit, undef, 0) - } - validate_integer($enable, 1, 0) - validate_string($package_ensure) - if $random_sleep != undef { - validate_integer($random_sleep, undef, 0) - } - validate_integer($update, undef, 0) - validate_integer($upgrade, undef, 0) - validate_integer($verbose, undef, 0) - validate_bool($notify_update) package { 'unattended-upgrades': ensure => $package_ensure, -- cgit v1.2.3 From 5bd6d4f1772385777d01691b8ba746f031b1dab0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Kra=C5=9Bnicki?= Date: Mon, 11 Jul 2016 14:26:38 +0200 Subject: Make parameter validation stricter --- manifests/init.pp | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/manifests/init.pp b/manifests/init.pp index f7eddbe..613f0ba 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -23,12 +23,21 @@ class unattended_upgrades ( validate_hash($age) $_age = merge($::unattended_upgrades::default_age, $age) + validate_integer($_age['min'], undef, 0) + validate_integer($_age['max'], undef, 0) validate_hash($auto) $_auto = merge($::unattended_upgrades::default_auto, $auto) + validate_integer($_auto['clean'], undef, 0) + validate_bool($_auto['fix_interrupted_dpkg']) + validate_bool($_auto['reboot']) + validate_string($_auto['reboot_time']) + validate_bool($_auto['remove']) validate_hash($backup) $_backup = merge($::unattended_upgrades::default_backup, $backup) + validate_integer($_backup['archive_interval'], undef, 0) + validate_integer($_backup['level'], undef, 0) validate_array($blacklist) @@ -47,10 +56,8 @@ class unattended_upgrades ( } validate_hash($mail) - if $mail['only_on_error'] { - validate_bool($mail['only_on_error']) - } $_mail = merge($::unattended_upgrades::default_mail, $mail) + validate_bool($_mail['only_on_error']) validate_bool($minimal_steps) @@ -60,7 +67,7 @@ class unattended_upgrades ( validate_integer($random_sleep, undef, 0) } - validate_integer($size) + validate_integer($size, undef, 0) validate_integer($update, undef, 0) @@ -68,6 +75,8 @@ class unattended_upgrades ( validate_hash($upgradeable_packages) $_upgradeable_packages = merge($::unattended_upgrades::default_upgradeable_packages, $upgradeable_packages) + validate_integer($_upgradeable_packages['download_only'], undef, 0) + validate_integer($_upgradeable_packages['debdelta'], undef, 0) validate_integer($verbose, undef, 0) -- cgit v1.2.3 From 3f75b06bccc8000ea1b03c603f098794ec9a58cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Kra=C5=9Bnicki?= Date: Mon, 11 Jul 2016 15:30:39 +0200 Subject: Remove redundant check --- manifests/init.pp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/manifests/init.pp b/manifests/init.pp index 613f0ba..5460948 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -50,10 +50,6 @@ class unattended_upgrades ( validate_bool($install_on_shutdown) validate_bool($legacy_origin) - validate_array($origins) - if $legacy_origin == undef or $origins == undef { - fail('Please explicitly specify unattended_upgrades::legacy_origin and unattended_upgrades::origins.') - } validate_hash($mail) $_mail = merge($::unattended_upgrades::default_mail, $mail) @@ -61,6 +57,8 @@ class unattended_upgrades ( validate_bool($minimal_steps) + validate_array($origins) + validate_string($package_ensure) if $random_sleep != undef { -- cgit v1.2.3