History log of /external/squashfs-tools/squashfs-tools/unsquashfs.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
933026301cb9d41b4b8b8273d892ea71c1c3d04b 01-Apr-2016 Mohamad Ayyash <mkayyash@google.com> Make squashfs work on BSD and macOS

Based on https://github.com/vasi/squashfs-tools

Change-Id: Ia2b04541652ef4f0cf8d6ff1daf106d6db32e278
Signed-off-by: Mohamad Ayyash <mkayyash@google.com>
/external/squashfs-tools/squashfs-tools/unsquashfs.h
dccad8223cefc2dea179b7995e5a00a38e45ac79 06-May-2014 Phillip Lougher <phillip@squashfs.org.uk> unsquashfs: protect against multiple inclusion

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.h
c8fa8a106fc680f34f14b1c17a53f584bc38c9cc 13-Jun-2013 Phillip Lougher <phillip@squashfs.org.uk> unsquashfs: export dump_cache() and a couple of cache globals

needed for the dump_state() function in the info thread.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.h
6b336d83d3546674593f7de3be86d174f32fd753 11-Jun-2013 Phillip Lougher <phillip@squashfs.org.uk> unsquashfs: add code to track number of used buffers in cache

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.h
bee9e37353d957d1c4d8669ca4eba30c2b9df3f5 10-Jun-2013 Phillip Lougher <phillip@squashfs.org.uk> unsquashfs: rename to_deflate to to_inflate

Unsquashfs uses deflate where it should be using inflate!
This is, obviously, because unsquashfs is decompressing
buffers rather than compressing them. This is a hang-over from
the early development of unsquashfs, where the code was initially
based on pieces from mksquashfs.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.h
56d5ca80fbe08b5d523c382afa23f71ca270cee6 10-Jun-2013 Phillip Lougher <phillip@squashfs.org.uk> unsquashfs: export a couple of functions and globals

needed for the dump_state function in the info thread.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.h
0100fed4ec712daba9a0009c47f6e8390da5bd93 10-Mar-2013 Phillip Lougher <phillip@squashfs.org.uk> error: Use error.h for Unsquashfs as well

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.h
e1542da6a3f99db8dc60b5cad891547e047861b7 01-Feb-2013 Phillip Lougher <phillip@squashfs.org.uk> unsquashfs: fix read_directory_table() parameter

sBlk.s.fragment_table_start isn't the end of the
directory table, it instead points to the
fragment_index_table, in which the first index of that
points to the end of the directory table. The only exception
to that is where fragments == 0, where fragment_table_start
does represent the end of the directory table.

The upshot of this is that for years Unsquashfs has been
reading and decompressing the directory_table and the
table after it. Not a major bug, but a waste of memory
all the same.

It has shown up now because of the additional sanity checks
when reading metadata blocks that have been added recently,
where all metadata blocks in the directory table bar the last one
should be SQUASHFS_METADATA_SIZE in size.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.h
cf5c8b43f14bad020372fe55fb237eb2ae2b28d4 25-Jan-2013 Phillip Lougher <phillip@squashfs.org.uk> unsquashfs: prevent buffer {over|under}flow in read_block() with corrupted filesystems

Prevent buffer overflow and underflow in read_block() with corrupted
filesystems.

Overflow is easy to understand, read_block() is called to read the next
metadata block pointed to by <start>... Often the buffer passed in is
large enough to hold the expected return bytes, which can be less than
SQUASHFS_METADATA_SIZE. For example filesystem tables are compressed
in SQUASHFS_METADATA_SIZEd chunks, the last compressed chunk will normally
be smaller than SQUASHFS_METADATA_SIZE, so when read_block() is called,
the passed buffer is only large enough to hold the expected size.

Underflow is rather more subtle, when read_block() is called, it is
expected that the returned block will fill the expected amount of
bytes in the filesystem table (stored as an array). If the returned
block is smaller than expected, then there will be uninitialised
data in the filesystem table which will cause unexpected behaviour later.

Fix both cases by passing in an additional parameter <expected>
which contains the expected number of bytes in the metadata block.
Refuse to read blocks which are larger than expected to avoid
buffer overflow and also return error if the block proves to be
smaller than expected, to avoid using unitialised data.

