GitPedia
fragglet

fragglet/lhasa

Free Software LHA implementation

14 Releases
Latest: yesterday
Lhasa 0.6.0v0.6.0Latest
fraggletfragglet·yesterday·June 17, 2026
GitHub

📋 Changes

  • This release fixes a read overflow in the -pm2- decoder, where a specially-crafted -pm2- sequence could cause reads from beyond the end of the `copy_decode[]` array. However, it is not believed to be an exploitable bug so this is not a security issue. Thanks to Yukimura / @damseleng for reporting the bug.
  • Archived files with empty filenames are now skipped over during extract so that subsequent files can be extracted properly. This allows some files in the Aminet archive to be extracted that were previously only partially extracted (thanks @polluks).
  • A minor typo was fixed in the `lha_reader.h` header (thanks @polluks).
Lhasa 0.5.0v0.5.0
fraggletfragglet·10mo ago·August 2, 2025
GitHub

📋 Changes

  • The output from the list subcommands has been tweaked to be more consistent. This should help to avoid parsing bugs with naively-written programs and scripts that parse the list output. This includes various GUI tools.
  • The test suite was expanded to include archives generated by Tascal Lha (a Windows CE port); LH/2 (an OS/2 port); ExpLZH; and the port of Lha that ships with MorphOS.
  • A workaround was added for a bug with the Amiga port of lha that causes some versions to generate malformed archives where directories are stored using the -lh0- compression type. Thanks to @zzarko, @polluks, @alfredone and @jsummers for their work on figuring out the bug.
  • Support was added for the 64-bit file sizes header, allowing huge files (>=4GiB) generated by the MorphOS port of lha to be extracted correctly.
  • The compression ratio shown in list output now always rounds up to the next 0.1%, which is a more pessimistic but more honest. For example, very highly compressed files might be shown as "0.1%" of their original size, but never "0.0%".
  • The manual page now includes more detailed information about the different list subcommands.
  • The liblhasa headers are now installed into a directory with a name that accurately reflects the project's version number.
  • The liblhasa .so version numbers now have meaningful numbers.
  • + 8 more
Lhasa 0.4.0v0.4.0
fraggletfragglet·3y ago·May 14, 2023
GitHub

📋 Changes

  • The manpage was expanded, with more information about different
  • A verbose mode was added to the list output that shows the full file
  • Support for archives generated by the DOS LHARK tool was added; big
  • Some changes were made for compatibility with old versions of
  • Some tweaks were made to tests to make them work on BSD systems. A
  • Segmentation fault on NetBSD/amd64 was fixed when decoding 8-bit
  • Some minor tweaks and fixes were made to the help text and manpage
  • Some spelling mistakes were fixed, excess whitespace was trimmed, and
  • + 1 more
Lhasa 0.3.1v0.3.1
fraggletfragglet·10y ago·March 31, 2016
GitHub

📋 Changes

  • This release fixes an integer underflow vulnerability in the
Lhasa 0.3.0v0.3.0
fraggletfragglet·11y ago·April 20, 2015
GitHub

📋 Changes

  • PMarc -pm1- archives that contain truncated compressed data (the
  • LArc -lz5- archives that make use of the initial history buffer
  • The tests no longer use predictable temporary paths (thanks Jon
  • Tests were fixed under OS X.
Lhasa 0.2.0v0.2.0
fraggletfragglet·11y ago·April 20, 2015
GitHub

📋 Changes

  • Decompression of archives using the -lhx- file format supported by
  • The -p (print to stdout) command line option is now supported.
  • The test suite should now run correctly on Windows.
  • Bug where archives read from pipes (eg. stdin) were not extracted
  • Output when using the -w (extract directory) option now correctly
Lhasa 0.1.0v0.1.0
fraggletfragglet·11y ago·April 20, 2015
GitHub

📋 Changes

  • There are now test archives for OS-9 and OS-9/68k (OSK) and a
  • Extracted files are now written using O_EXCL, which prevents
  • Directory paths containing '..' as a directory name are now
  • Symbolic links are now extracted in a safer way, being created as
  • Automake 1.13 is now properly supported (thanks Jan Engelhardt).
Lhasa 0.0.7v0.0.7
fraggletfragglet·11y ago·April 20, 2015
GitHub

📋 Changes

  • Extraction and listing of Unix symbolic links is now supported.
  • Decompression code for the "old" PMarc archive algorithm (-pm1-) has
  • Support has been added for Unix LHA level 0 header extended areas
  • The Unix permissions field in the list output for directory entries
  • The library header files have been fixed so that they can be included
  • The LHADecoder interface, for extracting raw compressed data, has been
  • The Unix LHA test archives have been regenerated and improved.
  • A "ghost testing" tool has been added for testing ghost compression
  • + 2 more
Lhasa 0.0.6v0.0.6
fraggletfragglet·11y ago·April 20, 2015
GitHub

📋 Changes

  • When the -w option is used during extraction, the path specified
  • The command line tool now exits with a failure return code if an
  • A "catch-all" header file (lhasa.h) has been added.
  • The public header files installed with the library can now be
  • A pkgconfig file is now installed as part of the library
  • Make targets have been added for building Doxygen documentation
Lhasa 0.0.5v0.0.5
fraggletfragglet·11y ago·April 20, 2015
GitHub

📋 Changes

  • Architecture-specific functions for running on Windows have now been
  • Bug fixed where the command line tool would enter an infinite loop
  • Support added for archives with level 0 headers and Unix path
  • The test suite now runs correctly outside of the Europe/London time
  • A .spec file is now included for building rpm packages.
Lhasa 0.0.4v0.0.4
fraggletfragglet·11y ago·April 20, 2015
GitHub

📋 Changes

  • Special handling is now included for MacBinary headers generated
  • The -w command line option was broken; it has been fixed.
  • A bug has been fixed where the timestamp and other metadata was
  • Failures to set the UID/GID of extracted files are now ignored,
  • Self-extracting archive files with long headers (up to 64KiB)
  • A Unix manpage has been added.
  • It is now possible to extract an archive from stdin, by using '-'
  • The shorthand command line syntax "lha foo.lzh" to list an archive
  • + 4 more
Lhasa 0.0.3v0.0.3
fraggletfragglet·11y ago·April 20, 2015
GitHub

📋 Changes

  • A fix has been added for a bug where missing parent directories
  • Regression testing archives have been added from MacLHA v2.24.
  • In order to support MacLHA archives, code has been added that
Lhasa 0.0.2v0.0.2
fraggletfragglet·11y ago·April 20, 2015
GitHub

📋 Changes

  • This version adds support for level 2 and 3 file headers. Lhasa
  • A fuzz testing framework has been added for testing the
Lhasa 0.0.1v0.0.1
fraggletfragglet·11y ago·April 20, 2015
GitHub

📋 Changes

  • Lack of support for level 2 and 3 file headers.
  • Inability to create archives (only extract them).