File libmspack.spec of Package libmspack.26620
#
# spec file for package libmspack
#
# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: libmspack
Version: 0.4
Release: 0
# "alpha" in the version string just says that it is an alpha version.
%define _version %{version}alpha
Summary: Library That Implements Different Microsoft Compressions
License: LGPL-2.1-only
Group: System/Libraries
URL: http://www.cabextract.org.uk/libmspack/
# Warning, OBS download service does not work at http://www.cabextract.org.uk/
#Source: http://www.cabextract.org.uk/libmspack/%{name}-%{_version}.tar.gz
Source: %{name}-%{_version}.tar.gz
# PATCH-FIX-SECURITY libmspack-qtmd_decompress-loop.patch bnc912214 CVE-2014-9556 sbrabec@suse.cz -- Fix possible infinite loop caused DoS.
Patch: libmspack-qtmd_decompress-loop.patch
# PATCH-FIX-SECURITY libmspack-cabd_extract-null-deref.patch bsc934524 CVE-2014-9732 sbrabec@suse.com -- Fix zero dereference.
Patch1: libmspack-cabd_extract-null-deref.patch
# PATCH-FIX-SECURITY fix-division-by-zero.patch bsc934525 Debian774725 CVE-2015-4467 sbrabec@suse.com -- Fix overflow vulnerability.
Patch2: fix-division-by-zero.patch
# PATCH-FIX-SECURITY fix-pointer-arithmetic-overflow.patch bsc934526 Debian774726 CVE-2015-4468 sbrabec@suse.com -- Fix overflow vulnerability, with updates including later upstream fixes.
Patch3: fix-pointer-arithmetic-overflow.patch
# PATCH-FIX-SECURITY fix-name-field-boundaries.patch bsc934526 Debian774726 CVE-2015-4469 sbrabec@suse.com -- Fix overflow vulnerability, with updates including later upstream fixes.
Patch4: fix-name-field-boundaries.patch
# PATCH-FIX-SECURITY libmspack-mszipd-inflate-off-by-one.patch bsc934527 CVE-2015-4470 sbrabec@suse.com -- Fix off by one.
Patch5: libmspack-mszipd-inflate-off-by-one.patch
# PATCH-FIX-SECURITY libmspack-lzxd_decompress-underread.patch bsc934528 CVE-2015-4471 sbrabec@suse.com -- Fix buffer underread crash.
Patch6: libmspack-lzxd_decompress-underread.patch
# PATCH-FIX-SECURITY libmspack-chmd-READ_ENCINT-one-off.patch bsc934529 CVE-2015-4472 sbrabec@suse.com -- Fix one off.
Patch7: libmspack-chmd-READ_ENCINT-one-off.patch
# PATCH-FIX-UPSTREAM libmspack-resize-buffer.patch https://github.com/kyz/libmspack/commit/40ef1b4093d77ad3a5cfcee1f5cb6108b3a3bcc2 -- CAB block input buffer is one byte too small.
Patch8: %{name}-resize-buffer.patch
# PATCH-FIX-UPSTREAM libmspack-fix-bounds-checking.patch https://github.com/kyz/libmspack/commit/72e70a921f0f07fee748aec2274b30784e1d312a -- Fix off-by-one bounds check.
Patch9: %{name}-fix-bounds-checking.patch
# PATCH-FIX-UPSTREAM libmspack-reject-blank-filenames.patch https://github.com/kyz/libmspack/commit/8759da8db6ec9e866cb8eb143313f397f925bb4f -- Avoid returning etries that are blank.
Patch10: %{name}-reject-blank-filenames.patch
Patch11: libmspack-0.4alpha-CVE-2019-1010305.patch
Patch12: libmspack-CVE-2018-14681.patch
Patch13: libmspack-CVE-2018-14682.patch
# PATCH-FIX-UPSTREAM cve-2018-18586.patch https://github.com/kyz/libmspack/commit/7cadd489698be117c47efcadd742651594429e6d
Patch14: libmspack-CVE-2018-18586.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: pkg-config
%description
The purpose of libmspack is to provide both compression and
decompression of some loosely related file formats used by Microsoft.
Currently the most common formats are implemented.
%package -n libmspack0
Summary: Library That Implements Different Microsoft Compressions
# OpenSUSE <= 10.3, SLES <= 10:
Group: System/Libraries
Provides: libmspack = %{version}-%{release}
Obsoletes: libmspack < %{version}-%{release}
%description -n libmspack0
The purpose of libmspack is to provide both compression and
decompression of some loosely related file formats used by Microsoft.
Currently the most common formats are implemented.
%package devel
Summary: Static libraries, header files and documentation for libmspack
Group: Development/Libraries/C and C++
Requires: libmspack0 = %{version}
%description devel
The libmspack-devel package contains the header files and static
libraries necessary for developing programs using libmspack.
%prep
%setup -q -n %{name}-%{_version}
%patch -p3
%patch1 -p3
%patch2 -p3
%patch3 -p1
%patch4 -p1
%patch5 -p3
%patch6 -p3
%patch7 -p3
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
%patch14 -p1
%build
%configure\
--disable-static
make %{?_smp_mflags}
%install
%makeinstall
rm $RPM_BUILD_ROOT%{_libdir}/*.*a
%check
cd test
./cabd_test
cd ..
%post -n libmspack0 -p /sbin/ldconfig
%postun -n libmspack0 -p /sbin/ldconfig
%files -n libmspack0
%defattr(-,root,root)
%{_libdir}/*.so.*
%doc AUTHORS COPYING.LIB ChangeLog README TODO
%files devel
%defattr(-,root,root)
%{_libdir}/*.so
%{_libdir}/pkgconfig/*.pc
%{_includedir}/*
%changelog