diff options
author | JKerry <john@kerryhouse.net> | 2015-06-14 16:20:20 -0400 |
---|---|---|
committer | Kartik Null Cating-Subramanian <ksubramanian@chef.io> | 2015-06-26 15:58:27 -0400 |
commit | 37c03b559913a791786ce51b8fe09473bde50368 (patch) | |
tree | 3ce9b62c0e507ff4ae0b56f43d536244c9cb6331 /lib/chef/win32/registry.rb | |
parent | d8cf337e46a24082976ec579903d950f285f77b9 (diff) | |
download | chef-37c03b559913a791786ce51b8fe09473bde50368.tar.gz |
downcasted registry key names to lowercase
Diffstat (limited to 'lib/chef/win32/registry.rb')
-rw-r--r-- | lib/chef/win32/registry.rb | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/lib/chef/win32/registry.rb b/lib/chef/win32/registry.rb index 18f12d26b8..1a1aa12fad 100644 --- a/lib/chef/win32/registry.rb +++ b/lib/chef/win32/registry.rb @@ -203,7 +203,7 @@ class Chef key_exists!(key_path) hive, key = get_hive_and_key(key_path) hive.open(key, ::Win32::Registry::KEY_READ | registry_system_architecture) do |reg| - return true if reg.any? {|val| val == value[:name] } + return true if reg.any? {|val| safely_downcase(val) == safely_downcase(value[:name]) } end return false end @@ -213,7 +213,7 @@ class Chef hive, key = get_hive_and_key(key_path) hive.open(key, ::Win32::Registry::KEY_READ | registry_system_architecture) do |reg| reg.each do |val_name, val_type, val_data| - if val_name == value[:name] && + if safely_downcase(val_name) == safely_downcase(value[:name]) && val_type == get_type_from_name(value[:type]) && val_data == value[:data] return true @@ -289,6 +289,14 @@ class Chef private + + def safely_downcase(val) + if val.is_a? String + return val.downcase + end + return val + end + def node run_context && run_context.node end |