cloudfoundry/bosh-cli

Creating releases with blobs are broken on Windows

selzoc opened this issue · 3 comments

When running bosh create-release on Windows, the following error is observed:

PS C:\Users\cselzo\workspace\windowsfs-online-release> bosh create-release
...
Building a release from directory 'C:\Users\cselzo\workspace\windowsfs-online-release':
  - Moving blob '219376f3-e6b3-4859-4482-beadb66162b9' into cache:
      rename C:\Users\cselzo\.bosh\tmp\bosh-s3-blob3074349478 C:\Users\cselzo\.bosh\cache\sha256:324a029b330444ebae81688f83fce24dbf9253eef6af49d252e5297164f5cd14: The filename, directory name, or volume label syntax is incorrect.
...

This is because the blob checksum contains a : character (which is a reserved character in Windows) and the cli uses the checksum directly for the cache filename.

I believe #545 to have the same root cause.

I proposed a fix in #612 , would love to get other folks to take a look to validate my approach.

to my knowledge sha never uses special characters. so how did a : got there in the first place?

@ramonskie 5bc3300 is where this was introduced (when switching from SHA1 to SHA256)