For the callers where the expected number of bytes is unknown support
<expected> containing 0, in which case the metadata block is checked to
ensure it doesn't overflow a SQUASHFS_METADATA_SIZEd buffer. Callers of
read_block() with <expected> == 0 are expected to pass in a
SQUASHFS_METADATA_SIZEd buffer. For instance with compressor specific
options data, the correct length is only known by the compressor specific
code, and this is later called to check the length.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.h
83d42a3fc898962aa1f1e8387f2ccb1114e0d294 01-Nov-2012 Phillip Lougher <phillip@squashfs.org.uk> Update email address

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.h
f25a97dc4ba98debc223096be21d6624ae59063e 31-Dec-2010 plougher <plougher> get rid of global.h include
/external/squashfs-tools/squashfs-tools/unsquashfs.h
e80f5c85abc4160f60a384fffec759900147f494 25-Aug-2010 plougher <plougher> Fix copyright dates - these files didn't exist before 2009!
/external/squashfs-tools/squashfs-tools/unsquashfs.h
860c1f3d8aa4ba40d587382a91821bea03b023c5 11-Aug-2010 plougher <plougher> Make XATTR support conditionally compilable. This is to support platforms
and c libraries that lack xattr support.
/external/squashfs-tools/squashfs-tools/unsquashfs.h
1ebb6e9932d448097d769f1366d8adaae797ea64 22-Jul-2010 plougher <plougher> Wrap some lines
/external/squashfs-tools/squashfs-tools/unsquashfs.h
da4e9ba3c8d7407b76e11461d1979788b56fdd68 22-Jul-2010 plougher <plougher> Wrap various lines.
/external/squashfs-tools/squashfs-tools/unsquashfs.h
6641759e4d91009fc37e3359a7880d19d3f0f401 22-Jul-2010 plougher <plougher> Tidy macro tabbing
/external/squashfs-tools/squashfs-tools/unsquashfs.h
8d4404d1f63a558f4903eb8c939bd4306a805d0f 21-Jul-2010 plougher <plougher> Update copyright
/external/squashfs-tools/squashfs-tools/unsquashfs.h
2ef25cb004cc6995bd36f781863aa844fe8c358d 05-Jul-2010 plougher <plougher> Add support for writing xattrs. Currently no checks are made for non
"user." xattrs which can only be written by root.
/external/squashfs-tools/squashfs-tools/unsquashfs.h
fdbbd7d7e595a227e0c259fa4afc872098c9e471 04-Jul-2010 plougher <plougher> Record the xattr in struct dir and struct squashfs_file, and pass to
set_attributes.
/external/squashfs-tools/squashfs-tools/unsquashfs.h
12c899489159bbf0b30054b970a96c45fa2a1035 04-Jul-2010 plougher <plougher> Add xattr field to struct inode, and add support for reading xattr in
read_inode_4. All other read_inode_x functions also now set xattr to the
invalid value.
/external/squashfs-tools/squashfs-tools/unsquashfs.h
8935dc25479321709c74c2f8214cf5365669100e 02-Jul-2010 plougher <plougher> Add initial support for reading xattrs in unsquashfs using the shared code in
read_xattrs.c. Currently this does nothing as unsquashfs does nothing with
the xattr data...

