- Update p7zip from 16.02 (Jul 2016) to 17.03 (Dec 2020) - Version 16.02 was the last version by the previous dev team. A fork was created in May 2020 with version 17.01 - Rootfile updated - Changelog Version 17.03 ============= - add zstd to zip - add hash algorithm - XXHASH32 - XXHASH64 - MD2 - MD4 - MD5 - sha384 - sha512 - add Lzfse to dmg - add lz5 to 7z - add lizard to 7z - update lz4 to v1.9.3 - add brotli to 7z - update cmake build - fix xz crc64 error - use system local to select OEM code - add rpm install - fix lzma2 and flzma22 call the same algorithm - add 7zr build - fix tar format link file compress and decompress Version 17.02 ============= - p7zip 17.02 is more like 7zip 17.01(only 7za and 7z),The difference from 7zip 17.01 and older version p7zip is the following description - Supports Fast lzma2 1.0.1 compression method - Update Zstd method to 1.4.5 - Add zstd method parameters in 7z format ZSTD parameters NEW name: strategy -> strat fast -> fast long -> long WindowLog -> wlog HashLog -> hlog ChainLog -> clog SearchLog -> slog MinMatch -> slen TargetLen -> tlen OverlapLog -> ovlog LdmHashLog -> ldmhlog LdmSearchLength -> ldmslen LdmBucketSizeLog -> ldmblog LdmHashRateLog -> ldmhevery - Fix symlink files contained inside tar and squashfs as regular file - Add lz4 and Zstd decompress method to squashfs Version 17.01 ============= - Fix BUG CVE-2018-10115 - Fix BUG CVE-2018-5996 - Fix BUG CVE-2017-17969 - Fix BUG CVE-2016-9296 - The bug fixes in version 17.01 address the same CVE bugs as the p7zip-16.02-consolidated_fixes-1.patch Therefore this patch is no longer needed - The patches for CVE-2016-2334 & 2335 were for versions before 16.00 so are no longer needed
Signed-off-by: Adolf Belka adolf.belka@ipfire.org --- config/rootfiles/packages/7zip | 201 ++++---- lfs/7zip | 15 +- .../p7zip-16.02-consolidated_fixes-1.patch | 466 ------------------ src/patches/p7zip/CVE-2016-2334.patch | 24 - src/patches/p7zip/CVE-2016-2335.patch | 17 - 5 files changed, 109 insertions(+), 614 deletions(-) delete mode 100644 src/patches/p7zip-16.02-consolidated_fixes-1.patch delete mode 100644 src/patches/p7zip/CVE-2016-2334.patch delete mode 100644 src/patches/p7zip/CVE-2016-2335.patch
diff --git a/config/rootfiles/packages/7zip b/config/rootfiles/packages/7zip index f56e95c8c..a5d5ed607 100644 --- a/config/rootfiles/packages/7zip +++ b/config/rootfiles/packages/7zip @@ -9,102 +9,105 @@ usr/lib/p7zip/7za usr/lib/p7zip/7zr usr/lib/p7zip/Codecs usr/lib/p7zip/Codecs/Rar.so -#usr/share/doc/p7zip-16.02 -#usr/share/doc/p7zip-16.02/ChangeLog -#usr/share/doc/p7zip-16.02/DOC -#usr/share/doc/p7zip-16.02/DOC/7zC.txt -#usr/share/doc/p7zip-16.02/DOC/7zFormat.txt -#usr/share/doc/p7zip-16.02/DOC/License.txt -#usr/share/doc/p7zip-16.02/DOC/MANUAL -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/commands -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/commands/add.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/commands/bench.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/commands/delete.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/commands/extract.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/commands/extract_full.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/commands/hash.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/commands/index.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/commands/list.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/commands/rename.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/commands/style.css -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/commands/test.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/commands/update.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/exit_codes.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/index.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/style.css -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/ar_exclude.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/ar_include.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/ar_no.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/bb.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/bs.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/charset.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/exclude.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/include.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/index.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/large_pages.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/list_tech.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/method.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/output_dir.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/overwrite.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/password.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/recurse.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/sa.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/scc.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/scrc.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/sdel.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/sfx.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/shared.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/sni.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/sns.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/spf.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/ssc.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/stdin.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/stdout.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/stl.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/stop_switch.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/stx.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/style.css -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/type.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/update.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/volume.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/working_dir.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/yes.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/syntax.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/fm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/fm/about.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/fm/benchmark.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/fm/index.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/fm/menu.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/fm/options.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/fm/plugins -#usr/share/doc/p7zip-16.02/DOC/MANUAL/fm/plugins/7-zip -#usr/share/doc/p7zip-16.02/DOC/MANUAL/fm/plugins/7-zip/add.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/fm/plugins/7-zip/extract.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/fm/plugins/7-zip/index.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/fm/plugins/7-zip/style.css -#usr/share/doc/p7zip-16.02/DOC/MANUAL/fm/plugins/index.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/fm/plugins/style.css -#usr/share/doc/p7zip-16.02/DOC/MANUAL/fm/style.css -#usr/share/doc/p7zip-16.02/DOC/MANUAL/general -#usr/share/doc/p7zip-16.02/DOC/MANUAL/general/7z.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/general/faq.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/general/formats.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/general/index.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/general/license.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/general/performance.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/general/style.css -#usr/share/doc/p7zip-16.02/DOC/MANUAL/general/thanks.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/start.htm -#usr/share/doc/p7zip-16.02/DOC/MANUAL/style.css -#usr/share/doc/p7zip-16.02/DOC/Methods.txt -#usr/share/doc/p7zip-16.02/DOC/copying.txt -#usr/share/doc/p7zip-16.02/DOC/lzma.txt -#usr/share/doc/p7zip-16.02/DOC/readme.txt -#usr/share/doc/p7zip-16.02/DOC/src-history.txt -#usr/share/doc/p7zip-16.02/DOC/unRarLicense.txt -#usr/share/doc/p7zip-16.02/README -#usr/share/man/man1/7z.1 -#usr/share/man/man1/7za.1 -#usr/share/man/man1/7zr.1 +#usr/share/doc/p7zip-17.03 +#usr/share/doc/p7zip-17.03/ChangeLog +#usr/share/doc/p7zip-17.03/DOC +#usr/share/doc/p7zip-17.03/DOC/7zC.txt +#usr/share/doc/p7zip-17.03/DOC/7zFormat.txt +#usr/share/doc/p7zip-17.03/DOC/License.txt +#usr/share/doc/p7zip-17.03/DOC/MANUAL +#usr/share/doc/p7zip-17.03/DOC/MANUAL/7-zip.chm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/commands +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/commands/add.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/commands/bench.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/commands/delete.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/commands/extract.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/commands/extract_full.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/commands/hash.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/commands/index.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/commands/list.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/commands/rename.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/commands/style.css +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/commands/test.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/commands/update.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/exit_codes.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/index.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/style.css +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/ar_exclude.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/ar_include.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/ar_no.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/bb.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/bs.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/charset.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/exclude.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/include.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/index.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/large_pages.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/list_tech.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/method.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/output_dir.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/overwrite.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/password.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/recurse.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/sa.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/scc.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/scrc.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/sdel.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/sfx.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/shared.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/sni.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/sns.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/spf.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/ssc.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/stdin.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/stdout.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/stl.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/stop_switch.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/stx.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/style.css +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/type.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/update.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/volume.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/working_dir.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/yes.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/syntax.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/fm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/fm/about.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/fm/benchmark.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/fm/index.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/fm/menu.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/fm/options.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/fm/plugins +#usr/share/doc/p7zip-17.03/DOC/MANUAL/fm/plugins/7-zip +#usr/share/doc/p7zip-17.03/DOC/MANUAL/fm/plugins/7-zip/add.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/fm/plugins/7-zip/extract.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/fm/plugins/7-zip/index.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/fm/plugins/7-zip/style.css +#usr/share/doc/p7zip-17.03/DOC/MANUAL/fm/plugins/index.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/fm/plugins/style.css +#usr/share/doc/p7zip-17.03/DOC/MANUAL/fm/style.css +#usr/share/doc/p7zip-17.03/DOC/MANUAL/general +#usr/share/doc/p7zip-17.03/DOC/MANUAL/general/7z.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/general/faq.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/general/formats.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/general/index.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/general/license.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/general/performance.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/general/style.css +#usr/share/doc/p7zip-17.03/DOC/MANUAL/general/thanks.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/start.htm +#usr/share/doc/p7zip-17.03/DOC/MANUAL/style.css +#usr/share/doc/p7zip-17.03/DOC/Methods.txt +#usr/share/doc/p7zip-17.03/DOC/Struct.EAP +#usr/share/doc/p7zip-17.03/DOC/Struct.ldb +#usr/share/doc/p7zip-17.03/DOC/copying.txt +#usr/share/doc/p7zip-17.03/DOC/lzma.txt +#usr/share/doc/p7zip-17.03/DOC/readme.txt +#usr/share/doc/p7zip-17.03/DOC/src-history.txt +#usr/share/doc/p7zip-17.03/DOC/unRarLicense.txt +#usr/share/doc/p7zip-17.03/README +#usr/share/man/man1/7z.1.gz +#usr/share/man/man1/7za.1.gz +#usr/share/man/man1/7zr.1.gz \ No newline at end of file diff --git a/lfs/7zip b/lfs/7zip index 7f8ca29f4..b70ce491c 100644 --- a/lfs/7zip +++ b/lfs/7zip @@ -24,15 +24,15 @@
include Config
-VER = 16.02 +VER = 17.03
-THISAPP = p7zip_$(VER) -DL_FILE = $(THISAPP)_src_all.tar.bz2 -DL_FROM = $(URL_IPFIRE) +THISAPP = p7zip-$(VER) +DL_FILE = $(THISAPP).tar.gz +DL_FROM = https://github.com/jinfeihan57/p7zip/archive/v$(VER)/ DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = 7zip -PAK_VER = 7 +PAK_VER = 8
DEPS =
@@ -46,7 +46,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = a0128d661cfe7cc8c121e73519c54fbf +$(DL_FILE)_MD5 = fd7e6b082db89edfc047c1ce2d810850
install : $(TARGET)
@@ -78,8 +78,7 @@ dist:
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) - @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE) - cd $(DIR_APP) && cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/p7zip-16.02-consolidated_fixes-1.patch + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE) cd $(DIR_APP) && make all3 $(MAKETUNING) cd $(DIR_APP) && make DEST_HOME=/usr DEST_MAN=/usr/share/man \ DEST_SHARE_DOC=/usr/share/doc/p7zip-$(VER) install diff --git a/src/patches/p7zip-16.02-consolidated_fixes-1.patch b/src/patches/p7zip-16.02-consolidated_fixes-1.patch deleted file mode 100644 index 3f6da9cde..000000000 --- a/src/patches/p7zip-16.02-consolidated_fixes-1.patch +++ /dev/null @@ -1,466 +0,0 @@ -Submitted By: Bruce Dubbs bdubbs@linuxfromscratch.org -Date: 2020-05-12 -Initial Package Version: 16.02 -Upstream Status: Unknown. -Origin: Arch and Fedora -Description: Updates for CVE-2016-9296, CVE-2017-17969, CVE-2018-5996, - CVE-2018-10115 and GCC10. - -diff -Naur p7zip_16.02.orig/CPP/7zip/Archive/7z/7zIn.cpp p7zip_16.02/CPP/7zip/Archive/7z/7zIn.cpp ---- p7zip_16.02.orig/CPP/7zip/Archive/7z/7zIn.cpp 2016-05-20 03:20:03.000000000 -0500 -+++ p7zip_16.02/CPP/7zip/Archive/7z/7zIn.cpp 2020-05-12 15:34:34.513287566 -0500 -@@ -1097,7 +1097,8 @@ - if (CrcCalc(data, unpackSize) != folders.FolderCRCs.Vals[i]) - ThrowIncorrect(); - } -- HeadersSize += folders.PackPositions[folders.NumPackStreams]; -+ if (folders.PackPositions) -+ HeadersSize += folders.PackPositions[folders.NumPackStreams]; - return S_OK; - } - -diff -Naur p7zip_16.02.orig/CPP/7zip/Compress/Rar1Decoder.cpp p7zip_16.02/CPP/7zip/Compress/Rar1Decoder.cpp ---- p7zip_16.02.orig/CPP/7zip/Compress/Rar1Decoder.cpp 2015-09-01 13:04:52.000000000 -0500 -+++ p7zip_16.02/CPP/7zip/Compress/Rar1Decoder.cpp 2020-05-12 15:35:00.897548643 -0500 -@@ -29,7 +29,7 @@ - }; - */ - --CDecoder::CDecoder(): m_IsSolid(false) { } -+CDecoder::CDecoder(): _isSolid(false), _solidAllowed(false), _errorMode(false) { } - - void CDecoder::InitStructures() - { -@@ -345,7 +345,7 @@ - - void CDecoder::InitData() - { -- if (!m_IsSolid) -+ if (!_isSolid) - { - AvrPlcB = AvrLn1 = AvrLn2 = AvrLn3 = NumHuf = Buf60 = 0; - AvrPlc = 0x3500; -@@ -391,6 +391,11 @@ - if (inSize == NULL || outSize == NULL) - return E_INVALIDARG; - -+ if (_isSolid && !_solidAllowed) -+ return S_FALSE; -+ -+ _solidAllowed = false; -+ - if (!m_OutWindowStream.Create(kHistorySize)) - return E_OUTOFMEMORY; - if (!m_InBitStream.Create(1 << 20)) -@@ -398,17 +403,22 @@ - - m_UnpackSize = (Int64)*outSize; - m_OutWindowStream.SetStream(outStream); -- m_OutWindowStream.Init(m_IsSolid); -+ m_OutWindowStream.Init(_isSolid); - m_InBitStream.SetStream(inStream); - m_InBitStream.Init(); - - // CCoderReleaser coderReleaser(this); - InitData(); -- if (!m_IsSolid) -+ if (!_isSolid) - { -+ _errorMode = false; - InitStructures(); - InitHuff(); - } -+ -+ if (_errorMode) -+ return S_FALSE; -+ - if (m_UnpackSize > 0) - { - GetFlagsBuf(); -@@ -470,6 +480,7 @@ - } - if (m_UnpackSize < 0) - return S_FALSE; -+ _solidAllowed = true; - return m_OutWindowStream.Flush(); - } - -@@ -477,16 +488,16 @@ - const UInt64 *inSize, const UInt64 *outSize, ICompressProgressInfo *progress) - { - try { return CodeReal(inStream, outStream, inSize, outSize, progress); } -- catch(const CInBufferException &e) { return e.ErrorCode; } -- catch(const CLzOutWindowException &e) { return e.ErrorCode; } -- catch(...) { return S_FALSE; } -+ catch(const CInBufferException &e) { _errorMode = true; return e.ErrorCode; } -+ catch(const CLzOutWindowException &e) { _errorMode = true; return e.ErrorCode; } -+ catch(...) { _errorMode = true; return S_FALSE; } - } - - STDMETHODIMP CDecoder::SetDecoderProperties2(const Byte *data, UInt32 size) - { - if (size < 1) - return E_INVALIDARG; -- m_IsSolid = ((data[0] & 1) != 0); -+ _isSolid = ((data[0] & 1) != 0); - return S_OK; - } - -diff -Naur p7zip_16.02.orig/CPP/7zip/Compress/Rar1Decoder.h p7zip_16.02/CPP/7zip/Compress/Rar1Decoder.h ---- p7zip_16.02.orig/CPP/7zip/Compress/Rar1Decoder.h 2014-12-21 06:44:00.000000000 -0600 -+++ p7zip_16.02/CPP/7zip/Compress/Rar1Decoder.h 2020-05-12 15:35:00.897548643 -0500 -@@ -38,7 +38,9 @@ - UInt32 LastLength; - - Int64 m_UnpackSize; -- bool m_IsSolid; -+ bool _isSolid; -+ bool _solidAllowed; -+ bool _errorMode; - - UInt32 ReadBits(int numBits); - HRESULT CopyBlock(UInt32 distance, UInt32 len); -diff -Naur p7zip_16.02.orig/CPP/7zip/Compress/Rar2Decoder.cpp p7zip_16.02/CPP/7zip/Compress/Rar2Decoder.cpp ---- p7zip_16.02.orig/CPP/7zip/Compress/Rar2Decoder.cpp 2015-10-03 03:49:14.000000000 -0500 -+++ p7zip_16.02/CPP/7zip/Compress/Rar2Decoder.cpp 2020-05-12 15:35:00.897548643 -0500 -@@ -80,7 +80,9 @@ - static const UInt32 kWindowReservSize = (1 << 22) + 256; - - CDecoder::CDecoder(): -- m_IsSolid(false) -+ _isSolid(false), -+ _solidAllowed(false), -+ m_TablesOK(false) - { - } - -@@ -100,6 +102,8 @@ - - bool CDecoder::ReadTables(void) - { -+ m_TablesOK = false; -+ - Byte levelLevels[kLevelTableSize]; - Byte newLevels[kMaxTableSize]; - m_AudioMode = (ReadBits(1) == 1); -@@ -170,6 +174,8 @@ - } - - memcpy(m_LastLevels, newLevels, kMaxTableSize); -+ m_TablesOK = true; -+ - return true; - } - -@@ -315,6 +321,10 @@ - if (inSize == NULL || outSize == NULL) - return E_INVALIDARG; - -+ if (_isSolid && !_solidAllowed) -+ return S_FALSE; -+ _solidAllowed = false; -+ - if (!m_OutWindowStream.Create(kHistorySize)) - return E_OUTOFMEMORY; - if (!m_InBitStream.Create(1 << 20)) -@@ -325,12 +335,12 @@ - UInt64 pos = 0, unPackSize = *outSize; - - m_OutWindowStream.SetStream(outStream); -- m_OutWindowStream.Init(m_IsSolid); -+ m_OutWindowStream.Init(_isSolid); - m_InBitStream.SetStream(inStream); - m_InBitStream.Init(); - - // CCoderReleaser coderReleaser(this); -- if (!m_IsSolid) -+ if (!_isSolid) - { - InitStructures(); - if (unPackSize == 0) -@@ -338,12 +348,16 @@ - if (m_InBitStream.GetProcessedSize() + 2 <= m_PackSize) // test it: probably incorrect; - if (!ReadTables()) - return S_FALSE; -+ _solidAllowed = true; - return S_OK; - } - if (!ReadTables()) - return S_FALSE; - } - -+ if (!m_TablesOK) -+ return S_FALSE; -+ - UInt64 startPos = m_OutWindowStream.GetProcessedSize(); - while (pos < unPackSize) - { -@@ -378,6 +392,9 @@ - - if (!ReadLastTables()) - return S_FALSE; -+ -+ _solidAllowed = true; -+ - return m_OutWindowStream.Flush(); - } - -@@ -394,7 +411,7 @@ - { - if (size < 1) - return E_INVALIDARG; -- m_IsSolid = ((data[0] & 1) != 0); -+ _isSolid = ((data[0] & 1) != 0); - return S_OK; - } - -diff -Naur p7zip_16.02.orig/CPP/7zip/Compress/Rar2Decoder.h p7zip_16.02/CPP/7zip/Compress/Rar2Decoder.h ---- p7zip_16.02.orig/CPP/7zip/Compress/Rar2Decoder.h 2015-06-19 05:52:06.000000000 -0500 -+++ p7zip_16.02/CPP/7zip/Compress/Rar2Decoder.h 2020-05-12 15:35:00.898548653 -0500 -@@ -138,7 +138,9 @@ - Byte m_LastLevels[kMaxTableSize]; - - UInt64 m_PackSize; -- bool m_IsSolid; -+ bool _isSolid; -+ bool _solidAllowed; -+ bool m_TablesOK; - - void InitStructures(); - UInt32 ReadBits(unsigned numBits); -diff -Naur p7zip_16.02.orig/CPP/7zip/Compress/Rar3Decoder.cpp p7zip_16.02/CPP/7zip/Compress/Rar3Decoder.cpp ---- p7zip_16.02.orig/CPP/7zip/Compress/Rar3Decoder.cpp 2016-05-20 03:20:03.000000000 -0500 -+++ p7zip_16.02/CPP/7zip/Compress/Rar3Decoder.cpp 2020-05-12 15:35:00.898548653 -0500 -@@ -92,7 +92,9 @@ - _writtenFileSize(0), - _vmData(0), - _vmCode(0), -- m_IsSolid(false) -+ _isSolid(false), -+ _solidAllowed(false), -+ _errorMode(false) - { - Ppmd7_Construct(&_ppmd); - } -@@ -545,6 +547,9 @@ - return InitPPM(); - } - -+ TablesRead = false; -+ TablesOK = false; -+ - _lzMode = true; - PrevAlignBits = 0; - PrevAlignCount = 0; -@@ -606,6 +611,9 @@ - } - } - } -+ if (InputEofError()) -+ return S_FALSE; -+ - TablesRead = true; - - // original code has check here: -@@ -623,6 +631,9 @@ - RIF(m_LenDecoder.Build(&newLevels[kMainTableSize + kDistTableSize + kAlignTableSize])); - - memcpy(m_LastLevels, newLevels, kTablesSizesSum); -+ -+ TablesOK = true; -+ - return S_OK; - } - -@@ -811,7 +822,7 @@ - { - _writtenFileSize = 0; - _unsupportedFilter = false; -- if (!m_IsSolid) -+ if (!_isSolid) - { - _lzSize = 0; - _winPos = 0; -@@ -824,13 +835,21 @@ - PpmEscChar = 2; - PpmError = true; - InitFilters(); -+ _errorMode = false; - } -- if (!m_IsSolid || !TablesRead) -+ -+ if (_errorMode) -+ return S_FALSE; -+ -+ if (!_isSolid || !TablesRead) - { - bool keepDecompressing; - RINOK(ReadTables(keepDecompressing)); - if (!keepDecompressing) -+ { -+ _solidAllowed = true; - return S_OK; -+ } - } - - for (;;) -@@ -838,6 +857,8 @@ - bool keepDecompressing; - if (_lzMode) - { -+ if (!TablesOK) -+ return S_FALSE; - RINOK(DecodeLZ(keepDecompressing)) - } - else -@@ -853,6 +874,9 @@ - if (!keepDecompressing) - break; - } -+ -+ _solidAllowed = true; -+ - RINOK(WriteBuf()); - UInt64 packSize = m_InBitStream.BitDecoder.GetProcessedSize(); - RINOK(progress->SetRatioInfo(&packSize, &_writtenFileSize)); -@@ -873,6 +897,10 @@ - if (!inSize) - return E_INVALIDARG; - -+ if (_isSolid && !_solidAllowed) -+ return S_FALSE; -+ _solidAllowed = false; -+ - if (!_vmData) - { - _vmData = (Byte *)::MidAlloc(kVmDataSizeMax + kVmCodeSizeMax); -@@ -901,8 +929,8 @@ - _unpackSize = outSize ? *outSize : (UInt64)(Int64)-1; - return CodeReal(progress); - } -- catch(const CInBufferException &e) { return e.ErrorCode; } -- catch(...) { return S_FALSE; } -+ catch(const CInBufferException &e) { _errorMode = true; return e.ErrorCode; } -+ catch(...) { _errorMode = true; return S_FALSE; } - // CNewException is possible here. But probably CNewException is caused - // by error in data stream. - } -@@ -911,7 +939,7 @@ - { - if (size < 1) - return E_INVALIDARG; -- m_IsSolid = ((data[0] & 1) != 0); -+ _isSolid = ((data[0] & 1) != 0); - return S_OK; - } - -diff -Naur p7zip_16.02.orig/CPP/7zip/Compress/Rar3Decoder.h p7zip_16.02/CPP/7zip/Compress/Rar3Decoder.h ---- p7zip_16.02.orig/CPP/7zip/Compress/Rar3Decoder.h 2015-10-03 03:49:12.000000000 -0500 -+++ p7zip_16.02/CPP/7zip/Compress/Rar3Decoder.h 2020-05-12 15:35:00.898548653 -0500 -@@ -191,7 +191,9 @@ - CRecordVector<CTempFilter *> _tempFilters; - UInt32 _lastFilter; - -- bool m_IsSolid; -+ bool _isSolid; -+ bool _solidAllowed; -+ bool _errorMode; - - bool _lzMode; - bool _unsupportedFilter; -@@ -200,6 +202,7 @@ - UInt32 PrevAlignCount; - - bool TablesRead; -+ bool TablesOK; - - CPpmd7 _ppmd; - int PpmEscChar; -diff -Naur p7zip_16.02.orig/CPP/7zip/Compress/Rar5Decoder.cpp p7zip_16.02/CPP/7zip/Compress/Rar5Decoder.cpp ---- p7zip_16.02.orig/CPP/7zip/Compress/Rar5Decoder.cpp 2016-05-20 03:20:04.000000000 -0500 -+++ p7zip_16.02/CPP/7zip/Compress/Rar5Decoder.cpp 2020-05-12 15:35:00.899548663 -0500 -@@ -72,6 +72,7 @@ - _writtenFileSize(0), - _dictSizeLog(0), - _isSolid(false), -+ _solidAllowed(false), - _wasInit(false), - _inputBuf(NULL) - { -@@ -801,7 +802,10 @@ - */ - - if (res == S_OK) -+ { -+ _solidAllowed = true; - res = res2; -+ } - - if (res == S_OK && _unpackSize_Defined && _writtenFileSize != _unpackSize) - return S_FALSE; -@@ -821,6 +825,10 @@ - { - try - { -+ if (_isSolid && !_solidAllowed) -+ return S_FALSE; -+ _solidAllowed = false; -+ - if (_dictSizeLog >= sizeof(size_t) * 8) - return E_NOTIMPL; - -diff -Naur p7zip_16.02.orig/CPP/7zip/Compress/Rar5Decoder.h p7zip_16.02/CPP/7zip/Compress/Rar5Decoder.h ---- p7zip_16.02.orig/CPP/7zip/Compress/Rar5Decoder.h 2015-09-01 13:04:50.000000000 -0500 -+++ p7zip_16.02/CPP/7zip/Compress/Rar5Decoder.h 2020-05-12 15:35:00.899548663 -0500 -@@ -271,6 +271,7 @@ - Byte _dictSizeLog; - bool _tableWasFilled; - bool _isSolid; -+ bool _solidAllowed; - bool _wasInit; - - UInt32 _reps[kNumReps]; -diff -Naur p7zip_16.02.orig/CPP/7zip/Compress/ShrinkDecoder.cpp p7zip_16.02/CPP/7zip/Compress/ShrinkDecoder.cpp ---- p7zip_16.02.orig/CPP/7zip/Compress/ShrinkDecoder.cpp 2016-05-18 12:31:02.000000000 -0500 -+++ p7zip_16.02/CPP/7zip/Compress/ShrinkDecoder.cpp 2020-05-12 15:34:45.120392530 -0500 -@@ -121,7 +121,12 @@ - { - _stack[i++] = _suffixes[cur]; - cur = _parents[cur]; -+ if (cur >= kNumItems || i >= kNumItems) -+ break; - } -+ -+ if (cur >= kNumItems || i >= kNumItems) -+ break; - - _stack[i++] = (Byte)cur; - lastChar2 = (Byte)cur; -diff -Naur p7zip_16.02.orig/CPP/Windows/ErrorMsg.cpp p7zip_16.02/CPP/Windows/ErrorMsg.cpp ---- p7zip_16.02.orig/CPP/Windows/ErrorMsg.cpp 2015-01-18 12:20:28.000000000 -0600 -+++ p7zip_16.02/CPP/Windows/ErrorMsg.cpp 2020-05-12 15:37:52.688247586 -0500 -@@ -14,15 +14,15 @@ - AString msg; - - switch(errorCode) { -- case ERROR_NO_MORE_FILES : txt = "No more files"; break ; -- case E_NOTIMPL : txt = "E_NOTIMPL"; break ; -- case E_NOINTERFACE : txt = "E_NOINTERFACE"; break ; -- case E_ABORT : txt = "E_ABORT"; break ; -- case E_FAIL : txt = "E_FAIL"; break ; -- case STG_E_INVALIDFUNCTION : txt = "STG_E_INVALIDFUNCTION"; break ; -- case E_OUTOFMEMORY : txt = "E_OUTOFMEMORY"; break ; -- case E_INVALIDARG : txt = "E_INVALIDARG"; break ; -- case ERROR_DIRECTORY : txt = "Error Directory"; break ; -+ case unsigned (ERROR_NO_MORE_FILES) : txt = "No more files"; break ; -+ case unsigned (E_NOTIMPL) : txt = "E_NOTIMPL"; break ; -+ case unsigned (E_NOINTERFACE) : txt = "E_NOINTERFACE"; break ; -+ case unsigned (E_ABORT) : txt = "E_ABORT"; break ; -+ case unsigned (E_FAIL) : txt = "E_FAIL"; break ; -+ case unsigned (STG_E_INVALIDFUNCTION) : txt = "STG_E_INVALIDFUNCTION"; break ; -+ case unsigned (E_OUTOFMEMORY) : txt = "E_OUTOFMEMORY"; break ; -+ case unsigned (E_INVALIDARG) : txt = "E_INVALIDARG"; break ; -+ case ERROR_DIRECTORY : txt = "Error Directory"; break ; - default: - txt = strerror(errorCode); - } diff --git a/src/patches/p7zip/CVE-2016-2334.patch b/src/patches/p7zip/CVE-2016-2334.patch deleted file mode 100644 index 1eb5163cb..000000000 --- a/src/patches/p7zip/CVE-2016-2334.patch +++ /dev/null @@ -1,24 +0,0 @@ -Index: p7zip_15.14.1/CPP/7zip/Archive/HfsHandler.cpp -=================================================================== ---- p7zip_15.14.1.orig/CPP/7zip/Archive/HfsHandler.cpp -+++ p7zip_15.14.1/CPP/7zip/Archive/HfsHandler.cpp -@@ -987,7 +987,9 @@ HRESULT CDatabase::LoadCatalog(const CFo - item.GroupID = Get32(r + 0x24); - item.AdminFlags = r[0x28]; - item.OwnerFlags = r[0x29]; -+ */ - item.FileMode = Get16(r + 0x2A); -+ /* - item.special.iNodeNum = Get16(r + 0x2C); // or .linkCount - item.FileType = Get32(r + 0x30); - item.FileCreator = Get32(r + 0x34); -@@ -1572,6 +1574,9 @@ HRESULT CHandler::ExtractZlibFile( - - UInt32 size = GetUi32(tableBuf + i * 8 + 4); - -+ if (size > buf.Size() || size > kCompressionBlockSize + 1) -+ return S_FALSE; -+ - RINOK(ReadStream_FALSE(inStream, buf, size)); - - if ((buf[0] & 0xF) == 0xF) diff --git a/src/patches/p7zip/CVE-2016-2335.patch b/src/patches/p7zip/CVE-2016-2335.patch deleted file mode 100644 index a00d6a386..000000000 --- a/src/patches/p7zip/CVE-2016-2335.patch +++ /dev/null @@ -1,17 +0,0 @@ -Index: p7zip_15.14.1/CPP/7zip/Archive/Udf/UdfIn.cpp -=================================================================== ---- p7zip_15.14.1.orig/CPP/7zip/Archive/Udf/UdfIn.cpp -+++ p7zip_15.14.1/CPP/7zip/Archive/Udf/UdfIn.cpp -@@ -389,7 +389,11 @@ HRESULT CInArchive::ReadFileItem(int vol - return S_FALSE; - CFile &file = Files.Back(); - const CLogVol &vol = LogVols[volIndex]; -- CPartition &partition = Partitions[vol.PartitionMaps[lad.Location.PartitionRef].PartitionIndex]; -+ unsigned partitionRef = lad.Location.PartitionRef; -+ -+ if (partitionRef >= vol.PartitionMaps.Size()) -+ return S_FALSE; -+ CPartition &partition = Partitions[vol.PartitionMaps[partitionRef].PartitionIndex]; - - UInt32 key = lad.Location.Pos; - UInt32 value;