diff options
Diffstat (limited to 'system')
-rw-r--r-- | system/adelie-base/APKBUILD | 6 | ||||
-rw-r--r-- | system/console-setup/APKBUILD | 49 | ||||
-rw-r--r-- | system/console-setup/console-setup.initd | 32 | ||||
-rw-r--r-- | system/kbd/APKBUILD | 32 | ||||
-rw-r--r-- | system/kbd/consolefont.confd | 20 | ||||
-rw-r--r-- | system/kbd/consolefont.initd | 70 | ||||
-rw-r--r-- | system/kbd/keymaps.confd | 24 | ||||
-rw-r--r-- | system/kbd/keymaps.initd | 77 | ||||
-rw-r--r-- | system/nvi/APKBUILD | 17 | ||||
-rw-r--r-- | system/openrc/0007-make-consolefont-service-compatible-with-busyboxs-se.patch | 70 | ||||
-rw-r--r-- | system/openrc/APKBUILD | 11 | ||||
-rw-r--r-- | system/unzip/10-unzip-handle-pkware-verify.patch | 21 | ||||
-rw-r--r-- | system/unzip/20-unzip-uidgid-fix.patch | 29 | ||||
-rw-r--r-- | system/unzip/APKBUILD | 31 | ||||
-rw-r--r-- | system/unzip/unzip-6.0-heap-overflow-infloop.patch | 104 |
15 files changed, 265 insertions, 328 deletions
diff --git a/system/adelie-base/APKBUILD b/system/adelie-base/APKBUILD index 04b100e69..8b06a3699 100644 --- a/system/adelie-base/APKBUILD +++ b/system/adelie-base/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=adelie-base pkgver=0.9.4 -pkgrel=0 +pkgrel=1 pkgdesc="The Adélie Linux Base System" url="https://www.adelielinux.org/" arch="noarch" @@ -13,8 +13,8 @@ _core_depends="apk-tools adelie-keys musl-utils shadow coreutils diffutils findutils util-linux net-tools nvi sed psmisc less tzdata" -depends="adelie-core binutils console-setup debianutils file gettys-openrc - libarchive-tools man-db patch sed sharutils sysklogd zsh" +depends="adelie-core binutils debianutils file gettys-openrc + kbd libarchive-tools man-db patch sed sharutils sysklogd zsh" makedepends="" makedepends_host="$depends" subpackages="adelie-core:core $pkgname-doc $pkgname-posix $pkgname-lsb dev diff --git a/system/console-setup/APKBUILD b/system/console-setup/APKBUILD deleted file mode 100644 index b1e1b4c76..000000000 --- a/system/console-setup/APKBUILD +++ /dev/null @@ -1,49 +0,0 @@ -# Contributor: A. Wilcox <awilfox@adelielinux.org> -# Maintainer: A. Wilcox <awilfox@adelielinux.org> -pkgname=console-setup -pkgver=1.195 -pkgrel=0 -pkgdesc="Tools for configuring the console using X Window System key maps" -url="https://salsa.debian.org/installer-team/console-setup" -arch="noarch" -options="!check" # No test suite. -license="MIT AND GPL-2.0+ AND BSD-3-Clause" -depends="ckbcomp kbd" -makedepends="perl" -subpackages="$pkgname-doc console-fonts:fonts console-keymaps:keymaps - $pkgname-openrc ckbcomp" -source="http://ftp.de.debian.org/debian/pool/main/c/$pkgname/${pkgname}_$pkgver.tar.xz - console-setup.initd - " -builddir="$srcdir/$pkgname" - -build() { - make build-linux -} - -package() { - make prefix="$pkgdir/usr" etcdir="$pkgdir/etc" xkbdir= install-linux - install -D -m755 "$srcdir"/console-setup.initd "$pkgdir"/etc/init.d/console-setup -} - -fonts() { - pkgdesc="Console fonts for use with $pkgname" - mkdir -p "$subpkgdir"/usr/share - mv "$pkgdir"/usr/share/consolefonts "$subpkgdir"/usr/share/ -} - -keymaps() { - pkgdesc="Keyboard layouts for use with $pkgname" - mkdir -p "$subpkgdir"/etc/console-setup - mv "$pkgdir"/etc/console-setup/ckb "$subpkgdir"/etc/console-setup/ -} - -ckbcomp() { - pkgdesc="XKB keyboard layout translation utility" - depends="perl" - mkdir -p "$subpkgdir"/usr/bin - mv "$pkgdir"/usr/bin/ckbcomp "$subpkgdir"/usr/bin/ -} - -sha512sums="f9ee8df45cfb78dea12b1ba3020e32f245dd940bc1d22801849f673f4448853c0ebadb6944a92b462e3e56c59ee13fd6d2130c260a1a406e1bb1c72e9902c04d console-setup_1.195.tar.xz -3b8e2c9d8551f9a51bcd33e58771a4f55ff2840f8fe392e0070bd2b6a3911cd9ed9377873538f6904fd99836ac4e0280c712be69d275aae9183dd12ff7efddae console-setup.initd" diff --git a/system/console-setup/console-setup.initd b/system/console-setup/console-setup.initd deleted file mode 100644 index bf3479566..000000000 --- a/system/console-setup/console-setup.initd +++ /dev/null @@ -1,32 +0,0 @@ -#!/sbin/openrc-run -# Copyright (c) 2007-2015 The OpenRC Authors. -# See the Authors file at the top-level directory of this distribution and -# https://github.com/OpenRC/openrc/blob/master/AUTHORS -# -# This file is part of OpenRC. It is subject to the license terms in -# the LICENSE file found in the top-level directory of this -# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE -# This file may not be copied, modified, propagated, or distributed -# except according to the terms contained in the LICENSE file. - -description="Applies a keymap and font for the consoles." - -depend() -{ - provide keymaps - need localmount termencoding - after bootmisc - keyword -docker -lxc -openvz -prefix -systemd-nspawn -uml -vserver -xenu -} - -start() -{ - # Force linux keycodes for PPC. - if [ -f /proc/sys/dev/mac_hid/keyboard_sends_linux_keycodes ]; then - echo 1 > /proc/sys/dev/mac_hid/keyboard_sends_linux_keycodes - fi - - ebegin "Loading default key mappings / font" - setupcon - eend $? "Error loading key mappings / font" || return $? -} diff --git a/system/kbd/APKBUILD b/system/kbd/APKBUILD index d54e7f29c..deb7fb205 100644 --- a/system/kbd/APKBUILD +++ b/system/kbd/APKBUILD @@ -2,9 +2,9 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kbd pkgver=2.2.0_git20190823 -pkgrel=0 +pkgrel=1 pkgdesc="Console keyboard and font management utilities" -url=" " +url="https://kbd-project.org/" arch="all" options="!check" # padding error on at least ppc64 license="GPL-2.0+" @@ -12,8 +12,13 @@ depends="" checkdepends="check-dev" makedepends="linux-headers linux-pam-dev autoconf automake libtool" subpackages="$pkgname-doc $pkgname-fonts::noarch $pkgname-keymaps::noarch - $pkgname-lang" -source="https://dev.sick.bike/dist/$pkgname-$pkgver.tar.xz" + $pkgname-lang $pkgname-openrc" +source="https://dev.sick.bike/dist/$pkgname-$pkgver.tar.xz + consolefont.confd + consolefont.initd + keymaps.confd + keymaps.initd + " prepare() { default_prepare @@ -37,6 +42,19 @@ check() { package() { make DESTDIR="$pkgdir" install + + for i in consolefont keymaps; do + install -Dm644 "$srcdir"/$i.confd \ + "$pkgdir"/etc/conf.d/$i + install -Dm755 "$srcdir"/$i.initd \ + "$pkgdir"/etc/init.d/$i + done +} + +openrc() { + default_openrc + license="BSD-2-Clause" + replaces="openrc<0.24.1-r10" } fonts() { @@ -52,4 +70,8 @@ keymaps() { mv "$pkgdir"/usr/share/unimaps "$subpkgdir"/usr/share/ } -sha512sums="7f6202aeb17d6224095447a92d999478220457e1e7cadb90a7c40ca7f3b0c5b1f672db1995fb69652ca37558a75df582bfb5fea5772f3b1e040fe39f8f54504e kbd-2.2.0_git20190823.tar.xz" +sha512sums="7f6202aeb17d6224095447a92d999478220457e1e7cadb90a7c40ca7f3b0c5b1f672db1995fb69652ca37558a75df582bfb5fea5772f3b1e040fe39f8f54504e kbd-2.2.0_git20190823.tar.xz +19761fdd2b32c1bbcc9254b89b7893741e144b917a75410af3f274553fe61e2f56cbbd17ff77ac929e9377604663cbbfd9e53c73e7d41e71de6de573730950c7 consolefont.confd +1e67f75f27ec5de8f71489c83f78e53e8fd0925ae2d82dabf516f98905c5aff206a8e943e92b6af413eae5f0ecb9c2240526dfc3c56811a8dc1d19ced561bba3 consolefont.initd +af7d37fc6be1382414ca8245ca6f8d2ee8b82650b8a08eebbd980cf6dd2b92524fce2851ce0b2cd67e915488c12044ab50c5ab1f01c3072af87eed3e058ac268 keymaps.confd +510d7eb582a914fa7cfb868d0c3d55a21ee1519033117d0943a153528b5810d09f6421ddc02d93906c1a66fb7e07e86240f38dad0d38cfb5a8c7e9a6335a937f keymaps.initd" diff --git a/system/kbd/consolefont.confd b/system/kbd/consolefont.confd new file mode 100644 index 000000000..4c41d0633 --- /dev/null +++ b/system/kbd/consolefont.confd @@ -0,0 +1,20 @@ +# The consolefont service is not activated by default. If you need to +# use it, you should run "rc-update add consolefont boot" as root. +# +# consolefont specifies the default font that you'd like Linux to use on the +# console. You will have to install a package such as kbd-fonts or +# terminus-font to have a selection; they will be installed in +# /usr/share/consolefonts. +# +# The following (from terminus-font) is a good font for HiDPI screens. +#consolefont="ter-i32n" + +# consoletranslation is the charset map file to use. Leave commented to use +# the default one. Have a look in /usr/share/consoletrans for a selection of +# map files you can use. +#consoletranslation="8859-1_to_uni" + +# unicodemap is the unicode map file to use. Leave commented to use the +# default one. Have a look in /usr/share/unimaps (from the kbd-keymaps +# package) for a selection of map files you can use. +#unicodemap="iso01" diff --git a/system/kbd/consolefont.initd b/system/kbd/consolefont.initd new file mode 100644 index 000000000..63d8601c5 --- /dev/null +++ b/system/kbd/consolefont.initd @@ -0,0 +1,70 @@ +#!/sbin/openrc-run +# Copyright (c) 2007-2015 The OpenRC Authors. +# See the Authors file at the top-level directory of this distribution and +# https://github.com/OpenRC/openrc/blob/master/AUTHORS +# +# This file is part of OpenRC. It is subject to the license terms in +# the LICENSE file found in the top-level directory of this +# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE +# This file may not be copied, modified, propagated, or distributed +# except according to the terms contained in the LICENSE file. + +description="Sets a font for the consoles." + +depend() +{ + need localmount termencoding + after hotplug bootmisc modules + keyword -docker -lxc -openvz -prefix -systemd-nspawn -uml -vserver -xenu +} + +start() +{ + ttyn=${rc_tty_number:-${RC_TTY_NUMBER:-12}} + consolefont=${consolefont:-${CONSOLEFONT}} + unicodemap=${unicodemap:-${UNICODEMAP}} + consoletranslation=${consoletranslation:-${CONSOLETRANSLATION}} + + if [ -z "$consolefont" ]; then + ebegin "Using the default console font" + eend 0 + return 0 + fi + + if [ "$ttyn" = 0 ]; then + ebegin "Skipping font setup (rc_tty_number == 0)" + eend 0 + return 0 + fi + + local x= param= sf_param= retval=0 ttydev=/dev/tty + + # Get additional parameters + if [ -n "$consoletranslation" ]; then + param="$param -m $consoletranslation" + fi + if [ -n "${unicodemap}" ]; then + param="$param -u $unicodemap" + fi + + # Set the console font + ebegin "Setting console font [$consolefont]" + [ -d /dev/vc ] && ttydev=/dev/vc/ + x=1 + while [ $x -le $ttyn ]; do + if ! setfont $consolefont $param -C $ttydev$x >/dev/null; then + retval=1 + break + fi + : $(( x += 1 )) + done + eend $retval + + # Store the font so we can use it ASAP on boot + if [ $retval -eq 0 ] && checkpath -W "$RC_LIBEXECDIR"; then + mkdir -p "$RC_LIBEXECDIR"/console + setfont -O "$RC_LIBEXECDIR"/console/font + fi + + return $retval +} diff --git a/system/kbd/keymaps.confd b/system/kbd/keymaps.confd new file mode 100644 index 000000000..9a2863413 --- /dev/null +++ b/system/kbd/keymaps.confd @@ -0,0 +1,24 @@ +# Use keymap to specify the default console keymap. There is a complete tree +# of keymaps in /usr/share/keymaps to choose from (from the kbd-keymaps +# package). +keymap="us" + +# Should we first load the 'windowkeys' console keymap? Most x86 users will +# say "yes" here. Note that non-x86 users should leave it as "no". +# Loading this keymap will enable VT switching (like ALT+Left/Right) +# using the special windows keys on the linux console. +windowkeys="NO" + +# The maps to load for extended keyboards. Most users will leave this as is. +extended_keymaps="" +#extended_keymaps="backspace keypad euro2" + +# Tell dumpkeys(1) to interpret character action codes to be +# from the specified character set. +# This only matters if you set unicode="yes" in /etc/rc.conf. +# For a list of valid sets, run `dumpkeys --help` +dumpkeys_charset="" + +# Some fonts map AltGr-E to the currency symbol instead of the Euro. +# To fix this, set to "yes" +fix_euro="NO" diff --git a/system/kbd/keymaps.initd b/system/kbd/keymaps.initd new file mode 100644 index 000000000..49e41b0e7 --- /dev/null +++ b/system/kbd/keymaps.initd @@ -0,0 +1,77 @@ +#!/sbin/openrc-run +# Copyright (c) 2007-2015 The OpenRC Authors. +# See the Authors file at the top-level directory of this distribution and +# https://github.com/OpenRC/openrc/blob/master/AUTHORS +# +# This file is part of OpenRC. It is subject to the license terms in +# the LICENSE file found in the top-level directory of this +# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE +# This file may not be copied, modified, propagated, or distributed +# except according to the terms contained in the LICENSE file. + +description="Applies a keymap for the consoles." + +depend() +{ + need localmount termencoding + after bootmisc + keyword -docker -lxc -openvz -prefix -systemd-nspawn -uml -vserver -xenu +} + +start() +{ + ttyn=${rc_tty_number:-${RC_TTY_NUMBER:-12}} + : ${unicode:=$UNICODE} + : ${keymap:=$KEYMAP} + : ${extended_keymaps:=$EXTENDED_KEYMAPS} + : ${windowkeys:=$SET_WINDOWSKEYS} + : ${fix_euro:=$FIX_EURO} + : ${dumpkeys_charset:=${DUMPKEYS_CHARSET}} + + if [ -z "$keymap" ]; then + eerror "You need to setup keymap in /etc/conf.d/keymaps first" + return 1 + fi + + local ttydev=/dev/tty n= + [ -d /dev/vc ] && ttydev=/dev/vc/ + + # Force linux keycodes for PPC. + if [ -f /proc/sys/dev/mac_hid/keyboard_sends_linux_keycodes ]; then + echo 1 > /proc/sys/dev/mac_hid/keyboard_sends_linux_keycodes + fi + + local wkeys= kmode="-a" msg="ASCII" + if yesno $unicode; then + kmode="-u" + msg="UTF-8" + fi + yesno $windowkeys && wkeys="windowkeys" + + # Set terminal encoding to either ASCII or UNICODE. + # See utf-8(7) for more information. + ebegin "Setting keyboard mode [$msg]" + n=1 + while [ $n -le $ttyn ]; do + kbd_mode $kmode -C $ttydev$n + : $(( n += 1 )) + done + eend 0 + + ebegin "Loading key mappings [$keymap]" + loadkeys -q $wkeys $keymap $extended_keymaps + eend $? "Error loading key mappings" || return $? + + if yesno $fix_euro; then + ebegin "Fixing font for euro symbol" + # Fix some fonts displaying the Euro, #173528. + echo "altgr keycode 18 = U+20AC" | loadkeys -q - + eend $? + fi + + # Save the keymapping for use immediately at boot + if checkpath -W "$RC_LIBEXECDIR"; then + mkdir -p "$RC_LIBEXECDIR"/console + dumpkeys >"$RC_LIBEXECDIR"/console/keymap + fi +} diff --git a/system/nvi/APKBUILD b/system/nvi/APKBUILD index c0daf1a1e..a148971ea 100644 --- a/system/nvi/APKBUILD +++ b/system/nvi/APKBUILD @@ -2,7 +2,8 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=nvi pkgver=1.81.6 -pkgrel=0 +_debver=15 +pkgrel=1 pkgdesc="Berkeley text editor" url="https://sites.google.com/a/bostic.com/keithbostic/vi/" arch="all" @@ -11,12 +12,21 @@ license="BSD-4-Clause-UC" depends="" makedepends="db-dev ncurses-dev" subpackages="$pkgname-doc" -source="https://fossies.org/linux/privat/old/nvi-$pkgver.tar.gz +source="http://deb.debian.org/debian/pool/main/n/nvi/nvi_$pkgver.orig.tar.gz + http://deb.debian.org/debian/pool/main/n/nvi/nvi_$pkgver-$_debver.debian.tar.xz build-fix.patch " +# secfixes: +# 1.81.6-r1: +# - CVE-2001-1562 + prepare() { default_prepare + while read -r i; do + msg "$i" + patch -p1 -i "../debian/patches/$i" + done < ../debian/patches/series cd "$builddir"/dist chmod u+w config.sub @@ -49,5 +59,6 @@ package() { mv "$pkgdir"/usr/share/man/man1/view.1 "$pkgdir"/usr/share/man/man1/view.nvi.1 } -sha512sums="1be798daf0cd05010ddaf0aa0510dc799708fd79d4b243e2700adff18e931ddd9d11621796fa8086088c3e93ba20f15ab86783732665169c52b73eaf587ff0b3 nvi-1.81.6.tar.gz +sha512sums="1be798daf0cd05010ddaf0aa0510dc799708fd79d4b243e2700adff18e931ddd9d11621796fa8086088c3e93ba20f15ab86783732665169c52b73eaf587ff0b3 nvi_1.81.6.orig.tar.gz +7756ca0ba9503516fcbf1a5fe51465bebf74bf107e040cea80de0dd501854fe0f25d67ddbd4142e58057ad015be12f8b711ef861fd6ad3f317bc619327579513 nvi_1.81.6-15.debian.tar.xz b84cfb83ea5ed15f5c7d9e608771a2248531be388fa19340e90074d37e10f6f75c8b965a40f5288275973f23ed6fda54aa4ef990b43d4828d174b66fd3ced1e9 build-fix.patch" diff --git a/system/openrc/0007-make-consolefont-service-compatible-with-busyboxs-se.patch b/system/openrc/0007-make-consolefont-service-compatible-with-busyboxs-se.patch deleted file mode 100644 index 6c23e2ab0..000000000 --- a/system/openrc/0007-make-consolefont-service-compatible-with-busyboxs-se.patch +++ /dev/null @@ -1,70 +0,0 @@ -From 3d0d2b89745597ea973129eafa3f999cf19d761f Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net> -Date: Wed, 17 Aug 2016 17:52:58 +0200 -Subject: [PATCH 7/7] make consolefont service compatible with busyboxs setfont - applet - -Compared to kdbs setfont program it doesn't support -O and -m. ---- - conf.d/consolefont | 11 ++--------- - init.d/consolefont.in | 7 ++----- - 2 files changed, 4 insertions(+), 14 deletions(-) - -diff --git a/conf.d/consolefont b/conf.d/consolefont -index e01ae842..75544b2f 100644 ---- a/conf.d/consolefont -+++ b/conf.d/consolefont -@@ -3,16 +3,9 @@ - # - # consolefont specifies the default font that you'd like Linux to use on the - # console. You can find a good selection of fonts in /usr/share/consolefonts; --# you shouldn't specify the trailing ".psf.gz", just the font name below. --# To use the default console font, comment out the CONSOLEFONT setting below. --consolefont="default8x16" -+consolefont="default8x16.psf.gz" - - # consoletranslation is the charset map file to use. Leave commented to use - # the default one. Have a look in /usr/share/consoletrans for a selection of - # map files you can use. --#consoletranslation="8859-1_to_uni" -- --# unicodemap is the unicode map file to use. Leave commented to use the --# default one. Have a look in /usr/share/unimaps for a selection of map files --# you can use. --#unicodemap="iso01" -+#consoletranslation="8859-1_to_uni.trans" -diff --git a/init.d/consolefont.in b/init.d/consolefont.in -index 9fe95afa..173ed426 100644 ---- a/init.d/consolefont.in -+++ b/init.d/consolefont.in -@@ -22,7 +22,6 @@ start() - { - ttyn=${rc_tty_number:-${RC_TTY_NUMBER:-12}} - consolefont=${consolefont:-${CONSOLEFONT}} -- unicodemap=${unicodemap:-${UNICODEMAP}} - consoletranslation=${consoletranslation:-${CONSOLETRANSLATION}} - - if [ -z "$consolefont" ]; then -@@ -43,9 +42,6 @@ start() - if [ -n "$consoletranslation" ]; then - param="$param -m $consoletranslation" - fi -- if [ -n "${unicodemap}" ]; then -- param="$param -u $unicodemap" -- fi - - # Set the console font - ebegin "Setting console font [$consolefont]" -@@ -63,7 +59,8 @@ start() - # Store the font so we can use it ASAP on boot - if [ $retval -eq 0 ] && checkpath -W "$RC_LIBEXECDIR"; then - mkdir -p "$RC_LIBEXECDIR"/console -- setfont -O "$RC_LIBEXECDIR"/console/font -+ zcat "/usr/share/consolefonts/$consolefont" \ -+ > "$RC_LIBEXECDIR"/console/font - fi - - return $retval --- -2.11.0 - diff --git a/system/openrc/APKBUILD b/system/openrc/APKBUILD index ac9d8b184..c2cb32220 100644 --- a/system/openrc/APKBUILD +++ b/system/openrc/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: pkgname=openrc pkgver=0.24.1 -pkgrel=9 +pkgrel=10 pkgdesc="OpenRC manages the services, startup and shutdown of a host" url="https://github.com/OpenRC/openrc" arch="all" @@ -19,7 +19,6 @@ source="$pkgname-$pkgver.tar.gz::https://github.com/OpenRC/openrc/archive/$pkgve 0004-hide-error-when-migrating-var-run-to-run.patch 0005-rc-pull-in-sysinit-and-boot-as-stacked-levels-when-n.patch 0006-mount-efivars-read-only.patch - 0007-make-consolefont-service-compatible-with-busyboxs-se.patch openrc-configuration.patch @@ -69,8 +68,11 @@ package() { rm "$pkgdir"/etc/conf.d/network rm "$pkgdir"/etc/init.d/network - # we use console-setup for keymaps - rm "$pkgdir"/etc/init.d/keymaps + # we ship these in system/kbd + for i in consolefont keymaps; do + rm "$pkgdir"/etc/conf.d/$i + rm "$pkgdir"/etc/init.d/$i + done # we use gettys-openrc for TTY rm "$pkgdir"/etc/init.d/agetty @@ -86,7 +88,6 @@ aedf77f9159fefb4bd5f30a29a33b6aedbc986c9a0f993aa928cc79fbe24aac76bd9e5974dcce52e d54630d40a2d6b10a325cb012d4efcda997a60c008ca953ce5d60059d3f267308a59dabddf93a5fc0d301aa91967137d144effbe5f574394af768ce4ebc48738 0004-hide-error-when-migrating-var-run-to-run.patch 39a35c54ec9112fe84c901ed155a711cec8e194af02d5483ee60b80743dab12391e6fdc7b3da2f86844dd4edcf53e681ff95bd4d6fa1101a89ce54dce2ddbb7c 0005-rc-pull-in-sysinit-and-boot-as-stacked-levels-when-n.patch 7221dd2daccd8844f6f9481b7b5921abc2711c8abd1a4bb72f04db8fd8e734b817f5d0d571daea0e2e05d3bc687f75ee1d8025249996bdee0b3328e18d9da7d3 0006-mount-efivars-read-only.patch -234c4f3cf39df3350dbea25c00b8d584794b28194f44c726767a6a16d91a26fee1b5d2dd16635f19803fc015b4e9d99c52b23128e6b815938b88365feba8cf59 0007-make-consolefont-service-compatible-with-busyboxs-se.patch 2dde266f3176456724e4b0c40476e7061e31986b67744b4a53c71ba0d3896860b4569e3af2ea4777a9d8fe3b6282ff869666570f1daa86cdc410c0e09805c990 openrc-configuration.patch 12bb6354e808fbf47bbab963de55ee7901738b4a912659982c57ef2777fff9a670e867fcb8ec316a76b151032c92dc89a950d7d1d835ef53f753a8f3b41d2cec openrc.logrotate 99b542c0903ad6874b8c308b2e0660a4fe2ff9db962dfec65325cd12c368873a2ae800d5e6d42dc4deff775e1d5c0068869eb72581f7ab16e88d5738afe1d3dd hostname.initd diff --git a/system/unzip/10-unzip-handle-pkware-verify.patch b/system/unzip/10-unzip-handle-pkware-verify.patch deleted file mode 100644 index b373ce07d..000000000 --- a/system/unzip/10-unzip-handle-pkware-verify.patch +++ /dev/null @@ -1,21 +0,0 @@ -From: Steven Schweda -Subject: Handle the PKWare verification bit of internal attributes -Bug-Debian: http://bugs.debian.org/630078 -X-Debian-version: 6.0-5 - ---- a/process.c -+++ b/process.c -@@ -1729,6 +1729,13 @@ - else if (uO.L_flag > 1) /* let -LL force lower case for all names */ - G.pInfo->lcflag = 1; - -+ /* Handle the PKWare verification bit, bit 2 (0x0004) of internal -+ attributes. If this is set, then a verification checksum is in the -+ first 3 bytes of the external attributes. In this case all we can use -+ for setting file attributes is the last external attributes byte. */ -+ if (G.crec.internal_file_attributes & 0x0004) -+ G.crec.external_file_attributes &= (ulg)0xff; -+ - /* do Amigas (AMIGA_) also have volume labels? */ - if (IS_VOLID(G.crec.external_file_attributes) && - (G.pInfo->hostnum == FS_FAT_ || G.pInfo->hostnum == FS_HPFS_ || diff --git a/system/unzip/20-unzip-uidgid-fix.patch b/system/unzip/20-unzip-uidgid-fix.patch deleted file mode 100644 index 3a308990e..000000000 --- a/system/unzip/20-unzip-uidgid-fix.patch +++ /dev/null @@ -1,29 +0,0 @@ -From: sms -Subject: Restore uid and gid information when requested -Bug-Debian: http://bugs.debian.org/689212 -X-Debian-version: 6.0-8 - ---- a/process.c -+++ b/process.c -@@ -2904,7 +2904,7 @@ - #ifdef IZ_HAVE_UXUIDGID - if (eb_len >= EB_UX3_MINLEN - && z_uidgid != NULL -- && (*((EB_HEADSIZE + 0) + ef_buf) == 1) -+ && (*((EB_HEADSIZE + 0) + ef_buf) == 1)) - /* only know about version 1 */ - { - uch uid_size; -@@ -2916,10 +2916,10 @@ - flags &= ~0x0ff; /* ignore any previous UNIX field */ - - if ( read_ux3_value((EB_HEADSIZE + 2) + ef_buf, -- uid_size, z_uidgid[0]) -+ uid_size, &z_uidgid[0]) - && - read_ux3_value((EB_HEADSIZE + uid_size + 3) + ef_buf, -- gid_size, z_uidgid[1]) ) -+ gid_size, &z_uidgid[1]) ) - { - flags |= EB_UX2_VALID; /* signal success */ - } diff --git a/system/unzip/APKBUILD b/system/unzip/APKBUILD index e915966a0..ea8f7e6fa 100644 --- a/system/unzip/APKBUILD +++ b/system/unzip/APKBUILD @@ -4,7 +4,8 @@ pkgname=unzip pkgver=6.0 _pkgver=$(printf '%s' "$pkgver" | tr -d .) -pkgrel=3 +_debver=25 +pkgrel=4 pkgdesc="Extract PKZIP-compatible .zip files" url="http://www.info-zip.org/UnZip.html" arch="all" @@ -12,12 +13,30 @@ license="Info-ZIP" subpackages="$pkgname-doc" # normally ftp://ftp.info-zip.org/pub/infozip/src/$pkgname$_pkgver.zip source="$pkgname-$pkgver.tgz::https://distfiles.adelielinux.org/source/$pkgname$_pkgver.tgz - 10-unzip-handle-pkware-verify.patch - 20-unzip-uidgid-fix.patch - unzip-6.0-heap-overflow-infloop.patch + http://deb.debian.org/debian/pool/main/u/unzip/unzip_$pkgver-$_debver.debian.tar.xz " builddir="$srcdir/$pkgname$_pkgver" +# secfixes: +# 6.0-r4: +# - CVE-2014-8139 +# - CVE-2014-8140 +# - CVE-2014-8141 +# - CVE-2014-9636 +# - CVE-2014-9913 +# - CVE-2016-9844 +# - CVE-2018-18384 +# - CVE-2018-1000035 +# - CVE-2019-13232 + +prepare() { + default_prepare + while read -r i; do + msg "$i" + patch -p1 -i "../debian/patches/$i" + done < ../debian/patches/series +} + build() { make -f unix/Makefile \ CC="${CHOST}-gcc" \ @@ -38,6 +57,4 @@ package() { } sha512sums="0694e403ebc57b37218e00ec1a406cae5cc9c5b52b6798e0d4590840b6cdbf9ddc0d9471f67af783e960f8fa2e620394d51384257dca23d06bcd90224a80ce5d unzip-6.0.tgz -9d2914f22fb0075a2b6f72825c235f46eafd8d47b6fb6fcc8303fc69336e256b15923c002d2615bb6af733344c2315e4a8504d77bae301e10c11d4736faa2c81 10-unzip-handle-pkware-verify.patch -57699582e9056af0817dcb67f8db67e6a1ff8208c137fbebcf559429e5f12b471b75d7e1ef938e5bbb5416074a51ac7342e4ce8057f4bbdcb0bf079b8d7832af 20-unzip-uidgid-fix.patch -b1e3fac6a787828efaaef8ec7cc52e1573aea27a6f29830af37ec4ba8bcd2a6488c953ab10eee0561c78e82c7401833ef172bebee793405d93632ce788756301 unzip-6.0-heap-overflow-infloop.patch" +13c16db420fa4a34be3090a9acdd79b01320da40ac5aa89a9dfca03e64b914b28eb72aff3882d02a8197457bcb8eeb9473c998cf6920e511883c9289a949fb21 unzip_6.0-25.debian.tar.xz" diff --git a/system/unzip/unzip-6.0-heap-overflow-infloop.patch b/system/unzip/unzip-6.0-heap-overflow-infloop.patch deleted file mode 100644 index 160c512f9..000000000 --- a/system/unzip/unzip-6.0-heap-overflow-infloop.patch +++ /dev/null @@ -1,104 +0,0 @@ -From bdd4a0cecd745cb4825e4508b5bdf2579731086a Mon Sep 17 00:00:00 2001 -From: Petr Stodulka <pstodulk@redhat.com> -Date: Mon, 14 Sep 2015 18:23:17 +0200 -Subject: [PATCH 1/3] upstream fix for heap overflow - -https://bugzilla.redhat.com/attachment.cgi?id=1073002 ---- - crypt.c | 12 +++++++++++- - 1 file changed, 11 insertions(+), 1 deletion(-) - -diff --git a/crypt.c b/crypt.c -index 784e411..a8975f2 100644 ---- a/crypt.c -+++ b/crypt.c -@@ -465,7 +465,17 @@ int decrypt(__G__ passwrd) - GLOBAL(pInfo->encrypted) = FALSE; - defer_leftover_input(__G); - for (n = 0; n < RAND_HEAD_LEN; n++) { -- b = NEXTBYTE; -+ /* 2012-11-23 SMS. (OUSPG report.) -+ * Quit early if compressed size < HEAD_LEN. The resulting -+ * error message ("unable to get password") could be improved, -+ * but it's better than trying to read nonexistent data, and -+ * then continuing with a negative G.csize. (See -+ * fileio.c:readbyte()). -+ */ -+ if ((b = NEXTBYTE) == (ush)EOF) -+ { -+ return PK_ERR; -+ } - h[n] = (uch)b; - Trace((stdout, " (%02x)", h[n])); - } --- -2.4.6 - - -From 4b48844661ff9569f2ecf582a387d46a5775b5d8 Mon Sep 17 00:00:00 2001 -From: Kamil Dudka <kdudka@redhat.com> -Date: Mon, 14 Sep 2015 18:24:56 +0200 -Subject: [PATCH 2/3] fix infinite loop when extracting empty bzip2 data - -Bug: https://sourceforge.net/p/infozip/patches/23/ ---- - extract.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/extract.c b/extract.c -index 7134bfe..29db027 100644 ---- a/extract.c -+++ b/extract.c -@@ -2733,6 +2733,12 @@ __GDEF - int repeated_buf_err; - bz_stream bstrm; - -+ if (G.incnt <= 0 && G.csize <= 0L) { -+ /* avoid an infinite loop */ -+ Trace((stderr, "UZbunzip2() got empty input\n")); -+ return 2; -+ } -+ - #if (defined(DLL) && !defined(NO_SLIDE_REDIR)) - if (G.redirect_slide) - wsize = G.redirect_size, redirSlide = G.redirect_buffer; --- -2.4.6 - - -From bd150334fb4084f5555a6be26b015a0671cb5b74 Mon Sep 17 00:00:00 2001 -From: Kamil Dudka <kdudka@redhat.com> -Date: Tue, 22 Sep 2015 18:52:23 +0200 -Subject: [PATCH 3/3] extract: prevent unsigned overflow on invalid input - -Suggested-by: Stefan Cornelius ---- - extract.c | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -diff --git a/extract.c b/extract.c -index 29db027..b9ae667 100644 ---- a/extract.c -+++ b/extract.c -@@ -1257,8 +1257,17 @@ static int extract_or_test_entrylist(__G__ numchunk, - if (G.lrec.compression_method == STORED) { - zusz_t csiz_decrypted = G.lrec.csize; - -- if (G.pInfo->encrypted) -+ if (G.pInfo->encrypted) { -+ if (csiz_decrypted <= 12) { -+ /* handle the error now to prevent unsigned overflow */ -+ Info(slide, 0x401, ((char *)slide, -+ LoadFarStringSmall(ErrUnzipNoFile), -+ LoadFarString(InvalidComprData), -+ LoadFarStringSmall2(Inflate))); -+ return PK_ERR; -+ } - csiz_decrypted -= 12; -+ } - if (G.lrec.ucsize != csiz_decrypted) { - Info(slide, 0x401, ((char *)slide, - LoadFarStringSmall2(WrnStorUCSizCSizDiff), --- -2.5.2 - |