History log of /external/squashfs-tools/squashfs-tools/unsquashfs.c
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.c
af304198183f3651ffbab317906dac1024ab61a5 13-May-2014 Phillip Lougher <phillip@squashfs.org.uk> unsquashfs: This really is the release

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
ba53f53032c46e4325bb1e4ff248b8d5a7c1988a 06-May-2014 Phillip Lougher <phillip@squashfs.org.uk> unsquashfs: update version for release

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
7f3c1887319ca4acff0787ed821628eb27c29f14 20-Apr-2014 Phillip Lougher <phillip@squashfs.org.uk> unsquashfs: extract files, fix handling of leaf name

If a pathname ended in "/" (i.e. "a/b/c/") the last pathname
component would not be recognised as a leaf name.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
56b6f5f361fe521ce75a7c189724a84987cd3d13 18-Apr-2014 Phillip Lougher <phillip@squashfs.org.uk> unsquashfs: remove_free_list(), silence bogus NULL pointer dereference

Static analysis reports a NULL pointer dereference in
remove_free_list().

This is because static analysis is too stupid to realise
if free_prev and free_next are both not NULL, then both
pointers are guaranteed to contain values. It instead
determines a not checked for situation where one pointer can
contain a value and the other contains NULL, and flags this
as a potential NULL pointer dereference, even though this
situation cannot occur.

Even though it is strictly unnecessary, it is easily to silence
static analysers by changing the check to be free_prev == NULL ||
free_next == NULL. The fact being it is sufficient for either
pointer to be NULL to know we have an empty list.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
ce2c9c3d3741fb0285f20c6da2d0c73efd3bfa35 21-Jan-2014 Phillip Lougher <phillip@squashfs.org.uk> Unsquashfs: add comment regarding SQUASHFS_TRACE and the progress bar

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
9077fad8779e259fa03326b567644374e98ff171 05-Jan-2014 Phillip Lougher <phillip@squashfs.org.uk> unsquashfs/read_fs: Always_use_fragments should be Always-use-fragments

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
cc06495ccafaf9bb7f3d078dee22f2e3b1af471c 03-Jan-2014 Phillip Lougher <phillip@squashfs.org.uk> Update dates

Have not updated the version dates for a long time. There's
been a couple of improvements since then.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
b642c41261e510bc2b314008d8b01b9902554e58 31-Dec-2013 Phillip Lougher <phillip@squashfs.org.uk> compressor: don't overload extract_options

When I added LZ4 support, I realised that Unsquashfs should
check the compression options (if any) to ensure that the decompressor
can decompress the filesystem.

This situation never occurred before because gzip and lzo doesn't
have any options, and I envisaged that xz will always implicitly be able
to *decompress* any filesystem irrespective of any hitherto unimplemented
compression features. In otherwords I anticipated we should check the
options in mksquashfs (on append), but not on decompression with
unsquashfs.

LZ4 changed that because the kernel is currently using the LZ4
legacy format, and this may change, creating a situation where in
the future there may be a new format, which is *not* currently understood.
Therefore Unsquashfs needs to check the options too.

I initially used extract_options(), but this has thrown up subtle
differences in the handling of compression options between unsquashfs
and mksquashfs. Specificallyx, in the handling of the presence of
compression options where the compressor hasn't got an extract_options
function. This is clear indication that the filesystem is newer than
the code because it has compression options whereas the code hasn't
any support for them.

Now in mksquashfs where it is appending to the filesystem, this is a
definate fail because we obviously cannot extract the options and
set the compressor to the appropriate state. But, this should not
be a fail for Unsquashfs, because in retro-fitting compression
options to a compressor which didn't originally have them (i.e. LZO),
we have to ensure that the new compression options are implicitly
decompressible by the original code, because the original code
doesn't check them.

So for instance with LZO, we cannot allow an old Mksquashfs to append
to an LZO filesystem compressed with the new compression options, but,
it is perfectly possible for an old version of Unsquashfs to decompress
this filesystem.

So don't overload extract_options, and instead introduce a new
check_options specifically for Unsquashfs, and specifically only
for the decompressors (LZ4) which need to check them.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
b55ce2730ff8cda018d8d18e64c9cbda433593af 28-Dec-2013 Phillip Lougher <phillip@squashfs.org.uk> unsquashfs: fix cache used count statistic

Fix cache used count statistic (only used in statistics dumping when
^\ is hit twice).

Occasionally when dumping the statistics I noticed the cache used
count was negative. This proved to be because I forgot to
increment the cache used count in cache lookup when the block
was found unused on the free list.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
d96caa566375861cdde8b010320e65bdb02108cd 17-Jul-2013 Phillip Lougher <phillip@squashfs.org.uk> Update dates

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
ca43a90cc07f2511652a03f6b23e26143c7a24c1 08-Jul-2013 Phillip Lougher <phillip@squashfs.org.uk> Update dates

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
b1b4fe22b339f73360c4e94e75ca46975c54bc06 22-Jun-2013 Phillip Lougher <phillip@squashfs.org.uk> unsquashfs; add aligned attribute to char buffer on stack in squashfs_stat()

this buffer is used to read a structure off disk which is then
used in-place rather than copying. So the buffer should be aligned.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
59b85a3abcbada8e2fdbfafb4c3dd2b91141d78f 21-Jun-2013 Phillip Lougher <phillip@squashfs.org.uk> unsquashfs: Call compressor_extract_options

Unsquashfs should have been calling compressor_extract_options to
check that it knew how to decompress a filesystem compressed with
the options stored in the filesystem.

As it happens xz compression up till now has been the only
compressor to use compression options, and the code has always
been able to decompress xz compressed filesystems whatever the
compression options used, and so the check hasn't been needed. But this
may change with other compressors.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
cece843c2aff7b4775b60b04f24822f477b7b488 13-Jun-2013 Phillip Lougher <phillip@squashfs.org.uk> unsquashfs: add dump_cache()

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
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.c
3327bd9640ed579e8022b0e3889f71c342a64193 10-Jun-2013 Phillip Lougher <phillip@squashfs.org.uk> unsquashfs: rename deflate/deflator thread references with inflate/inflator

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
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.c
f39ecdcf073a4c2472c02fda4f4039a9809afc1a 10-Jun-2013 Phillip Lougher <phillip@squashfs.org.uk> unsquashfs_info: add dump_state function and enable it

Add a dump_state function which dumps the queue state if
^\ is pressed twice within one second.

Currently only queue state is dumped, dumping of cache state will be
added later.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
acabfdbb5244ddc04c2d372e20b79fccdafb5cbe 07-Jun-2013 Phillip Lougher <phillip@squashfs.org.uk> unsquashfs: add dump_queue()

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
ff53fc094fa4760f2e4d602fd14ad6aa7a97cbe9 07-Jun-2013 Phillip Lougher <phillip@squashfs.org.uk> unsquashfs: make {disable|enable}_progress_bar contingent on progress flag

By doing this move logic of whether the progress bar is enabled
inside the functions, allowing {disable|enable}_progress_bar to
be called multiply to disable and enable the progress bar without
the caller knowing whether the progress bar is enabled or not.

Previously these functions unconditionally enabled and disabled
the progress bar with the associated logic in the caller.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
3642cef78fdbb9c4dc90cc6463443a6d005cfab2 07-Jun-2013 Phillip Lougher <phillip@squashfs.org.uk> unsquashfs: fix typos in pthread_sigmask() failure macro

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
e0a306c5aca0aa2ca4d07593afaef79e360213a2 07-Jun-2013 Phillip Lougher <phillip@squashfs.org.uk> unsquashfs: use pthread_sigmask() instead of sigprocmask()

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
fec0a36c9b8a2c91c2930ea57b304299490ccedf 07-Jun-2013 Phillip Lougher <phillip@squashfs.org.uk> unsquashfs: add code to dump filename when ^\ is hit

This code adds the glue code to unsquashfs to create and talk
to the info thread.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
9fdf6bba5e8babda13fe13a08e3fe555bd41bfbd 31-May-2013 Phillip Lougher <phillip@squashfs.org.uk> unsquashfs: replace cond_var and pthread_cond_timedwait() with nanosleep()

