Helix correlation payloads don't play well with '/' in query string params
When a correlation payload (e.g. .net runtime) has a / in the SAS token portion of the URI (this would be in the sig field), The scripting will name the downloaded file incorrectly, then fail to unpack it.
What is happening is that the python code is spitting the URI on '/'. then again on '?', then taking the first element of the array. This means that if the SAS has a '/' in the sig, it will just take part of the sig and use it as the filename. The file will download fine, but then when it goes to unpack the file, it can't tell what kind of file it is (.tar.gz and .zip are supported). It then chooses zip, which then fails. Goes boom.
The offending line is: https://dev.azure.com/dnceng/internal/_git/dotnet-helix-machines?path=/resources/helix-scripts/helix/executor.py&version=GBmain&line=289&lineEnd=290&lineStartColumn=1&lineEndColumn=1&lineStyle=plain&_a=contents
Release Note Category
- [ ] Feature changes/additions
- [x] Bug fixes
- [ ] Internal Infrastructure Improvements
Release Note Description
When this is completed, the workarounds in get-delegation-sas.yml across 6.0, 8.0, and 9.0 should be removed.
This issue has been migrated to Azure DevOps: https://dev.azure.com/dnceng/internal/_workitems/edit/8499