Download List

Project Description

Now, the master repository is at https://github.com/jca02266/lha on GitHub.

System Requirements

System requirement is not defined

Released at 2004-09-29 01:26
lha 1.14i-ac20040929 (1 files Hide)

Release Notes

* security fix
* critical bug fix
* preserve directory timestamp (extract)


・壊れたアーカイブの展開 (--extract-broken-archive)

LHa for UNIX (autoconf版)は、バージョン 1.14i-ac20030713 (slide.c
revision 1.20) より壊れたアーカイブを作成してしまう致命的なバグがあ
りました。(このようなアーカイブが作成される現象に遭遇することはほと
んどないかも知れません。ただ、バグのある LHa for UNIX では正常に展開
できてしまうので、壊れたアーカイブであることに気が付いてないだけかも
しれません)

この壊れたアーカイブは他の正常な LHA (あるいは現在の LHa for UNIX)
では展開時に CRC エラーが発生してしまいます。

現在のバージョンでは、

lha x --extract-broken-archive broken.lzh

とオプション --extract-broken-archive を指定することで、このバグによ
り作成された壊れたアーカイブを強制的に展開することができます。CRC エ
ラーが発生するアーカイブを見付けたときには(そして、それが過去の LHa
for UNIX (autoconf版)で作成されたものである場合には)このオプションを
試してみてください。

Changelog

2004-09-29 Koji Arai <jca02266@nifty.ne.jp>

* released.

* 00readme.autoconf: note for builds on MS-Windows.

* configure.ac: updated version.

* Makefile.am: added Hacking_of_LHa in EXTRA_DIST.

* Hacking_of_LHa: renamed (typo).

2004-09-27 Koji Arai <jca02266@nifty.ne.jp>

* configure.ac: updated version.

* src/prototypes.h (str_safe_copy): newly added.
(build_standard_archive_name, build_backup_file):
added argument the size for build_standard_archive_name() and
build_backup_file().

* src/header.c (init_header): use str_safe_copy() instead of strcpy().

* src/lhadd.c (build_backup_file, cmd_add, cmd_delete):
added argument the size for build_standard_archive_name() and
build_backup_file().

* src/lhext.c (make_parent_path): use str_safe_copy() instead of strcpy().
(extract_one): ditto.

* src/lharc.c (find_files): use str_safe_copy() instead of strcpy().
(build_temporary_name): ditto.
(modify_filename_extention): ditto.
(build_backup_name): ditto.
(build_standard_archive_name): ditto.

* src/util.c (str_safe_copy): newly added.

2004-09-26 Koji Arai <jca02266@nifty.ne.jp>

* src/header.c: fixed typo.

2004-09-18 Koji Arai <jca02266@nifty.ne.jp>

* configure.ac: updated version.

* 00readme.autoconf: added a description about
`--extract-broken-archive' option.

* src/lharc.c (init_variable, parse_option): added an option
`--extract-broken-archive' to extract broken archive.

* src/lha.h (extract_broken_archive): ditto.

* src/slide.c (encode, decode): fixed a *FATAL* bug which make a
broken archive.

2004-05-08 Koji Arai <jca02266@nifty.ne.jp>

* configure.ac: updated version.

* src/prototypes.h: updated.

* src/lhext.c (extract_one, is_directory_traversal): applied a
security patch (CAN-2004-0235: directory traversal problems)

* src/lharc.c (print_usage): updated.

2003-12-18 Koji Arai <jca02266@nifty.ne.jp>

* src/header.c (wintime_to_unix_stamp): no use 64bit constant to
avoid the warning `integer constant is too large for "long" type'
on GCC. however, for portability, no use the unsigned long long
suffix "ULL".

2003-12-13 Koji Arai <jca02266@nifty.ne.jp>

* configure.ac: updated version.

* src/lhext.c (extract_one, cmd_extract): preserve directory
timestamp. Thanks Akihiro Iriyama.

* src/lhext.c (add_dirinfo, adjust_dirinfo): newly added.

2003-09-28 Koji Arai <jca02266@nifty.ne.jp>

* Makefile.am (SUBDIRS): reordered to avoid useless re-compilation.