From a85e4af09bbad7292d3d793cf158a7d3200b07ac Mon Sep 17 00:00:00 2001 From: Mathieu Tortuyaux Date: Fri, 25 Jun 2021 07:51:26 +0200 Subject: [PATCH] sys-apps/gptfdisk: sync with ::gentoo upstream this commit addresses the following CVE: - CVE-2021-0308 Signed-off-by: Mathieu Tortuyaux --- .../portage-stable/sys-apps/gptfdisk/Manifest | 5 +- ...tfdisk-1.0.6.1-spurious_mbr_warnings.patch | 71 +++++++++++++++++++ .../gptfdisk/gptfdisk-1.0.6-r1.ebuild | 60 ++++++++++++++++ ...isk-1.0.1.ebuild => gptfdisk-1.0.7.ebuild} | 35 +++++---- ...isk-1.0.3.ebuild => gptfdisk-1.0.8.ebuild} | 25 ++++--- 5 files changed, 170 insertions(+), 26 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/gptfdisk/files/gptfdisk-1.0.6.1-spurious_mbr_warnings.patch create mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/gptfdisk/gptfdisk-1.0.6-r1.ebuild rename sdk_container/src/third_party/portage-stable/sys-apps/gptfdisk/{gptfdisk-1.0.1.ebuild => gptfdisk-1.0.7.ebuild} (52%) rename sdk_container/src/third_party/portage-stable/sys-apps/gptfdisk/{gptfdisk-1.0.3.ebuild => gptfdisk-1.0.8.ebuild} (61%) diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/gptfdisk/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/gptfdisk/Manifest index af6048f8fc..668842545d 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/gptfdisk/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/gptfdisk/Manifest @@ -1,2 +1,3 @@ -DIST gptfdisk-1.0.1.tar.gz 195378 BLAKE2B 50cbfe1143c1e26595757bb40a94952ee9d26caaca54d816c6e02539b652d967bb8de3138d6ffd7aa1d63c010632e4f888d6cff2e6a7b743a8816787319b67e5 SHA512 6aa2ed6213183ea38ce7dd6e7f4f23b88cc56bed5a4d078f563b9e0a3c276eacf869e28a27ccb4e473753f7bced7ecb5de4535626f9ed22b7a59a39906d0419c -DIST gptfdisk-1.0.3.tar.gz 199924 BLAKE2B f664398cb58d081ad19e267a370a4a7363e1060358aac394d87cd5874efe558fbd7bea4a33da871287c144b664c60e283d3338ca88d7d494503afe9a0b652e7a SHA512 80d437bfa2365abfffbd4812ea928fcebd52c5421de321cf190d395549e32c5ebdbb2d060cc4b95f77fe13cdd719f4d2bb3d0ed5d97792b100325f92d7c852d7 +DIST gptfdisk-1.0.6.tar.gz 207017 BLAKE2B d00e0f00dc8dce3b6088250aa39e05f41c96bee2218eec1dca34a160e70129d1006abc4341031994c53e77068b5de510b923c69858903627ccf786f3cc848a86 SHA512 a3bf95c813f707d9d41513295c3419916301a0e88b4c6ade70ad7d9422a507d519e092e68a3868d53092428d159bdbb248817c4f40d8ac88b0175d5afbd79dbc +DIST gptfdisk-1.0.7.tar.gz 207723 BLAKE2B cebb0375294b4ff8f8eb522a4ae23259714d07d670a7bfbf8664586c948c1c8bee2674649a181a7c5d22f9dfe177feb7a9648ca9936c388b419faf7b52e789d8 SHA512 8a2067523479e34c76392571692b36e6c9eadcd0aca979f1ba09904930ed92a709bfdcdfa3369230a5ab2b5a751682dc7fb4645fb5f7f1c361ee8d28e104214c +DIST gptfdisk-1.0.8.tar.gz 208958 BLAKE2B 03c74c43fead13e90ff6cd42405e15db726f527801a9e3f1d5f6a83d3fa58f0f8e58b35edc1b12b0b2e6c7849b657ce4493ac67204d25309e6f63fe7f57f766b SHA512 0818a238e57cf6de893da7c161e8aaf2d30ad917a47750de09967ce1d83d1ab6666fa043465abaffdc293d058acc3fa87f8bc93a4b03c7c5d9a9ceb8f5b07331 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/gptfdisk/files/gptfdisk-1.0.6.1-spurious_mbr_warnings.patch b/sdk_container/src/third_party/portage-stable/sys-apps/gptfdisk/files/gptfdisk-1.0.6.1-spurious_mbr_warnings.patch new file mode 100644 index 0000000000..e60aa9feef --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/gptfdisk/files/gptfdisk-1.0.6.1-spurious_mbr_warnings.patch @@ -0,0 +1,71 @@ +From f063fe08e424c99f133df18bf9dce49c851bcb0a Mon Sep 17 00:00:00 2001 +From: Rod Smith +Date: Mon, 1 Feb 2021 10:19:50 -0500 +Subject: [PATCH] Fix spurious warnings of problems on MBR disks + +--- + NEWS | 7 +++++++ + gpt.cc | 18 +++++++++++++----- + support.h | 2 +- + 3 files changed, 21 insertions(+), 6 deletions(-) + +diff --git a/NEWS b/NEWS +index f74bad0..a7131aa 100644 +--- a/NEWS ++++ b/NEWS +@@ -1,3 +1,10 @@ ++1.0.7 (?/??/2021): ++------------------ ++ ++- Fixed bug that caused spurious warnings about the partition table ++ header claiming an invalid size of partition entries when reading ++ some MBR disks. ++ + 1.0.6 (1/13/2021): + ------------------ + +diff --git a/gpt.cc b/gpt.cc +index 1b4e10f..842dfb1 100644 +--- a/gpt.cc ++++ b/gpt.cc +@@ -1042,11 +1042,19 @@ int GPTData::LoadHeader(struct GPTHeader *header, DiskIO & disk, uint64_t sector + *crcOk = CheckHeaderCRC(&tempHeader); + + if (tempHeader.sizeOfPartitionEntries != sizeof(GPTPart)) { +- cerr << "Warning: Partition table header claims that the size of partition table\n"; +- cerr << "entries is " << tempHeader.sizeOfPartitionEntries << " bytes, but this program "; +- cerr << " supports only " << sizeof(GPTPart) << "-byte entries.\n"; +- cerr << "Adjusting accordingly, but partition table may be garbage.\n"; +- tempHeader.sizeOfPartitionEntries = sizeof(GPTPart); ++ // Print the below warning only if the CRC is OK -- but correct the ++ // problem either way. The warning is printed only on a valid CRC ++ // because otherwise this warning will display inappropriately when ++ // reading MBR disks. If the CRC is invalid, then a warning about ++ // that will be shown later, so the user will still know that ++ // something is wrong. ++ if (*crcOk) { ++ cerr << "Warning: Partition table header claims that the size of partition table\n"; ++ cerr << "entries is " << tempHeader.sizeOfPartitionEntries << " bytes, but this program "; ++ cerr << " supports only " << sizeof(GPTPart) << "-byte entries.\n"; ++ cerr << "Adjusting accordingly, but partition table may be garbage.\n"; ++ } ++ tempHeader.sizeOfPartitionEntries = sizeof(GPTPart); + } + + if (allOK && (numParts != tempHeader.numParts) && *crcOk) { +diff --git a/support.h b/support.h +index d87fe9a..e3e1e12 100644 +--- a/support.h ++++ b/support.h +@@ -8,7 +8,7 @@ + #include + #include + +-#define GPTFDISK_VERSION "1.0.6" ++#define GPTFDISK_VERSION "1.0.6.1" + + #if defined (__FreeBSD__) || defined (__FreeBSD_kernel__) || defined (__APPLE__) + // Darwin (Mac OS) & FreeBSD: disk IOCTLs are different, and there is no lseek64 +-- +2.30.1 + diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/gptfdisk/gptfdisk-1.0.6-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/gptfdisk/gptfdisk-1.0.6-r1.ebuild new file mode 100644 index 0000000000..26bfd79092 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/gptfdisk/gptfdisk-1.0.6-r1.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit flag-o-matic toolchain-funcs + +DESCRIPTION="GPT partition table manipulator for Linux" +HOMEPAGE="https://www.rodsbooks.com/gdisk/" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux" +IUSE="kernel_linux ncurses static" + +# libuuid from util-linux is required. +RDEPEND="!static? ( + dev-libs/popt + ncurses? ( >=sys-libs/ncurses-5.7-r7:0=[unicode] ) + kernel_linux? ( sys-apps/util-linux ) + )" +DEPEND=" + ${RDEPEND} + static? ( + dev-libs/popt[static-libs(+)] + ncurses? ( >=sys-libs/ncurses-5.7-r7:0=[unicode,static-libs(+)] ) + kernel_linux? ( sys-apps/util-linux[static-libs(+)] ) + ) +" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}/${P}.1-spurious_mbr_warnings.patch" +) + +src_prepare() { + default + + tc-export CXX PKG_CONFIG + + if ! use ncurses ; then + sed -i \ + -e '/^all:/s: cgdisk::' \ + Makefile || die + fi + + sed \ + -e '/g++/s:=:?=:g' \ + -e 's:-lncursesw:$(shell $(PKG_CONFIG) --libs ncursesw):g' \ + -i Makefile || die + + use static && append-ldflags -static +} + +src_install() { + dosbin gdisk sgdisk $(usex ncurses cgdisk '') fixparts + doman *.8 + dodoc NEWS README +} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/gptfdisk/gptfdisk-1.0.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/gptfdisk/gptfdisk-1.0.7.ebuild similarity index 52% rename from sdk_container/src/third_party/portage-stable/sys-apps/gptfdisk/gptfdisk-1.0.1.ebuild rename to sdk_container/src/third_party/portage-stable/sys-apps/gptfdisk/gptfdisk-1.0.7.ebuild index 90515a8c8f..9093cf2c58 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/gptfdisk/gptfdisk-1.0.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/gptfdisk/gptfdisk-1.0.7.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=5 +EAPI=7 inherit flag-o-matic toolchain-funcs @@ -11,24 +11,33 @@ SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" LICENSE="GPL-2" SLOT="0" -KEYWORDS="alpha amd64 arm ~arm64 ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~arm-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc x86 ~amd64-linux ~x86-linux" IUSE="kernel_linux ncurses static" -LIB_DEPEND=" - dev-libs/popt[static-libs(+)] - ncurses? ( >=sys-libs/ncurses-5.7-r7:0=[static-libs(+)] ) - kernel_linux? ( sys-apps/util-linux[static-libs(+)] )" # libuuid -RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )" -DEPEND="${RDEPEND} - static? ( ${LIB_DEPEND} ) - virtual/pkgconfig" +# libuuid from util-linux is required. +RDEPEND="!static? ( + dev-libs/popt + ncurses? ( >=sys-libs/ncurses-5.7-r7:0=[unicode] ) + kernel_linux? ( sys-apps/util-linux ) + )" +DEPEND=" + ${RDEPEND} + static? ( + dev-libs/popt[static-libs(+)] + ncurses? ( >=sys-libs/ncurses-5.7-r7:0=[unicode,static-libs(+)] ) + kernel_linux? ( sys-apps/util-linux[static-libs(+)] ) + ) +" +BDEPEND="virtual/pkgconfig" src_prepare() { + default + tc-export CXX PKG_CONFIG - if ! use ncurses; then + if ! use ncurses ; then sed -i \ - -e '/^all:/s:cgdisk::' \ + -e '/^all:/s: cgdisk::' \ Makefile || die fi diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/gptfdisk/gptfdisk-1.0.3.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/gptfdisk/gptfdisk-1.0.8.ebuild similarity index 61% rename from sdk_container/src/third_party/portage-stable/sys-apps/gptfdisk/gptfdisk-1.0.3.ebuild rename to sdk_container/src/third_party/portage-stable/sys-apps/gptfdisk/gptfdisk-1.0.8.ebuild index b813139d27..253377c376 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/gptfdisk/gptfdisk-1.0.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/gptfdisk/gptfdisk-1.0.8.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 +EAPI=7 inherit flag-o-matic toolchain-funcs @@ -11,19 +11,22 @@ SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~arm-linux ~x86-linux" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux" IUSE="kernel_linux ncurses static" # libuuid from util-linux is required. -LIB_DEPEND=" - dev-libs/popt[static-libs(+)] - ncurses? ( >=sys-libs/ncurses-5.7-r7:0=[static-libs(+)] ) - kernel_linux? ( sys-apps/util-linux[static-libs(+)] ) -" -RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )" +RDEPEND="!static? ( + dev-libs/popt + ncurses? ( >=sys-libs/ncurses-5.7-r7:0=[unicode] ) + kernel_linux? ( sys-apps/util-linux ) + )" DEPEND=" ${RDEPEND} - static? ( ${LIB_DEPEND} ) + static? ( + dev-libs/popt[static-libs(+)] + ncurses? ( >=sys-libs/ncurses-5.7-r7:0=[unicode,static-libs(+)] ) + kernel_linux? ( sys-apps/util-linux[static-libs(+)] ) + ) virtual/pkgconfig " @@ -34,7 +37,7 @@ src_prepare() { if ! use ncurses ; then sed -i \ - -e '/^all:/s:cgdisk::' \ + -e '/^all:/s: cgdisk::' \ Makefile || die fi