* [PATCH] p7zip: Update to 17.03
@ 2021-02-02 21:46 Adolf Belka
0 siblings, 0 replies; only message in thread
From: Adolf Belka @ 2021-02-02 21:46 UTC (permalink / raw)
To: development
[-- Attachment #1: Type: text/plain, Size: 32980 bytes --]
- 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(a)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(a)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;
--
2.30.0
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-02-02 21:46 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-02 21:46 [PATCH] p7zip: Update to 17.03 Adolf Belka
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox