dnceng icon indicating copy to clipboard operation
dnceng copied to clipboard

Helix correlation payloads don't play well with '/' in query string params

Open mmitche opened this issue 1 year ago • 1 comments

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

mmitche avatar Jul 17 '24 20:07 mmitche

When this is completed, the workarounds in get-delegation-sas.yml across 6.0, 8.0, and 9.0 should be removed.

mmitche avatar Oct 10 '24 17:10 mmitche

This issue has been migrated to Azure DevOps: https://dev.azure.com/dnceng/internal/_workitems/edit/8499

garath avatar Oct 10 '25 23:10 garath