Skip to content
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

Merged
merged 9 commits into from
Jul 14, 2021
Merged

Conversation

eerhardt
Copy link
Member

@eerhardt eerhardt commented Jul 12, 2021

When running on Unix, capture the file's permissions on ZipFile Create and write the captured file permissions on ZipFile Extract.

Fix #1548

When running on Unix, capture the file's permissions on ZipFile Create and write the captured file permissions on ZipFile Extract.

Fix dotnet#1548
@ghost
Copy link

ghost commented Jul 12, 2021

Tagging subscribers to this area: @dotnet/area-system-io-compression
See info in area-owners.md if you want to be subscribed.

Issue Details

When 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.

Author: eerhardt
Assignees: -
Labels:

area-System.IO.Compression

Milestone: -

@eerhardt eerhardt marked this pull request as ready for review July 12, 2021 23:24
@eerhardt
Copy link
Member Author

eerhardt commented Jul 13, 2021

@lewing @radical @ViktorHofer @safern - any ideas on the wasm failures?

##[error].packages\microsoft.dotnet.sharedframework.sdk\6.0.0-beta.21357.3\targets\sharedfx.targets(467,5): error : (NETCORE_ENGINEERING_TELEMETRY=Build) Assembly 'netstandard' is missing dependency 'System.IO.Compression.ZipFile'

UPDATE: Fixed by adding a Browser TFM to the project.

Copy link
Member

@stephentoub stephentoub left a 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.

@eerhardt
Copy link
Member Author

Runtime failures are #55536 and #55618.

@eerhardt eerhardt merged commit 5b0c6dd into dotnet:main Jul 14, 2021
@eerhardt eerhardt deleted the Fix1548 branch July 14, 2021 04:14
thaystg added a commit to thaystg/runtime that referenced this pull request Jul 14, 2021
…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)
  ...
@adamsitnik adamsitnik added this to the 6.0.0 milestone Jul 19, 2021
ntsim added a commit to dfe-analytical-services/explore-education-statistics that referenced this pull request Aug 17, 2021
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
ntsim added a commit to dfe-analytical-services/explore-education-statistics that referenced this pull request Aug 17, 2021
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
@ghost ghost locked as resolved and limited conversation to collaborators Aug 18, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Compression.ZipFile support for Unix Permissions
3 participants