Hello community,

here is the log from the commit of package cabextract for openSUSE:Factory 
checked in at 2019-09-21 17:29:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cabextract (Old)
 and      /work/SRC/openSUSE:Factory/.cabextract.new.7948 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "cabextract"

Sat Sep 21 17:29:58 2019 rev:27 rq:732180 version:1.9.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/cabextract/cabextract.changes    2018-11-09 
07:55:02.811668041 +0100
+++ /work/SRC/openSUSE:Factory/.cabextract.new.7948/cabextract.changes  
2019-09-21 17:30:05.328736407 +0200
@@ -1,0 +2,11 @@
+Fri Sep 20 12:53:17 UTC 2019 - Martin Pluskal <mplus...@suse.com>
+
+- Modernise spec file
+
+-------------------------------------------------------------------
+Fri Sep 20 11:46:44 UTC 2019 - Berthold Gunreben <azo...@opensuse.org>
+
+- Update to version 1.9.1
+  * Rerelease of 1.9 with some packaging issues fixed
+
+-------------------------------------------------------------------

Old:
----
  cabextract-1.9.tar.gz

New:
----
  cabextract-1.9.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ cabextract.spec ++++++
--- /var/tmp/diff_new_pack.FAPplO/_old  2019-09-21 17:30:07.560736433 +0200
+++ /var/tmp/diff_new_pack.FAPplO/_new  2019-09-21 17:30:07.596736433 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package cabextract
 #
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 
 
 Name:           cabextract
-Version:        1.9
+Version:        1.9.1
 Release:        0
 Summary:        A Program to Extract Microsoft Cabinet Files
 License:        GPL-3.0-or-later
@@ -25,7 +25,7 @@
 URL:            https://www.cabextract.org.uk/
 Source:         https://www.cabextract.org.uk/%{name}-%{version}.tar.gz
 BuildRequires:  pkgconfig
-BuildRequires:  pkgconfig(libmspack)
+BuildRequires:  pkgconfig(libmspack) >= 0.8
 
 %description
 Cabinet (.CAB) files are a form of archive, which Microsoft uses to
@@ -33,12 +33,12 @@
 cabextract can be used to unpack these files.
 
 %prep
-%setup -q
+%autosetup
 
 %build
 %configure\
        --with-external-libmspack
-make %{?_smp_mflags}
+%make_build
 
 %install
 %make_install

++++++ cabextract-1.9.tar.gz -> cabextract-1.9.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cabextract-1.9/ChangeLog 
new/cabextract-1.9.1/ChangeLog
--- old/cabextract-1.9/ChangeLog        2018-11-03 19:34:11.000000000 +0100
+++ new/cabextract-1.9.1/ChangeLog      2018-12-03 11:07:13.000000000 +0100
@@ -1,3 +1,26 @@
+2018-12-03 Stuart Caie <ky...@cabextract.org.uk>
+
+       * test: support builddir being on a path that includes spaces
+
+2018-11-09 Stuart Caie <ky...@cabextract.org.uk>
+
+       * test/case-utf8.test: Some environments (e.g. DJGPP) don't have a
+       UTF-8 locale, so won't pass the case.test testcase. Break it into
+       case-ascii.test and case-utf8.test, and skip the latter if
+       "cabextract -L" has no effect on non-ASCII filenames. Thanks to
+       Robert Riebisch for highlighting this.
+
+2018-11-08 Stuart Caie <ky...@cabextract.org.uk>
+
+       * src/cabextract.c: make multiple attempts at iconv_open() with
+       different names for the UTF-8 encoding: "UTF-8", "UTF8" and "UTF_8".
+
+       "UTF8" works with glibc, libiconv, newlib, Solaris libc and FreeBSD
+       libc, while "UTF-8" doesn't work with newlib. But if you have
+       libiconv >= 1.13, it removes "UTF8" support unless you define
+       USE_HPUX_ALIASES, or patch it back in (as Cygwin does).
+       Thanks to Ryan Schmidt for letting me know about this.
+
 2018-11-03 Stuart Caie <ky...@cabextract.org.uk>
 
        * test: use the autotools test system instead of a custom makefile.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cabextract-1.9/Makefile.am 
new/cabextract-1.9.1/Makefile.am
--- old/cabextract-1.9/Makefile.am      2018-11-05 12:49:21.000000000 +0100
+++ new/cabextract-1.9.1/Makefile.am    2018-11-09 14:35:47.000000000 +0100
@@ -8,9 +8,10 @@
                         mspack/qtm.h mspack/qtmd.c \
                         mspack/readbits.h mspack/readhuff.h
 
-TESTS =                 test/bugs.test test/case.test test/dirwalk-vulns.test \
-                        test/encoding.test test/mixed.test test/search.test \
-                        test/simple.test test/split.test 
test/utf8-stresstest.test
+TESTS =                 test/bugs.test test/case-ascii.test 
test/case-utf8.test \
+                        test/dirwalk-vulns.test test/encoding.test \
+                        test/mixed.test test/search.test test/simple.test \
+                        test/split.test test/utf8-stresstest.test
 
 EXTRA_DIST =            cabextract.spec \
                         doc/cabextract.1 doc/ja/cabextract.1 \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cabextract-1.9/Makefile.in 
new/cabextract-1.9.1/Makefile.in
--- old/cabextract-1.9/Makefile.in      2018-11-05 18:24:55.000000000 +0100
+++ new/cabextract-1.9.1/Makefile.in    2019-03-04 01:39:54.000000000 +0100
@@ -532,9 +532,10 @@
                         mspack/qtm.h mspack/qtmd.c \
                         mspack/readbits.h mspack/readhuff.h
 
-TESTS = test/bugs.test test/case.test test/dirwalk-vulns.test \
-                        test/encoding.test test/mixed.test test/search.test \
-                        test/simple.test test/split.test 
test/utf8-stresstest.test
+TESTS = test/bugs.test test/case-ascii.test test/case-utf8.test \
+                        test/dirwalk-vulns.test test/encoding.test \
+                        test/mixed.test test/search.test test/simple.test \
+                        test/split.test test/utf8-stresstest.test
 
 EXTRA_DIST = cabextract.spec \
                         doc/cabextract.1 doc/ja/cabextract.1 \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cabextract-1.9/README new/cabextract-1.9.1/README
