Commit Graph

33 Commits

Author SHA1 Message Date
Caleb Gardner 0402b0a2ee Bringing rawreader from expiremental branch.
Now allows creation of a squashfs.Reader from an io.Reader
2021-09-26 18:30:08 -05:00
Caleb Gardner 305f261d10 Add Lzo decompressor and Xz decompressor with filters 2021-09-12 05:26:47 -05:00
Caleb Gardner 70e3d81427 Some musings on what to do. 2021-04-30 03:32:31 -05:00
Caleb Gardner 28f39cf315 Updated libraries.
Replaced builtin zlib with faster library.
2021-04-03 10:14:12 -05:00
Caleb Gardner d89153c3e2 Finished io/FS interface 2021-01-30 06:30:00 -06:00
Caleb Gardner 3f1b2a8d1e Restructure for 1.16 io/fs interface 2021-01-29 12:55:57 -06:00
Caleb Gardner 17e1d65488 Fixed Extended Files 2021-01-16 03:09:48 -06:00
Caleb Gardner 80946f58e7 Fixed issue with Extended Symlinks
Removed some shadowed err's
2021-01-16 01:32:00 -06:00
Caleb Gardner 76649fde7f Implemented WriteTo which halves decompress times.
Added a drag race benchmark (for the fun of it)
2021-01-10 03:33:33 -06:00
Caleb Gardner 18092c63aa Some cleanup, no change in functionality 2021-01-09 09:53:58 -06:00
Caleb Gardner b2d6ff56f6 Added uid/guid support.
Added permission support.
2021-01-09 02:30:04 -06:00
Caleb Gardner 4b3d5d12f8 Setup for differnet types of compression for Writer
Added some TODOs
2021-01-08 14:35:32 -06:00
Caleb Gardner 5c3bf8d528 Implemented the rest of the compression types
Haven't implemented LZO due to limited libraries
2020-12-09 01:40:30 -06:00
Caleb Gardner 89b0a41ab9 Figured out it was the filters for XZ that was causing problems
Added lzma and xz decompression.
Renamed Zlib to Gzip
2020-12-04 05:36:58 -06:00
Caleb Gardner a894e2efb9 Removed XZ compression.
When testing the archlinux, xz compression couldn't seem to extract ANY files.
Testing extraction with the appimage works though. So that's good.
2020-12-02 01:56:24 -06:00
Caleb Gardner e302d98665 Further work on extracting
Extracting files is threaded with goroutines.
Extracting also sets the proper UID and GUID
Made recursive children getting threaded with goroutines
Decided I will allow wildcards in paths. Hasn't been implemented though.
Fixed issues with ExtendedDirectory reading (I was using a uint16 instead of a uint32)
I couldn't test basically any of this. somehow a for loop isn't incrementing. For seemingly no reason.
2020-12-01 06:14:09 -06:00
Caleb Gardner c5c6291643 Some more work on ExtractTo
Added Xz compression support
Started testing using a big squashfs fil (particularly the squashfs from an Arch Linux install img)
2020-11-30 03:53:57 -06:00
Caleb Gardner faf9153323 Added zlib compression for absolutely zero reason 2020-11-28 11:05:38 -06:00
Caleb Gardner e20213c3f7 Reorganization. 2020-11-28 05:03:56 -06:00
Caleb Gardner cea69188d4 Symlink file support
You can get the path that the symlink is pointing to, AND get the squashfs.File for it.
You can also now give a path FROM a given squashfs.File directory.
2020-11-28 02:22:48 -06:00
Caleb Gardner ae2cc5ab54 Working on fragments 2020-11-23 06:44:39 -06:00
Caleb Gardner fe0f4ef05f Working on reading data.
Set up go modules
2020-11-20 03:59:38 -06:00
Caleb Gardner bc9adf8ade You can lookup an inode via a string path now
Removed DecompressCopy (as I wasn't using it)
Started work on fragments
2020-11-19 22:27:10 -06:00
Caleb Gardner 33af16071d I can now read the entire directory structure. 2020-11-19 13:27:13 -06:00
Caleb Gardner 87ccd0f346 I CAN READ A DIRECTORY NOW
I've only tested it with the root dir, but should work for all directories.
2020-11-19 10:50:02 -06:00
Caleb Gardner be1be40a17 Further work on directory table reading 2020-11-18 22:24:26 -06:00
Caleb Gardner 774366004c Some work on reading the root inode's dir table 2020-11-16 16:08:23 -06:00
Caleb Gardner 7a2f9a87ba Re-wrote a bunch to try to figure out why things weren't working.
Turned out I was reading if a block was compressed exactly opposite.
Started to work more on looking up dirs.
2020-11-16 14:56:19 -06:00
Caleb Gardner 06b188d53c Restarted some stuff so I can do it better.
Made a reader that can reade across data blocks if necessary
Still can't get things to read right
2020-11-13 16:11:44 -06:00
Caleb Gardner dbf7e9465a Directorty table info parsing.
Futher work on reading data.
2020-11-13 04:47:54 -06:00
Caleb Gardner f135457443 BasicFile should work fully.
More documentation (I hate it)
2020-11-12 21:40:00 -06:00
Caleb Gardner 78c35cf720 Further work on Inode 2020-11-12 09:50:52 -06:00
Caleb Gardner 8fa093763f Possibly finished gzip compression option
More metadata stuff
Started work on inode parsing
2020-11-11 02:55:21 -06:00