SharpZipLib
SharpZipLib copied to clipboard
#ziplib is a Zip, GZip, Tar and BZip2 library written entirely in C# for the .NET platform.
From [Microsoft](https://docs.microsoft.com/en-us/dotnet/standard/language-independence-and-language-independent-components): > If your component conforms to the Common Language Specification, it is guaranteed to be CLS-compliant and can be accessed from code in assemblies written in any programming...
### Steps to reproduce 1. Open tar file using `TarInputStream ts = new TarInputStream(fs, Encoding.UTF8)` 2. Read first entry `while(ts.Position != ts.Length && (tarEntry = ts.GetNextEntry()) != null)` 3. Try...
### Steps to reproduce 1. Create a file and apply the execute permission 2. Create a tar.gz and pass the `-p` flag to preserve permissions 3. Extract the tar.gz using...
### Steps to reproduce 1. Creating tgz and extracting it via the following sample code ``` using System; using System.IO; using ICSharpCode.SharpZipLib.GZip; using ICSharpCode.SharpZipLib.Tar; namespace ConsoleApp1 { class Program {...
The Path.GetPathRoot method is able to return null. PathUtils.DropPathRoot should handle this case. _I certify that I own, and have sufficient rights to contribute, all source code and related material...
Not really a bug, more like a feature suggestion. ### Steps to reproduce 1. In .net 5, directory enumeration has bugs with WebDav (https://github.com/dotnet/runtime/issues/46723#issuecomment-928090089), not fixed in .net 6 and...
Follow up to #574 that implements `DisposeAsync` and "true" async write support to `GzipOutputStream`. _I certify that I own, and have sufficient rights to contribute, all source code and related...
Alternate approach to #576 which tries taking the simpler approach of using the 'useAsync' idea that some MS libs use for sharing async/sync versions of a function instead of duplicating...
### Expected behavior I could not find any related topics, except an unanswered issue "CopyToAsync fails with ZipOutputStream #167". One of c#'s greatest features over other languages is the async/await...
This is an experiment to use the ITaggedData machinery for handling the AES extra data, too see how it might effect things, and to think if it might be useful...