1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00
moby--moby/pkg/archive
Sebastiaan van Stijn 609d87003a
pkg/archive: strip "write" bits again on Windows
1. Commit 1a22418f9f changed permissions to `0700`
   on Windows, or more factually, it removed `rw` (`chmod g-rw,o-rw`) and added
   executable bits (`chmod u+x`).
2. This was too restrictive, and b7dc9040f0 changed
   permissions to only remove the group- and world-writable bits to give read and
  execute access to everyone, but setting execute permissions for everyone.
3. However, this also removed the non-permission bits, so 41eb61d5c2
   updated the code to preserve those, and keep parity with Linux.

This changes it back to `2.`. I wonder (_think_) _permission_ bits (read, write)
can be portable, except for the _executable_ bit (which is not present on Windows).
The alternative could be to keep the permission bits, and only set the executable
bit (`perm | 0111`) for everyone (equivalent of `chmod +x`), but that likely would
be a breaking change.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-09-05 10:50:10 +02:00
..
testdata
archive.go
archive_linux.go
archive_linux_test.go
archive_other.go
archive_test.go
archive_unix.go
archive_unix_test.go
archive_windows.go
archive_windows_test.go
changes.go
changes_linux.go
changes_other.go
changes_posix_test.go
changes_test.go
changes_unix.go
changes_windows.go
copy.go
copy_unix.go
copy_unix_test.go
copy_windows.go
diff.go
diff_test.go
example_changes.go
README.md
time_linux.go
time_unsupported.go
utils_test.go
whiteouts.go
wrap.go
wrap_test.go

This code provides helper functions for dealing with archive files.