diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-08-09 07:19:49 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-08-09 07:19:49 +0900 |
| commit | ae19de8597f41c83983e6e6ca35f31d845f16bd3 (patch) | |
| tree | c9050af966b680dc9ddda3dbb3fa8180fbae6e4a /docs/dev/plugin-stub-generation.md | |
| parent | 6b83e68d7961f150ec15dd59d457d519e0bf8663 (diff) | |
| download | php-shirabe-ae19de8597f41c83983e6e6ca35f31d845f16bd3.tar.gz php-shirabe-ae19de8597f41c83983e6e6ca35f31d845f16bd3.tar.zst php-shirabe-ae19de8597f41c83983e6e6ca35f31d845f16bd3.zip | |
feat(archiver): preserve file permissions in zip archives
The shim reported setExternalAttributesName as missing, so ZipArchiver took
the branch for libzip below 0.11.2 and every archived entry got the zip
crate's default mode. The attributes now travel as arguments to add_file and
add_empty_dir, because the crate fixes an entry's external attributes when
the entry is started and offers no way to amend one already written.
unix_permissions keeps only the low 9 mode bits, on top of which the crate
restores S_IFREG and S_IFDIR, so setuid/setgid/sticky bits and other file
types are still dropped.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Diffstat (limited to 'docs/dev/plugin-stub-generation.md')
0 files changed, 0 insertions, 0 deletions
