(CONT-773) Set toapt_key `open` calls to `URI.open`
authordavid22swan <david.swan@puppet.com>
Wed, 26 Apr 2023 14:09:12 +0000 (15:09 +0100)
committerdavid22swan <david.swan@puppet.com>
Wed, 26 Apr 2023 14:43:13 +0000 (15:43 +0100)
Calls to `open` have previously been left vague, which has caused issues upon implementing Ruby 3

lib/puppet/provider/apt_key/apt_key.rb

index c15d826bb912097d74acbf0f132a6b31c07dff39..8cdf78bb71293300afd6cb0c13d9806a6b950afb 100644 (file)
@@ -135,14 +135,14 @@ Puppet::Type.type(:apt_key).provide(:apt_key) do
         # Some webservers (e.g. Amazon S3) return code 400 if empty basic auth is sent
         if parsed_value.userinfo.nil?
           key = if parsed_value.scheme == 'https' && resource[:weak_ssl] == true
-                  open(parsed_value, ssl_verify_mode: OpenSSL::SSL::VERIFY_NONE).read
+                  URI.open(parsed_value, ssl_verify_mode: OpenSSL::SSL::VERIFY_NONE).read
                 else
                   parsed_value.read
                 end
         else
           user_pass = parsed_value.userinfo.split(':')
           parsed_value.userinfo = ''
-          key = open(parsed_value, http_basic_authentication: user_pass).read
+          key = URI.open(parsed_value, http_basic_authentication: user_pass).read
         end
       rescue *exceptions => e
         raise(_('%{_e} for %{_resource}') % { _e: e.message, _resource: resource[:source] })