-
Notifications
You must be signed in to change notification settings - Fork 4.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Compression.ZipFile support for Unix Permissions #55531
Conversation
When running on Unix, capture the file's permissions on ZipFile Create and write the captured file permissions on ZipFile Extract. Fix dotnet#1548
Tagging subscribers to this area: @dotnet/area-system-io-compression Issue DetailsWhen running on Unix, capture the file's permissions on ZipFile Create and write the captured file permissions on ZipFile Extract. Fix #1548 Draft: Still need to add tests.
|
...IO.Compression.ZipFile/src/System/IO/Compression/ZipFileExtensions.ZipArchive.Create.Unix.cs
Show resolved
Hide resolved
@lewing @radical @ViktorHofer @safern -
UPDATE: Fixed by adding a Browser TFM to the project. |
src/libraries/System.IO.Compression.ZipFile/src/System.IO.Compression.ZipFile.csproj
Show resolved
Hide resolved
...IO.Compression.ZipFile/src/System/IO/Compression/ZipFileExtensions.ZipArchive.Create.Unix.cs
Outdated
Show resolved
Hide resolved
...pression.ZipFile/src/System/IO/Compression/ZipFileExtensions.ZipArchiveEntry.Extract.Unix.cs
Outdated
Show resolved
Hide resolved
src/libraries/System.IO.Compression.ZipFile/tests/System.IO.Compression.ZipFile.Tests.csproj
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Other than my comments, LGTM. Thanks.
…debugger_custom_views * 'main' of github.com:thaystg/runtime: (125 commits) [wasm] [debugger] Support method calls (dotnet#55458) [debugger] Fix debugging after hot reloading (dotnet#55599) Inliner: Extend IL limit for profiled call-sites, allow inlining for switches. (dotnet#55478) DiagnosticSourceEventSource supports base class properties (dotnet#55613) [mono] Fix race during mono_image_storage_open (dotnet#55201) [mono] Add wrapper info for native func wrappers. (dotnet#55602) H/3 and Quic AppContext switch (dotnet#55332) Compression.ZipFile support for Unix Permissions (dotnet#55531) [mono] Fix skipping of static methods during IMT table construction. (dotnet#55610) Combine System.Private.Xml TrimmingTests projects (dotnet#55606) fix name conflict with Configuration class (dotnet#55597) Finish migrating RSAOpenSsl from RSA* to EVP_PKEY* Disable generic math (dotnet#55540) Obsolete CryptoConfig.EncodeOID (dotnet#55592) Address System.Net.Http.WinHttpHandler's nullable warnings targeting .NETCoreApp (dotnet#54995) Enable Http2_MultipleConnectionsEnabled_ConnectionLimitNotReached_ConcurrentRequestsSuccessfullyHandled (dotnet#55572) Fix Task.WhenAny failure mode when passed ICollection of zero tasks (dotnet#55580) Consume DistributedContextPropagator in DiagnosticsHandler (dotnet#55392) Add property ordering feature (dotnet#55586) Reduce subtest count in Reflection (dotnet#55537) ...
Currently, .NET doesn't automatically add Unix file permissions to our zip's file entries. This means that all of the files cannot be opened without setting the permissions manually in the OS. To fix this, we manually add the Unix file permissions ourselves by converting a permission string to an octal literal on the zip entry. I believe that in .NET 6, this should be done automatically for us due to the following change: dotnet/runtime#55531
Currently, .NET doesn't automatically add Unix file permissions to our zip's file entries. This means that all of the files cannot be opened without setting the permissions manually in the OS. To fix this, we manually add the Unix file permissions ourselves by converting a permission string to an octal literal on the zip entry. I believe that in .NET 6, this should be done automatically for us due to the following change: dotnet/runtime#55531
When running on Unix, capture the file's permissions on ZipFile Create and write the captured file permissions on ZipFile Extract.
Fix #1548