summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBryan McLellan <btm@loftninjas.org>2019-02-22 07:30:42 -0500
committerGitHub <noreply@github.com>2019-02-22 07:30:42 -0500
commitcfb841dfb8c4c51cba0ca26c6bab26f0a687e48a (patch)
tree8437a796351a787b0ac8634aee688ac8d217a598
parent4e3d57205ff9f3c494287397e98616cd96fdd610 (diff)
parent5b22f658d1415089c9b2ab3ac8722add77a946fe (diff)
downloadchef-cfb841dfb8c4c51cba0ca26c6bab26f0a687e48a.tar.gz
Merge pull request #8245 from chef/btm/MSYS-955_openssl_dhparam_mode_fix
allow setting mode for openssl_dhparam after creation
-rw-r--r--lib/chef/resource/openssl_dhparam.rb23
-rw-r--r--spec/unit/resource/openssl_dhparam_spec.rb5
2 files changed, 16 insertions, 12 deletions
diff --git a/lib/chef/resource/openssl_dhparam.rb b/lib/chef/resource/openssl_dhparam.rb
index 445dd97bdc..05347ec494 100644
--- a/lib/chef/resource/openssl_dhparam.rb
+++ b/lib/chef/resource/openssl_dhparam.rb
@@ -57,20 +57,19 @@ class Chef
action :create do
description "Create the dhparam file."
-
+ dhparam_content = nil
unless dhparam_pem_valid?(new_resource.path)
- converge_by("Create a dhparam file #{new_resource.path}") do
- dhparam_content = gen_dhparam(new_resource.key_length, new_resource.generator).to_pem
+ dhparam_content = gen_dhparam(new_resource.key_length, new_resource.generator).to_pem
+ Chef::Log.debug("Valid dhparam content not found at #{new_resource.path}, creating new")
+ end
- file new_resource.path do
- action :create
- owner new_resource.owner unless new_resource.owner.nil?
- group new_resource.group unless new_resource.group.nil?
- mode new_resource.mode
- sensitive true
- content dhparam_content
- end
- end
+ file new_resource.path do
+ action :create
+ owner new_resource.owner
+ group new_resource.group
+ mode new_resource.mode
+ sensitive true
+ content dhparam_content
end
end
end
diff --git a/spec/unit/resource/openssl_dhparam_spec.rb b/spec/unit/resource/openssl_dhparam_spec.rb
index 10c5399c33..e225b0317c 100644
--- a/spec/unit/resource/openssl_dhparam_spec.rb
+++ b/spec/unit/resource/openssl_dhparam_spec.rb
@@ -53,4 +53,9 @@ describe Chef::Resource::OpensslDhparam do
expect { resource.key_length 1234 }.to raise_error(ArgumentError)
end
+ it "sets the mode which user provides for existing file" do
+ resource.mode "0600"
+ expect(resource.mode).to eql("0600")
+ end
+
end