X-Git-Url: https://review.fuel-infra.org/gitweb?a=blobdiff_plain;f=lib%2Fpuppet%2Fprovider%2Fapt_key%2Fapt_key.rb;h=668fd0f18d2ee35c0addb98e1bd365956d7f2a11;hb=920e34c0b6f5847965f1897c81e3123ddff172cf;hp=d7e85dafaf5a1e6ab762153f137394a49cc52d47;hpb=da0bcf16e52d8ae62d29268d2684e209812263a0;p=puppet-modules%2Fpuppetlabs-apt.git diff --git a/lib/puppet/provider/apt_key/apt_key.rb b/lib/puppet/provider/apt_key/apt_key.rb index d7e85da..668fd0f 100644 --- a/lib/puppet/provider/apt_key/apt_key.rb +++ b/lib/puppet/provider/apt_key/apt_key.rb @@ -127,9 +127,15 @@ Puppet::Type.type(:apt_key).provide(:apt_key) do f else begin - user_pass = parsedValue.userinfo.nil? ? nil : parsedValue.userinfo.split(':') - parsedValue.userinfo = '' - key = open(parsedValue, :http_basic_authentication => user_pass).read + # Only send basic auth if URL contains userinfo + # Some webservers (e.g. Amazon S3) return code 400 if empty basic auth is sent + if parsedValue.userinfo.nil? + key = parsedValue.read + else + user_pass = parsedValue.userinfo.split(':') + parsedValue.userinfo = '' + key = open(parsedValue, :http_basic_authentication => user_pass).read + end rescue OpenURI::HTTPError, Net::FTPPermError => e fail("#{e.message} for #{resource[:source]}") rescue SocketError