--- old/cabextract-1.9/README   2018-11-04 01:09:53.000000000 +0100
+++ new/cabextract-1.9.1/README 2019-03-04 01:10:07.000000000 +0100
@@ -1,5 +1,5 @@
-cabextract 1.9 - a program to extract Microsoft Cabinet files.
-(C) 2000-2018 Stuart Caie <ky...@cabextract.org.uk>
+cabextract 1.9.1 - a program to extract Microsoft Cabinet files.
+(C) 2000-2019 Stuart Caie <ky...@cabextract.org.uk>
 This is free software with ABSOLUTELY NO WARRANTY.
 
 Cabinet (.CAB) files are a form of archive, which Microsoft use to
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cabextract-1.9/cabextract.spec 
new/cabextract-1.9.1/cabextract.spec
--- old/cabextract-1.9/cabextract.spec  2018-11-05 18:25:27.000000000 +0100
+++ new/cabextract-1.9.1/cabextract.spec        2019-03-04 01:40:36.000000000 
+0100
@@ -1,6 +1,6 @@
 Summary: A program to extract Microsoft Cabinet files
 Name: cabextract
-Version: 1.9
+Version: 1.9.1
 Release: 1
 License: GPL
 Group: Applications/Archiving
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cabextract-1.9/config.h.in 
new/cabextract-1.9.1/config.h.in
--- old/cabextract-1.9/config.h.in      2018-11-05 18:24:53.000000000 +0100
+++ new/cabextract-1.9.1/config.h.in    2019-03-04 01:39:52.000000000 +0100
@@ -1,5 +1,8 @@
 /* config.h.in.  Generated from configure.ac by autoheader.  */
 
+/* Define if building universal (internal helper macro) */
+#undef AC_APPLE_UNIVERSAL_BUILD
+
 /* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
    systems. This function is required for `alloca.c' support on those systems.
    */
@@ -147,6 +150,18 @@
 /* Version number of package */
 #undef VERSION
 
+/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
+   significant byte first (like Motorola and SPARC, unlike Intel). */
+#if defined AC_APPLE_UNIVERSAL_BUILD
+# if defined __BIG_ENDIAN__
+#  define WORDS_BIGENDIAN 1
+# endif
+#else
+# ifndef WORDS_BIGENDIAN
+#  undef WORDS_BIGENDIAN
+# endif
+#endif
+
 /* Enable large inode numbers on Mac OS X 10.5.  */
 #ifndef _DARWIN_USE_64_BIT_INODE
 # define _DARWIN_USE_64_BIT_INODE 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cabextract-1.9/configure 
new/cabextract-1.9.1/configure
--- old/cabextract-1.9/configure        2018-11-05 18:24:53.000000000 +0100
+++ new/cabextract-1.9.1/configure      2019-03-04 01:39:52.000000000 +0100
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for cabextract 1.9.
+# Generated by GNU Autoconf 2.69 for cabextract 1.9.1.
 #
 # Report bugs to <ky...@cabextract.org.uk>.
 #
@@ -580,8 +580,8 @@
 # Identity of this package.
 PACKAGE_NAME='cabextract'
 PACKAGE_TARNAME='cabextract'
-PACKAGE_VERSION='1.9'
-PACKAGE_STRING='cabextract 1.9'
+PACKAGE_VERSION='1.9.1'
+PACKAGE_STRING='cabextract 1.9.1'
 PACKAGE_BUGREPORT='ky...@cabextract.org.uk'
 PACKAGE_URL=''
 
