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
README.md
archive.go pkg/archive: remove backward compat hack for go < 1.9 2022-09-04 21:44:02 +02:00
archive_linux.go
archive_linux_test.go gofmt GoDoc comments with go1.19 2022-07-08 19:56:23 +02:00
archive_other.go
archive_test.go
archive_unix.go
archive_unix_test.go
archive_windows.go pkg/archive: strip "write" bits again on Windows 2022-09-05 10:50:10 +02:00
archive_windows_test.go pkg/archive: strip "write" bits again on Windows 2022-09-05 10:50:10 +02:00
changes.go
changes_linux.go
changes_other.go
changes_posix_test.go
changes_test.go
changes_unix.go
changes_windows.go
copy.go all: replace strings.Replace with strings.ReplaceAll 2022-05-09 19:45:40 +08:00
copy_unix.go
copy_unix_test.go gofmt GoDoc comments with go1.19 2022-07-08 19:56:23 +02:00
copy_windows.go
diff.go
diff_test.go
example_changes.go
time_linux.go
time_unsupported.go
utils_test.go
whiteouts.go
wrap.go gofmt GoDoc comments with go1.19 2022-07-08 19:56:23 +02:00
wrap_test.go

README.md

This code provides helper functions for dealing with archive files.