| Puppet Version: 6.16.0 Puppet Server Version: 6. OS Name/Version: Win10x64 WinServer2012R2 After upgrading from agent 6.13.0 URL's that are pre-encoded are being re-encoded during the HTTP GET phase of file resource execution. The header HEAD phase is working as expected. This was not occurring in agent 6.13.0 but occurs in 6.16 and 6.15 versions of the agent When attempting to remove the encoding the HTTP HEAD uses the correct url unencoded, but when the GET goes to encode, it for some reason drops the trailing '=' (in fact no '=' are encoded at all) which is found in all Azure SAS tokens and storage keys. We store sensitive files in Azure private blob containers, and utilize a SAS token who's sensitive data is looked up via a hiera eyaml and appended to the https:// endpoint of the url as the file "source" parameter Desired Behavior: If already encoded the file resource should not re-encode during the GET phase If not encoded, the GET phase should encode the request but not drop the trailing '='. Actual Behavior: Dummy file resource being run in debug when specifying with the encoded section of the SAS token appended to the http request:
same file resource, with the token portion of the string unencoded. The final '=' of the string is stripped off during the GET
We noticed that puppet 6.15.0 introduced many changes to the file http resource according to the documentation. |