@@ -1308,7 +1308,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures cabextract 1.9 to adapt to many kinds of systems.
+\`configure' configures cabextract 1.9.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1379,7 +1379,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of cabextract 1.9:";;
+     short | recursive ) echo "Configuration of cabextract 1.9.1:";;
    esac
   cat <<\_ACEOF
 
@@ -1490,7 +1490,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-cabextract configure 1.9
+cabextract configure 1.9.1
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2142,7 +2142,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by cabextract $as_me 1.9, which was
+It was created by cabextract $as_me 1.9.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3005,7 +3005,7 @@
 
 # Define the identity of the package.
  PACKAGE='cabextract'
- VERSION='1.9'
+ VERSION='1.9.1'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -4944,6 +4944,230 @@
     ;;
 esac
 
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is 
bigendian" >&5
+$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
+if ${ac_cv_c_bigendian+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_c_bigendian=unknown
+    # See if we're dealing with a universal compiler.
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifndef __APPLE_CC__
+              not a universal capable compiler
+            #endif
+            typedef int dummy;
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+       # Check for potential -arch flags.  It is not universal unless
+       # there are at least two -arch flags with different values.
+       ac_arch=
+       ac_prev=
+       for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
+        if test -n "$ac_prev"; then
+          case $ac_word in
+            i?86 | x86_64 | ppc | ppc64)
+              if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
+                ac_arch=$ac_word
+              else
+                ac_cv_c_bigendian=universal
+                break
+              fi
+              ;;
+          esac
+          ac_prev=
+        elif test "x$ac_word" = "x-arch"; then
+          ac_prev=arch
+        fi
+       done
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+    if test $ac_cv_c_bigendian = unknown; then
+      # See if sys/param.h defines the BYTE_ORDER macro.
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+            #include <sys/param.h>
+
+int
+main ()
+{
+#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
+                    && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
+                    && LITTLE_ENDIAN)
+             bogus endian macros
+            #endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  # It does; now see whether it defined to BIG_ENDIAN or not.
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+               #include <sys/param.h>
+
+int
+main ()
+{
+#if BYTE_ORDER != BIG_ENDIAN
+                not big endian
+               #endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_c_bigendian=yes
+else
+  ac_cv_c_bigendian=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+    fi
+    if test $ac_cv_c_bigendian = unknown; then
+      # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., 
Solaris).
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <limits.h>
+
+int
+main ()
+{
+#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
+             bogus endian macros
+            #endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  # It does; now see whether it defined to _BIG_ENDIAN or not.
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <limits.h>
+
+int
+main ()
+{
+#ifndef _BIG_ENDIAN
+                not big endian
+               #endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_c_bigendian=yes
+else
+  ac_cv_c_bigendian=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+    fi
+    if test $ac_cv_c_bigendian = unknown; then
+      # Compile a test program.
+      if test "$cross_compiling" = yes; then :
+  # Try to guess by grepping values from an object file.
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+short int ascii_mm[] =
+                 { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
+               short int ascii_ii[] =
+                 { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
+               int use_ascii (int i) {
+                 return ascii_mm[i] + ascii_ii[i];
+               }
+               short int ebcdic_ii[] =
+                 { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
+               short int ebcdic_mm[] =
+                 { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
+               int use_ebcdic (int i) {
+                 return ebcdic_mm[i] + ebcdic_ii[i];
+               }
+               extern int foo;
+
+int
+main ()
+{
+return use_ascii (foo) == use_ebcdic (foo);
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
+             ac_cv_c_bigendian=yes
+           fi
+           if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
+             if test "$ac_cv_c_bigendian" = unknown; then
+               ac_cv_c_bigendian=no
+             else
+               # finding both strings is unlikely to happen, but who knows?
+               ac_cv_c_bigendian=unknown
+             fi
+           fi
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$ac_includes_default
+int
+main ()
+{
+
+            /* Are we little or big endian?  From Harbison&Steele.  */
+            union
+            {
+              long int l;
+              char c[sizeof (long int)];
+            } u;
+            u.l = 1;
+            return u.c[sizeof (long int) - 1] == 1;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  ac_cv_c_bigendian=no
+else
+  ac_cv_c_bigendian=yes
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+    fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
+$as_echo "$ac_cv_c_bigendian" >&6; }
+ case $ac_cv_c_bigendian in #(
+   yes)
+     $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
+;; #(
+   no)
+      ;; #(
+   universal)
+
+$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
+
+     ;; #(
+   *)
+     as_fn_error $? "unknown endianness
+ presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
+ esac
+
 ac_fn_c_check_type "$LINENO" "mode_t" "ac_cv_type_mode_t" 
"$ac_includes_default"
 if test "x$ac_cv_type_mode_t" = xyes; then :
 
@@ -7279,6 +7503,7 @@
   as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
+
 if test -z "${EXTERNAL_LIBMSPACK_TRUE}" && test -z 
"${EXTERNAL_LIBMSPACK_FALSE}"; then
   as_fn_error $? "conditional \"EXTERNAL_LIBMSPACK\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -7680,7 +7905,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by cabextract $as_me 1.9, which was
+This file was extended by cabextract $as_me 1.9.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -7750,7 +7975,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-cabextract config.status 1.9
+cabextract config.status 1.9.1
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cabextract-1.9/configure.ac 
new/cabextract-1.9.1/configure.ac
--- old/cabextract-1.9/configure.ac     2018-11-04 01:09:48.000000000 +0100
+++ new/cabextract-1.9.1/configure.ac   2019-03-04 01:10:21.000000000 +0100
@@ -1,7 +1,7 @@
 # -*- Autoconf -*-
 # Process this file with autoconf to produce a configure script.
 AC_PREREQ([2.69])
-AC_INIT([cabextract],[1.9],[ky...@cabextract.org.uk])
+AC_INIT([cabextract],[1.9.1],[ky...@cabextract.org.uk])
 AM_INIT_AUTOMAKE
 AC_CONFIG_SRCDIR([src/cabextract.c])
 AC_CONFIG_HEADER([config.h])
@@ -18,6 +18,7 @@
 # Checks for typedefs, structures, and compiler characteristics.
 AC_C_CONST
 AC_C_INLINE
+AC_C_BIGENDIAN
 AC_TYPE_MODE_T
 AC_TYPE_OFF_T
 AC_TYPE_SIZE_T
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cabextract-1.9/mspack/ChangeLog 
new/cabextract-1.9.1/mspack/ChangeLog
--- old/cabextract-1.9/mspack/ChangeLog 2018-11-04 01:04:14.000000000 +0100
+++ new/cabextract-1.9.1/mspack/ChangeLog       2019-02-18 21:01:59.000000000 
+0100
@@ -1,3 +1,53 @@
+2019-02-18  Stuart Caie <ky...@cabextract.org.uk>
+
+       * chmd_read_headers(): a CHM file name beginning "::" but shorter
+       than 33 bytes will lead to reading past the freshly-allocated name
+       buffer - checks for specific control filenames didn't take length
+       into account. Thanks to ADLab of Venustech for the report and
+       proof of concept.
+
+2019-02-18  Stuart Caie <ky...@cabextract.org.uk>
+
+       * chmd_read_headers(): CHM files can declare their chunks are any
+       size up to 4GB, and libmspack will attempt to allocate that to
+       read the file.
+
+       This is not a security issue; libmspack doesn't promise how much
+       memory it'll use to unpack files. You can set your own limits by
+       returning NULL in a custom mspack_system.alloc() implementation.
+
+       However, it would be good to validate chunk size further. With no
+       offical specification, only empirical data is available. All files
+       created by hhc.exe have a chunk size of 4096 bytes, and this is
+       matched by all the files I've found in the wild, except for one
+       which has a chunk size of 8192 bytes, which was created by someone
+       developing a CHM file creator 15 years ago, and they appear to
+       have abandoned it, so it seems 4096 is a de-facto standard.
+
+       I've changed the "chunk size is not a power of two" warning to
+       "chunk size is not 4096", and now only allow chunk sizes between
+       22 and 8192 bytes. If you have CHM files with a larger chunk size,
+       please send them to me and I'll increase this upper limit.
+
+       Thanks to ADLab of Venustech for the report.
+
+2019-02-18  Stuart Caie <ky...@cabextract.org.uk>
+
+       * oabd.c: replaced one-shot copying of uncompressed blocks (which
+       requires allocating a buffer of the size declared in the header,
+       which can be 4GB) with a fixed-size buffer. The buffer size is
+       user-controllable with the new msoab_decompressor::set_param()
+       method (check you have version 2 of the OAB decompressor), and
+       also controls the input buffer used for OAB's LZX decompression.
+
+       Reminder: compression formats can dictate how much memory is
+       needed to decompress them. If memory usage is a security concern
+       to you, write a custom mspack_system.alloc() that returns NULL
+       if "too much" memory is requested. Do not rely on libmspack adding
+       special heuristics to know not to request "too much".
+
+       Thanks to ADLab of Venustech for the report.
+
 2018-11-03  Stuart Caie <ky...@cabextract.org.uk>
 
        * configure.ac, doc/Makefile.in, doc/Doxyfile.in: remove these
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cabextract-1.9/mspack/mspack.h 
new/cabextract-1.9.1/mspack/mspack.h
--- old/cabextract-1.9/mspack/mspack.h  2018-11-05 12:53:09.000000000 +0100
+++ new/cabextract-1.9.1/mspack/mspack.h        2019-02-18 21:25:16.000000000 
+0100
@@ -1,5 +1,5 @@
 /* libmspack -- a library for working with Microsoft compression formats.
- * (C) 2003-2016 Stuart Caie <ky...@cabextract.org.uk>
+ * (C) 2003-2019 Stuart Caie <ky...@cabextract.org.uk>
  *
  * libmspack is free software; you can redistribute it and/or modify it under
  * the terms of the GNU Lesser General Public License (LGPL) version 2.1
@@ -1554,7 +1554,7 @@
    */
   int (*set_param)(struct mschm_compressor *self,
                    int param,
-                   unsigned int value);
+                   int value);
 
   /**
    * Returns the error code set by the most recently called method.
@@ -1853,7 +1853,7 @@
    */
   int (*set_param)(struct msszdd_compressor *self,
                    int param,
-                   unsigned int value);
+                   int value);
 
   /**
    * Returns the error code set by the most recently called method.
@@ -2091,7 +2091,7 @@
    */
   int (*set_param)(struct mskwaj_compressor *self,
                    int param,
-                   unsigned int value);
+                   int value);
 
 
   /**
@@ -2353,8 +2353,31 @@
                                  const char *input,
                                  const char *base,
                                  const char *output);
+
+  /**
+   * Sets an OAB decompression engine parameter. Available only in OAB
+   * decompressor version 2 and above.
+   *
+   * - #MSOABD_PARAM_DECOMPBUF: How many bytes should be used as an input
+   *   buffer by decompressors? The minimum value is 16. The default value
+   *   is 4096.
+   *
+   * @param  self     a self-referential pointer to the msoab_decompressor
+   *                  instance being called
+   * @param  param    the parameter to set
+   * @param  value    the value to set the parameter to
+   * @return MSPACK_ERR_OK if all is OK, or MSPACK_ERR_ARGS if there
+   *         is a problem with either parameter or value.
+   */
+  int (*set_param)(struct msoab_decompressor *self,
+                   int param,
+                   int value);
+
 };
 
+/** msoab_decompressor::set_param() parameter: size of decompression buffer */
+#define MSOABD_PARAM_DECOMPBUF (0)
+
 #ifdef __cplusplus
 }
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cabextract-1.9/mspack/system.c 
new/cabextract-1.9.1/mspack/system.c
--- old/cabextract-1.9/mspack/system.c  2018-11-05 12:53:09.000000000 +0100
+++ new/cabextract-1.9.1/mspack/system.c        2019-02-18 17:26:17.000000000 
+0100
@@ -31,12 +31,15 @@
    * - added MSCABD_PARAM_SALVAGE
    */
   case MSPACK_VER_MSCABD:
+  /* OAB decoder version  1 -> 2 changes:
+   * - added msoab_decompressor::set_param and MSOABD_PARAM_DECOMPBUF
+   */
+  case MSPACK_VER_MSOABD:
     return 2;
   case MSPACK_VER_LIBRARY:
   case MSPACK_VER_SYSTEM:
   case MSPACK_VER_MSSZDDD:
   case MSPACK_VER_MSKWAJD:
-  case MSPACK_VER_MSOABD:
     return 1;
   case MSPACK_VER_MSCABC:
   case MSPACK_VER_MSCHMC:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cabextract-1.9/src/cabextract.c 
new/cabextract-1.9.1/src/cabextract.c
--- old/cabextract-1.9/src/cabextract.c 2018-11-05 12:51:19.000000000 +0100
+++ new/cabextract-1.9.1/src/cabextract.c       2019-03-04 01:38:37.000000000 
+0100
@@ -1,5 +1,5 @@
 /* cabextract - a program to extract Microsoft Cabinet files
- * (C) 2000-2018 Stuart Caie <ky...@cabextract.org.uk>
+ * (C) 2000-2019 Stuart Caie <ky...@cabextract.org.uk>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -203,6 +203,13 @@
 int main(int argc, char *argv[]) {
   int i, err;
 
+  /* names for the UTF-8 charset recognised by different iconv_open()s */
+  char *utf8_names[] = {
+      "UTF-8", /* glibc, libiconv, FreeBSD, Solaris, not newlib or HPUX */
+      "UTF8",  /* glibc, libiconv (< 1.13), newlib, HPUX */
+      "UTF_8", /* newlib, Solaris */
+  };
+
    /* attempt to set a UTF8-based locale, so that tolower()/towlower()
     * in create_output_name() lowercase more than just A-Z in ASCII.
     *
@@ -259,7 +266,7 @@
       "  -e   --encoding    assume non-UTF8 filenames have the given 
encoding\n"
 #endif
       "  -d   --directory   extract all files to the given directory\n\n"
-      "cabextract %s (C) 2000-2018 Stuart Caie <ky...@cabextract.org.uk>\n"
+      "cabextract %s (C) 2000-2019 Stuart Caie <ky...@cabextract.org.uk>\n"
       "This is free software with ABSOLUTELY NO WARRANTY.\n",
       VERSION);
     return EXIT_FAILURE;
@@ -323,15 +330,18 @@
   cabd->set_param(cabd, MSCABD_PARAM_SALVAGE, args.fix);
 
 #if HAVE_ICONV
-  /* set up converter for given encoding */
-    if (args.encoding) {
-      if ((converter = iconv_open("UTF8", args.encoding)) == (iconv_t) -1) {
-        converter = NULL;
-        fprintf(stderr, "FATAL ERROR: encoding '%s' is not recognised\n",
-            args.encoding);
-        return EXIT_FAILURE;
-      }
+  /* set up converter from given encoding to UTF-8 */
+  if (args.encoding) {
+    for (i = 0; i < (sizeof(utf8_names)/sizeof(*utf8_names)); i++) {
+      converter = iconv_open(utf8_names[i], args.encoding);
+      if (converter != (iconv_t) -1) break;
+    }
+    if (converter == (iconv_t) -1) {
+      fprintf(stderr, "FATAL ERROR: encoding '%s' is not recognised\n",
+          args.encoding);
+      return EXIT_FAILURE;
     }
+  }
 #endif
 
   /* process cabinets */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cabextract-1.9/test/bugs.test 
new/cabextract-1.9.1/test/bugs.test
--- old/cabextract-1.9/test/bugs.test   2018-11-03 20:23:30.000000000 +0100
+++ new/cabextract-1.9.1/test/bugs.test 2018-12-03 11:05:14.000000000 +0100
@@ -2,7 +2,7 @@
 # test that known crash bugs remain fixed
 . test/testcase
 
-$cabextract -t $test_files/bugs/*.cab
+"$cabextract" -t bugs/*.cab
 
 # fail if exit code indicates a crash (SIGBUS, SIGSEGV, etc.)
 test $? -le 1
Binary files old/cabextract-1.9/test/cabs/case-ascii.cab and 
new/cabextract-1.9.1/test/cabs/case-ascii.cab differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cabextract-1.9/test/cabs/case-ascii.txt 
new/cabextract-1.9.1/test/cabs/case-ascii.txt
--- old/cabextract-1.9/test/cabs/case-ascii.txt 1970-01-01 01:00:00.000000000 
+0100
+++ new/cabextract-1.9.1/test/cabs/case-ascii.txt       2018-11-09 
14:31:50.000000000 +0100
@@ -0,0 +1,3 @@
+# test that cabextract can lowercase ASCII filenames
+ascii\upper\ABCDEFGHIJKLMNOPQRSTUVWXYZ
+ascii\lower\abcdefghijklmnopqrstuvwxyz
Binary files old/cabextract-1.9/test/cabs/case-utf8.cab and 
new/cabextract-1.9.1/test/cabs/case-utf8.cab differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cabextract-1.9/test/cabs/case-utf8.txt 
new/cabextract-1.9.1/test/cabs/case-utf8.txt
--- old/cabextract-1.9/test/cabs/case-utf8.txt  1970-01-01 01:00:00.000000000 
+0100
+++ new/cabextract-1.9.1/test/cabs/case-utf8.txt        2018-11-09 
14:31:37.000000000 +0100
@@ -0,0 +1,7 @@
+# test that cabextract can lowercase UTF-8 filenames
+latin1\upper\ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ
+latin1\lower\àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ
+greek\upper\ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ
+greek\lower\αβγδεζηθικλμνξοπρςστυφχψ
+cyrillic\upper\АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ
+cyrillic\lower\абвгдежзийклмнопрстуфхцчшщъыьэюя
Binary files old/cabextract-1.9/test/cabs/case.cab and 
new/cabextract-1.9.1/test/cabs/case.cab differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cabextract-1.9/test/cabs/case.txt 
new/cabextract-1.9.1/test/cabs/case.txt
--- old/cabextract-1.9/test/cabs/case.txt       2018-07-18 21:00:09.000000000 
+0200
+++ new/cabextract-1.9.1/test/cabs/case.txt     1970-01-01 01:00:00.000000000 
+0100
@@ -1,9 +0,0 @@
-# test that cabextract can lowercase ASCII and UTF-8 filenames
-ascii\upper\ABCDEFGHIJKLMNOPQRSTUVWXYZ
-ascii\lower\abcdefghijklmnopqrstuvwxyz
-latin1\upper\ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ
-latin1\lower\àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ
-greek\upper\ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ
-greek\lower\αβγδεζηθικλμνξοπρςστυφχψ
-cyrillic\upper\АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ
-cyrillic\lower\абвгдежзийклмнопрстуфхцчшщъыьэюя
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cabextract-1.9/test/cabs/filename-cabs.sh 
new/cabextract-1.9.1/test/cabs/filename-cabs.sh
--- old/cabextract-1.9/test/cabs/filename-cabs.sh       2018-11-03 
19:30:25.000000000 +0100
+++ new/cabextract-1.9.1/test/cabs/filename-cabs.sh     2018-11-09 
14:31:09.000000000 +0100
@@ -1,5 +1,6 @@
 #!/bin/sh
-./filenames.pl case.txt            >case.cab
+./filenames.pl case-ascii.txt      >case-ascii.cab
+./filenames.pl case-utf8.txt       >case-utf8.cab
 ./filenames.pl dirwalk-vulns.txt   >dirwalk-vulns.cab
 FORCE_CODEPAGE=1 ./filenames.pl encoding-koi8.txt   >encoding-koi8.cab
 FORCE_CODEPAGE=1 ./filenames.pl encoding-latin1.txt >encoding-latin1.cab
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cabextract-1.9/test/case-ascii.test 
new/cabextract-1.9.1/test/case-ascii.test
--- old/cabextract-1.9/test/case-ascii.test     1970-01-01 01:00:00.000000000 
+0100
+++ new/cabextract-1.9.1/test/case-ascii.test   2018-12-03 11:05:14.000000000 
+0100
@@ -0,0 +1,49 @@
+#!/bin/sh
+# test cabextract --lowercase and --directory options
+. test/testcase
+
+"$cabextract" -l cabs/case-ascii.cab >$actual
+compare_with <<'EOF'
+Viewing cabinet: cabs/case-ascii.cab
+ File size | Date       Time     | Name
+-----------+---------------------+-------------
+         0 | 12.03.1997 11:13:52 | ascii/upper/ABCDEFGHIJKLMNOPQRSTUVWXYZ
+         0 | 12.03.1997 11:13:52 | ascii/lower/abcdefghijklmnopqrstuvwxyz
+
+All done, no errors.
+EOF
+
+"$cabextract"  -L -l cabs/case-ascii.cab >$actual
+compare_with <<'EOF'
+Viewing cabinet: cabs/case-ascii.cab
+ File size | Date       Time     | Name
+-----------+---------------------+-------------
+         0 | 12.03.1997 11:13:52 | ascii/upper/abcdefghijklmnopqrstuvwxyz
+         0 | 12.03.1997 11:13:52 | ascii/lower/abcdefghijklmnopqrstuvwxyz
+
+All done, no errors.
+EOF
+
+"$cabextract" -d DIR/PATH -l cabs/case-ascii.cab >$actual
+compare_with <<'EOF'
+Viewing cabinet: cabs/case-ascii.cab
+ File size | Date       Time     | Name
+-----------+---------------------+-------------
+         0 | 12.03.1997 11:13:52 | 
DIR/PATH/ascii/upper/ABCDEFGHIJKLMNOPQRSTUVWXYZ
+         0 | 12.03.1997 11:13:52 | 
DIR/PATH/ascii/lower/abcdefghijklmnopqrstuvwxyz
+
+All done, no errors.
+EOF
+
+"$cabextract" -d DIR/PATH -L -l cabs/case-ascii.cab >$actual
+compare_with <<'EOF'
+Viewing cabinet: cabs/case-ascii.cab
+ File size | Date       Time     | Name
+-----------+---------------------+-------------
+         0 | 12.03.1997 11:13:52 | 
DIR/PATH/ascii/upper/abcdefghijklmnopqrstuvwxyz
+         0 | 12.03.1997 11:13:52 | 
DIR/PATH/ascii/lower/abcdefghijklmnopqrstuvwxyz
+
+All done, no errors.
+EOF
+
+read status < $status && test "x$status" = xsuccess
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cabextract-1.9/test/case-utf8.test 
new/cabextract-1.9.1/test/case-utf8.test
--- old/cabextract-1.9/test/case-utf8.test      1970-01-01 01:00:00.000000000 
+0100
+++ new/cabextract-1.9.1/test/case-utf8.test    2018-12-03 11:05:14.000000000 
+0100
@@ -0,0 +1,73 @@
+#!/bin/sh
+# test cabextract --lowercase and --directory options
+. test/testcase
+
+# skip test if environment has no UTF-8 locale, where
+# cabextract can't lowercase non-ASCII characters
+"$cabextract" -l    cabs/case-utf8.cab >$expected
+"$cabextract" -L -l cabs/case-utf8.cab >$actual
+if diff $expected $actual >/dev/null; then
+    exit 77
+fi
+
+"$cabextract" -l cabs/case-utf8.cab >$actual
+compare_with <<'EOF'
+Viewing cabinet: cabs/case-utf8.cab
+ File size | Date       Time     | Name
+-----------+---------------------+-------------
+         0 | 12.03.1997 11:13:52 | latin1/upper/ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ
+         0 | 12.03.1997 11:13:52 | latin1/lower/àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ
+         0 | 12.03.1997 11:13:52 | greek/upper/ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ
+         0 | 12.03.1997 11:13:52 | greek/lower/αβγδεζηθικλμνξοπρςστυφχψ
+         0 | 12.03.1997 11:13:52 | 
cyrillic/upper/АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ
+         0 | 12.03.1997 11:13:52 | 
cyrillic/lower/абвгдежзийклмнопрстуфхцчшщъыьэюя
+
+All done, no errors.
+EOF
+
+"$cabextract"  -L -l cabs/case-utf8.cab >$actual
+compare_with <<'EOF'
+Viewing cabinet: cabs/case-utf8.cab
+ File size | Date       Time     | Name
+-----------+---------------------+-------------
+         0 | 12.03.1997 11:13:52 | latin1/upper/àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ
+         0 | 12.03.1997 11:13:52 | latin1/lower/àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ
+         0 | 12.03.1997 11:13:52 | greek/upper/αβγδεζηθικλμνξοπρστυφχψω
+         0 | 12.03.1997 11:13:52 | greek/lower/αβγδεζηθικλμνξοπρςστυφχψ
+         0 | 12.03.1997 11:13:52 | 
cyrillic/upper/абвгдежзийклмнопрстуфхцчшщъыьэюя
+         0 | 12.03.1997 11:13:52 | 
cyrillic/lower/абвгдежзийклмнопрстуфхцчшщъыьэюя
+
+All done, no errors.
+EOF
+
+"$cabextract" -d DIR/PATH -l cabs/case-utf8.cab >$actual
+compare_with <<'EOF'
+Viewing cabinet: cabs/case-utf8.cab
+ File size | Date       Time     | Name
+-----------+---------------------+-------------
+         0 | 12.03.1997 11:13:52 | 
DIR/PATH/latin1/upper/ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ
+         0 | 12.03.1997 11:13:52 | 
DIR/PATH/latin1/lower/àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ
+         0 | 12.03.1997 11:13:52 | 
DIR/PATH/greek/upper/ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ
+         0 | 12.03.1997 11:13:52 | 
DIR/PATH/greek/lower/αβγδεζηθικλμνξοπρςστυφχψ
+         0 | 12.03.1997 11:13:52 | 
DIR/PATH/cyrillic/upper/АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ
+         0 | 12.03.1997 11:13:52 | 
DIR/PATH/cyrillic/lower/абвгдежзийклмнопрстуфхцчшщъыьэюя
+
+All done, no errors.
+EOF
+
+"$cabextract" -d DIR/PATH -L -l cabs/case-utf8.cab >$actual
+compare_with <<'EOF'
+Viewing cabinet: cabs/case-utf8.cab
+ File size | Date       Time     | Name
+-----------+---------------------+-------------
+         0 | 12.03.1997 11:13:52 | 
DIR/PATH/latin1/upper/àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ
+         0 | 12.03.1997 11:13:52 | 
DIR/PATH/latin1/lower/àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ
+         0 | 12.03.1997 11:13:52 | 
DIR/PATH/greek/upper/αβγδεζηθικλμνξοπρστυφχψω
+         0 | 12.03.1997 11:13:52 | 
DIR/PATH/greek/lower/αβγδεζηθικλμνξοπρςστυφχψ
+         0 | 12.03.1997 11:13:52 | 
DIR/PATH/cyrillic/upper/абвгдежзийклмнопрстуфхцчшщъыьэюя
+         0 | 12.03.1997 11:13:52 | 
DIR/PATH/cyrillic/lower/абвгдежзийклмнопрстуфхцчшщъыьэюя
+
+All done, no errors.
+EOF
+
+read status < $status && test "x$status" = xsuccess
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cabextract-1.9/test/case.test 
new/cabextract-1.9.1/test/case.test
--- old/cabextract-1.9/test/case.test   2018-11-03 20:27:12.000000000 +0100
+++ new/cabextract-1.9.1/test/case.test 1970-01-01 01:00:00.000000000 +0100
@@ -1,73 +0,0 @@
-#!/bin/sh
-# test cabextract --lowercase and --directory options
-. test/testcase
-
-$cabextract -l cabs/case.cab >$actual
-compare_with <<'EOF'
-Viewing cabinet: cabs/case.cab
- File size | Date       Time     | Name
------------+---------------------+-------------
-         0 | 12.03.1997 11:13:52 | ascii/upper/ABCDEFGHIJKLMNOPQRSTUVWXYZ
-         0 | 12.03.1997 11:13:52 | ascii/lower/abcdefghijklmnopqrstuvwxyz
-         0 | 12.03.1997 11:13:52 | latin1/upper/ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ
-         0 | 12.03.1997 11:13:52 | latin1/lower/àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ
-         0 | 12.03.1997 11:13:52 | greek/upper/ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ
-         0 | 12.03.1997 11:13:52 | greek/lower/αβγδεζηθικλμνξοπρςστυφχψ
-         0 | 12.03.1997 11:13:52 | 
cyrillic/upper/АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ
-         0 | 12.03.1997 11:13:52 | 
cyrillic/lower/абвгдежзийклмнопрстуфхцчшщъыьэюя
-
-All done, no errors.
-EOF
-
-$cabextract  -L -l cabs/case.cab >$actual
-compare_with <<'EOF'
-Viewing cabinet: cabs/case.cab
- File size | Date       Time     | Name
------------+---------------------+-------------
-         0 | 12.03.1997 11:13:52 | ascii/upper/abcdefghijklmnopqrstuvwxyz
-         0 | 12.03.1997 11:13:52 | ascii/lower/abcdefghijklmnopqrstuvwxyz
-         0 | 12.03.1997 11:13:52 | latin1/upper/àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ
-         0 | 12.03.1997 11:13:52 | latin1/lower/àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ
-         0 | 12.03.1997 11:13:52 | greek/upper/αβγδεζηθικλμνξοπρστυφχψω
-         0 | 12.03.1997 11:13:52 | greek/lower/αβγδεζηθικλμνξοπρςστυφχψ
-         0 | 12.03.1997 11:13:52 | 
cyrillic/upper/абвгдежзийклмнопрстуфхцчшщъыьэюя
-         0 | 12.03.1997 11:13:52 | 
cyrillic/lower/абвгдежзийклмнопрстуфхцчшщъыьэюя
-
-All done, no errors.
-EOF
-
-$cabextract -d DIR/PATH -l cabs/case.cab >$actual
-compare_with <<'EOF'
-Viewing cabinet: cabs/case.cab
- File size | Date       Time     | Name
------------+---------------------+-------------
-         0 | 12.03.1997 11:13:52 | 
DIR/PATH/ascii/upper/ABCDEFGHIJKLMNOPQRSTUVWXYZ
-         0 | 12.03.1997 11:13:52 | 
DIR/PATH/ascii/lower/abcdefghijklmnopqrstuvwxyz
-         0 | 12.03.1997 11:13:52 | 
DIR/PATH/latin1/upper/ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ
-         0 | 12.03.1997 11:13:52 | 
DIR/PATH/latin1/lower/àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ
-         0 | 12.03.1997 11:13:52 | 
DIR/PATH/greek/upper/ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ
-         0 | 12.03.1997 11:13:52 | 
DIR/PATH/greek/lower/αβγδεζηθικλμνξοπρςστυφχψ
-         0 | 12.03.1997 11:13:52 | 
DIR/PATH/cyrillic/upper/АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ
-         0 | 12.03.1997 11:13:52 | 
DIR/PATH/cyrillic/lower/абвгдежзийклмнопрстуфхцчшщъыьэюя
-
-All done, no errors.
-EOF
-
-$cabextract -d DIR/PATH -L -l cabs/case.cab >$actual
-compare_with <<'EOF'
-Viewing cabinet: cabs/case.cab
- File size | Date       Time     | Name
------------+---------------------+-------------
-         0 | 12.03.1997 11:13:52 | 
DIR/PATH/ascii/upper/abcdefghijklmnopqrstuvwxyz
-         0 | 12.03.1997 11:13:52 | 
DIR/PATH/ascii/lower/abcdefghijklmnopqrstuvwxyz
-         0 | 12.03.1997 11:13:52 | 
DIR/PATH/latin1/upper/àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ
-         0 | 12.03.1997 11:13:52 | 
DIR/PATH/latin1/lower/àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ
-         0 | 12.03.1997 11:13:52 | 
DIR/PATH/greek/upper/αβγδεζηθικλμνξοπρστυφχψω
-         0 | 12.03.1997 11:13:52 | 
DIR/PATH/greek/lower/αβγδεζηθικλμνξοπρςστυφχψ
-         0 | 12.03.1997 11:13:52 | 
DIR/PATH/cyrillic/upper/абвгдежзийклмнопрстуфхцчшщъыьэюя
-         0 | 12.03.1997 11:13:52 | 
DIR/PATH/cyrillic/lower/абвгдежзийклмнопрстуфхцчшщъыьэюя
-
-All done, no errors.
-EOF
-
-read status < $status && test "x$status" = xsuccess
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cabextract-1.9/test/dirwalk-vulns.test 
new/cabextract-1.9.1/test/dirwalk-vulns.test
--- old/cabextract-1.9/test/dirwalk-vulns.test  2018-11-03 20:31:02.000000000 
+0100
+++ new/cabextract-1.9.1/test/dirwalk-vulns.test        2018-12-03 
11:05:14.000000000 +0100
@@ -2,7 +2,7 @@
 # test cabextract prevents directory path manipulation
 . test/testcase
 
-$cabextract -l cabs/dirwalk-vulns.cab >$actual
+"$cabextract" -l cabs/dirwalk-vulns.cab >$actual
 compare_with <<'EOF'
 Viewing cabinet: cabs/dirwalk-vulns.cab
  File size | Date       Time     | Name
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cabextract-1.9/test/encoding.test 
new/cabextract-1.9.1/test/encoding.test
--- old/cabextract-1.9/test/encoding.test       2018-11-05 11:39:40.000000000 
+0100
+++ new/cabextract-1.9.1/test/encoding.test     2018-12-03 11:05:14.000000000 
+0100
@@ -3,11 +3,11 @@
 . test/testcase
 
 # skip test if cabextract has no --encoding option
-if [ `$cabextract -h 2>&1 | grep -c encoding` -eq 0 ]; then
+if [ `"$cabextract" -h 2>&1 | grep -c encoding` -eq 0 ]; then
     exit 77
 fi
 
-$cabextract -e koi8-ru -l cabs/encoding-koi8.cab >$actual
+"$cabextract" -e koi8-ru -l cabs/encoding-koi8.cab >$actual
 compare_with <<'EOF'
 Viewing cabinet: cabs/encoding-koi8.cab
  File size | Date       Time     | Name
@@ -19,7 +19,7 @@
 All done, no errors.
 EOF
 
-$cabextract -e iso-8859-1 -l cabs/encoding-latin1.cab >$actual
+"$cabextract" -e iso-8859-1 -l cabs/encoding-latin1.cab >$actual
 compare_with <<'EOF'
 Viewing cabinet: cabs/encoding-latin1.cab
  File size | Date       Time     | Name
@@ -31,7 +31,7 @@
 All done, no errors.
 EOF
 
-$cabextract -e sjis -l cabs/encoding-sjis.cab >$actual
+"$cabextract" -e sjis -l cabs/encoding-sjis.cab >$actual
 compare_with <<'EOF'
 Viewing cabinet: cabs/encoding-sjis.cab
  File size | Date       Time     | Name
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cabextract-1.9/test/mixed.test 
new/cabextract-1.9.1/test/mixed.test
--- old/cabextract-1.9/test/mixed.test  2018-11-03 20:27:33.000000000 +0100
+++ new/cabextract-1.9.1/test/mixed.test        2018-12-03 11:05:14.000000000 
+0100
@@ -2,7 +2,7 @@
 # test cabextract --filter and --pipe options
 . test/testcase
 
-$cabextract -p cabs/mixed.cab >$actual
+"$cabextract" -p cabs/mixed.cab >$actual
 compare_with <<'EOF'
 If you can read this, the MSZIP decompressor is working!
 -----------------------------------------------------------------
@@ -11,19 +11,19 @@
 If you can read this, the Quantum decompressor is working!
 EOF
 
-$cabextract -p -F 'mszip.*' cabs/mixed.cab >$actual
+"$cabextract" -p -F 'mszip.*' cabs/mixed.cab >$actual
 compare_with <<'EOF'
 If you can read this, the MSZIP decompressor is working!
 EOF
 
-$cabextract -p -F '*zx*' cabs/mixed.cab >$actual
+"$cabextract" -p -F '*zx*' cabs/mixed.cab >$actual
 compare_with <<'EOF'
 -----------------------------------------------------------------
 If you can read this, the LZX decompressor is working!
 -----------------------------------------------------------------
 EOF
 
-$cabextract -p -F '*m.txt'  cabs/mixed.cab >$actual
+"$cabextract" -p -F '*m.txt'  cabs/mixed.cab >$actual
 compare_with <<'EOF'
 If you can read this, the Quantum decompressor is working!
 EOF
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cabextract-1.9/test/search.test 
new/cabextract-1.9.1/test/search.test
--- old/cabextract-1.9/test/search.test 2018-11-03 20:27:37.000000000 +0100
+++ new/cabextract-1.9.1/test/search.test       2018-12-03 11:05:14.000000000 
+0100
@@ -2,7 +2,7 @@
 # test cabextract can find cabinets within files
 . test/testcase
 
-$cabextract -l cabs/search.cab >$actual
+"$cabextract" -l cabs/search.cab >$actual
 compare_with <<'EOF'
 Viewing cabinet: cabs/search.cab
  File size | Date       Time     | Name
@@ -35,7 +35,7 @@
 All done, no errors.
 EOF
 
-$cabextract -t cabs/search.cab >$actual
+"$cabextract" -t cabs/search.cab >$actual
 compare_with <<'EOF'
 Testing cabinet: cabs/search.cab
   hello.cab  OK                                cabef68e0ded744846e41c05823a690c
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cabextract-1.9/test/simple.test 
new/cabextract-1.9.1/test/simple.test
--- old/cabextract-1.9/test/simple.test 2018-11-03 20:27:42.000000000 +0100
+++ new/cabextract-1.9.1/test/simple.test       2018-12-03 11:05:14.000000000 
+0100
@@ -2,7 +2,7 @@
 # test cabextract gets the basics right (correct dates, filenames, 
checksums...)
 . test/testcase
 
-$cabextract -l cabs/simple.cab >$actual
+"$cabextract" -l cabs/simple.cab >$actual
 compare_with <<'EOF'
 Viewing cabinet: cabs/simple.cab
  File size | Date       Time     | Name
@@ -13,7 +13,7 @@
 All done, no errors.
 EOF
 
-$cabextract -t cabs/simple.cab >$actual
+"$cabextract" -t cabs/simple.cab >$actual
 compare_with <<'EOF'
 Testing cabinet: cabs/simple.cab
   hello.c  OK                                  c2535936b8908b1f8a28b7724a2c2045
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cabextract-1.9/test/split.test 
new/cabextract-1.9.1/test/split.test
--- old/cabextract-1.9/test/split.test  2018-11-03 20:27:48.000000000 +0100
+++ new/cabextract-1.9.1/test/split.test        2018-12-03 11:05:14.000000000 
+0100
@@ -2,7 +2,7 @@
 # test cabextract can join up split cabinets, whichever you start with
 . test/testcase
 
-$cabextract -t cabs/split-1.cab >$actual
+"$cabextract" -t cabs/split-1.cab >$actual
 compare_with <<'EOF'
 cabs/split-1.cab: extends to Split-2.CAB (Split cabinet file 2/5)
 cabs/split-1.cab: extends to Split-3.CAB (Split cabinet file 3/5)
@@ -19,7 +19,7 @@
 All done, no errors.
 EOF
 
-$cabextract -t cabs/split-2.cab >$actual
+"$cabextract" -t cabs/split-2.cab >$actual
 compare_with <<'EOF'
 cabs/split-2.cab: extends backwards to Split-1.CAB (Split cabinet file 1/5)
 cabs/split-2.cab: extends to Split-3.CAB (Split cabinet file 3/5)
@@ -36,7 +36,7 @@
 All done, no errors.
 EOF
 
-$cabextract -t cabs/split-3.cab >$actual
+"$cabextract" -t cabs/split-3.cab >$actual
 compare_with <<'EOF'
 cabs/split-3.cab: extends backwards to Split-2.CAB (Split cabinet file 2/5)
 cabs/split-3.cab: extends backwards to Split-1.CAB (Split cabinet file 1/5)
@@ -53,7 +53,7 @@
 All done, no errors.
 EOF
 
-$cabextract -t cabs/split-4.cab >$actual
+"$cabextract" -t cabs/split-4.cab >$actual
 compare_with <<'EOF'
 cabs/split-4.cab: extends backwards to Split-3.CAB (Split cabinet file 3/5)
 cabs/split-4.cab: extends backwards to Split-2.CAB (Split cabinet file 2/5)
@@ -70,7 +70,7 @@
 All done, no errors.
 EOF
 
-$cabextract -t cabs/split-5.cab >$actual
+"$cabextract" -t cabs/split-5.cab >$actual
 compare_with <<'EOF'
 cabs/split-5.cab: extends backwards to Split-4.CAB (Split cabinet file 4/5)
 cabs/split-5.cab: extends backwards to Split-3.CAB (Split cabinet file 3/5)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cabextract-1.9/test/testcase.in 
new/cabextract-1.9.1/test/testcase.in
--- old/cabextract-1.9/test/testcase.in 2018-11-03 20:41:01.000000000 +0100
+++ new/cabextract-1.9.1/test/testcase.in       2018-12-03 11:05:39.000000000 
+0100
@@ -1,4 +1,4 @@
-cabextract=@abs_top_builddir@/cabextract@EXEEXT@
+cabextract="@abs_top_builddir@/cabextract@EXEEXT@"
 cd "@abs_srcdir@"
 
 status=`mktemp`
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cabextract-1.9/test/utf8-stresstest.test 
new/cabextract-1.9.1/test/utf8-stresstest.test
--- old/cabextract-1.9/test/utf8-stresstest.test        2018-11-03 
20:27:52.000000000 +0100
+++ new/cabextract-1.9.1/test/utf8-stresstest.test      2018-12-03 
11:05:14.000000000 +0100
@@ -2,7 +2,7 @@
 # test cabextract handles bad UTF-8 filenames
 . test/testcase
 
-$cabextract -l cabs/utf8-stresstest.cab >$actual
+"$cabextract" -l cabs/utf8-stresstest.cab >$actual
 compare_with <<'EOF'
 Viewing cabinet: cabs/utf8-stresstest.cab
  File size | Date       Time     | Name


Reply via email to