Now we no longer wake up the progress bar asynchronously, we can
replace the cond_var and pthread_cond_timedwait() with a
nanosleep().

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
559bfb898c92e302b18b975927163eb9e49bfbd2 29-May-2013 Phillip Lougher <phillip@squashfs.org.uk> unsquashfs: quieten progressbar

Remove the update of the progressbar every time an inode
is written. On a slow link/terminal this can mean unsquashfs
bottlenecks on progressbar output.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
ef15e43b707f22d64c13e9b2ca0eae8b165a1690 19-Apr-2013 Phillip Lougher <phillip@squashfs.org.uk> Move SQUASHFS_LEXX and SQUASHFS_SWAP_{SHORTS:INTS:LONGS} into squashfs_swap.h

Plus move definition of SQUASHFS_MEMCPY as well into squashfs_swap.h

Now that the separate implementations in mksquashfs.h and read_fs.h
are identical we can have one implementation, and we can
put it with the other swap macros.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
690d91306e8b20400ae8c36fd558604189b70bdc 18-Apr-2013 Phillip Lougher <phillip@squashfs.org.uk> Swap source and destination in macros in disk -> host reading code

Many years ago when Squashfs used bitfields the copying swap
macros relied on s(source) (the first parameter) to be a pointer
to the appropriate structure type.

When swapping from the host order to disk order, source was a
pointer to the appropriate type, and destination was an unaligned
pointer. However, when swapping from disk order to host order in
code that read from disk, it was the destination that was a pointer
to the appropriate type, and source was an unaligned pointer. To
accomodate this, the sense of the parameters was swapped, so the
destination pointer was given first, and then the source pointer.

This was a fairly horrible hack. Now that the rewritten swap
macros no longer require either the source or destination pointer
to be of the appropriate type, we can swap the parameters around
in the disk -> host reading code, so that all code uses
source then destination order.

Note: the Unsquashfs code that reads legacy 1.x, 2.x and 3.x
filesystems still uses the original bitfield swapping macros,
and the requirement that the first parameter is of the appropriate
type remains, this could be changed too (as there's no longer
any code which uses the macros to swap from host -> disk order)
but the swapping code is fossilised and in deep maintenance mode, and
only essential changes are made. This largely cosmetic change
(especially as the code isn't developed anymore and so any
additional swapping macros is unlikely) isn't considered sufficiently
essential to risk adding inadvertant bugs.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
e187beaec0595ba323ea5dbadda390786403d539 14-Mar-2013 Phillip Lougher <phillip@squashfs.org.uk> read_xattrs: Use error.h for read_xattrs as well

and get rid of the separate error macro implementations
in read_xattrs. This finally unifies all the error handling
into error.h

Read_xattrs.c has for a long time been an annoying special
case because it is used by both Mksquashfs and Unsquashfs,
it couldn't use the error.h infrastructure used by Mksquashfs
because that pulled in dependencies on Mksquashfs that don't
exist in Unsquashs, and it couldn't use the unsquashfs.h
infrastructure used by Unsquashfs because that pulled in
dependencies on Unsquashfs that don't exist in Mksquashfs,
and so it had to define its own macros. But this has meant
it has not benefited from the improvements in error handling
added to the Mksquashfs/Unsquashfs error infrastructure.

The previous commits have finally broken the conflicting
dependencies introduced by error.h, unnecessary dependencies
have been removed and both Mksquashfs and Unsquashfs now
provide the necessary functions used by error.h...

So we can finally drop the read_xattrs.c only error macro
implemenation :-)

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
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.c
3fcced11c3e4b49b2b687010304b5156935a3b2c 03-Feb-2013 Phillip Lougher <phillip@squashfs.org.uk> unsquashfs: add support for displaying compression options

Add support to display the compression options used to
compress the filesystem in -stat.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
91f125a8dec54a0201423182ec523e975f93053b 02-Feb-2013 Phillip Lougher <phillip@squashfs.org.uk> unsquashfs: fix error statement

Forgot to update error message when function was renamed.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
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.c
e89dabed981f39b54ca5046cfc2290dbe48961b5 28-Jan-2013 Phillip Lougher <phillip@squashfs.org.uk> unsquashfs: bring uncompress_directory_table() into line

with the other filesystem table reading functions.

In particular, rename to read_directory_table() and return
errors as FALSE rather than exiting inside the function.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
1ed1b1bfa19e9edd0e59da61d9f4c99021fb0b67 28-Jan-2013 Phillip Lougher <phillip@squashfs.org.uk> unsquashfs: bring uncompress_inode_table() into line

with the other filesystem table reading functions.

In particular, rename to read_inode_table() and return
errors as FALSE rather than exiting inside the function.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
066439a35c69c023ca15156da81987fe5264475f 28-Jan-2013 Phillip Lougher <phillip@squashfs.org.uk> unsquashfs: harden inode/directory table reading against corrupted filesystems

Harden inode and directory table reading, checking against
unexpected metadata block length, ensuring no buffer
overflow/underflow occurs.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
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.c
70f4aa66fa20ac3f86605e1330ccf241440e2cc3 30-Dec-2012 Phillip Lougher <phillip@squashfs.org.uk> unsquashfs: check for integer overflow in user input

Check for integer overflow in values derived from processors, which
is input from the user if the -processor option is given.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
498da46ad7e6bd0a1fac0ec81d85ce1ac56bf385 28-Dec-2012 Phillip Lougher <phillip@squashfs.org.uk> unsquashfs: add -user-xattrs option to only extract user.xxx xattrs

Add -user-xattrs option to Unsquashfs to signify that only
user.xxx xattrs are to be extracted. This suppresses the
error message that is generated if there are non-user xattrs
in the filesystem, and unsquashfs is not being run as root
(and so only user.xxx xattrs can be extracted).

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
1bfe70795da28679fcb5305da586ce6d8118d6bb 28-Dec-2012 Phillip Lougher <phillip@squashfs.org.uk> Unsquashfs: don't treat unrecognised xattr prefixes as xattr read failure

There are two users for get_xattr(), Mksquashfs uses it to read the
xattrs from the filesystem on appending, and Unsquashfs uses it
to retrieve the xattrs for writing to disk.

Unfortunately, the two users disagree on what to do with unknown
xattr prefixes, Mksquashfs wants to treat this as fatal otherwise
this will cause xattrs to be be lost on appending. Unsquashfs
on the otherhand should want to retrieve the xattrs which are known and
to ignore the rest, this allows Unsquashfs to cope more gracefully
with future versions which may have unknown xattrs, as long as the
general xattr structure is adhered to, Unsquashfs should be able
to safely ignore unknown xattrs, and to write the ones it knows about,
this is better than completely refusing to retrieve all the xattrs.

So add ignore parameter. If ignore is TRUE then don't treat unknown
xattr prefixes as a failure to read the xattr.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
83847c1beb852a7b3f5906a0f4c90be659e46794 23-Dec-2012 Phillip Lougher <phillip@squashfs.org.uk> mksquashfs/unsquashfs/pseudo/sort: Fix ERROR statement

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
afbbfbf11bc846056666d073c94a9c8e84fcb1ca 23-Dec-2012 Phillip Lougher <phillip@squashfs.org.uk> unsquashfs: Add MAX_LINE definition

rather than using bare constants.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
09b269ae68dcc1ce96b8d17cf8a09a2b0dfcbf2a 22-Dec-2012 Phillip Lougher <phillip@squashfs.org.uk> Fix some limits in the file parsing routines

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
e4d5a8ee19193b451884e96b6405b6390e5b7c5e 20-Dec-2012 Phillip Lougher <phillip@squashfs.org.uk> unquashfs: Rewrite extract file processing

The previous version suffered from a number of nasty problems.

1. It couldn't handle extract files starting with one or more
newlines.

2. It couldn't handle filenames starting with one or more spaces.

3. If a line exceeded the line limit (16384 bytes), the line would be
silently truncated.

4. If file reading failed for any other reason than EOF this was
not reported.

