1New in 1.9 2* Fixed invisible bad extraction when using cabextract -F (broken in 1.8) 3* Fixed configure --with-external-libmspack which was broken in 1.8 4* configure --with-external-libmspack will now use pkg-config. To configure 5 it manually, set environment variables libmspack_CFLAGS and libmspack_LIBS 6 before running configure. 7* Now includes the test suite (make check) 8 9New in 1.8 10* cabextract -f now extracts even more badly damaged files than before 11 12New in 1.7 13* cabextract now supports an --encoding parameter, to specify the character 14 encoding of CAB filenames if they are not ASCII or UTF8 15* cabextract -L now lowercases non-ASCII characters 16 17New in 1.6 18* cabextract now prevents archive files giving themselves absolute path access 19 using badly UTF-8 encoded slashes. 20* Because Cygwin allows both '/' and '\' as path separators, cabextract now 21 removes both leading '/'s and '\'s and changes both "../" and "..\" in 22 CAB filenames to "xx". You can no longer have a CAB filename called e.g 23 "\/t" (file "t" in the directory "\"). If you need this, create a CAB file 24 where the filename is "./\/t" instead. 25 26New in 1.5 27* cabextract replaces bad Unicode characters in filenames with the 28 standard Unicode replacement character 29* wince_rename now puts files under the correct installation path 30* Several crashes and hangs were found by Debian project members 31 using the afl (American fuzzy lop) tool to generate corrupt 32 cabinet files. These crashes and hangs have been fixed. 33 34New in 1.4: 35* A bug in the LZX decompressor was fixed. 36* cabextract is now more tolerant when processing cabinet sets. 37* cabextract is now compatible with even more compilers, and 38 now supports 64-bit file I/O on platforms where it's completely 39 native, like Mac OS X 10.6 and Fedora x86_64. 40* cabextract will no longer print "library not compiled to support 41 large files" while reading small files. 42* The Windows CE installation format document was improved. 43 44New in 1.3: 45* Bugs in the MS-ZIP and Quantum decompressors have been fixed. 46* MS-ZIP recovery has been improved. 47* cabextract should now compile with MinGW 48 49New in 1.2: 50* "-t" option: Allows you to test that every file can be extracted without 51 having to extract it. This also prints the MD5 checksum of the file. 52* UTF-8 filenames are now decoded correctly. 53* Large files (>2GB) are now searched correctly for cabinets. 54* Problems with the GNU library code have been fixed. 55* Several bugs in the LZX and Quantum decompressors have been fixed. 56 57New in 1.1: 58* A security vulnerability has been fixed. If the files within a cabinet 59 file include the directory ".." in their filename, this will be changed to 60 "xx", to prevent directory traversal by a malicious cabinet (e.g. a cabinet 61 with "..\etc\passwd", "..\..\etc\passwd" and so on) 62* The GNU library code used has been upgraded to the latest from libiberty, 63 so it should now work better with Cygwin. 64* cabextract should now compile cleanly on AIX. 65 66New in 1.0: 67* The libmspack library is used for all the hard work. You should find 68 cabextract more robust, and fractionally faster. See the libmspack website 69 at https://www.cabextract.org.uk/libmspack/ for more on this library. 70* Fixed a bug (now moved to libmspack) where CAB files that had two kinds of 71 compression would crash. 72* CAB files should no longer get "/" and "\" mixed up, even with non 73 MS-DOS cabinet files created by tools like Powerarchiver and Cablinux. 74* Now ignores CAB files listed on the command line that have already been 75 used as part of a multipart set. You can now type "cabextract *.cab" on 76 your Win95 cabinet set, and cabextract will not extract all the files 77 sixty times over. 78* Now supports reading and extracting large (more than 2Gb) files. 79* "-L" option: viewing the archive pays attention to the "-L" flag, and 80 shows the filenames in lowercase. 81* "-L" option: cabextract now correctly lowercases cabinet files with 82 Unicode filenames. 83* "-l" option: viewing the archive should always show forward slashes as 84 directory seperators. 85* "-F" option: Now you can choose which files are extracted from the cab. 86 For example, "cabextract -F '*.wav' music.cab" extracts only WAV files. 87* "-s" option: Now you can limit which multipart cabinets are used. For 88 example, "cabextract -s WIN98_5*.CAB" will only extract files from 89 WIN98_50.CAB through WIN98_59.CAB. 90* "-p" option: Now you can extract files to stdout rather than disk. 91* Now comes with an experimental "wince_info" and "wince_rename" perl 92 scripts in the src/ directory, for examining and processing Windows CE 93 installation cabinet header files. There is also the "cabinfo" command 94 for examining the structure of a cab file. As this information is not 95 very useful to most people, none of these three tools are installed. 96* Both the English and Japanese manual page have been updated. 97* cabextract now alerts you if you try to unpack InstallShield cabinets. 98* The definition of Microsoft cabinet files for UNIX's "magic" file, in 99 doc/magic, has been fixed, and a definition of Windows CE install cabinet 100 header files has also been added. 101 102New in 0.6: 103* Quantum method is now supported! Many thanks to Matthew Russotto for this. 104* Fixed more build problems on non-glibc systems. I have now followed the 105 'FSF approved' method for including getopt_long, so hopefully Solaris 106 and all the other OSes won't have a problem building cabextract any 107 more. 108* Japanese manual page included -- you will have to install the file 109 ja/cabextract.1 by yourself, it's not part of the install process. 110* Now searches for spanning cabinet files in a case-insensitive way. It 111 also searches in both directions for spanned cabinets (each spanned 112 cabinet can include a 'previous' and 'next' cabinet filename), so you 113 can also specify a cabinet in the middle of a set and get the full set, 114 rather than have to work out what the first cabinet is. 115* An off-by-one month error in file dates was fixed. 116* Cabinets with files beginning with "/" (or rather, "\") no longer 117 extract to your root directory. 118* A better embeded cabinet search algorithm was introduced for finding 119 those elusive cabinets in files and executables :) 120* Now you can find more than one cabinet in a file (if there is 121 more than one to find), and it will be extracted or listed as normal. 122* Files and directories created now honour your umask settings. 123* Errors and warnings are now printed to stderr. 124 125New in 0.5: 126* Fixed build problems on non-glibc systems. 127 128New in 0.4: 129* Fixed a new bug I added by myself to 0.3... :) It corrupts all MS-ZIP 130 compressed cabinets after the first 32k, and it should be very obvious 131 that corruption has taken place. 132* cabextract should be happier building on Cygwin and other such 133 architectures -- you should be able to "./configure; make; make install" 134 again. This was broken in 0.3 due to the getopt.c / getopt1.c weirdness 135 I copied from GNU hello. 136* Now prints 'Finished processing cabinet.' after completing the extraction 137 a cabinet. 138 139New in 0.3: 140* Fixed very rare, but invisible decrunching bug... if you have any 141 important things you extracted with cabextract, extract them again 142 to be sure they're not corrupt. 143* cabextract now tells you if a file isn't a cabinet file. 144* cabextract now goes on to the next file, if extracting one fails. 145* cabextract now goes on to the next cabinet, if extracting one fails. 146* cabextract lets you try to 'fix' some cabinets by skipping over bad 147 blocks rather than failing on them. If you have a corrupt cabinet, try 148 the '-f' option, and see how it goes. 149* Use the new '-d dir' option to extract cabinets to a given directory. 150* Use the new '-L' option to turn the extracted filenames to lowercase. 151* Use the new '-q' option to be quiet while extracting archives. 152* cabextract now prints more information while it's probing multi-part 153 cabinets 154 155New in 0.2: 156* new even-easier installation: ./configure; make; make install 157* Extracted files now have their timestamps set 158* Fixed bug which occured when extracting tiny files 159* Fixed completely invisible intel E8 decoding bug... if you have any 160 important things you extracted with cabextract, extract them again 161 to be sure they're not corrupt. 162* cabinet search extended to look through *any* file for cabinets, not 163 just MS-DOS/Windows executables. 164* Now looks for multipart cabinets in the same directory as the base cabinet. 165 This means you can do stuff like 'cd /tmp && cabextract /cdrom/part01.cab' 166 167New in 0.1: 168* supports MSZIP and LZX compression methods 169* supports split cabs and cabs embedded in executables 170* initial release 171