Plus move get_xattrs out of read_xattrs.c into read_fs.c. It is only used
by mksquashfs, and having it in read_xattrs.c causes link failure in
unsquashfs as generate_xattr is missing.
/external/squashfs-tools/squashfs-tools/unsquashfs.h
27c4b6f7f6a33bf7711c0ee8cd563e4604dc5861 02-Jul-2010 plougher <plougher> Replace fields in struct super_block copied from struct squashfs_super_block
with a nested struct squashfs_super_block
/external/squashfs-tools/squashfs-tools/unsquashfs.h
923b301e304637fd5e587eb05a6f44558abae2bd 18-Jun-2010 plougher <plougher> Change unsquashfs read_block() to take a void * rather than a char *.
Plus remove obsolete sBlk parameter in mksquashfs read_block() - thereby
unifying the signatures.
/external/squashfs-tools/squashfs-tools/unsquashfs.h
176b325add10f6b9846f771f75d8543364d4c121 18-Jun-2010 plougher <plougher> change unsquashfs read_block to take an fd
/external/squashfs-tools/squashfs-tools/unsquashfs.h
3306cb2b54a60a32664617118336ac141e1471b6 18-Jun-2010 plougher <plougher> change read_fs_bytes() from taking char * to taking void *
/external/squashfs-tools/squashfs-tools/unsquashfs.h
86561909d9ca51a4e4ce4efcfea30b41d1d08275 18-Jun-2010 plougher <plougher> rename read_bytes() to read_fs_bytes() to be consistent with mksquashfs.
Also pass fd explicitly into function, again to be consistent with mksquashfs.
/external/squashfs-tools/squashfs-tools/unsquashfs.h
aa6511ce2bb65a0801c28426414b732a88dccec4 31-Jul-2009 plougher <plougher> Remove redundant zlib.h include
/external/squashfs-tools/squashfs-tools/unsquashfs.h
097d54c5338037d70edc43350d8f945647d03245 29-Mar-2009 plougher <plougher> Add externs for read_bytes() and read_block()
/external/squashfs-tools/squashfs-tools/unsquashfs.h
3800aa66e882445b8c41c06e378dea8bd728fa3f 27-Mar-2009 plougher <plougher> Change read_uids_guids() op to return an error condition
/external/squashfs-tools/squashfs-tools/unsquashfs.h
ff61105632d8c1b2c29eb3dfa2cdc861c1039fb7 27-Mar-2009 plougher <plougher> read_fragment_table() op now returns an error condition
/external/squashfs-tools/squashfs-tools/unsquashfs.h
413527e21393700a4c77b4e75d497ee3f7dc506d 26-Mar-2009 plougher <plougher> Fix extern definition (helps if I compile it first)
/external/squashfs-tools/squashfs-tools/unsquashfs.h
c880d023e8b15ce1f66ec62363dd59a921f4d0c6 26-Mar-2009 plougher <plougher> Add missing extern for lookup_entry()
/external/squashfs-tools/squashfs-tools/unsquashfs.h
f404f4914fdb272a70e18664e8963d793cc90f44 26-Mar-2009 plougher <plougher> Fix add_entry(), lookup_entry() and struct hash_table_entry, start should be
long long rather than int!
/external/squashfs-tools/squashfs-tools/unsquashfs.h
7f6692575a1b1c8d7d55afac647b72b84b79e378 24-Mar-2009 plougher <plougher> Pass sparse flag to file writer thread via struct file_entry
/external/squashfs-tools/squashfs-tools/unsquashfs.h
a05c8638a9e2a2f84130980be899b5f1d16fbd1b 24-Mar-2009 plougher <plougher> Move path_entry, pathname and pathnames structures into unsquashfs.h
/external/squashfs-tools/squashfs-tools/unsquashfs.h
6925e4e11525496401c9c7115f3077f26302739d 24-Mar-2009 plougher <plougher> Move struct file_entry and struct squashfs_file into unsquashfs.h
/external/squashfs-tools/squashfs-tools/unsquashfs.h
49b8a5ae3503d6fa6f645c6b3dc97f3015a45bde 24-Mar-2009 plougher <plougher> Add sparse field to inode structure - used to flag if a file should be
created sparsely.
/external/squashfs-tools/squashfs-tools/unsquashfs.h
d9fbc90f4e23094ae418f9e5917b868b2ea5fd50 24-Mar-2009 plougher <plougher> Make symlink array a pointer to memory allocated as necessary
/external/squashfs-tools/squashfs-tools/unsquashfs.h
0c52ddf78ad73750fd5b83175f34354b946512c0 19-Mar-2009 plougher <plougher> Remove #include "squashfs_compat.h" and include in c files that need it
/external/squashfs-tools/squashfs-tools/unsquashfs.h
84c327d76812010835b264430e47523f185dd7d6 19-Mar-2009 plougher <plougher> Make global sBlk struct super_block rather than squashfs_super_block_3
/external/squashfs-tools/squashfs-tools/unsquashfs.h
5fab0afb7a53f127fc4ef3727007d72dcb25fdbc 19-Mar-2009 plougher <plougher> Add unified super_block structure
/external/squashfs-tools/squashfs-tools/unsquashfs.h
1e6ec3a26c4fadffb8cd8bf611e49af3b359499c 18-Mar-2009 plougher <plougher> Add externs for unsquash-4.c
/external/squashfs-tools/squashfs-tools/unsquashfs.h
813474a7141cedb76a32b66aacb45eb7c1c1fc47 16-Mar-2009 plougher <plougher> fragment_table_2 and fragment_table_3 are now local to their layout files
/external/squashfs-tools/squashfs-tools/unsquashfs.h
79d5485b9893a36ef9d23cfa429cdaec616676e3 16-Mar-2009 plougher <plougher> Get rid of CONFIG_SQUASHFS_X_0_COMPATIBILITY definition
/external/squashfs-tools/squashfs-tools/unsquashfs.h
4a28c1ea2201b0db16333728b197d130720073f2 16-Mar-2009 plougher <plougher> Rename fragment_table to fragment_table_3.
/external/squashfs-tools/squashfs-tools/unsquashfs.h
4f9c42091ba61092b5377a91a71168199d92bd46 15-Mar-2009 plougher <plougher> Add new read_uids_guids op
/external/squashfs-tools/squashfs-tools/unsquashfs.h
95fd9206a4e680bde995694cd8fb24c5685c6566 14-Mar-2009 plougher <plougher> Unsquashfs header definitions
/external/squashfs-tools/squashfs-tools/unsquashfs.h