Fix these issues, and also add support for comment lines
(prefixed by #).

Files starting with spaces or # can be escaped by \, i.e.

\#filename or
\ filename

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
afd5fec5ba90ad8efb344f814128e0d746001ea5 15-Dec-2012 Phillip Lougher <phillip@squashfs.org.uk> unsquashfs: avoid buffer overflow in print_filename() using sprintf()

Switch to using snprintf() rather than sprintf().

Plus add an extra check for snprintf() returning error.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
fbbbf021a79950f7f543e28c63622be07e1ea01b 12-Dec-2012 Phillip Lougher <phillip@squashfs.org.uk> unsquashfs: fix name under-allocation in process_extract_files()

fscanf is limited to reading 16384 bytes into name() allocated on
the stack, but, this does not take into account the terminating
'\0' and so name should be allocated to 16385 rather than
16384.

Mark name as overflow safe.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
62859d215e7f828ace8501f5863f0c3d8b48ebf3 30-Nov-2012 Phillip Lougher <phillip@squashfs.org.uk> Mark temporary strings on stack used by regerror as overflow safe

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
454c96fede0c4c424308744cbbf861df17b28f73 30-Nov-2012 Phillip Lougher <phillip@squashfs.org.uk> unsquashfs: dynamically allocate pathname in pre_scan()

rather than allocating it on the stack.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
d27d51b4bc39e050392303009e08273d9f38bdcc 30-Nov-2012 Phillip Lougher <phillip@squashfs.org.uk> unsquashfs: dynamically allocate pathname in dir_scan()

rather than allocating it on the stack.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
7f1f61927a265b3c32f73afec110807b43dc1193 29-Nov-2012 Phillip Lougher <phillip@squashfs.org.uk> unsquashfs: parse_number(), add additional comment re strtol {under/over}flow

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
2c7ffbdfb7ef17a2032864e074a43d00631eeb8e 26-Nov-2012 Phillip Lougher <phillip@squashfs.org.uk> unsquashfs: use new parse_number() function for -processors option

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
2b1aa06131c7d8d4361d79172afb9594e66a7280 24-Nov-2012 Phillip Lougher <phillip@squashfs.org.uk> unsquashfs: fix CVE-2012-4025

Fix integer overflow exploit in queue_init() leading to heap overflow.

This was a complex exploit to fix because analysis of the code showed
there were multiple ways this exploit could be triggered, in addition
to the exploit vector documented in the CVE.

Exploit:

Data_buffer_size and fragment_buffer_size are added together and
passed to the queue_init function defined as:

struct queue *queue_init(int size)

Unfortunately, data_buffer_size and fragment_buffer_size are ints, and
contain values supplied by the user. The addition of these values can
overflow, leading to a negative size passed to queue_init()

In queue_init, space is allocated by

queue->data = malloc(sizeof(void *) * (size + 1));

Given a sufficiently large negative size, (size + 1) * sizeof(void *)
can overflow leading to a small positive number, leading to a small
amount of buffer space being created.

In queue_get, the read pointer is moved through the buffer space by

queue->readp = (queue->readp + 1) % queue->size;

The negative sign of size is ignored, leading to readp going beyond the
allocated buffer space.

Analysis of exploit:

The exploit above is subtle, and centres around passing a negative
number to queue_init() due to integer overflow. This exploit can be
fixed by adding a check for negative size passed into queue_init().

However, further analysis of the exploit shows it can be triggered much
more easily. Data_buffer_size and fragment_buffer_size added together
can produce a value less than MAX_INT, which when passed into
queue_init() is not negative. However, this less than MAX_INT value can
overflow in the malloc calculation when multipled by sizeof(void *),
leading to a small positive integer. This leads to the situation where
the buffer allocated is smaller than size, and subsequent heap overflow.

Checking for a negative number in queue_init() is insufficient to
determine if overflow has or will occur. In fact any one time
"spot checks" on size is fraught with the problem it can fail to detect
previous overflow (i.e. previous overflow which has resulted in a small
positive number is impossible to distinguish from a valid small positive
number), and it cannot detect if overflow will occur later.

Due to this the approach to the fix is to check every operation
performed on data_buffer_size, fragment_buffer_size and any values
derived from them. All calculations are checked for potential overflow
before they are performed.

This has the following advantages:

1. It allows the code to trap exactly where the overflow takes place,
leading to more descriptive error messages.

2. It ensures overflow situations do not feed through to later
calculations making it more difficult to determine if overflow has
occurred.

3. It ensures too large values for data and fragment buffer sizes are
correctly rejected even if they don't trigger the exploits.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
04281b2f978bb7b30aa1394129ea99d2d9c47d26 22-Nov-2012 Phillip Lougher <phillip@squashfs.org.uk> unsquashfs: fix CVE-2012-4024

Fix potential stack overflow in get_component() where an individual
pathname component in an extract file (specified on the command line
or in an extract file) could exceed the 1024 byte sized targname
allocated on the stack.

Fix by dynamically allocating targname rather than storing it as
a fixed size on the stack.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
2c5e1385ccd9ee8e7d274331cc8a646948874538 05-Nov-2012 Phillip Lougher <phillip@squashfs.org.uk> unsquashfs: fix oversight in directory permission setting

When descending the directory structure Unsquashfs used to
create directories with the permissions obtained from
the filesystem and then unsquash the contents of
the directory, descending into sub-directories as appropriate.

This has in hindsight an obvious oversight. Directories in
Squashed filesystems may contain files and directories but
may be read-only and even lack the execute bit. Setting
such permissions means creating the directory contents
fails because the directory is created without the
necessary permissions.

Fix this by initially creating directories with User
read/read/execute, and only set the permissions when
unwinding after the directory contents has been produced.

This fix is slightly complicated by the parallel and
asynchronous nature of file writing. As file writing
is done in parallel in another thread, when the main
thread unwinds the file writes may still be queued,
leading to the case that the writer thread will fail
to set the attributes for the file if any of the
parent directories in the pathname lack the execute
bit (lack of the write bit is OK as we don't need to write
to the directory, but we need the execute bit to be set
to descend into it).

Guard against this from happening by having the main thread
queue the directory set attributes operation to the writer
thread. This ensures all relevant file write operations are
completed before the directory permissions are changed.

Thanks to Andy Lutomirski for reporting this bug.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
a81a83190da0667e78d774cefc4b1151e2de9ace 02-Nov-2012 Phillip Lougher <phillip@squashfs.org.uk> Get rid of obsolete CVS tag in mksquashfs/unsquashfs version

Replace with git.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
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.c
cb32e1c6050eba57d59bef5a35a75ffc19d3c699 16-Jun-2012 Phillip Lougher <phillip@squashfs.org.uk> unsquashfs: fix open file limit

Previously Unsquashfs relied on the to_writer queue being
set to 1000 to limit the amount of open file read-ahead to a
maximum of 500. For the default process limit of 1024 open files
this was perhaps acceptable, but it obviously breaks if ulimit has
been used to set the open file limit to below 504 (this includes
stdin, stdout, stderr and the Squashfs filesystem being unsquashed).

More importantly setting the to_writer queue to 1000 to limit
the amount of files open has always been an inherent performance
hit because the to_writer queue queues blocks. It limits the
block readhead to 1000 blocks, irrespective of how many files
that represents. A single file containing more than 1000 blocks
will still be limited to a 1000 block readahead even though the
data block cache typically can buffer more than this (at the
default data cache size of 256 Mbytes and the default block size
of 128 Kbytes, it can buffer 2048 blocks). Obviously the
caches serve more than just a read-ahead role (they also
cache decompressed blocks in case they're referenced later e.g.
by duplicate files), but the artificial limit imposed on
the read-ahead due to setting the to_writer queue to 1000 is
unnecessary.

This commit does away with the need to limit the to_writer queue,
by introducing open_wait() and close_wake() calls which correctly
track the amount of open files.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
009263430d50ee32f3757c3c34d1f06262759f5d 09-Jun-2012 Phillip Lougher <phillip@squashfs.org.uk> unsquashfs: add a commment and fix some other comments

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
916c28e94a1e7c16e06811ba0f8b23e428597bcb 19-Jan-2012 Phillip Lougher <phillip@squashfs.org.uk> unsquashfs: completely empty filesystems incorrectly generate an error

In squashfs_opendir() if the directory is empty, skip the
unnecessary lookup_entry, this fixes the corner case with
completely empty filesystems where lookup_entry correctly
returning -1 is incorrectly treated as an error

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
0ca44ca7b28597911258e0c27bd82feef73f2256 14-Jan-2012 Phillip Lougher <phillip@squashfs.org.uk> unsquashfs: reorganise table trace statements in squashfs_stat

Reorganise table trace statements into file system write order, and
add missing lookup_table trace statement for 3.x and 4.0 file systems.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
0d3bad2f4d40cfca04d3b4c38cc6920dde8aae91 13-Apr-2011 Phillip Lougher <phillip@lougher.demon.co.uk> compressors: mksquashfs/unsquashfs broken if GZIP_SUPPORT is not defined

Fix mistake in gzip_comp_ops structure used when no GZIP_SUPPORT
is defined. The missing NULLs in the structure caused
mksquashfs/unsquashfs to believe no compressors were present.

While fixing this also make the long sequence of NULLs unnecessary
by rearranging the structure. This ensures that this bug should
not arise in the future as the unsupported compressor structures now
don't need to be updated every time the number of compressor
functions are changed.

Signed-off-by: Phillip Lougher <phillip@lougher.demon.co.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
cc7cea5b0d004fbaaf5e1060e6ed0fa9367e7ef0 13-Mar-2011 Phillip Lougher <phillip@lougher.demon.co.uk> unsquashfs: add checks for corrupted data in opendir functions

Add checks for corrupted data in squashfs_opendir (squashfs_opendir_1,
squashfs_opendir_3 and squashfs_opendir_4), and check for this in
pre_scan() and dir_scan().

Signed-off-by: Phillip Lougher <phillip@lougher.demon.co.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
d56f6723626a391b473c2c023b628abcd8ed31e3 28-Feb-2011 Phillip Lougher <phillip@lougher.demon.co.uk> squashfs-tools 4.2 release

Signed-off-by: Phillip Lougher <phillip@lougher.demon.co.uk>
/external/squashfs-tools/squashfs-tools/unsquashfs.c
bf1ad241aee59b57cbb19e80171c147c88f825fd 31-Dec-2010 plougher <plougher> Update date
/external/squashfs-tools/squashfs-tools/unsquashfs.c
64e83fda63a1b8408ffbfa466e6c67b0de7a8c99 31-Dec-2010 plougher <plougher> get rid of squashfs_super_block typedef
/external/squashfs-tools/squashfs-tools/unsquashfs.c
94770e8996ac1ad7eaa0d632afef4f4e651c50ef 31-Dec-2010 plougher <plougher> Update date
/external/squashfs-tools/squashfs-tools/unsquashfs.c
b48442b2e37b3cb7efbffb032968f115eec7963c 31-Dec-2010 plougher <plougher> Use compressor_uncompress()
/external/squashfs-tools/squashfs-tools/unsquashfs.c
87a2621a2c0bb9be76f73d687fe5ccc5541b49f0 20-Dec-2010 plougher <plougher> Update dates.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
44a6967088416c9bd6ee7165bde59c9ba5ccb704 16-Dec-2010 plougher <plougher> Move fragment_data, file_data, data and created_inode assignment out of ifs in main()
/external/squashfs-tools/squashfs-tools/unsquashfs.c
6697cff2155192a3e0c182a3cef046ebf215ac32 16-Dec-2010 plougher <plougher> Move thread assignment out of if in initialise_threads()
/external/squashfs-tools/squashfs-tools/unsquashfs.c
63e21ee4b795bb900f82c18e7b5c6f7369907360 16-Dec-2010 plougher <plougher> Move fd assignment out of if in process_extract_files()
/external/squashfs-tools/squashfs-tools/unsquashfs.c
9dd4507fac1c96098eda8abe699a813a59451633 16-Dec-2010 plougher <plougher> Move paths assignment out of if in add_paths()
/external/squashfs-tools/squashfs-tools/unsquashfs.c
6037584bc3e861ff932f5244105959c56c8560e3 16-Dec-2010 plougher <plougher> Move block_list and file assignment out of if in write_file()
/external/squashfs-tools/squashfs-tools/unsquashfs.c
cb2cff9a58d8d92fc6edb95049469188ee49c6c9 16-Dec-2010 plougher <plougher> Move hash_table_entry assignment out of it in add_entry()
/external/squashfs-tools/squashfs-tools/unsquashfs.c
266b83c3b162a6764407753909712fcaade951f2 16-Dec-2010 plougher <plougher> Move user and group assignments out of if in print_filename()
/external/squashfs-tools/squashfs-tools/unsquashfs.c
7b53be8c83b949517c343d9c6d88243578753c3a 16-Dec-2010 plougher <plougher> Move queue->data assignment out of if in queue_init
/external/squashfs-tools/squashfs-tools/unsquashfs.c
c766500607f1ea7494b8360409be3d8ea66f9761 16-Dec-2010 plougher <plougher> Tidy stat() function
/external/squashfs-tools/squashfs-tools/unsquashfs.c
de61cdcdf3e3edb6eb1c579ec9968c22f664c9f8 16-Dec-2010 plougher <plougher> Add stat support for displaying no_xattrs option
/external/squashfs-tools/squashfs-tools/unsquashfs.c
7ca09d1320cdc30a068f179b93ca5c141b55c395 16-Dec-2010 plougher <plougher> Make stat output for fragment info more succinct
/external/squashfs-tools/squashfs-tools/unsquashfs.c
ba95dd35ef0e9f618d926ddc1a595076adc23818 15-Dec-2010 plougher <plougher> Remove checkdata entry from stat if a 4.0 filesystem - checkdata is no
longer supported
/external/squashfs-tools/squashfs-tools/unsquashfs.c
5025833fa2a87a4d5e0958b3ba83e5dfb73208ac 15-Dec-2010 plougher <plougher> Display nox flag in stat
/external/squashfs-tools/squashfs-tools/unsquashfs.c
8bc376ba1f7110fb88989e5134b74aa8412fb00e 12-Nov-2010 plougher <plougher> Fix "fagment" typos
/external/squashfs-tools/squashfs-tools/unsquashfs.c
85917a285edbd4bb78f1b245f66c634d1e0d4029 12-Nov-2010 plougher <plougher> Fix bug introduced when changing dir_scan to return void - if mkdir
fails we should not try to unpack the contents of that directory...
/external/squashfs-tools/squashfs-tools/unsquashfs.c
dc12a23250df16da4c20d5e29f66126ed4d7e895 24-Oct-2010 plougher <plougher> Update version
/external/squashfs-tools/squashfs-tools/unsquashfs.c
87f5e0e29e5f56516daaa51b1d36cde3d86a0f1f 24-Oct-2010 plougher <plougher> Fix sparse file writing when holes are larger than 2^31-1
/external/squashfs-tools/squashfs-tools/unsquashfs.c
613d8c73becfc485e9df870798fa861bf2d5724f 17-Sep-2010 plougher <plougher> Hopefully these really are the release versions
/external/squashfs-tools/squashfs-tools/unsquashfs.c
9ced68c0bf52bcd177fc6d0b07f55e6d5f23ca58 16-Sep-2010 plougher <plougher> Unsquashfs, new release
/external/squashfs-tools/squashfs-tools/unsquashfs.c
053da34003852e494400c1ade35b526e1821b576 16-Sep-2010 plougher <plougher> xattr_id_table_start add TRACE
/external/squashfs-tools/squashfs-tools/unsquashfs.c
8144e254cf875c82c425eeb59e2464ff08606210 15-Sep-2010 plougher <plougher> Update dates
/external/squashfs-tools/squashfs-tools/unsquashfs.c
99c8abf4de4297b3159355a0cefe9ad6f5182827 15-Sep-2010 plougher <plougher> Remove the comment that gzip is always supported, this is no longer the
case. The previous move of the compressor supported check ensures that
gzip is checked for support for gzipped 1.x, 2.x and 3.x file systems too
/external/squashfs-tools/squashfs-tools/unsquashfs.c
f025ee7d93e3ce56f1fdbd0661a89172500ba168 15-Sep-2010 plougher <plougher> Move the decompressor supported check out of read_super() and put it
after the squashfs stat. The stat operation doesn't need to decompress
anything to stat the superblock, and placing the check after the stat enables
unsquashfs versions without the necessary decompressor to still successfully
stat a file system.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
11fbbfefc1e9f048c6c19e18eb61ab92e5c418fa 29-Aug-2010 plougher <plougher> update dates
/external/squashfs-tools/squashfs-tools/unsquashfs.c
ebd1b3f9106f18ae8bf74556f0819f32c66a953e 25-Aug-2010 plougher <plougher> update date
/external/squashfs-tools/squashfs-tools/unsquashfs.c
df9d38a515489c2c573754ad81abd230dfd8b1f0 24-Aug-2010 plougher <plougher> Make the default behaviour of Unsquashfs with respect to extracting
xattrs (-no-xattr option set or unset) a build time option. Also add an
extra -xattr option to Unsquashfs for use where the build time default is not
to extract xattrs.

If XATTR support is disabled at build time (XATTR_SUPPRT commented out), then
make the default behaviour of Unsquashfs to not extract xattrs, and show
the -xattr option as unsupported in the help message.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
31638061a6de0cb89093672aa71ddeb42f2eb28a 24-Aug-2010 plougher <plougher> Add -no[-xattrs] option to ignore any xattrs in filesystem
/external/squashfs-tools/squashfs-tools/unsquashfs.c
9cc26b77a61fefdeb45f5c487c2bfdefd394b66f 17-Aug-2010 plougher <plougher> uclibc does not have get_nprocs()
/external/squashfs-tools/squashfs-tools/unsquashfs.c
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.c
e3206fad5b70e7e0527db2a627ad26616a8a2429 22-Jul-2010 plougher <plougher> Wrap some lines
/external/squashfs-tools/squashfs-tools/unsquashfs.c
a2cff53655359b044ea88baa76cb16d1c8f44d2a 22-Jul-2010 plougher <plougher> Make dir_scan return void, the error return was always ignored anyway
/external/squashfs-tools/squashfs-tools/unsquashfs.c
b807ab3497c01a49fed6f9daafce3bfc599a9421 22-Jul-2010 plougher <plougher> Pre_scan no longer returns error, and so make it void. This fixes the
problem that the error return from pre_scan was never checked anyway
/external/squashfs-tools/squashfs-tools/unsquashfs.c
94a76395e183f472af86968a9a1c434dc82d1a6c 22-Jul-2010 plougher <plougher> Opendir_x no longer returns error, and so delete the checks
/external/squashfs-tools/squashfs-tools/unsquashfs.c
312e50b7b8c9dd39577657bd3d79fcedf6e91a1b 22-Jul-2010 plougher <plougher> read_inode now doesn't return error, and so delete the error checks.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
07d4d0dcafeb198a568f859b88034637e6e7a8e7 22-Jul-2010 plougher <plougher> Make the realloc code in uncompress_directory_table clearer.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
c1a81ec0ca6911533aec74e690f55b7d0a7131a4 22-Jul-2010 plougher <plougher> Make realloc code in uncompress_inode_table more readable.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
3488d3bb3b89c394534ad2be909b661771a9581b 22-Jul-2010 plougher <plougher> Check for realloc failure in add_subdir
/external/squashfs-tools/squashfs-tools/unsquashfs.c
fd628227871aecb36bb2b4f9c7f664f731510cde 22-Jul-2010 plougher <plougher> Check for realloc failure in add_path
/external/squashfs-tools/squashfs-tools/unsquashfs.c
c5671cbe8dffaff7062ceb7b75f8d96c657a67b7 22-Jul-2010 plougher <plougher> Add check for malloc failure in init_subdir.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
1f3cc42a2f77966d321a38d1709eba26f71104bd 22-Jul-2010 plougher <plougher> Add check for malloc failure in add_path.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
4a39fa82d4614c18d2977be7898d78d20ba01a49 22-Jul-2010 plougher <plougher> Abort on malloc failure in add_entry, rather than return NULL which
isn't checked.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
7227416360c2f249a0783dffef6725ad03b61c99 22-Jul-2010 plougher <plougher> Abort on malloc failure in cache_get, rather than return NULL
/external/squashfs-tools/squashfs-tools/unsquashfs.c
360570574b8f7786728d91d5fe4a0a4aa291fa03 22-Jul-2010 plougher <plougher> Abort on malloc failure in cache_init, rather than return NULL, which
isn't checked.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
0e0cc6f6dccdc5460c292b0a5accc1184a07f3f5 22-Jul-2010 plougher <plougher> Same for this malloc failure
/external/squashfs-tools/squashfs-tools/unsquashfs.c
62b2d7649ad84234afd928a43f9a2c1612eef361 22-Jul-2010 plougher <plougher> Abort on malloc failure in queue_init, rather than return NULL which
isn't checked.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
8d4404d1f63a558f4903eb8c939bd4306a805d0f 21-Jul-2010 plougher <plougher> Update copyright
/external/squashfs-tools/squashfs-tools/unsquashfs.c
fe3954aeda54625ea1d9c5444814ab096287df09 21-Jul-2010 plougher <plougher> Improve xattr error handling.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
a8a3a6874e373fb5d7d8569bfd8efc9a563a0b14 08-Jul-2010 plougher <plougher> Add check for sBlk.s.xattr_id_table_start == SQUASHFS_INVALID_BLK in
xattr reading - many older mksquashfs4 versions only set
xattr_id_start to SQUASHFS_INVALID_BLK and left the xattr field in
extended inodes unintialised.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
001623112f09a43e94c8d4e7270e49c29e066dc9 05-Jul-2010 plougher <plougher> Only try to write non "user." xattrs if root process.

Also if lsetxattr returns error, decode errno for the common cases of out of
space, or underlying file system doesn't suport xattrs.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
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.c
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.c
99ec5405b480bf852a0d9eed20693b750ed68943 04-Jul-2010 plougher <plougher> Add knowledge of the new extended inodes to create_inode
/external/squashfs-tools/squashfs-tools/unsquashfs.c
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.c
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.c
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.c
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.c
176b325add10f6b9846f771f75d8543364d4c121 18-Jun-2010 plougher <plougher> change unsquashfs read_block to take an fd
/external/squashfs-tools/squashfs-tools/unsquashfs.c
3c497d8a675e4a49f70a242052633d3ec6e8eb64 18-Jun-2010 plougher <plougher> update date
/external/squashfs-tools/squashfs-tools/unsquashfs.c
3306cb2b54a60a32664617118336ac141e1471b6 18-Jun-2010 plougher <plougher> change read_fs_bytes() from taking char * to taking void *
/external/squashfs-tools/squashfs-tools/unsquashfs.c
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.c
df3c3d0f393d96c6ab85b916270a8e8956494322 18-Mar-2010 plougher <plougher> Update date to reflect current version
/external/squashfs-tools/squashfs-tools/unsquashfs.c
b5a32017ae5c8f1b4d00b296e8f6fef140e8dd99 08-Mar-2010 plougher <plougher> Fix floating point error in progress_bar when max == 0
/external/squashfs-tools/squashfs-tools/unsquashfs.c
0a0d045642e8e413f90b770539193d3fd1522786 07-Mar-2010 plougher <plougher> Comment tidying
/external/squashfs-tools/squashfs-tools/unsquashfs.c
b7bb000643cd21c615a0366a7365441aa9c433f2 07-Mar-2010 plougher <plougher> Add an extra TRACE statement for extract debugging
/external/squashfs-tools/squashfs-tools/unsquashfs.c
18ac9434d7eae56ed8f2718f31657f82c5edb9d3 01-Mar-2010 plougher <plougher> Update date.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
259c69a20acee94955a1556f8f93222bd175e0c9 30-Aug-2009 plougher <plougher> Update dates.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
076b053e2cce5c9172b4f385e866c2e606712a32 29-Aug-2009 plougher <plougher> Display decompressors available in Unsquashfs.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
13df178e33c56016f95b72a33b79c0747b77f1a3 29-Aug-2009 plougher <plougher> Move (De)Compressors available message out of display_compressors()
function, and fix the output to go to stdout
/external/squashfs-tools/squashfs-tools/unsquashfs.c
764dab5cd71bda25bc755de08908dbbd58c1a450 24-Aug-2009 plougher <plougher> Enable compression default to be selected via Makefile
/external/squashfs-tools/squashfs-tools/unsquashfs.c
81c52a5f64a644ab61eb244740ff55553c8a60a2 07-Aug-2009 plougher <plougher> Update date
/external/squashfs-tools/squashfs-tools/unsquashfs.c
e5e5a7502f722fae4f057f49932fe4de2501f6e8 07-Aug-2009 plougher <plougher> Display compression type in -stat option and reorder output slightly
/external/squashfs-tools/squashfs-tools/unsquashfs.c
52a452e54bf1da51f608c6df98d1e0a66c35453e 07-Aug-2009 plougher <plougher> Make display_compressors() take an indent string
/external/squashfs-tools/squashfs-tools/unsquashfs.c
4c6e1a35726c0f776ee16d570a13fa32148c5bad 03-Aug-2009 plougher <plougher> Display decompressors available when trying to unsquash a filesystem
with an unsupported compression type
/external/squashfs-tools/squashfs-tools/unsquashfs.c
c6ab26edb0c0da6b276281960d9c8748a70886fe 02-Aug-2009 plougher <plougher> Fix a couple of TRACE and ERROR statements
/external/squashfs-tools/squashfs-tools/unsquashfs.c
efb131324665fe07e62166b52ef42c3d7646320c 01-Aug-2009 plougher <plougher> Update version and date
/external/squashfs-tools/squashfs-tools/unsquashfs.c
efda88fd6fbb19543a86b5f8d15b437bba8c4674 31-Jul-2009 plougher <plougher> Add compressor framework and use compressor uncompress
/external/squashfs-tools/squashfs-tools/unsquashfs.c
cdebd2b8ae4b1ac39eefb5f0c556f0d2e3dc3d24 21-Apr-2009 plougher <plougher> -Wall warnings
/external/squashfs-tools/squashfs-tools/unsquashfs.c
ab2f812025f7edf14b859d89d5c7396d52e74319 05-Apr-2009 plougher <plougher> Update release date
/external/squashfs-tools/squashfs-tools/unsquashfs.c
f6277f82ea19a6f2066e69ab005922f24b7e4459 31-Mar-2009 plougher <plougher> Update for release
/external/squashfs-tools/squashfs-tools/unsquashfs.c
c435240f52b78b0ef498118727ba8dad186db26b 31-Mar-2009 plougher <plougher> More code tidying
/external/squashfs-tools/squashfs-tools/unsquashfs.c
01b4328a47a3c1ecd9ccc3ff6cde37ea973bb3c6 30-Mar-2009 plougher <plougher> Add missing isatty checks for TIOCGWINSZ ioctl...
/external/squashfs-tools/squashfs-tools/unsquashfs.c
d4204758f77acb5a371fa1487a755b76a05d5476 30-Mar-2009 plougher <plougher> Code tidy
/external/squashfs-tools/squashfs-tools/unsquashfs.c
bfa6e0b4ecb0e0cf3d451d1a094bc88c88593f76 30-Mar-2009 plougher <plougher> Disable progress_bar if SQUASHFS_TRACE is defined.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
513f37ed1a2bef56f1681c0e3eec8971e4f0bd65 30-Mar-2009 plougher <plougher> Update date.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
c27a3d72b339d80d38623a4ee5a42601338fb4c9 30-Mar-2009 plougher <plougher> Don't bother printing failure message on TIOCGWINSZ ioctl failure if output
is to a file (i.e. log file).
/external/squashfs-tools/squashfs-tools/unsquashfs.c
dce832998340bea4236fddb5ba1525121044ce18 30-Mar-2009 plougher <plougher> Quieten progress bar when output is sent to a log file.

Thanks to Colin Watson of Canonical who sent this patch for mksquashfs.c
/external/squashfs-tools/squashfs-tools/unsquashfs.c
eaf639366792995c36ae7295bddf534f6f416643 30-Mar-2009 plougher <plougher> Get rid of printf in progress_bar() and fold check into following check.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
8b4cd555e52a1cb5c4ee8b0606c126b2be286fe7 29-Mar-2009 plougher <plougher> Update date
/external/squashfs-tools/squashfs-tools/unsquashfs.c
bd14e02479f5cf9050456c2268b3e7581869c364 27-Mar-2009 plougher <plougher> Update date
/external/squashfs-tools/squashfs-tools/unsquashfs.c
1c5d8b0e7c8e68373eeb28311f9f9ccae2d9c617 27-Mar-2009 plougher <plougher> Add write_bytes() which correctly handles writes less than expected and
EINTR
/external/squashfs-tools/squashfs-tools/unsquashfs.c
d7f3de3408089ce187d8bc26f6072730c77628da 27-Mar-2009 plougher <plougher> Handle EOF and EINTR in read_bytes
/external/squashfs-tools/squashfs-tools/unsquashfs.c
1a7e7e871169a6cb6e3470a50b33db83830886e2 27-Mar-2009 plougher <plougher> Check return value of read_uids_guids() op.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
cce13b2f8f73a4224f9dcfe203c992a09f22c6bc 27-Mar-2009 plougher <plougher> check return value of read_fragment_table() op.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
41da3230b2ac91a73f9190676f66b3d80b21c270 26-Mar-2009 plougher <plougher> Add yet more TRACE statements
/external/squashfs-tools/squashfs-tools/unsquashfs.c
2f60990fb0352f7a30e0281a066458dbf033618b 26-Mar-2009 plougher <plougher> Remove erroneous characters (vi can be a pain sometimes)
/external/squashfs-tools/squashfs-tools/unsquashfs.c
68ba26e4a9ee62315d5d2bf5c23bfbc02347b646 26-Mar-2009 plougher <plougher> More ERROR statements, so routines don't silently fail without saying why they
failed.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
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.c
54660e177ba40ab08ee2f3304b9f030eb5675677 26-Mar-2009 plougher <plougher> Add missing swap setting code in read_super() for 4.0 super_blocks
/external/squashfs-tools/squashfs-tools/unsquashfs.c
c6e684fd0562ef5339ea2c0b3ce09aa6149708cd 25-Mar-2009 plougher <plougher> Add support for new 4.0 sparse files
/external/squashfs-tools/squashfs-tools/unsquashfs.c
7f6692575a1b1c8d7d55afac647b72b84b79e378 24-Mar-2009 plougher <plougher> Pass sparse flag to file writer thread via struct file_entry
/external/squashfs-tools/squashfs-tools/unsquashfs.c
a05c8638a9e2a2f84130980be899b5f1d16fbd1b 24-Mar-2009 plougher <plougher> Move path_entry, pathname and pathnames structures into unsquashfs.h
/external/squashfs-tools/squashfs-tools/unsquashfs.c
6925e4e11525496401c9c7115f3077f26302739d 24-Mar-2009 plougher <plougher> Move struct file_entry and struct squashfs_file into unsquashfs.h
/external/squashfs-tools/squashfs-tools/unsquashfs.c
427e2790c9ae74e2ff2c25e80a469cee0bbcae44 24-Mar-2009 plougher <plougher> Free symlink data
/external/squashfs-tools/squashfs-tools/unsquashfs.c
0f74340e3b68533339adc60f418ddf59fa188f61 20-Mar-2009 plougher <plougher> Fix squashfs_stat for 4.0 filesystems
/external/squashfs-tools/squashfs-tools/unsquashfs.c
d54f4121ee9097bf400710def311dca5abf310e2 19-Mar-2009 plougher <plougher> Implement read_ids_guids_4()
/external/squashfs-tools/squashfs-tools/unsquashfs.c
f6bc3209482f955de1d37bc8f877c6ec399736ec 19-Mar-2009 plougher <plougher> Uodate date
/external/squashfs-tools/squashfs-tools/unsquashfs.c
33277b81b13643bb3b89a710d6612c182f36d1a6 19-Mar-2009 plougher <plougher> Add 4.0 layout check for minor == 0. Unsquashfs obviously can't handle
filesystem versions I have not defined yet!
/external/squashfs-tools/squashfs-tools/unsquashfs.c
4ce87501a1b07102cef9750060d9a53cd5b00a61 19-Mar-2009 plougher <plougher> Remove obsolete check (unsquashfs should handle all squashfs 3 filesystem
versions ever generated by mksquashfs, there won't ever now be a newer
3.x layout).
/external/squashfs-tools/squashfs-tools/unsquashfs.c
5ff400bfbae6bb397cf3110190e83a29725fcd07 19-Mar-2009 plougher <plougher> Fix typo in read_super() conversion for squashfs 1 filesystems
/external/squashfs-tools/squashfs-tools/unsquashfs.c
21ee4773956342a8a7d0f14e430ae77ffbd10601 19-Mar-2009 plougher <plougher> Fix typos in read_super_block function conversion
/external/squashfs-tools/squashfs-tools/unsquashfs.c
6490378e5b5e8dc058daf28423a7465699a6ba7b 19-Mar-2009 plougher <plougher> Add support to read squashfs 4 superblocks.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
eabe4dbeaec52acc95278663d7a13da7384ef9ba 18-Mar-2009 plougher <plougher> Add definitions for currently unused extended types
/external/squashfs-tools/squashfs-tools/unsquashfs.c
4a28c1ea2201b0db16333728b197d130720073f2 16-Mar-2009 plougher <plougher> Rename fragment_table to fragment_table_3.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
79e700efc62527661ce140bd1013a2b60577917e 15-Mar-2009 plougher <plougher> Move read_uids_guids() into unsquash-1.c, and call it through s_ops
/external/squashfs-tools/squashfs-tools/unsquashfs.c
ed5124f016834932db2c63d60d259d846171c216 14-Mar-2009 plougher <plougher> Split out header and layout specific functions into separate files
/external/squashfs-tools/squashfs-tools/unsquashfs.c
8372232d2460411adaa2299c32a0a88665e44902 03-Mar-2009 plougher <plougher> Fix some mallocs and remove some unnecessary casts
/external/squashfs-tools/squashfs-tools/unsquashfs.c
1ef4c50ff4ced723055c9cd02acafa03281fd0a3 01-Mar-2009 plougher <plougher> Add error message for 4.0 filesystems - these are unfortunately currently
not supported...
/external/squashfs-tools/squashfs-tools/unsquashfs.c
0ce0299c83bc6c629a19185daf19df79edbd9c63 26-Feb-2009 plougher <plougher> Switch to using SQUASHFS_FRAGMENT_INDEX*_3 macros
/external/squashfs-tools/squashfs-tools/unsquashfs.c
9b58176e667b67770569c9076a410b27aaa3bcf5 26-Feb-2009 plougher <plougher> Fix bug uncompressing 1.0 and 2.0 filesystems caused by adding progress bar.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
cfbad32cc451fc5244702b45c245c2a6ec160e71 25-Feb-2009 plougher <plougher> Fix stupid bug in 1.0 filesystem reading.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
7a5df5d70c02bdb5175a5b9301c2c9597a6a4937 25-Feb-2009 plougher <plougher> Fix Unsquashfs so that it uses the new squashfs_compat.h file. Rename
all SQUASHFS_SWAP_XXX macros and squashfs_xxx structures that used
to refer to the 3.0 layout (but now refer to the new 4.0 layout) to the
new SQUASHFS_SWAP_XXX_3 macros and squashfs_xxx_3 structures.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
d9b631e9e82c9e0d0e14b7f3d0f2965c523b113d 08-Feb-2009 plougher <plougher> Update date on copyright message.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
b7b3f3dd4dd66198de3d20c3e6a497e072cc2b45 20-Aug-2008 plougher <plougher> Update version and date. Move version number over to release version -
previously version number was the unsquashfs version (which as unsquashfs
was only introduced in Squashfs 3.0 was significatly smaller than the
release version). This evidently proved to be confusing to many people :(
/external/squashfs-tools/squashfs-tools/unsquashfs.c
b336488f2497ba8da6dcf9086e4b0b104f8fe072 20-Aug-2008 plougher <plougher> Fix printf to correctly state inodes rather than files
/external/squashfs-tools/squashfs-tools/unsquashfs.c
84ece5dece9234d3ec58f988690c02aa41b41eb0 20-Aug-2008 plougher <plougher> Fix small bug in progress_bar dealing with block counts exact powers of 10
/external/squashfs-tools/squashfs-tools/unsquashfs.c
8d034ecf167fda0c6eddbbfaeebc897e9ff2d60d 05-Jun-2008 plougher <plougher> Fix small typo in some memcpy()s where sizeof(pointer) was used rather than
sizeof(*pointer). Happily this didn't cause incorrect operation
because the data of interest was three bytes in size, and the buffer
being copied into was of sufficient size so that a memcpy of 4
bytes on 32-bit architectures and 8 bytes on 64-bit architectures
didn't overflow the buffer. Thanks to "Arpi" for spotting this.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
296d7d8a68e33341d68f4354b5e1fe2f3aa275a6 07-May-2008 plougher <plougher> Add -n[o-progress] option.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
5c7885bc293ab675812fd77a05f59c2917e3e8b4 07-May-2008 plougher <plougher> Remove redundant progress flag check in progres_bar() and only print
progress_bar at end of unsquashfs is progress flag is TRUE.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
feb4051fd2a6f1f5cc65df4c0e8b117800c016c9 02-May-2008 plougher <plougher> Disable progress_bar if [l]lsonly or [l]info options specified. Also
add carriage return on TRACE and ERROR statements if progress_bar is
being printed to ensure they appear on a new line.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
1b42101056befe25b5f19d5b099e806a2ecee9cd 02-May-2008 plougher <plougher> Synchronise output between threads, so error messages etc. don't appear
in the middle of the progess bar. Also ensure the progress_bar doesn't
appear whilst the pre_scan is being peformed, or while the summary
statistics are printed at the end of the unsquash.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
1b5f6c5145f284683a2628b73ab5f8a0e37dd7b4 21-Apr-2008 plougher <plougher> Rather than make the rotator in the progress bar rotate every 1/4
second on the timeout of the pthread_cond_timedwait, rotate it using
SIGALRM, this makes the rotate more uniform.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
eb35c81a4c4500aab9eeea2ba2271c88fe42732a 14-Apr-2008 plougher <plougher> Add progress bar.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
ae271cc93e3684d5314bcdc45b631e497ae43166 07-Apr-2008 plougher <plougher> Add -data-queue and -frag-queue options.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
0cf5c297bec42c7c220d2825f12f9499f2293279 06-Apr-2008 plougher <plougher> Add -processors option
/external/squashfs-tools/squashfs-tools/unsquashfs.c
27636cb2cec37a68313f9eb825c0548245eecad0 06-Apr-2008 plougher <plougher> Finish parallelised file_writing error handling.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
222e49e257bccb10c0e608f071778f26fce28f01 08-Mar-2008 plougher <plougher> Fix bug in remove_free_list where both entries were deleted if the
free_list held two entries.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
79df93becb68081effabebba3006c794be308598 16-Feb-2008 plougher <plougher> Fix set_attribute setting for files.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
72078689e790b319724a6d0e7fcf83c0b7150c5a 13-Feb-2008 plougher <plougher> Update version and date.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
8888b61f8ff4680247d10f7e5beb2ff35e8c867d 13-Feb-2008 plougher <plougher> Merge parallel unsquashfs development from devel_3-4 branch.
Parallel unsquashfs is now considered stable enough for mainline.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
2aa31309268b6acdee4e22b8895217a56a11f23c 25-Jan-2008 plougher <plougher> Fix bug in ftruncate change.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
49168b4a23a5c16c12a15592214da3b494d1a68c 04-Jan-2008 plougher <plougher> Use ftruncate on sparse files with holes extending to the end of file.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
4e341e8c5c060c481bcfd37080d3f3ad55e6d1b4 03-Jan-2008 plougher <plougher> Update date.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
daa5fa85f54a8deaaaa294797fcc6be9ab7a597b 03-Jan-2008 plougher <plougher> Fix problem that unistd.h wasn't being included leading to lseek being
used rather than lseek64 on some distributions.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
5d415c6659faaa7a69c9baa7175610d889747142 03-Jan-2008 plougher <plougher> Fix typo in ERROR statement.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
545404219cdd79c1e06ac7d0698d02a15240c4c3 13-Nov-2007 plougher <plougher> Minor code cleanup.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
074d3f1129eae914655f6637773488052bf22327 08-Nov-2007 rlougher <rlougher> Minor code change
/external/squashfs-tools/squashfs-tools/unsquashfs.c
3cef656655723444fb1e2de1a001e6c2a54cf81e 08-Nov-2007 rlougher <rlougher> Fix small bug in get_component().
/external/squashfs-tools/squashfs-tools/unsquashfs.c
7ddfba38b2a5e023a6fb1ef22bf91bd0c24fac60 01-Nov-2007 plougher <plougher> Finally ready for a new release.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
caf2f0f593c7f14a4e7e151eeeed773c72578f69 27-Oct-2007 plougher <plougher> Helps if I test before committing
/external/squashfs-tools/squashfs-tools/unsquashfs.c
47fc2f0b451e12cddb0cc482019e6abe5bd59d46 27-Oct-2007 plougher <plougher> Fix stupid bug where variable passed into -lls filename print function
was an int rather than a long long.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
c6907e5e5f7fe3cc1c9a49495004cf79c386ab88 25-Oct-2007 plougher <plougher> New release
/external/squashfs-tools/squashfs-tools/unsquashfs.c
a706f1b6bb48f288ecaf74e218ce20504bda52c6 19-Oct-2007 plougher <plougher> Handle multiple matching wildcards/regex expressions in intermediate
extract directory components
/external/squashfs-tools/squashfs-tools/unsquashfs.c
6ee88c6b5da9f7b3ea88ab7481db126efa01c8f4 19-Oct-2007 plougher <plougher> Improve new extract files code
/external/squashfs-tools/squashfs-tools/unsquashfs.c
4dba330d7b952f2f044d38e342e2ae3ea78910d6 11-Oct-2007 plougher <plougher> Extract filenames now support shell wildcards (globbing) by default, and
full POSIX regular expressions if -r[egex] option is specified
/external/squashfs-tools/squashfs-tools/unsquashfs.c
71add234b27054974d5e29f95b3fab3072792a62 08-Oct-2007 plougher <plougher> Add ability to specify multiple extract files and directories. Also
add new -ef option, allowing the files and directories to be exported
to be given in a file.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
6f59236ae37e220ca132b18d58f78ef1f5a1d4fb 17-Sep-2007 plougher <plougher> Restructure routines to remove code duplication added by long ls option.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
e05e7ae96eb9af6bb7e46c52f55b12469c24c7d9 07-Sep-2007 plougher <plougher> fix long ls support for 1.0 filesystems
/external/squashfs-tools/squashfs-tools/unsquashfs.c
88facddfd83e48a907b82210ddccbb4f84d80aec 03-Sep-2007 plougher <plougher> more work on long ls
/external/squashfs-tools/squashfs-tools/unsquashfs.c
3edfa57b6a463f7d441d995559143f4861d62e98 31-Aug-2007 plougher <plougher> more work on long ls
/external/squashfs-tools/squashfs-tools/unsquashfs.c
9baf35a00f38816d2054deb70184943d0686d03e 30-Aug-2007 plougher <plougher> more work on long ls
/external/squashfs-tools/squashfs-tools/unsquashfs.c
476dcb48b24efff22caa970f000e151f1b28918d 29-Aug-2007 plougher <plougher> Initial code supporting long -ls optio, currently disabled.
Also fix swap bug in Squashfs 1.x support.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
f6cd337f8de328e2b448b9f29c00d9132748f7fe 19-Aug-2007 plougher <plougher> Update email address.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
b9cee889506e674726856035dba52d5e1cceeb99 17-Aug-2007 plougher <plougher> Add sparse file support.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
4c99cb7f458d8e1c598f1c80793daf3696c9b528 14-Jun-2007 plougher <plougher> Increase max block size to 1 Mbyte, and default block size to 128 Kbytes
/external/squashfs-tools/squashfs-tools/unsquashfs.c
29e3709bc814f5ebf166fb6ab4d6ea51ac98966b 15-Apr-2007 plougher <plougher> Update Mksquashfs to deal better with file read errors.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
0337de3977eec74e6a3d28e0d0863299246de8b7 20-Mar-2007 plougher <plougher> Fix small stat bug in 1.0 filesystems, and update help information
/external/squashfs-tools/squashfs-tools/unsquashfs.c
b624936abba03d38b7e9245c647339d8f6f34274 19-Mar-2007 plougher <plougher> Added -s[tat] option to Unsquashfs, this prints in human readable form the
contents of the Squashfs superblock.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
62045c7004ea0336f57efd802305bb2406181de5 14-Mar-2007 plougher <plougher> Update version and date on Unsquashfs.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
ba3d412c7c811a9b335a52ec497ce511e35b2bc8 14-Mar-2007 plougher <plougher> Added 1.0 filesystem support to Unsquashfs.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
02bc3bcabf2b219f63961f07293b83629948f026 25-Feb-2007 plougher <plougher> updated mksquashfs to 3.2-r2
/external/squashfs-tools/squashfs-tools/unsquashfs.c
5507dd92370ba35d9f1671483beb0d4e47058293 06-Nov-2006 plougher <plougher> Update to par_mksquashfs version 3.1
/external/squashfs-tools/squashfs-tools/unsquashfs.c
6013a30bd39550decc2546a47e5168e57bfcfde8 05-Aug-2006 plougher <plougher> Added -f[orce] support for hard links
/external/squashfs-tools/squashfs-tools/unsquashfs.c
a52d4c1b3b62c5bd1c63c392a8365afcebbf5b78 04-Aug-2006 plougher <plougher> Added support for short versions of options, and added -f[orce] option.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
9dd8c7a7c2983faeb60c5e5791c3bef2cbbba088 29-Jul-2006 plougher <plougher> Added support for setting setuid/setgid/sticky bit when running as root.
Modified file permissions setting so it conforms to untar behaviour.
Added a return 0 to main so the correct status is returned.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
b54566f5c433764830c29c83151691d0034de094 10-Jul-2006 plougher <plougher> Unsquashfs now allows you to specify the filename or directory within
the Squashfs filesystem that is to be extracted, rather than always
extracting the entire filesystem.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
fc9aa5457df027969c6616cdf93fc1945ad7688e 21-May-2006 plougher <plougher> Fixed bug where uids and gids were not swapped on different endian filesystems.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
9b5bf8c73c0eaf4f1ba0461615f4ed0d405a30cc 20-Mar-2006 plougher <plougher> Update CVS repository to the 3.0 release
/external/squashfs-tools/squashfs-tools/unsquashfs.c
fe3ca0609d02d78bcd11637c1220b2ff428f466a 30-Jan-2006 plougher <plougher> Minor fixes to TRACE output
/external/squashfs-tools/squashfs-tools/unsquashfs.c
769592935b09063a5493ebeb530c599753ece5d2 24-Jan-2006 plougher <plougher> Updated release date and copyright information
/external/squashfs-tools/squashfs-tools/unsquashfs.c
f9c72b137336d5c1d4bdf2792f2bc5142713676b 23-Jan-2006 plougher <plougher> New meta-index cache for file indexes. This significantly speeds up reading
speed for files larger than 1 Gb (typically 6 times reduction in sys time).
Many bug fixes related to handling files larger than 4 Gb.
/external/squashfs-tools/squashfs-tools/unsquashfs.c
c311087fdd85955aeffb9b220107fda8c79a7c7d 27-Dec-2005 plougher <plougher> Modified error message when the filesystem is not 3.0. It now states that
only 3.0 filesystems are supported...
/external/squashfs-tools/squashfs-tools/unsquashfs.c
443c15812032991c98b33b5424b17bcd55fe3575 27-Dec-2005 plougher <plougher> Added first version of Unsquashfs. The current version can unsquash
3.0 filesystems.
/external/squashfs-tools/squashfs-tools/unsquashfs.c