summaryrefslogtreecommitdiff
path: root/user
diff options
context:
space:
mode:
Diffstat (limited to 'user')
-rw-r--r--user/alsa-lib/APKBUILD9
-rw-r--r--user/alsa-lib/type_compat.patch23
-rw-r--r--user/alsa-plugins/APKBUILD4
-rw-r--r--user/alsa-utils/APKBUILD4
-rw-r--r--user/ethtool/APKBUILD4
-rw-r--r--user/firefox-esr/APKBUILD12
-rw-r--r--user/keepassxc/APKBUILD7
-rw-r--r--user/libgeoip/APKBUILD33
-rw-r--r--user/libmaxminddb/APKBUILD32
-rw-r--r--user/libvncserver/APKBUILD14
-rw-r--r--user/libvncserver/CVE-2019-15681.patch23
-rw-r--r--user/libvncserver/CVE-2019-15690.patch36
-rw-r--r--user/lua-yaml/APKBUILD25
-rw-r--r--user/mosquitto/APKBUILD4
-rw-r--r--user/mutt/APKBUILD4
-rw-r--r--user/nextcloud-client/APKBUILD19
-rw-r--r--user/nextcloud-client/no-webengine.patch384
-rw-r--r--user/nextcloud-client/openssl.patch11
-rw-r--r--user/nextcloud-client/test-fix-include.patch22
-rw-r--r--user/node/APKBUILD4
-rw-r--r--user/okular/APKBUILD10
-rw-r--r--user/okular/CVE-2020-9359.patch27
-rw-r--r--user/py3-pillow/APKBUILD12
-rw-r--r--user/py3-twisted/APKBUILD22
-rw-r--r--user/py3-twisted/CVE-2020-10108-and-2020-10109.patch260
-rw-r--r--user/s6-dns/APKBUILD4
-rw-r--r--user/s6-linux-utils/APKBUILD4
-rw-r--r--user/s6-networking/APKBUILD4
-rw-r--r--user/s6-portable-utils/APKBUILD4
-rw-r--r--user/sox/APKBUILD48
-rw-r--r--user/sox/CVE-2017-11332.patch28
-rw-r--r--user/sox/CVE-2017-11358.patch44
-rw-r--r--user/sox/CVE-2017-11359.patch30
-rw-r--r--user/sox/CVE-2017-15370.patch28
-rw-r--r--user/sox/CVE-2017-15371.patch40
-rw-r--r--user/sox/CVE-2017-15372.patch100
-rw-r--r--user/sox/CVE-2017-15642.patch34
-rw-r--r--user/sox/CVE-2017-18189.patch33
-rw-r--r--user/sox/CVE-2019-13590.patch33
-rw-r--r--user/sox/CVE-2019-8354.patch28
-rw-r--r--user/sox/CVE-2019-8355.patch59
-rw-r--r--user/sox/CVE-2019-8356.patch92
-rw-r--r--user/sox/CVE-2019-8357.patch28
-rw-r--r--user/sox/sox-dynamic.patch12
-rw-r--r--user/thunderbird/APKBUILD16
-rw-r--r--user/tinycdb/APKBUILD26
-rw-r--r--user/tinycdb/Makefile.patch19
-rw-r--r--user/tlp/APKBUILD5
-rw-r--r--user/tlp/tlp.post-upgrade14
-rw-r--r--user/wavpack/APKBUILD31
-rw-r--r--user/wavpack/cve2018-19840.patch25
-rw-r--r--user/yaml-cpp/APKBUILD39
-rw-r--r--user/youtube-dl/APKBUILD9
-rw-r--r--user/youtube-dl/tumblr.patch49
54 files changed, 1668 insertions, 223 deletions
diff --git a/user/alsa-lib/APKBUILD b/user/alsa-lib/APKBUILD
index 4f854e443..49f14066e 100644
--- a/user/alsa-lib/APKBUILD
+++ b/user/alsa-lib/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=alsa-lib
-pkgver=1.2.1.2
+pkgver=1.2.2
pkgrel=0
pkgdesc="Linux sound support system"
url="https://www.alsa-project.org/wiki/Main_Page"
@@ -12,6 +12,7 @@ subpackages="$pkgname-dev $pkgname-dbg"
source="ftp://ftp.alsa-project.org/pub/lib/$pkgname-$pkgver.tar.bz2
ucm_add_limits_h.patch
remove-test.patch
+ type_compat.patch
"
build() {
@@ -30,6 +31,7 @@ build() {
rm -rf "$builddir"/include/sound
mkdir "$builddir"/include/sound
printf "all:\ncheck:\ninstall:\n" > "$builddir"/include/sound/Makefile
+
make
}
@@ -41,6 +43,7 @@ package() {
make -j1 DESTDIR="$pkgdir" install
}
-sha512sums="e8286fd55f63ee0d95513279d0885c287533de89b7af6c338413dec5d38ba4f5a15da1a4a4ce36e052614e4b730e3778782dab9979d82958283be17b48604913 alsa-lib-1.2.1.2.tar.bz2
+sha512sums="d21adb3ff998918c7d1820f9ce2aaf4202dd45ccb87cb092d49da8b2402b6ddaad06325be0fd59f17393a5d9958e3743bfccb4b14bdb947a42e7d791d73c7033 alsa-lib-1.2.2.tar.bz2
3b37652d50809443b5f8e80f8d447108195b0cd66fd917805bb393fc091584b6f3dad4414f568742b61745617e7a695862058a0a0f93dcc31e4c97177a520352 ucm_add_limits_h.patch
-0ce3c2b8a0a70e2dffb6d633b95c4aae74504cd694fe1507cbc409d931b5f733935b22de45e4adcf5a507587c9f80c60a6f0e798aac2ca2fbf0cbcdef0080079 remove-test.patch"
+0ce3c2b8a0a70e2dffb6d633b95c4aae74504cd694fe1507cbc409d931b5f733935b22de45e4adcf5a507587c9f80c60a6f0e798aac2ca2fbf0cbcdef0080079 remove-test.patch
+bdcfa3d5fcc055fb6732922679e21689fc2ac19462fe7b72d16862c98ef8c995c3dd5becc4987ba417068e6b0e561bec7e6284d5f0a414e2966c8e00ac304fa8 type_compat.patch"
diff --git a/user/alsa-lib/type_compat.patch b/user/alsa-lib/type_compat.patch
new file mode 100644
index 000000000..4236d11d4
--- /dev/null
+++ b/user/alsa-lib/type_compat.patch
@@ -0,0 +1,23 @@
+Since we force the use of the uapi headers from linux-headers instead of
+using the vendored copy, type_compat.h never gets put in the place it
+should be for it to be seen in sound/.
+
+However, the only reason it was included here anyway was to replace a
+definition that was never used:
+
+https://github.com/alsa-project/alsa-lib/commit/ae564665ec261cf104de499b1cdda3564070fc65#diff-5e0b4d8ecf374a31036ffc7b224d5e7fL21
+
+ -#define __packed __attribute__((__packed__))
+ -
+ +#include <sound/type_compat.h>
+
+--- alsa-lib-1.2.2/src/topology/tplg_local.h 2020-02-19 03:35:39.000000000 -0600
++++ alsa-lib-1.2.2/src/topology/tplg_local.h 2020-03-17 01:26:25.159548858 -0500
+@@ -18,7 +18,6 @@
+ #include "list.h"
+ #include "topology.h"
+
+-#include <sound/type_compat.h>
+ #include <sound/asound.h>
+ #include <sound/asoc.h>
+ #include <sound/tlv.h>
diff --git a/user/alsa-plugins/APKBUILD b/user/alsa-plugins/APKBUILD
index 2976ee3f3..ebf39a4cb 100644
--- a/user/alsa-plugins/APKBUILD
+++ b/user/alsa-plugins/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Taner Tas <taner76@gmail.com>
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=alsa-plugins
-pkgver=1.2.1
+pkgver=1.2.2
pkgrel=0
pkgdesc="Advanced Linux Sound Architecture (ALSA) plugins"
url="https://www.alsa-project.org/main/index.php/Main_Page"
@@ -60,4 +60,4 @@ a52() {
"$subpkgdir"/usr/share/alsa/alsa.conf.d/
}
-sha512sums="a49ef9290b66855112e301a5fd5a0932f13a50254e164f3340f2b342a36469532ee783beabfe5e95870dbf4cd81ca1e8d0415d94c8c7ee963133fb3c343721de alsa-plugins-1.2.1.tar.bz2"
+sha512sums="25a7dfaa64be024447d889b5cde668f1308d197f54880548a82d50beb4ac0dbff33b415da1e26dc5229408c934247a9bd38acfb0f82ca388deac0d77ab3cdadb alsa-plugins-1.2.2.tar.bz2"
diff --git a/user/alsa-utils/APKBUILD b/user/alsa-utils/APKBUILD
index 85811417f..569e8d6a4 100644
--- a/user/alsa-utils/APKBUILD
+++ b/user/alsa-utils/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=alsa-utils
-pkgver=1.2.1
+pkgver=1.2.2
pkgrel=0
pkgdesc="Advanced Linux Sound Architecture (ALSA) utilities"
url="https://www.alsa-project.org/wiki/Main_Page"
@@ -36,7 +36,7 @@ package() {
install -Dm644 ../alsa.confd "$pkgdir"/etc/conf.d/alsa
}
-sha512sums="b7729659cd9809197dc30042f522f5103ff41ddc047f13f9c733c93f7e91a26f90cd864c70e654d12ef7a552b1d9ebe2727a24ec9fad03560cb7cdea906662ec alsa-utils-1.2.1.tar.bz2
+sha512sums="30598c658f3f2ad71a5ce7911b09ae13add54b293bcf3bebb053371d84a91528bd64fd376f167456b2e27e2546a2279019678e099247513e5142b283af756fd9 alsa-utils-1.2.2.tar.bz2
817215be6e9f103a8a187df5b1142c4d2e952f547a64579a9b8cfa58bd762d6a55bde75c0f66f018c0597744d07ccdb08216f7b368db464e36667cecedcc00f3 alsaconf.patch
7bf743024d7c5caed2fbf8af5cee73bcc569a7bab0bd6459541d3704cc6a7456d588b600b690e7406e122deaf0316dd1f67219a267bec4dff3f6c0f120edaae4 alsa.initd
6e716e6230fd3d2c33e3cb2dbf572d632c9ac6452c1768388bea7d3ca22f7c72cf6bcd702580f45cb9089983582011c8b04cbdb4420d14fb988167b1391ea547 alsa.confd"
diff --git a/user/ethtool/APKBUILD b/user/ethtool/APKBUILD
index 0f899072c..984066d58 100644
--- a/user/ethtool/APKBUILD
+++ b/user/ethtool/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=ethtool
-pkgver=5.3
+pkgver=5.4
pkgrel=0
pkgdesc="Utility for controlling network drivers and hardware"
url="https://mirrors.edge.kernel.org/pub/software/network/ethtool/"
@@ -40,4 +40,4 @@ bashcomp() {
mv "$pkgdir"/usr/share/bash-completion/ "$subpkgdir"/usr/share/
}
-sha512sums="ad3651f74850e6773489baec27c51d077e3c080eb1d536a585ae05c618304880caf7598df5c9b1416c47ae9c4eac301032f6ea65fe47650dd9ecb7603c1857b0 ethtool-5.3.tar.xz"
+sha512sums="c7bfe7eae2ba207d710716274e9f5ae275c57d0bebc0a9acb95677125e64f1b42ef610032011fb59894aab46973988bad40fddbc5ccc238893e7da66f913255b ethtool-5.4.tar.xz"
diff --git a/user/firefox-esr/APKBUILD b/user/firefox-esr/APKBUILD
index e4c2a5687..649a95029 100644
--- a/user/firefox-esr/APKBUILD
+++ b/user/firefox-esr/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Molly Miller <adelie@m-squa.red>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=firefox-esr
-pkgver=68.5.0
+pkgver=68.6.0
pkgrel=0
pkgdesc="Firefox web browser (extended support release)"
url="https://www.mozilla.org/firefox/"
@@ -106,6 +106,14 @@ ldpath="$_mozappdir"
# - CVE-2020-6797
# - CVE-2020-6798
# - CVE-2020-6799
+# 68.6.0-r0:
+# - CVE-2019-20503
+# - CVE-2020-6805
+# - CVE-2020-6806
+# - CVE-2020-6807
+# - CVE-2020-6811
+# - CVE-2020-6812
+# - CVE-2020-6814
unpack() {
@@ -222,7 +230,7 @@ package() {
EOF
}
-sha512sums="0acf4ecd47bccf062ab330231e36355f5d84e66ab411f653ae3160583613840925bb473c0f7dfa4b15311a543940293c4633516851c9466c4b0133c9271710d3 firefox-68.5.0esr.source.tar.xz
+sha512sums="84565d654ed8bd2d036d08de4d16e41ae8881f0b20b34424ab347d50a37384acf50c04f74269720e79db28028569dff79f2b910848939ff87c078f36684a75a3 firefox-68.6.0esr.source.tar.xz
16e814e8dcffc707b595ca2919bd2fa3db0d15794c63d977364652c4a5b92e90e72b8c9e1cc83b5020398bd90a1b397dbdd7cb931c49f1aa4af6ef95414b43e0 Python-2.7.16.tar.xz
f82758d279cd12a1b30a9b36ac3c265cfb137df3db7ae185f2c538504e46fa70ace1b051fce847356851062b5cc9cd741a6d33d54f8cd103aa0c8272cb19ccc4 mozconfig
ace7492f4fb0523c7340fdc09c831906f74fddad93822aff367135538dacd3f56288b907f5a04f53f94c76e722ba0bab73e28d83ec12d3e672554712e6b08613 bad-google-code.patch
diff --git a/user/keepassxc/APKBUILD b/user/keepassxc/APKBUILD
index 739ee75db..4aa4ecff3 100644
--- a/user/keepassxc/APKBUILD
+++ b/user/keepassxc/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Max Rees <maxcrees@me.com>
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=keepassxc
-pkgver=2.4.3
+pkgver=2.5.3
pkgrel=0
pkgdesc="A community revival of the KeePassX password manager"
url="https://keepassxc.org"
@@ -19,6 +19,9 @@ build() {
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=/usr/lib \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
+ -DWITH_XC_BROWSER=bool:ON \
+ -DWITH_XC_FDOSECRETS=bool:ON \
+ -DWITH_XC_SSHAGENT=bool:ON \
-Bbuild
make -C build
}
@@ -31,4 +34,4 @@ package() {
make DESTDIR="$pkgdir" -C build install
}
-sha512sums="893f1d18ab8051143d29c568ba87adcc42a13d28d0c3a7af04396cd91d6724f8a98d76d2e20ca15138c4642ec060d48b9e957857251f3a0df6066af08cd0765d keepassxc-2.4.3-src.tar.xz"
+sha512sums="8b1e3360b4ae5de170be6936291f7b309de09b2462fcd5a48f239c22f1c8b6ffe721aca8d1e9b6ae3881f7b16374850d7f4b809733244fd16d45eed6ad4f60c6 keepassxc-2.5.3-src.tar.xz"
diff --git a/user/libgeoip/APKBUILD b/user/libgeoip/APKBUILD
new file mode 100644
index 000000000..db33d2f11
--- /dev/null
+++ b/user/libgeoip/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Alyx Wolcott <alyx@leuhta.com>
+# Maintainer: Alyx Wolcott <alyx@leuhta.com>
+pkgname=libgeoip
+pkgver=1.6.12
+pkgrel=0
+pkgdesc="GeoIP legacy C API"
+url="https://github.com/maxmind/geoip-api-c"
+arch="all"
+license="LGPL-2.1-only"
+subpackages="$pkgname-dev $pkgname-doc"
+source="https://github.com/maxmind/geoip-api-c/releases/download/v$pkgver/GeoIP-$pkgver.tar.gz"
+builddir="$srcdir/GeoIP-$pkgver"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="a1c8120692a7ba6de5836550917f86f4797dd236a8b7d71b6f92b5389e4b071d89e57036654f5de1d4b762730a2a5c331c31414eab0c889c9befaa097941fee7 GeoIP-1.6.12.tar.gz"
diff --git a/user/libmaxminddb/APKBUILD b/user/libmaxminddb/APKBUILD
new file mode 100644
index 000000000..f1762c4ca
--- /dev/null
+++ b/user/libmaxminddb/APKBUILD
@@ -0,0 +1,32 @@
+# Contributor: Alyx Wolcott <alyx@leuhta.com>
+# Maintainer: Alyx Wolcott <alyx@leuhta.com>
+pkgname=libmaxminddb
+pkgver=1.4.2
+pkgrel=0
+pkgdesc="Library for the MaxMind DB file format"
+url="http://maxmind.github.io/libmaxminddb/"
+arch="all"
+license="Apache-2.0"
+subpackages="$pkgname-dev $pkgname-doc"
+source="https://github.com/maxmind/libmaxminddb/releases/download/$pkgver/$pkgname-$pkgver.tar.gz"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="bc18d2f19a74639888a466483afde1bccfc3a83787011a6f38808b76e5a513c9912ff369ccbf584091d4def657e0574b16b35dc69ab12ae4c439aaaf3669c4c1 libmaxminddb-1.4.2.tar.gz"
diff --git a/user/libvncserver/APKBUILD b/user/libvncserver/APKBUILD
index 2b42311c2..7058ad208 100644
--- a/user/libvncserver/APKBUILD
+++ b/user/libvncserver/APKBUILD
@@ -3,7 +3,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libvncserver
pkgver=0.9.12
-pkgrel=0
+pkgrel=1
pkgdesc="Library to make writing a vnc server easy"
url="https://libvnc.github.io/"
arch="all"
@@ -15,7 +15,10 @@ depends_dev="libgcrypt-dev libjpeg-turbo-dev gnutls-dev libpng-dev
makedepends="$depends_dev cmake"
subpackages="$pkgname-dev"
source="https://github.com/LibVNC/libvncserver/archive/LibVNCServer-$pkgver.tar.gz
- CVE-2018-15127.patch"
+ CVE-2018-15127.patch
+ CVE-2019-15681.patch
+ CVE-2019-15690.patch
+ "
builddir="$srcdir"/libvncserver-LibVNCServer-$pkgver
# secfixes:
@@ -24,6 +27,9 @@ builddir="$srcdir"/libvncserver-LibVNCServer-$pkgver
# - CVE-2016-9942
# 0.9.12-r0:
# - CVE-2018-15127
+# 0.9.12-r1:
+# - CVE-2019-15681
+# - CVE-2019-15690
build() {
if [ "$CBUILD" != "$CHOST" ]; then
@@ -49,4 +55,6 @@ package() {
}
sha512sums="60ff1cc93a937d6f8f97449bc58b763095846207112f7b1b3c43eb2d74448b595d6da949903a764bd484ee54e38ff6277e882adbe965dd6d26ba15ef6ff6fcb8 LibVNCServer-0.9.12.tar.gz
-8b5b6742e6c3a181c60652484b15ec42cc0a3acc1e82cef38e82b61f43f1de456d09731976f4e5dfab44abf3e551e22aaf4300cb8418cd8e136d705fcb2a7dbe CVE-2018-15127.patch"
+8b5b6742e6c3a181c60652484b15ec42cc0a3acc1e82cef38e82b61f43f1de456d09731976f4e5dfab44abf3e551e22aaf4300cb8418cd8e136d705fcb2a7dbe CVE-2018-15127.patch
+5ecb5a26813f3f07440ef6c54eebaca4e9b4f7c1cf2ba13375e3b23b950a9b818d068d4eef5532d7ea4d7ae084c4356af7257c45426101ff51afe2b7da338a1f CVE-2019-15681.patch
+52f62a65c3e91b7c7a11b5ad6e1432d697e1314bf6c938b5cb0c9cc8bdffbf1c25612c33e05282c11d59c6523e208b882f963fca8bcd34a5c72dd476427e7542 CVE-2019-15690.patch"
diff --git a/user/libvncserver/CVE-2019-15681.patch b/user/libvncserver/CVE-2019-15681.patch
new file mode 100644
index 000000000..e328d8792
--- /dev/null
+++ b/user/libvncserver/CVE-2019-15681.patch
@@ -0,0 +1,23 @@
+From d01e1bb4246323ba6fcee3b82ef1faa9b1dac82a Mon Sep 17 00:00:00 2001
+From: Christian Beier <dontmind@freeshell.org>
+Date: Mon, 19 Aug 2019 22:32:25 +0200
+Subject: [PATCH] rfbserver: don't leak stack memory to the remote
+
+Thanks go to Pavel Cheremushkin of Kaspersky for reporting.
+---
+ libvncserver/rfbserver.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/libvncserver/rfbserver.c b/libvncserver/rfbserver.c
+index 3bacc891..310e5487 100644
+--- a/libvncserver/rfbserver.c
++++ b/libvncserver/rfbserver.c
+@@ -3724,6 +3724,8 @@ rfbSendServerCutText(rfbScreenInfoPtr rfbScreen,char *str, int len)
+ rfbServerCutTextMsg sct;
+ rfbClientIteratorPtr iterator;
+
++ memset((char *)&sct, 0, sizeof(sct));
++
+ iterator = rfbGetClientIterator(rfbScreen);
+ while ((cl = rfbClientIteratorNext(iterator)) != NULL) {
+ sct.type = rfbServerCutText;
diff --git a/user/libvncserver/CVE-2019-15690.patch b/user/libvncserver/CVE-2019-15690.patch
new file mode 100644
index 000000000..7fe36e454
--- /dev/null
+++ b/user/libvncserver/CVE-2019-15690.patch
@@ -0,0 +1,36 @@
+From 54220248886b5001fbbb9fa73c4e1a2cb9413fed Mon Sep 17 00:00:00 2001
+From: Christian Beier <dontmind@freeshell.org>
+Date: Sun, 17 Nov 2019 17:18:35 +0100
+Subject: [PATCH] libvncclient/cursor: limit width/height input values
+
+Avoids a possible heap overflow reported by Pavel Cheremushkin
+<Pavel.Cheremushkin@kaspersky.com>.
+
+re #275
+---
+ libvncclient/cursor.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/libvncclient/cursor.c b/libvncclient/cursor.c
+index 67f45726..40ffb3b0 100644
+--- a/libvncclient/cursor.c
++++ b/libvncclient/cursor.c
+@@ -28,6 +28,8 @@
+ #define OPER_SAVE 0
+ #define OPER_RESTORE 1
+
++#define MAX_CURSOR_SIZE 1024
++
+ #define RGB24_TO_PIXEL(bpp,r,g,b) \
+ ((((uint##bpp##_t)(r) & 0xFF) * client->format.redMax + 127) / 255 \
+ << client->format.redShift | \
+@@ -54,6 +56,9 @@ rfbBool HandleCursorShape(rfbClient* client,int xhot, int yhot, int width, int h
+ if (width * height == 0)
+ return TRUE;
+
++ if (width >= MAX_CURSOR_SIZE || height >= MAX_CURSOR_SIZE)
++ return FALSE;
++
+ /* Allocate memory for pixel data and temporary mask data. */
+ if(client->rcSource)
+ free(client->rcSource);
diff --git a/user/lua-yaml/APKBUILD b/user/lua-yaml/APKBUILD
new file mode 100644
index 000000000..f252b3a7b
--- /dev/null
+++ b/user/lua-yaml/APKBUILD
@@ -0,0 +1,25 @@
+# Contributor: Alyx Wolcott <alyx@leuhta.com>
+# Maintainer: Alyx Wolcott <alyx@leuhta.com>
+pkgname=lua-yaml
+pkgver=6.2.4
+pkgrel=0
+pkgdesc="LibYAML binding for Lua"
+url="https://gvvaughan.github.io/lyaml/"
+arch="all"
+options="!check" # No tests, sweet.
+license="MIT"
+depends="lua5.3"
+makedepends="lua5.3-dev yaml-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/gvvaughan/lyaml/archive/v$pkgver.tar.gz"
+builddir="$srcdir/lyaml-$pkgver"
+
+build () {
+ ./build-aux/luke PREFOX=$pkgdir/usr VERSION="${pkgver}"
+}
+
+package() {
+ mkdir -p $pkgdir/usr
+ ./build-aux/luke PREFIX=$pkgdir/usr install
+}
+
+sha512sums="92dea86a3b1d648093d2134ea4c558432b0861942aa141359d1ca9d7bc55f33a62bb38e12fd653d69139e0a6f0ea6202a9e8c57f750a065d35f0dd674eacaf8a lua-yaml-6.2.4.tar.gz"
diff --git a/user/mosquitto/APKBUILD b/user/mosquitto/APKBUILD
index 7e19f62f4..67ec942a1 100644
--- a/user/mosquitto/APKBUILD
+++ b/user/mosquitto/APKBUILD
@@ -2,7 +2,7 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=mosquitto
-pkgver=1.6.8
+pkgver=1.6.9
pkgrel=0
pkgdesc="An Open Source MQTT Broker"
url="https://mosquitto.org/"
@@ -74,7 +74,7 @@ clients() {
mv "$pkgdir"/usr/bin/mosquitto_[ps]ub "$subpkgdir"/usr/bin/
}
-sha512sums="c15897df4e0979ee29a1e67cc671f56db600a078e9eb0bea376248b3f53b13ceed36616ad3678e2c9e07d6834a6d75e4efca2c40086069c1546e0223be04c071 mosquitto-1.6.8.tar.gz
+sha512sums="f78228a1e8305e4d89b34250981ed2c5fe5317636003636dc90f6fa2b1e3ca3c8fadb705ee7301f5252456cb093a6547bd46a255ca3d9fb5cdced697738d6eb7 mosquitto-1.6.9.tar.gz
681fddc737b3ef3e6c052f0c854a730df290352640a18a63e23ef83d14c425558aff87805d1eb95e44de101b5df48872173af9f5414464ffa8cf727ea2c0491e mosquitto.initd
3886171e36f759a717aa6626d5b8dbd392963c737d5de28b4d52b81359008927b99ff7a0ca82f56a0e5deaed4585571759ba9216336a664fd346845837c2bc18 disable-flaky-test.patch
b07f9bec2751ab32c43f53e74d8fca18dbf2d7ce7f8fab562dbcf75de19609ba6219d735ac504697404e0ed36613a14074e3a19e735297195877798f778d337a openrc-conf.patch"
diff --git a/user/mutt/APKBUILD b/user/mutt/APKBUILD
index 505d0c869..09b0f49d3 100644
--- a/user/mutt/APKBUILD
+++ b/user/mutt/APKBUILD
@@ -3,7 +3,7 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=mutt
-pkgver=1.13.2
+pkgver=1.13.4
pkgrel=0
pkgdesc="Small but very powerful text-mode email client"
url="http://www.mutt.org" # No HTTPS
@@ -57,4 +57,4 @@ package() {
"$pkgdir"/etc/Muttrc.gpg.dist
}
-sha512sums="af6eb8d2125dc49391392f350ec44203824a0cea2856ca194e7f8f534e598049185c813a56053491fda221042d1508a48cf46b2167e2ebf44af7b69938dcb829 mutt-1.13.2.tar.gz"
+sha512sums="59ae13d7cef052818f38f6d52e2cb42251f393ecf622eae113bfa29218b541195471de822efbdb072c6f74a4dc385bb94fe27c37b44c62eac7e2a0a4e0c6adc3 mutt-1.13.4.tar.gz"
diff --git a/user/nextcloud-client/APKBUILD b/user/nextcloud-client/APKBUILD
index 19b8959ae..b9b3064d6 100644
--- a/user/nextcloud-client/APKBUILD
+++ b/user/nextcloud-client/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=nextcloud-client
-pkgver=2.5.3
+pkgver=2.6.3
pkgrel=0
pkgdesc="Nextcloud desktop client"
url="https://github.com/nextcloud/desktop"
@@ -13,7 +13,7 @@ makedepends="cmake qt5-qttools-dev qtkeychain-dev zlib-dev
subpackages="$pkgname-dev"
source="$pkgname-$pkgver.tar.gz::https://github.com/nextcloud/desktop/archive/v$pkgver.tar.gz
no-webengine.patch
- openssl.patch"
+ test-fix-include.patch"
builddir="$srcdir/desktop-$pkgver"
build() {
@@ -21,11 +21,10 @@ build() {
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_LIBDIR=lib \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_SYSCONFDIR="/etc/$pkgname" \
- -DNO_SHIBBOLETH=1 \
-DWITH_CRASHREPORTER=bool:OFF \
-DUNIT_TESTING=bool:ON \
- -DNO_SHIBBOLETH=bool:ON .
+ -DNO_SHIBBOLETH=bool:ON \
+ -DNO_WEBENGINE=bool:ON .
make
}
@@ -37,8 +36,12 @@ check() {
package() {
make DESTDIR="$pkgdir" install
+ cat > "$pkgdir"/etc/Nextcloud/Nextcloud.conf <<-EOF
+ [General]
+ skipUpdateCheck=true
+ EOF
}
-sha512sums="998e38278472e87e9606fad407ba7b1295594a777845c6fa7413ffb485b3a3b7a26ad8212a1161e1d695d9ecfa066e9090aa633b4ec4af84700c28bc1321b710 nextcloud-client-2.5.3.tar.gz
-17e6a8437d33a2bb1305e45405aee4e23f233e00c232669a1f8317355032d88329899d3f7b65d1069cf1612029b589a575b0f64018b9b23d239a73c5f4bed2ce no-webengine.patch
-e323a1074f8ac96667a420f076fdfc988e2fd97cdacd05d83ac54b467b567f5adbf635e7c4fb0414af0012b4016cc4c13441cb35ed3976bc970e514e81b65fd4 openssl.patch"
+sha512sums="ddeb8a32e0208bc415bf421cb3ce05713adb617fa78c0b5cb4d894c9e8d3499dcc495c115de3ea7abb0c402eef4bc64ede8c59a7f056acda47779096fedc8025 nextcloud-client-2.6.3.tar.gz
+38dd89ca2bf67294187bb4d5c59cdf725ec3b502f23bf4a60210e85c66f6a7e00da0e0b41775bc138159bed300dc60a1f179d1d6ad3b7a27e1aadf4f0576f348 no-webengine.patch
+c14054e6dc228ca77a659371b3c151e0551477fce3a2678a54da4ba73adbcf972a78114c5649adc3dc813fb01b55bbb812620caac0bc0460519424c2caa6c81f test-fix-include.patch"
diff --git a/user/nextcloud-client/no-webengine.patch b/user/nextcloud-client/no-webengine.patch
index 762b5092d..cbbfe2a72 100644
--- a/user/nextcloud-client/no-webengine.patch
+++ b/user/nextcloud-client/no-webengine.patch
@@ -1,6 +1,45 @@
---- desktop-2.5.2/src/CMakeLists.txt 2019-03-19 01:52:24.000000000 +0000
-+++ desktop-2.5.2/src/CMakeLists.txt 2019-04-22 04:01:31.260028906 +0000
-@@ -4,7 +4,7 @@
+From 61561d454fec726741a938b81149fa0e2d7db4d6 Mon Sep 17 00:00:00 2001
+From: Max Rees <maxcrees@me.com>
+Date: Mon, 24 Feb 2020 21:32:58 -0600
+Subject: [PATCH] Add support for compiling without QtWebEngine (webflow /
+ flow2 support)
+
+Signed-off-by: Max Rees <maxcrees@me.com>
+---
+ CMakeLists.txt | 7 +++++++
+ src/CMakeLists.txt | 6 +++++-
+ src/gui/CMakeLists.txt | 25 +++++++++++++++-------
+ src/gui/accountmanager.cpp | 2 ++
+ src/gui/creds/credentialsfactory.cpp | 4 ++++
+ src/gui/wizard/owncloudsetuppage.cpp | 4 ++++
+ src/gui/wizard/owncloudwizard.cpp | 31 +++++++++++++++++++++++++++-
+ src/gui/wizard/owncloudwizard.h | 6 ++++++
+ src/libsync/networkjobs.cpp | 8 +++++++
+ 9 files changed, 83 insertions(+), 10 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f8e92e250..90719c222 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -167,6 +167,13 @@ if(NO_SHIBBOLETH)
+ add_definitions(-DNO_SHIBBOLETH=1)
+ endif()
+
++# Disable webengine-based components
++option(NO_WEBENGINE "Build without webflow / flow2 support so QtWebEngine isn't required" OFF)
++if(NO_WEBENGINE)
++ message("Compiling without webengine")
++ add_definitions(-DNO_WEBENGINE=1)
++endif()
++
+ if(APPLE)
+ set( SOCKETAPI_TEAM_IDENTIFIER_PREFIX "" CACHE STRING "SocketApi prefix (including a following dot) that must match the codesign key's TeamIdentifier/Organizational Unit" )
+ endif()
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 9f854b006..881daec8e 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -4,11 +4,15 @@ endif()
set(synclib_NAME ${APPLICATION_EXECUTABLE}sync)
@@ -9,26 +48,35 @@
if (Qt5Core_VERSION VERSION_LESS 5.9.0)
message(STATUS "For HTTP/2 support, compile with Qt 5.9 or higher.")
endif()
---- desktop-2.5.2/src/gui/CMakeLists.txt 2019-03-19 01:52:24.000000000 +0000
-+++ desktop-2.5.2/src/gui/CMakeLists.txt 2019-04-22 04:15:53.230034980 +0000
-@@ -40,7 +40,6 @@
- wizard/owncloudoauthcredspage.ui
- wizard/owncloudsetupnocredspage.ui
- wizard/owncloudwizardresultpage.ui
-- wizard/webview.ui
- )
- set(client_SRCS
-@@ -103,8 +102,6 @@
++if(NOT NO_WEBENGINE)
++ find_package(Qt5 5.6 COMPONENTS WebEngineWidgets WebEngine REQUIRED)
++endif()
++
+ if(NOT TOKEN_AUTH_ONLY)
+ find_package(Qt5Keychain REQUIRED)
+ endif()
+diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt
+index 4372a9f23..d62f23d1e 100644
+--- a/src/gui/CMakeLists.txt
++++ b/src/gui/CMakeLists.txt
+@@ -108,24 +108,17 @@ set(client_SRCS
creds/credentialsfactory.cpp
creds/httpcredentialsgui.cpp
creds/oauth.cpp
+- creds/flow2auth.cpp
+ creds/keychainchunk.cpp
- creds/webflowcredentials.cpp
- creds/webflowcredentialsdialog.cpp
wizard/postfixlineedit.cpp
wizard/abstractcredswizardpage.cpp
wizard/owncloudadvancedsetuppage.cpp
-@@ -115,8 +112,6 @@
+ wizard/owncloudconnectionmethoddialog.cpp
+ wizard/owncloudhttpcredspage.cpp
+ wizard/owncloudoauthcredspage.cpp
+- wizard/flow2authcredspage.cpp
+- wizard/flow2authwidget.cpp
+ wizard/owncloudsetuppage.cpp
wizard/owncloudwizardcommon.cpp
wizard/owncloudwizard.cpp
wizard/owncloudwizardresultpage.cpp
@@ -37,169 +85,291 @@
wizard/slideshow.cpp
)
-@@ -295,7 +290,7 @@
+@@ -138,6 +131,18 @@ IF(NOT NO_SHIBBOLETH)
+ )
+ endif()
+
++IF(NOT NO_WEBENGINE)
++ list(APPEND client_SRCS
++ creds/flow2auth.cpp
++ creds/webflowcredentials.cpp
++ creds/webflowcredentialsdialog.cpp
++ wizard/flow2authcredspage.cpp
++ wizard/flow2authwidget.cpp
++ wizard/webviewpage.cpp
++ wizard/webview.cpp
++ )
++endif()
++
+ set(updater_SRCS
+ updater/ocupdater.cpp
+ updater/updateinfo.cpp
+@@ -298,7 +303,11 @@ else()
endif()
add_library(updater STATIC ${updater_SRCS})
-target_link_libraries(updater ${synclib_NAME} Qt5::Widgets Qt5::Network Qt5::Xml Qt5::WebEngineWidgets)
-+target_link_libraries(updater ${synclib_NAME} Qt5::Widgets Qt5::Network Qt5::Xml)
++if(NOT NO_WEBENGINE)
++ target_link_libraries(updater ${synclib_NAME} Qt5::Widgets Qt5::Network Qt5::Xml Qt5::WebEngineWidgets)
++else()
++ target_link_libraries(updater ${synclib_NAME} Qt5::Widgets Qt5::Network Qt5::Xml)
++endif()
target_include_directories(updater PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
set_target_properties( ${APPLICATION_EXECUTABLE} PROPERTIES
---- desktop-2.5.2/src/gui/accountmanager.cpp 2019-03-19 01:52:24.000000000 +0000
-+++ desktop-2.5.2/src/gui/accountmanager.cpp 2019-04-22 04:17:04.440035482 +0000
-@@ -253,20 +253,6 @@
+diff --git a/src/gui/accountmanager.cpp b/src/gui/accountmanager.cpp
+index eec375180..2d7b0bc30 100644
+--- a/src/gui/accountmanager.cpp
++++ b/src/gui/accountmanager.cpp
+@@ -253,6 +253,7 @@ AccountPtr AccountManager::loadAccountHelper(QSettings &settings)
acc->setUrl(urlConfig.toUrl());
}
-- // Migrate to webflow
-- if (authType == QLatin1String("http")) {
-- authType = "webflow";
-- settings.setValue(QLatin1String(authTypeC), authType);
--
-- foreach(QString key, settings.childKeys()) {
-- if (!key.startsWith("http_"))
-- continue;
-- auto newkey = QString::fromLatin1("webflow_").append(key.mid(5));
-- settings.setValue(newkey, settings.value((key)));
-- settings.remove(key);
-- }
-- }
--
++#ifndef NO_WEBENGINE
+ // Migrate to webflow
+ if (authType == QLatin1String("http")) {
+ authType = "webflow";
+@@ -266,6 +267,7 @@ AccountPtr AccountManager::loadAccountHelper(QSettings &settings)
+ settings.remove(key);
+ }
+ }
++#endif
+
qCInfo(lcAccountManager) << "Account for" << acc->url() << "using auth type" << authType;
- acc->_serverVersion = settings.value(QLatin1String(serverVersionC)).toString();
---- desktop-2.5.2/src/gui/creds/credentialsfactory.cpp 2019-03-19 01:52:24.000000000 +0000
-+++ desktop-2.5.2/src/gui/creds/credentialsfactory.cpp 2019-04-22 04:23:19.590038126 +0000
-@@ -21,7 +21,6 @@
+diff --git a/src/gui/creds/credentialsfactory.cpp b/src/gui/creds/credentialsfactory.cpp
+index 6062f70eb..723196d08 100644
+--- a/src/gui/creds/credentialsfactory.cpp
++++ b/src/gui/creds/credentialsfactory.cpp
+@@ -21,7 +21,9 @@
#ifndef NO_SHIBBOLETH
#include "creds/shibbolethcredentials.h"
#endif
--#include "creds/webflowcredentials.h"
++#ifndef NO_WEBENGINE
+ #include "creds/webflowcredentials.h"
++#endif
namespace OCC {
-@@ -40,8 +39,6 @@
+@@ -40,8 +42,10 @@ namespace CredentialsFactory {
} else if (type == "shibboleth") {
return new ShibbolethCredentials;
#endif
-- } else if (type == "webflow") {
-- return new WebFlowCredentials;
++#ifndef NO_WEBENGINE
+ } else if (type == "webflow") {
+ return new WebFlowCredentials;
++#endif
} else {
qCWarning(lcGuiCredentials, "Unknown credentials type: %s", qPrintable(type));
return new DummyCredentials;
---- desktop-2.5.2/src/gui/wizard/owncloudwizard.cpp 2019-03-19 01:52:24.000000000 +0000
-+++ desktop-2.5.2/src/gui/wizard/owncloudwizard.cpp 2019-04-22 04:24:59.360038829 +0000
-@@ -26,7 +26,6 @@
+diff --git a/src/gui/wizard/owncloudsetuppage.cpp b/src/gui/wizard/owncloudsetuppage.cpp
+index 11b1fc80c..30df7cc7f 100644
+--- a/src/gui/wizard/owncloudsetuppage.cpp
++++ b/src/gui/wizard/owncloudsetuppage.cpp
+@@ -144,7 +144,11 @@ void OwncloudSetupPage::slotLogin()
+ void OwncloudSetupPage::slotGotoProviderList()
+ {
+ _ocWizard->setRegistration(true);
++#ifndef NO_WEBENGINE
+ _ocWizard->setAuthType(DetermineAuthTypeJob::AuthType::WebViewFlow);
++#else
++ _ocWizard->setAuthType(DetermineAuthTypeJob::AuthType::Basic);
++#endif
+ _authTypeKnown = true;
+ _checking = false;
+ emit completeChanged();
+diff --git a/src/gui/wizard/owncloudwizard.cpp b/src/gui/wizard/owncloudwizard.cpp
+index 2076136ff..8cb91e250 100644
+--- a/src/gui/wizard/owncloudwizard.cpp
++++ b/src/gui/wizard/owncloudwizard.cpp
+@@ -27,8 +27,10 @@
#endif
#include "wizard/owncloudadvancedsetuppage.h"
#include "wizard/owncloudwizardresultpage.h"
--#include "wizard/webviewpage.h"
++#ifndef NO_WEBENGINE
+ #include "wizard/webviewpage.h"
+ #include "wizard/flow2authcredspage.h"
++#endif
#include "QProgressIndicator.h"
-@@ -51,7 +50,6 @@
+@@ -47,14 +49,18 @@ OwncloudWizard::OwncloudWizard(QWidget *parent)
+ , _setupPage(new OwncloudSetupPage(this))
+ , _httpCredsPage(new OwncloudHttpCredsPage(this))
+ , _browserCredsPage(new OwncloudOAuthCredsPage)
++#ifndef NO_WEBENGINE
+ , _flow2CredsPage(new Flow2AuthCredsPage)
++#endif
+ #ifndef NO_SHIBBOLETH
+ , _shibbolethCredsPage(new OwncloudShibbolethCredsPage)
+ #endif
, _advancedSetupPage(new OwncloudAdvancedSetupPage)
, _resultPage(new OwncloudWizardResultPage)
, _credentialsPage(nullptr)
-- , _webViewPage(new WebViewPage(this))
++#ifndef NO_WEBENGINE
+ , _webViewPage(new WebViewPage(this))
++#endif
, _setupLog()
, _registration(false)
{
-@@ -64,7 +62,6 @@
+@@ -62,13 +68,17 @@ OwncloudWizard::OwncloudWizard(QWidget *parent)
+ setPage(WizardCommon::Page_ServerSetup, _setupPage);
+ setPage(WizardCommon::Page_HttpCreds, _httpCredsPage);
+ setPage(WizardCommon::Page_OAuthCreds, _browserCredsPage);
++#ifndef NO_WEBENGINE
+ setPage(WizardCommon::Page_Flow2AuthCreds, _flow2CredsPage);
++#endif
+ #ifndef NO_SHIBBOLETH
+ setPage(WizardCommon::Page_ShibbolethCreds, _shibbolethCredsPage);
#endif
setPage(WizardCommon::Page_AdvancedSetup, _advancedSetupPage);
setPage(WizardCommon::Page_Result, _resultPage);
-- setPage(WizardCommon::Page_WebView, _webViewPage);
++#ifndef NO_WEBENGINE
+ setPage(WizardCommon::Page_WebView, _webViewPage);
++#endif
connect(this, &QDialog::finished, this, &OwncloudWizard::basicSetupFinished);
-@@ -79,7 +76,6 @@
+@@ -80,11 +90,15 @@ OwncloudWizard::OwncloudWizard(QWidget *parent)
+ connect(_setupPage, &OwncloudSetupPage::determineAuthType, this, &OwncloudWizard::determineAuthType);
+ connect(_httpCredsPage, &OwncloudHttpCredsPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
+ connect(_browserCredsPage, &OwncloudOAuthCredsPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
++#ifndef NO_WEBENGINE
+ connect(_flow2CredsPage, &Flow2AuthCredsPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
++#endif
#ifndef NO_SHIBBOLETH
connect(_shibbolethCredsPage, &OwncloudShibbolethCredsPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
#endif
-- connect(_webViewPage, &WebViewPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
++#ifndef NO_WEBENGINE
+ connect(_webViewPage, &WebViewPage::connectToOCUrl, this, &OwncloudWizard::connectToOCUrl);
++#endif
connect(_advancedSetupPage, &OwncloudAdvancedSetupPage::createLocalAndRemoteFolders,
this, &OwncloudWizard::createLocalAndRemoteFolders);
connect(this, &QWizard::customButtonClicked, this, &OwncloudWizard::skipFolderConfiguration);
-@@ -168,10 +164,6 @@
+@@ -106,12 +120,16 @@ OwncloudWizard::OwncloudWizard(QWidget *parent)
+ // Connect styleChanged events to our widgets, so they can adapt (Dark-/Light-Mode switching)
+ connect(this, &OwncloudWizard::styleChanged, _setupPage, &OwncloudSetupPage::slotStyleChanged);
+ connect(this, &OwncloudWizard::styleChanged, _advancedSetupPage, &OwncloudAdvancedSetupPage::slotStyleChanged);
++#ifndef NO_WEBENGINE
+ connect(this, &OwncloudWizard::styleChanged, _flow2CredsPage, &Flow2AuthCredsPage::slotStyleChanged);
++#endif
+
+ customizeStyle();
+
++#ifndef NO_WEBENGINE
+ // allow Flow2 page to poll on window activation
+ connect(this, &OwncloudWizard::onActivate, _flow2CredsPage, &Flow2AuthCredsPage::slotPollNow);
++#endif
+ }
+
+ void OwncloudWizard::setAccount(AccountPtr account)
+@@ -180,9 +198,11 @@ void OwncloudWizard::successfulStep()
+ _browserCredsPage->setConnected();
+ break;
+
++#ifndef NO_WEBENGINE
+ case WizardCommon::Page_Flow2AuthCreds:
+ _flow2CredsPage->setConnected();
+ break;
++#endif
+
+ #ifndef NO_SHIBBOLETH
+ case WizardCommon::Page_ShibbolethCreds:
+@@ -190,9 +210,11 @@ void OwncloudWizard::successfulStep()
break;
#endif
-- case WizardCommon::Page_WebView:
-- _webViewPage->setConnected();
-- break;
--
++#ifndef NO_WEBENGINE
+ case WizardCommon::Page_WebView:
+ _webViewPage->setConnected();
+ break;
++#endif
+
case WizardCommon::Page_AdvancedSetup:
_advancedSetupPage->directoriesCreated();
- break;
-@@ -195,8 +187,6 @@
+@@ -217,10 +239,12 @@ void OwncloudWizard::setAuthType(DetermineAuthTypeJob::AuthType type)
#endif
if (type == DetermineAuthTypeJob::OAuth) {
_credentialsPage = _browserCredsPage;
-- } else if (type == DetermineAuthTypeJob::WebViewFlow) {
-- _credentialsPage = _webViewPage;
++#ifndef NO_WEBENGINE
+ } else if (type == DetermineAuthTypeJob::LoginFlowV2) {
+ _credentialsPage = _flow2CredsPage;
+ } else if (type == DetermineAuthTypeJob::WebViewFlow) {
+ _credentialsPage = _webViewPage;
++#endif
} else { // try Basic auth even for "Unknown"
_credentialsPage = _httpCredsPage;
}
---- desktop-2.5.2/src/libsync/networkjobs.h 2019-03-19 01:52:24.000000000 +0000
-+++ desktop-2.5.2/src/libsync/networkjobs.h 2019-04-22 05:21:11.950062594 +0000
-@@ -411,8 +411,7 @@
- enum AuthType {
- Basic, // also the catch-all fallback for backwards compatibility reasons
- OAuth,
-- Shibboleth,
-- WebViewFlow
-+ Shibboleth
- };
-
- explicit DetermineAuthTypeJob(AccountPtr account, QObject *parent = nullptr);
---- desktop-2.5.2/src/libsync/networkjobs.cpp 2019-03-19 01:52:24.000000000 +0000
-+++ desktop-2.5.2/src/libsync/networkjobs.cpp 2019-04-22 05:33:28.590067785 +0000
-@@ -922,7 +922,7 @@
-
- // WebViewFlow > OAuth > Shib > Basic
- if (_account->serverVersionInt() >= Account::makeServerVersion(12, 0, 0)) {
-- result = WebViewFlow;
-+ result = Basic;
+@@ -245,7 +269,12 @@ void OwncloudWizard::slotCurrentPageChanged(int id)
}
- qCInfo(lcDetermineAuthTypeJob) << "Auth type for" << _account->davUrl() << "is" << result;
---- desktop-2.5.2/src/gui/wizard/owncloudsetuppage.cpp 2019-03-19 01:52:24.000000000 +0000
-+++ desktop-2.5.2/src/gui/wizard/owncloudsetuppage.cpp 2019-04-22 05:32:01.750067173 +0000
-@@ -143,7 +143,7 @@
- void OwncloudSetupPage::slotGotoProviderList()
- {
- _ocWizard->setRegistration(true);
-- _ocWizard->setAuthType(DetermineAuthTypeJob::AuthType::WebViewFlow);
-+ _ocWizard->setAuthType(DetermineAuthTypeJob::AuthType::Basic);
- _authTypeKnown = true;
- _checking = false;
- emit completeChanged();
-@@ -260,8 +260,6 @@
- return WizardCommon::Page_OAuthCreds;
- case DetermineAuthTypeJob::Shibboleth:
- return WizardCommon::Page_ShibbolethCreds;
-- case DetermineAuthTypeJob::WebViewFlow:
-- return WizardCommon::Page_WebView;
- }
- return WizardCommon::Page_HttpCreds;
- }
---- desktop-2.5.2/src/gui/wizard/owncloudwizard.h 2019-03-18 21:52:24.000000000 -0400
-+++ desktop-2.5.2/src/gui/wizard/owncloudwizard.h 2019-04-22 02:07:03.600081984 -0400
-@@ -39,7 +39,6 @@
+ setOption(QWizard::HaveCustomButton1, id == WizardCommon::Page_AdvancedSetup);
+- if (id == WizardCommon::Page_AdvancedSetup && (_credentialsPage == _browserCredsPage || _credentialsPage == _flow2CredsPage)) {
++ if (id == WizardCommon::Page_AdvancedSetup
++ && (_credentialsPage == _browserCredsPage
++#ifndef NO_WEBENGINE
++ || _credentialsPage == _flow2CredsPage
++#endif
++ )) {
+ // For OAuth, disable the back button in the Page_AdvancedSetup because we don't want
+ // to re-open the browser.
+ button(QWizard::BackButton)->setEnabled(false);
+diff --git a/src/gui/wizard/owncloudwizard.h b/src/gui/wizard/owncloudwizard.h
+index 3cbf89f71..2f398d416 100644
+--- a/src/gui/wizard/owncloudwizard.h
++++ b/src/gui/wizard/owncloudwizard.h
+@@ -39,8 +39,10 @@ class OwncloudAdvancedSetupPage;
class OwncloudWizardResultPage;
class AbstractCredentials;
class AbstractCredentialsWizardPage;
--class WebViewPage;
++#ifndef NO_WEBENGINE
+ class WebViewPage;
+ class Flow2AuthCredsPage;
++#endif
/**
* @brief The OwncloudWizard class
-@@ -106,7 +105,6 @@
+@@ -114,11 +116,15 @@ private:
+ #ifndef NO_SHIBBOLETH
+ OwncloudShibbolethCredsPage *_shibbolethCredsPage;
+ #endif
++#ifndef NO_WEBENGINE
+ Flow2AuthCredsPage *_flow2CredsPage;
++#endif
OwncloudAdvancedSetupPage *_advancedSetupPage;
OwncloudWizardResultPage *_resultPage;
AbstractCredentialsWizardPage *_credentialsPage;
-- WebViewPage *_webViewPage;
++#ifndef NO_WEBENGINE
+ WebViewPage *_webViewPage;
++#endif
QStringList _setupLog;
+diff --git a/src/libsync/networkjobs.cpp b/src/libsync/networkjobs.cpp
+index 76789a8ce..73f0bed0e 100644
+--- a/src/libsync/networkjobs.cpp
++++ b/src/libsync/networkjobs.cpp
+@@ -955,12 +955,20 @@ void DetermineAuthTypeJob::checkAllDone()
+
+ // WebViewFlow > OAuth > Shib > Basic
+ if (_account->serverVersionInt() >= Account::makeServerVersion(12, 0, 0)) {
++#ifndef NO_WEBENGINE
+ result = WebViewFlow;
++#else
++ result = Basic;
++#endif
+ }
+
+ // LoginFlowV2 > WebViewFlow > OAuth > Shib > Basic
+ if (_account->serverVersionInt() >= Account::makeServerVersion(16, 0, 0)) {
++#ifndef NO_WEBENGINE
+ result = LoginFlowV2;
++#else
++ result = Basic;
++#endif
+ }
+
+ // If we determined that we need the webview flow (GS for example) then we switch to that
+--
+2.25.0
+
diff --git a/user/nextcloud-client/openssl.patch b/user/nextcloud-client/openssl.patch
deleted file mode 100644
index 426fa0cfb..000000000
--- a/user/nextcloud-client/openssl.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- desktop-2.5.0-beta2/CMakeLists.txt 2018-08-24 12:54:42.000000000 +0000
-+++ desktop-2.5.0-beta2/CMakeLists.txt 2018-10-03 06:19:15.840263697 +0000
-@@ -183,7 +183,7 @@ if(BUILD_CLIENT)
- endif()
- find_package(Sphinx)
- find_package(PdfLatex)
-- find_package(OpenSSL 1.1 REQUIRED )
-+ find_package(OpenSSL 1.0 REQUIRED )
-
- find_package(ZLIB REQUIRED)
- find_package(GLib2)
diff --git a/user/nextcloud-client/test-fix-include.patch b/user/nextcloud-client/test-fix-include.patch
new file mode 100644
index 000000000..da8423022
--- /dev/null
+++ b/user/nextcloud-client/test-fix-include.patch
@@ -0,0 +1,22 @@
+From f9c6449c050cad673cf37971d9815a35e6ffb5dd Mon Sep 17 00:00:00 2001
+From: tuxmaster5000 <837503+tuxmaster5000@users.noreply.github.com>
+Date: Fri, 12 Oct 2018 15:56:26 +0200
+Subject: [PATCH] Fix include file
+
+---
+ test/testnextcloudpropagator.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/test/testnextcloudpropagator.cpp b/test/testnextcloudpropagator.cpp
+index 6ad1a6b37..dc2e476ad 100644
+--- a/test/testnextcloudpropagator.cpp
++++ b/test/testnextcloudpropagator.cpp
+@@ -8,7 +8,7 @@
+ #include <QDebug>
+
+ #include "propagatedownload.h"
+-#include "nextcloudpropagator_p.h"
++#include "owncloudpropagator_p.h"
+
+ using namespace OCC;
+ namespace OCC {
diff --git a/user/node/APKBUILD b/user/node/APKBUILD
index be64aaa46..d60a359af 100644
--- a/user/node/APKBUILD
+++ b/user/node/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=node
-pkgver=10.18.0
+pkgver=10.19.0
pkgrel=0
pkgdesc="JavaScript runtime"
url="https://nodejs.org/"
@@ -71,7 +71,7 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="8fc9062e150af6f054f1ebebbdf67151b16f14bcca9cbb35338a4c7fcd7fa1c3f05c4a7ace12d4153180cec0007a195cbc94942c4d04c3895384dc18951d2c1c node-v10.18.0.tar.xz
+sha512sums="512efc58415ed789938c434af131d76bdd51772cac9f7e380afaa79d83cc9c433a979068fc7272adba6ba6551d195267978e1fc819236926b0d1fd6cf91c5eee node-v10.19.0.tar.xz
27ea43eb45fc68f3d2469d5f07636e10801dee11635a430ec8ec922ed790bb426b072da94df885e4dfa1ea8b7a24f2f56dd92f9b0f51e162330f161216bd6de6 Python-2.7.15.tar.xz
8f64922d586bce9d82c83042a989739cc55ecc5e015778cdfbda21c257aa50527ddb18740985bcb2068e4a749b71eb8a135d9a8152b374d361589df7f33c9b60 libatomic.patch
6d37794c7c78ef92ebb845852af780e22dc8c14653b63a8609c21ab6860877b9dffc5cf856a8516b7978ec704f312c0627075c6440ace55d039f95bdc4c85add ppc32.patch
diff --git a/user/okular/APKBUILD b/user/okular/APKBUILD
index f77196bae..4e9567438 100644
--- a/user/okular/APKBUILD
+++ b/user/okular/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=okular
pkgver=19.12.3
-pkgrel=0
+pkgrel=1
pkgdesc="Universal document reader developed by KDE"
url="https://okular.kde.org/"
arch="all"
@@ -18,8 +18,13 @@ makedepends="cmake extra-cmake-modules qt5-qtbase-dev qt5-qtsvg-dev kconfig-dev
subpackages="$pkgname-doc $pkgname-lang"
source="https://download.kde.org/stable/release-service/$pkgver/src/okular-$pkgver.tar.xz
es-doc-fix.patch
+ CVE-2020-9359.patch
"
+# secfixes:
+# 19.12.3-r1:
+# - CVE-2020-9359
+
build() {
if [ "$CBUILD" != "$CHOST" ]; then
CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
@@ -45,4 +50,5 @@ package() {
}
sha512sums="ccc3c357fefe04691bba7bc803321789c3a1fdad4cfc610e9c425b2373efd94340fa2ceb2e357569ad14f1c0c69ef0db8079d9bc082a6d5708ccbfb3b65d8b3d okular-19.12.3.tar.xz
-de32eabda7ee84c4d894b02c56c7d66d8e2332688c726ad95e1b61c1e730035081ff7721275c7b7a9884aabc268ee0115d9ab8e5f52ae8838e1c09c471c81932 es-doc-fix.patch"
+de32eabda7ee84c4d894b02c56c7d66d8e2332688c726ad95e1b61c1e730035081ff7721275c7b7a9884aabc268ee0115d9ab8e5f52ae8838e1c09c471c81932 es-doc-fix.patch
+02b27bd206006dbbafbe74e60665ad5159ef6ea32b8bf1526b9c655c046cb6de08630f28d64c9935e73d5707a30d0835f2ab8cd4521740e5236cefc3d3057d29 CVE-2020-9359.patch"
diff --git a/user/okular/CVE-2020-9359.patch b/user/okular/CVE-2020-9359.patch
new file mode 100644
index 000000000..34ff3e2ce
--- /dev/null
+++ b/user/okular/CVE-2020-9359.patch
@@ -0,0 +1,27 @@
+From 6a93a033b4f9248b3cd4d04689b8391df754e244 Mon Sep 17 00:00:00 2001
+From: Albert Astals Cid <aacid@kde.org>
+Date: Tue, 10 Mar 2020 23:07:24 +0100
+Subject: [PATCH] Document::processAction: If the url points to a binary, don't
+ run it
+
+---
+ core/document.cpp | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/core/document.cpp b/core/document.cpp
+index 3215a1abc..0aa5b6980 100644
+--- a/core/document.cpp
++++ b/core/document.cpp
+@@ -4388,7 +4388,8 @@ void Document::processAction( const Action * action )
+ {
+ const QUrl realUrl = KIO::upUrl(d->m_url).resolved(url);
+ // KRun autodeletes
+- new KRun( realUrl, d->m_widget );
++ KRun *r = new KRun( realUrl, d->m_widget );
++ r->setRunExecutables(false);
+ }
+ }
+ } break;
+--
+2.25.2
+
diff --git a/user/py3-pillow/APKBUILD b/user/py3-pillow/APKBUILD
index 8012a6fe2..bb4878256 100644
--- a/user/py3-pillow/APKBUILD
+++ b/user/py3-pillow/APKBUILD
@@ -4,7 +4,7 @@ pkgname=py3-pillow
_pkgname=Pillow
_p="${_pkgname#?}"
_p="${_pkgname%"$_p"}"
-pkgver=6.2.1
+pkgver=6.2.2
pkgrel=0
pkgdesc="A Python Imaging Library"
url="https://pypi.org/project/Pillow"
@@ -20,6 +20,14 @@ source="$pkgname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/
https://dev.sick.bike/dist/$pkgname-scripts-$_scripts_rev.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
+# secfixes: pillow
+# 6.2.2-r0:
+# - CVE-2019-19911
+# - CVE-2020-5310
+# - CVE-2020-5311
+# - CVE-2020-5312
+# - CVE-2020-5313
+
unpack() {
default_unpack
mv pillow-scripts-*/Scripts "$builddir/Scripts"
@@ -49,5 +57,5 @@ doc() {
install -Dm644 "$builddir"/LICENSE "$subpkgdir/usr/share/licenses/$pkgname/LICENSE"
}
-sha512sums="757bfdab2ba418195e96e696d2d111de3b38b6bafe4f6f94012f024f59c9bc8542fdab54f643eaf7b2867a9214db806e72eecbdd636bfceb55b47d3164f643ec py3-pillow-6.2.1.tar.gz
+sha512sums="517c971d4fb23a47466a7e8326c8c29291f7832d4521001c1898d6223ea25d4b0a8b7c8f7e78dd706f421229a8261b558b9fbdc43e47a0a2a7b2b4bbc1a21eff py3-pillow-6.2.2.tar.gz
c01e83a7cef6653a33f60acbcbc737f0d40ff0dbc792ce0b2ce52f21092d3071845830fa0f64b27a1c5e679c53df57e0ec2e89867ee717f938d4e6f19db77790 py3-pillow-scripts-b24479c.tar.gz"
diff --git a/user/py3-twisted/APKBUILD b/user/py3-twisted/APKBUILD
index 37f2b0976..408081052 100644
--- a/user/py3-twisted/APKBUILD
+++ b/user/py3-twisted/APKBUILD
@@ -4,18 +4,31 @@ pkgname=py3-twisted
_pkgname=Twisted
_p="${_pkgname#?}"
_p="${_pkgname%"$_p"}"
-pkgver=19.7.0
+pkgver=19.10.0
pkgrel=0
pkgdesc="Asynchronous networking framework written in Python"
url="https://twistedmatrix.com/"
arch="all"
+# FIXME: constantly, automat, hyperlink, and PyHamcrest
+# also need to be packaged and added to depends=
+options="net"
license="MIT"
-depends="python3 py3-incremental"
+depends="python3 py3-attrs py3-incremental py3-zope-interface"
makedepends="python3-dev"
subpackages=""
-source="https://files.pythonhosted.org/packages/source/$_p/$_pkgname/$_pkgname-$pkgver.tar.bz2"
+source="https://files.pythonhosted.org/packages/source/$_p/$_pkgname/$_pkgname-$pkgver.tar.bz2
+ CVE-2020-10108-and-2020-10109.patch
+ "
builddir="$srcdir/Twisted-$pkgver"
+# secfixes: twisted
+# 19.10.0-r0:
+# - CVE-2019-9512
+# - CVE-2019-9514
+# - CVE-2019-9515
+# - CVE-2020-10108
+# - CVE-2020-10109
+
build() {
python3 setup.py build
}
@@ -28,4 +41,5 @@ package() {
python3 setup.py install --prefix=/usr --root="$pkgdir"
}
-sha512sums="46588008f0be63f9ec8cfb88bb81f4268e59e8dead8256c36144b521eb3e58726f4d8c9016b7157365b26929e39a3fa6ff2cc2a9f83e8cfa7f1acc43d31297c4 Twisted-19.7.0.tar.bz2"
+sha512sums="de8d7fd0b2081cebeff68b060c8469377011648bc563a94a993d3530fb007ed42c3a54925c9a10c465ee7a3065cc9108ace12d10d358223fab13494becb9ac4b Twisted-19.10.0.tar.bz2
+dcc22af0a72bce5cca3c9f5ee739b17f14275ac8e776c658743746239c793ad9585fb0333203945912fd4994bd001b7244905562c4389304a707a2a4430faa40 CVE-2020-10108-and-2020-10109.patch"
diff --git a/user/py3-twisted/CVE-2020-10108-and-2020-10109.patch b/user/py3-twisted/CVE-2020-10108-and-2020-10109.patch
new file mode 100644
index 000000000..9a58f5584
--- /dev/null
+++ b/user/py3-twisted/CVE-2020-10108-and-2020-10109.patch
@@ -0,0 +1,260 @@
+From 4a7d22e490bb8ff836892cc99a1f54b85ccb0281 Mon Sep 17 00:00:00 2001
+From: Mark Williams <mrw@enotuniq.org>
+Date: Sun, 16 Feb 2020 19:00:10 -0800
+Subject: [PATCH] Fix several request smuggling attacks.
+
+1. Requests with multiple Content-Length headers were allowed (thanks
+to Jake Miller from Bishop Fox and ZeddYu Lu) and now fail with a 400;
+
+2. Requests with a Content-Length header and a Transfer-Encoding
+header honored the first header (thanks to Jake Miller from Bishop
+Fox) and now fail with a 400;
+
+3. Requests whose Transfer-Encoding header had a value other than
+"chunked" and "identity" (thanks to ZeddYu Lu) were allowed and now fail
+with a 400.
+---
+ src/twisted/web/http.py | 64 +++++++---
+ src/twisted/web/newsfragments/9770.bugfix | 1 +
+ src/twisted/web/test/test_http.py | 137 ++++++++++++++++++++++
+ 3 files changed, 187 insertions(+), 15 deletions(-)
+ create mode 100644 src/twisted/web/newsfragments/9770.bugfix
+
+diff --git a/src/twisted/web/http.py b/src/twisted/web/http.py
+index f0fb05b4d69..06d830fe30f 100644
+--- a/src/twisted/web/http.py
++++ b/src/twisted/web/http.py
+@@ -2171,6 +2171,51 @@ def _finishRequestBody(self, data):
+ self.allContentReceived()
+ self._dataBuffer.append(data)
+
++ def _maybeChooseTransferDecoder(self, header, data):
++ """
++ If the provided header is C{content-length} or
++ C{transfer-encoding}, choose the appropriate decoder if any.
++
++ Returns L{True} if the request can proceed and L{False} if not.
++ """
++
++ def fail():
++ self._respondToBadRequestAndDisconnect()
++ self.length = None
++
++ # Can this header determine the length?
++ if header == b'content-length':
++ try:
++ length = int(data)
++ except ValueError:
++ fail()
++ return False
++ newTransferDecoder = _IdentityTransferDecoder(
++ length, self.requests[-1].handleContentChunk, self._finishRequestBody)
++ elif header == b'transfer-encoding':
++ # XXX Rather poorly tested code block, apparently only exercised by
++ # test_chunkedEncoding
++ if data.lower() == b'chunked':
++ length = None
++ newTransferDecoder = _ChunkedTransferDecoder(
++ self.requests[-1].handleContentChunk, self._finishRequestBody)
++ elif data.lower() == b'identity':
++ return True
++ else:
++ fail()
++ return False
++ else:
++ # It's not a length related header, so exit
++ return True
++
++ if self._transferDecoder is not None:
++ fail()
++ return False
++ else:
++ self.length = length
++ self._transferDecoder = newTransferDecoder
++ return True
++
+
+ def headerReceived(self, line):
+ """
+@@ -2196,21 +2241,10 @@ def headerReceived(self, line):
+
+ header = header.lower()
+ data = data.strip()
+- if header == b'content-length':
+- try:
+- self.length = int(data)
+- except ValueError:
+- self._respondToBadRequestAndDisconnect()
+- self.length = None
+- return False
+- self._transferDecoder = _IdentityTransferDecoder(
+- self.length, self.requests[-1].handleContentChunk, self._finishRequestBody)
+- elif header == b'transfer-encoding' and data.lower() == b'chunked':
+- # XXX Rather poorly tested code block, apparently only exercised by
+- # test_chunkedEncoding
+- self.length = None
+- self._transferDecoder = _ChunkedTransferDecoder(
+- self.requests[-1].handleContentChunk, self._finishRequestBody)
++
++ if not self._maybeChooseTransferDecoder(header, data):
++ return False
++
+ reqHeaders = self.requests[-1].requestHeaders
+ values = reqHeaders.getRawHeaders(header)
+ if values is not None:
+diff --git a/src/twisted/web/newsfragments/9770.bugfix b/src/twisted/web/newsfragments/9770.bugfix
+new file mode 100644
+index 00000000000..4f1be97de8a
+--- /dev/null
++++ b/src/twisted/web/newsfragments/9770.bugfix
+@@ -0,0 +1 @@
++Fix several request smuggling attacks: requests with multiple Content-Length headers were allowed (thanks to Jake Miller from Bishop Fox and ZeddYu Lu) and now fail with a 400; requests with a Content-Length header and a Transfer-Encoding header honored the first header (thanks to Jake Miller from Bishop Fox) and now fail with a 400; requests whose Transfer-Encoding header had a value other than "chunked" and "identity" (thanks to ZeddYu Lu) were allowed and now fail a 400.
+\ No newline at end of file
+diff --git a/src/twisted/web/test/test_http.py b/src/twisted/web/test/test_http.py
+index 0a0db09b750..578cb500cda 100644
+--- a/src/twisted/web/test/test_http.py
++++ b/src/twisted/web/test/test_http.py
+@@ -2252,6 +2252,143 @@ def process(self):
+ self.flushLoggedErrors(AttributeError)
+
+
++ def assertDisconnectingBadRequest(self, request):
++ """
++ Assert that the given request bytes fail with a 400 bad
++ request without calling L{Request.process}.
++
++ @param request: A raw HTTP request
++ @type request: L{bytes}
++ """
++ class FailedRequest(http.Request):
++ processed = False
++ def process(self):
++ FailedRequest.processed = True
++
++ channel = self.runRequest(request, FailedRequest, success=False)
++ self.assertFalse(FailedRequest.processed, "Request.process called")
++ self.assertEqual(
++ channel.transport.value(),
++ b"HTTP/1.1 400 Bad Request\r\n\r\n")
++ self.assertTrue(channel.transport.disconnecting)
++
++
++ def test_duplicateContentLengths(self):
++ """
++ A request which includes multiple C{content-length} headers
++ fails with a 400 response without calling L{Request.process}.
++ """
++ self.assertRequestRejected([
++ b'GET /a HTTP/1.1',
++ b'Content-Length: 56',
++ b'Content-Length: 0',
++ b'Host: host.invalid',
++ b'',
++ b'',
++ ])
++
++
++ def test_duplicateContentLengthsWithPipelinedRequests(self):
++ """
++ Two pipelined requests, the first of which includes multiple
++ C{content-length} headers, trigger a 400 response without
++ calling L{Request.process}.
++ """
++ self.assertRequestRejected([
++ b'GET /a HTTP/1.1',
++ b'Content-Length: 56',
++ b'Content-Length: 0',
++ b'Host: host.invalid',
++ b'',
++ b'',
++ b'GET /a HTTP/1.1',
++ b'Host: host.invalid',
++ b'',
++ b'',
++ ])
++
++
++ def test_contentLengthAndTransferEncoding(self):
++ """
++ A request that includes both C{content-length} and
++ C{transfer-encoding} headers fails with a 400 response without
++ calling L{Request.process}.
++ """
++ self.assertRequestRejected([
++ b'GET /a HTTP/1.1',
++ b'Transfer-Encoding: chunked',
++ b'Content-Length: 0',
++ b'Host: host.invalid',
++ b'',
++ b'',
++ ])
++
++
++ def test_contentLengthAndTransferEncodingWithPipelinedRequests(self):
++ """
++ Two pipelined requests, the first of which includes both
++ C{content-length} and C{transfer-encoding} headers, triggers a
++ 400 response without calling L{Request.process}.
++ """
++ self.assertRequestRejected([
++ b'GET /a HTTP/1.1',
++ b'Transfer-Encoding: chunked',
++ b'Content-Length: 0',
++ b'Host: host.invalid',
++ b'',
++ b'',
++ b'GET /a HTTP/1.1',
++ b'Host: host.invalid',
++ b'',
++ b'',
++ ])
++
++
++ def test_unknownTransferEncoding(self):
++ """
++ A request whose C{transfer-encoding} header includes a value
++ other than C{chunked} or C{identity} fails with a 400 response
++ without calling L{Request.process}.
++ """
++ self.assertRequestRejected([
++ b'GET /a HTTP/1.1',
++ b'Transfer-Encoding: unknown',
++ b'Host: host.invalid',
++ b'',
++ b'',
++ ])
++
++
++ def test_transferEncodingIdentity(self):
++ """
++ A request with a valid C{content-length} and a
++ C{transfer-encoding} whose value is C{identity} succeeds.
++ """
++ body = []
++
++ class SuccessfulRequest(http.Request):
++ processed = False
++ def process(self):
++ body.append(self.content.read())
++ self.setHeader(b'content-length', b'0')
++ self.finish()
++
++ request = b'''\
++GET / HTTP/1.1
++Host: host.invalid
++Content-Length: 2
++Transfer-Encoding: identity
++
++ok
++'''
++ channel = self.runRequest(request, SuccessfulRequest, False)
++ self.assertEqual(body, [b'ok'])
++ self.assertEqual(
++ channel.transport.value(),
++ b'HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n',
++ )
++
++
+
+ class QueryArgumentsTests(unittest.TestCase):
+ def testParseqs(self):
diff --git a/user/s6-dns/APKBUILD b/user/s6-dns/APKBUILD
index 4fbbfe04a..ef366ef0f 100644
--- a/user/s6-dns/APKBUILD
+++ b/user/s6-dns/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Laurent Bercot <ska-adelie@skarnet.org>
# Maintainer: Laurent Bercot <ska-adelie@skarnet.org>
pkgname=s6-dns
-pkgver=2.3.1.1
+pkgver=2.3.2.0
pkgrel=0
pkgdesc="skarnet.org's DNS client libraries and command-line DNS client utilities"
url="https://skarnet.org/software/s6-dns/"
@@ -59,4 +59,4 @@ doc() {
cp -a "$builddir/doc" "$subpkgdir/usr/share/doc/$pkgname"
}
-sha512sums="e69ee16cb16139d344255adc4bb92bd73003464925bbd2df893e3b922add155308b547274a66e3f20a5d3c0310c8fadc877b656753299ff9a269b4e25c26f7a9 s6-dns-2.3.1.1.tar.gz"
+sha512sums="c4b833a944e6c99f52283d7c27c4a4937995b99afb1e9a9d601bb20efec7b23e05fb8500b1653c3a1c045811087acd0bc800cebfdd2fb60c6eba2fd85cfd580d s6-dns-2.3.2.0.tar.gz"
diff --git a/user/s6-linux-utils/APKBUILD b/user/s6-linux-utils/APKBUILD
index 54ff1b005..62103295d 100644
--- a/user/s6-linux-utils/APKBUILD
+++ b/user/s6-linux-utils/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Laurent Bercot <ska-adelie@skarnet.org>
# Maintainer: Laurent Bercot <ska-adelie@skarnet.org>
pkgname=s6-linux-utils
-pkgver=2.5.1.1
+pkgver=2.5.1.2
pkgrel=0
pkgdesc="skarnet.org's Linux-specific miscellaneous utilities"
url="https://skarnet.org/software/s6-linux-utils/"
@@ -34,4 +34,4 @@ doc() {
cp -a "$builddir/doc" "$subpkgdir/usr/share/doc/$pkgname"
}
-sha512sums="59c58c4d8e13b7a6e0215f21978f8ac2ac54fc3685884204ea1f011f2a882b9381a9686cbb24c9e566e322c14174dda40368c308e37e9c44f6a1687231d108a2 s6-linux-utils-2.5.1.1.tar.gz"
+sha512sums="4557148c3e739471a8846d3e0425da826d77ab3b7fc8d6c777d110152343596d17fde37fddcb099b107663138a5447866c3ff00a05f59d034379d26b1e147331 s6-linux-utils-2.5.1.2.tar.gz"
diff --git a/user/s6-networking/APKBUILD b/user/s6-networking/APKBUILD
index be124a5a8..89ef875b6 100644
--- a/user/s6-networking/APKBUILD
+++ b/user/s6-networking/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Laurent Bercot <ska-adelie@skarnet.org>
# Maintainer: Laurent Bercot <ska-adelie@skarnet.org>
pkgname=s6-networking
-pkgver=2.3.1.1
+pkgver=2.3.1.2
pkgrel=0
pkgdesc="skarnet.org's UCSPI TCP tools, access control tools, and network time management utilities."
url="https://skarnet.org/software/$pkgname/"
@@ -62,4 +62,4 @@ doc() {
cp -a "$builddir/doc" "$subpkgdir/usr/share/doc/$pkgname"
}
-sha512sums="3bd7cdbf6f105bb83c5116e736f4288d378571467e7aa93f862eba80ce28255bda77140a2a1cf80af80480789dfb38682049f6769952fb8964b860bdf465551b s6-networking-2.3.1.1.tar.gz"
+sha512sums="292bba150fcf4567073690411caebb66b407dbac20dfcc07f8a79d55962ef07f1fcfcf25bac21734605bc171e22805812788b0c12ec01e79f320eef782479d1c s6-networking-2.3.1.2.tar.gz"
diff --git a/user/s6-portable-utils/APKBUILD b/user/s6-portable-utils/APKBUILD
index 5a7a85540..b738b4c16 100644
--- a/user/s6-portable-utils/APKBUILD
+++ b/user/s6-portable-utils/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Laurent Bercot <ska-adelie@skarnet.org>
# Maintainer: Laurent Bercot <ska-adelie@skarnet.org>
pkgname=s6-portable-utils
-pkgver=2.2.2.1
+pkgver=2.2.2.2
pkgrel=0
pkgdesc="skarnet.org's portable miscellaneous utilities"
url="https://skarnet.org/software/s6-portable-utils/"
@@ -33,4 +33,4 @@ doc() {
cp -a "$builddir/doc" "$subpkgdir/usr/share/doc/$pkgname"
}
-sha512sums="2e74befec59ae6d3f27cb5f2bb92db23af484043e4d5e53e4816d75927059af6698614a4c3ce7ed7e380a88d5bbe88e41dcbc97eb607a10d7a3e46b8a36744ed s6-portable-utils-2.2.2.1.tar.gz"
+sha512sums="ed7df36757780201ccfc0c35a4ab1f6eab16f9fd8a23a6c739a469b9b82862dbb60823748e82c4c902fac835a801f3f0ab0f3d90f20628d6ac8bf744a4fb44a2 s6-portable-utils-2.2.2.2.tar.gz"
diff --git a/user/sox/APKBUILD b/user/sox/APKBUILD
index 31a5d4b1e..8e9fe9934 100644
--- a/user/sox/APKBUILD
+++ b/user/sox/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer:
pkgname=sox
pkgver=14.4.2
-pkgrel=1
+pkgrel=2
pkgdesc="Convert between various audio formats"
url="http://sox.sourceforge.net/"
arch="all"
@@ -15,10 +15,38 @@ makedepends="alsa-lib-dev ffmpeg-dev file-dev flac-dev gsm-dev lame-dev
depends=""
subpackages="$pkgname-dev $pkgname-doc"
source="https://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz
+ CVE-2017-11332.patch
+ CVE-2017-11358.patch
+ CVE-2017-11359.patch
+ CVE-2017-15370.patch
+ CVE-2017-15371.patch
+ CVE-2017-15372.patch
+ CVE-2017-15642.patch
+ CVE-2017-18189.patch
+ CVE-2019-13590.patch
+ CVE-2019-8354.patch
+ CVE-2019-8355.patch
+ CVE-2019-8356.patch
+ CVE-2019-8357.patch
disable-pipe-file-detection.patch
- sox-dynamic.patch
"
+# secfixes:
+# 14.4.2-r2:
+# - CVE-2017-11332
+# - CVE-2017-11358
+# - CVE-2017-11359
+# - CVE-2017-15370
+# - CVE-2017-15371
+# - CVE-2017-15372
+# - CVE-2017-15642
+# - CVE-2017-18189
+# - CVE-2019-13590
+# - CVE-2019-8354
+# - CVE-2019-8355
+# - CVE-2019-8356
+# - CVE-2019-8357
+
prepare() {
default_prepare
autoreconf -vif
@@ -43,5 +71,17 @@ package() {
}
sha512sums="b5c6203f4f5577503a034fe5b3d6a033ee97fe4d171c533933e2b036118a43a14f97c9668433229708609ccf9ee16abdeca3fc7501aa0aafe06baacbba537eca sox-14.4.2.tar.gz
-eb90574a7c174a32ac77aa09a2bb4ebbea407463517e55943e16efd8b7c52393c6b7a6b2778d696f708627271f4d2212221a85fc50d2500b32143139a37a957a disable-pipe-file-detection.patch
-3950834db26faa0523006c6fd8e0769d080518f127d345c8ec9bf53e9db8a6bd67cd724f0f86492aaf9ce6ede2dfbde167049768f35c14ef3c2b96e7e00302b6 sox-dynamic.patch"
+b4bded0b15a2243fbb404a33fccf45ad5634d6c6e0f60b49b967592f00ff9bc3657ebcfa42b18a5af804e7f04a700773bece5951739b8206b2c68c46c9ec4c7f CVE-2017-11332.patch
+28ffd5eef149563a1cdfcd920a89a0e2247ddbf4ed10a76c4e34ee57e3a30ec3a98bacf53fe1675da1431dd40c30b13cae0b9a1e26153c1aad6144322b7d78b0 CVE-2017-11358.patch
+2c95d85f94877bf1637d2c1297944a77a8854506cad35b1c0d632237133cd970da82cded817696b19acde25b0e570f4c86659cc362a910e4ea76a037e3e56214 CVE-2017-11359.patch
+bcbfd0785751372cd959a7419d88af24bb041dd02d3d0cf2f0dab46b6f6b55f284c1d823d20e5a0eae15191f3ccb2eefa2026287fdfbecb064722b006970ee00 CVE-2017-15370.patch
+b116887f52eb4b70de9dda5f14e581579c4c1755c39100d88c4b8645bf9e053cfe87de3346eb138edc45fd2c36f0e1755f91e09511d279fe6d4661099c578420 CVE-2017-15371.patch
+f8a4d38cfad80a50b9c758b222d83f6b51d96f1491862680e1632eec2a5c2a7c6f968660307f0f403e0b7537f7da19a510945648bdef8f1302fd4683be869581 CVE-2017-15372.patch
+259980ea6fe08a2481a478a4a21b11a7fc4390b1b53023009d85fb2185ee63c42d2762e024af20912e7277688fac98e4eaa66b4a4e79840517ff2481ad50327e CVE-2017-15642.patch
+de510114a9fbbbabe62149f3c22ebd1fae65ed68e6ed0b818f367bbee806c9e04be6db0c8e64f4985b7bd95dd0cc643e1475767fda4e405931f25104b4a2e39f CVE-2017-18189.patch
+eab27e22035bdbe00d0dc4117f98bf9c5dcad4513a27e0e8a83506b94fca8055bc6ce532d24306aa8434942bef111b3511daf260df56fafb7b4ac5ed2075e3f7 CVE-2019-13590.patch
+61342fad71dbe7f0ff10a7327eeed901c0defd5aafaace4ac755032ccf687d875856490c30f2af050823fd6ff1a1c7f503ae26670225eab916ab59fa857a8cb3 CVE-2019-8354.patch
+3f05ab71680a67c9e8a4b33c70cb19a623f0925a2620ab007dc8d4a82caf5b73b50e3e5d40e242d6f65420d444b91e11bee09e4398e8079ca4af60bd34097593 CVE-2019-8355.patch
+6eca5096c658a61939902a70d218b5662b663df84173d09d5b23f497bdcb81c04cd94d8debed2818079c342cec80ec29ff33d572611826bdbc12a5d465a20241 CVE-2019-8356.patch
+82fbbf62a7124248ce74cf0daab0cd224a3da80e62923db58b8be31c4f145abe0e653f6968d0f6b862e5554d080d0f85b0bc0bcdb6dea34c130aa4ee9106d915 CVE-2019-8357.patch
+eb90574a7c174a32ac77aa09a2bb4ebbea407463517e55943e16efd8b7c52393c6b7a6b2778d696f708627271f4d2212221a85fc50d2500b32143139a37a957a disable-pipe-file-detection.patch"
diff --git a/user/sox/CVE-2017-11332.patch b/user/sox/CVE-2017-11332.patch
new file mode 100644
index 000000000..511049d8e
--- /dev/null
+++ b/user/sox/CVE-2017-11332.patch
@@ -0,0 +1,28 @@
+From 6e177c455fb554327ff8125b6e6dde1568610abe Mon Sep 17 00:00:00 2001
+From: Mans Rullgard <mans@mansr.com>
+Date: Sun, 5 Nov 2017 16:29:28 +0000
+Subject: [PATCH] wav: fix crash if channel count is zero (CVE-2017-11332)
+
+---
+ src/wav.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/src/wav.c b/src/wav.c
+index 5202556c..71fd52ac 100644
+--- a/src/wav.c
++++ b/src/wav.c
+@@ -712,6 +712,11 @@ static int startread(sox_format_t * ft)
+ else
+ lsx_report("User options overriding channels read in .wav header");
+
++ if (ft->signal.channels == 0) {
++ lsx_fail_errno(ft, SOX_EHDR, "Channel count is zero");
++ return SOX_EOF;
++ }
++
+ if (ft->signal.rate == 0 || ft->signal.rate == dwSamplesPerSecond)
+ ft->signal.rate = dwSamplesPerSecond;
+ else
+--
+2.25.0
+
diff --git a/user/sox/CVE-2017-11358.patch b/user/sox/CVE-2017-11358.patch
new file mode 100644
index 000000000..4fadeda30
--- /dev/null
+++ b/user/sox/CVE-2017-11358.patch
@@ -0,0 +1,44 @@
+From e410d00c4821726accfbe1f825f2def6376e181f Mon Sep 17 00:00:00 2001
+From: Mans Rullgard <mans@mansr.com>
+Date: Sun, 5 Nov 2017 16:43:35 +0000
+Subject: [PATCH] hcom: fix crash on input with corrupt dictionary
+ (CVE-2017-11358)
+
+---
+ src/hcom.c | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+diff --git a/src/hcom.c b/src/hcom.c
+index e76820e9..be17d9d2 100644
+--- a/src/hcom.c
++++ b/src/hcom.c
+@@ -73,6 +73,14 @@ typedef struct {
+ size_t pos; /* Where next byte goes */
+ } priv_t;
+
++static int dictvalid(int n, int size, int left, int right)
++{
++ if (n > 0 && left < 0)
++ return 1;
++
++ return (unsigned)left < size && (unsigned)right < size;
++}
++
+ static int startread(sox_format_t * ft)
+ {
+ priv_t *p = (priv_t *) ft->priv;
+@@ -150,6 +158,11 @@ static int startread(sox_format_t * ft)
+ lsx_debug("%d %d",
+ p->dictionary[i].dict_leftson,
+ p->dictionary[i].dict_rightson);
++ if (!dictvalid(i, dictsize, p->dictionary[i].dict_leftson,
++ p->dictionary[i].dict_rightson)) {
++ lsx_fail_errno(ft, SOX_EHDR, "Invalid dictionary");
++ return SOX_EOF;
++ }
+ }
+ rc = lsx_skipbytes(ft, (size_t) 1); /* skip pad byte */
+ if (rc)
+--
+2.25.0
+
diff --git a/user/sox/CVE-2017-11359.patch b/user/sox/CVE-2017-11359.patch
new file mode 100644
index 000000000..cb96c4a71
--- /dev/null
+++ b/user/sox/CVE-2017-11359.patch
@@ -0,0 +1,30 @@
+From 7b3f30e13e4845bafc93215a372c6eb7dcf04118 Mon Sep 17 00:00:00 2001
+From: Mans Rullgard <mans@mansr.com>
+Date: Sun, 5 Nov 2017 17:02:11 +0000
+Subject: [PATCH] wav: fix crash writing header when channel count >64k
+ (CVE-2017-11359)
+
+---
+ src/wav.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/src/wav.c b/src/wav.c
+index 71fd52ac..eca1cde5 100644
+--- a/src/wav.c
++++ b/src/wav.c
+@@ -1379,6 +1379,12 @@ static int wavwritehdr(sox_format_t * ft, int second_header)
+ long blocksWritten = 0;
+ sox_bool isExtensible = sox_false; /* WAVE_FORMAT_EXTENSIBLE? */
+
++ if (ft->signal.channels > UINT16_MAX) {
++ lsx_fail_errno(ft, SOX_EOF, "Too many channels (%u)",
++ ft->signal.channels);
++ return SOX_EOF;
++ }
++
+ dwSamplesPerSecond = ft->signal.rate;
+ wChannels = ft->signal.channels;
+ wBitsPerSample = ft->encoding.bits_per_sample;
+--
+2.25.0
+
diff --git a/user/sox/CVE-2017-15370.patch b/user/sox/CVE-2017-15370.patch
new file mode 100644
index 000000000..9e6a7f7ee
--- /dev/null
+++ b/user/sox/CVE-2017-15370.patch
@@ -0,0 +1,28 @@
+From e076a7ad504add6e8c3b8699e8587eef0e0d9bc3 Mon Sep 17 00:00:00 2001
+From: Mans Rullgard <mans@mansr.com>
+Date: Sun, 5 Nov 2017 16:21:23 +0000
+Subject: [PATCH] wav: ima_adpcm: fix buffer overflow on corrupt input
+ (CVE-2017-15370)
+
+Add the same check bad block size as was done for MS adpcm in commit
+f39c574b ("More checks for invalid MS ADPCM blocks").
+---
+ src/wav.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/wav.c b/src/wav.c
+index eca1cde5..fad334cf 100644
+--- a/src/wav.c
++++ b/src/wav.c
+@@ -127,7 +127,7 @@ static unsigned short ImaAdpcmReadBlock(sox_format_t * ft)
+ /* work with partial blocks. Specs say it should be null */
+ /* padded but I guess this is better than trailing quiet. */
+ samplesThisBlock = lsx_ima_samples_in((size_t)0, (size_t)ft->signal.channels, bytesRead, (size_t) 0);
+- if (samplesThisBlock == 0)
++ if (samplesThisBlock == 0 || samplesThisBlock > wav->samplesPerBlock)
+ {
+ lsx_warn("Premature EOF on .wav input file");
+ return 0;
+--
+2.25.0
+
diff --git a/user/sox/CVE-2017-15371.patch b/user/sox/CVE-2017-15371.patch
new file mode 100644
index 000000000..7b38943f2
--- /dev/null
+++ b/user/sox/CVE-2017-15371.patch
@@ -0,0 +1,40 @@
+From 968c689ad2c4269a1a853434d99aa7ebf0c01354 Mon Sep 17 00:00:00 2001
+From: Mans Rullgard <mans@mansr.com>
+Date: Sun, 5 Nov 2017 15:57:48 +0000
+Subject: [PATCH] flac: fix crash on corrupt metadata (CVE-2017-15371)
+
+---
+ src/flac.c | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/src/flac.c b/src/flac.c
+index 0d7829ec..07f45c1b 100644
+--- a/src/flac.c
++++ b/src/flac.c
+@@ -119,9 +119,10 @@ static void decoder_metadata_callback(FLAC__StreamDecoder const * const flac, FL
+ p->total_samples = metadata->data.stream_info.total_samples;
+ }
+ else if (metadata->type == FLAC__METADATA_TYPE_VORBIS_COMMENT) {
++ const FLAC__StreamMetadata_VorbisComment *vc = &metadata->data.vorbis_comment;
+ size_t i;
+
+- if (metadata->data.vorbis_comment.num_comments == 0)
++ if (vc->num_comments == 0)
+ return;
+
+ if (ft->oob.comments != NULL) {
+@@ -129,8 +130,9 @@ static void decoder_metadata_callback(FLAC__StreamDecoder const * const flac, FL
+ return;
+ }
+
+- for (i = 0; i < metadata->data.vorbis_comment.num_comments; ++i)
+- sox_append_comment(&ft->oob.comments, (char const *) metadata->data.vorbis_comment.comments[i].entry);
++ for (i = 0; i < vc->num_comments; ++i)
++ if (vc->comments[i].entry)
++ sox_append_comment(&ft->oob.comments, (char const *) vc->comments[i].entry);
+ }
+ }
+
+--
+2.25.0
+
diff --git a/user/sox/CVE-2017-15372.patch b/user/sox/CVE-2017-15372.patch
new file mode 100644
index 000000000..dd7fcff5d
--- /dev/null
+++ b/user/sox/CVE-2017-15372.patch
@@ -0,0 +1,100 @@
+From 515b986139183326cc40c67c75f83edc60826a9e Mon Sep 17 00:00:00 2001
+From: Mans Rullgard <mans@mansr.com>
+Date: Wed, 8 Nov 2017 00:27:46 +0000
+Subject: [PATCH] adpcm: fix stack overflow with >4 channels (CVE-2017-15372)
+
+---
+ src/adpcm.c | 8 +++++++-
+ src/adpcm.h | 3 +++
+ src/wav.c | 5 ++++-
+ 3 files changed, 14 insertions(+), 2 deletions(-)
+
+diff --git a/src/adpcm.c b/src/adpcm.c
+index 2e13867e..f64b7d5c 100644
+--- a/src/adpcm.c
++++ b/src/adpcm.c
+@@ -71,6 +71,11 @@ const short lsx_ms_adpcm_i_coef[7][2] = {
+ { 392,-232}
+ };
+
++extern void *lsx_ms_adpcm_alloc(unsigned chans)
++{
++ return lsx_malloc(chans * sizeof(MsState_t));
++}
++
+ static inline sox_sample_t AdpcmDecode(sox_sample_t c, MsState_t *state,
+ sox_sample_t sample1, sox_sample_t sample2)
+ {
+@@ -102,6 +107,7 @@ static inline sox_sample_t AdpcmDecode(sox_sample_t c, MsState_t *state,
+
+ /* lsx_ms_adpcm_block_expand_i() outputs interleaved samples into one output buffer */
+ const char *lsx_ms_adpcm_block_expand_i(
++ void *priv,
+ unsigned chans, /* total channels */
+ int nCoef,
+ const short *coef,
+@@ -113,7 +119,7 @@ const char *lsx_ms_adpcm_block_expand_i(
+ const unsigned char *ip;
+ unsigned ch;
+ const char *errmsg = NULL;
+- MsState_t state[4]; /* One decompressor state for each channel */
++ MsState_t *state = priv; /* One decompressor state for each channel */
+
+ /* Read the four-byte header for each channel */
+ ip = ibuff;
+diff --git a/src/adpcm.h b/src/adpcm.h
+index af4d6f08..db5cc615 100644
+--- a/src/adpcm.h
++++ b/src/adpcm.h
+@@ -29,8 +29,11 @@
+ /* default coef sets */
+ extern const short lsx_ms_adpcm_i_coef[7][2];
+
++extern void *lsx_ms_adpcm_alloc(unsigned chans);
++
+ /* lsx_ms_adpcm_block_expand_i() outputs interleaved samples into one output buffer */
+ extern const char *lsx_ms_adpcm_block_expand_i(
++ void *priv,
+ unsigned chans, /* total channels */
+ int nCoef,
+ const short *coef,
+diff --git a/src/wav.c b/src/wav.c
+index fad334cf..066be6d7 100644
+--- a/src/wav.c
++++ b/src/wav.c
+@@ -82,6 +82,7 @@ typedef struct {
+ /* following used by *ADPCM wav files */
+ unsigned short nCoefs; /* ADPCM: number of coef sets */
+ short *lsx_ms_adpcm_i_coefs; /* ADPCM: coef sets */
++ void *ms_adpcm_data; /* Private data of adpcm decoder */
+ unsigned char *packet; /* Temporary buffer for packets */
+ short *samples; /* interleaved samples buffer */
+ short *samplePtr; /* Pointer to current sample */
+@@ -175,7 +176,7 @@ static unsigned short AdpcmReadBlock(sox_format_t * ft)
+ }
+ }
+
+- errmsg = lsx_ms_adpcm_block_expand_i(ft->signal.channels, wav->nCoefs, wav->lsx_ms_adpcm_i_coefs, wav->packet, wav->samples, samplesThisBlock);
++ errmsg = lsx_ms_adpcm_block_expand_i(wav->ms_adpcm_data, ft->signal.channels, wav->nCoefs, wav->lsx_ms_adpcm_i_coefs, wav->packet, wav->samples, samplesThisBlock);
+
+ if (errmsg)
+ lsx_warn("%s", errmsg);
+@@ -791,6 +792,7 @@ static int startread(sox_format_t * ft)
+
+ /* nCoefs, lsx_ms_adpcm_i_coefs used by adpcm.c */
+ wav->lsx_ms_adpcm_i_coefs = lsx_malloc(wav->nCoefs * 2 * sizeof(short));
++ wav->ms_adpcm_data = lsx_ms_adpcm_alloc(wChannels);
+ {
+ int i, errct=0;
+ for (i=0; len>=2 && i < 2*wav->nCoefs; i++) {
+@@ -1216,6 +1218,7 @@ static int stopread(sox_format_t * ft)
+ free(wav->packet);
+ free(wav->samples);
+ free(wav->lsx_ms_adpcm_i_coefs);
++ free(wav->ms_adpcm_data);
+ free(wav->comment);
+ wav->comment = NULL;
+
+--
+2.25.0
+
diff --git a/user/sox/CVE-2017-15642.patch b/user/sox/CVE-2017-15642.patch
new file mode 100644
index 000000000..95beb4f6f
--- /dev/null
+++ b/user/sox/CVE-2017-15642.patch
@@ -0,0 +1,34 @@
+From f56c0dbca8f5bd02ea88970c248c0d087386e807 Mon Sep 17 00:00:00 2001
+From: Mans Rullgard <mans@mansr.com>
+Date: Mon, 20 Nov 2017 11:03:15 +0000
+Subject: [PATCH] aiff: fix crash on empty comment chunk (CVE-2017-15642)
+
+This fixes a use after free and double free if an empty comment
+chunk follows a non-empty one.
+---
+ src/aiff.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/aiff.c b/src/aiff.c
+index 240d2e1f..11ddb542 100644
+--- a/src/aiff.c
++++ b/src/aiff.c
+@@ -62,7 +62,6 @@ int lsx_aiffstartread(sox_format_t * ft)
+ size_t ssndsize = 0;
+ char *annotation;
+ char *author;
+- char *comment = NULL;
+ char *copyright;
+ char *nametext;
+
+@@ -270,6 +269,7 @@ int lsx_aiffstartread(sox_format_t * ft)
+ free(annotation);
+ }
+ else if (strncmp(buf, "COMT", (size_t)4) == 0) {
++ char *comment = NULL;
+ rc = commentChunk(&comment, "Comment:", ft);
+ if (rc) {
+ /* Fail already called in function */
+--
+2.25.0
+
diff --git a/user/sox/CVE-2017-18189.patch b/user/sox/CVE-2017-18189.patch
new file mode 100644
index 000000000..aa3791d01
--- /dev/null
+++ b/user/sox/CVE-2017-18189.patch
@@ -0,0 +1,33 @@
+From 09d7388c8ad5701ed9c59d1d600ff6154b066397 Mon Sep 17 00:00:00 2001
+From: Mans Rullgard <mans@mansr.com>
+Date: Thu, 9 Nov 2017 11:45:10 +0000
+Subject: [PATCH] xa: validate channel count (CVE-2017-18189)
+
+A corrupt header specifying zero channels would send read_channels()
+into an infinite loop. Prevent this by sanity checking the channel
+count in open_read(). Also add an upper bound to prevent overflow
+in multiplication.
+---
+ src/xa.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/src/xa.c b/src/xa.c
+index 81a76772..9fc086ec 100644
+--- a/src/xa.c
++++ b/src/xa.c
+@@ -143,6 +143,12 @@ static int startread(sox_format_t * ft)
+ lsx_report("User options overriding rate read in .xa header");
+ }
+
++ if (ft->signal.channels == 0 || ft->signal.channels > UINT16_MAX) {
++ lsx_fail_errno(ft, SOX_EFMT, "invalid channel count %d",
++ ft->signal.channels);
++ return SOX_EOF;
++ }
++
+ /* Check for supported formats */
+ if (ft->encoding.bits_per_sample != 16) {
+ lsx_fail_errno(ft, SOX_EFMT, "%d-bit sample resolution not supported.",
+--
+2.25.0
+
diff --git a/user/sox/CVE-2019-13590.patch b/user/sox/CVE-2019-13590.patch
new file mode 100644
index 000000000..a09b11bae
--- /dev/null
+++ b/user/sox/CVE-2019-13590.patch
@@ -0,0 +1,33 @@
+From 7b6a889217d62ed7e28188621403cc7542fd1f7e Mon Sep 17 00:00:00 2001
+From: Mans Rullgard <mans@mansr.com>
+Date: Tue, 4 Feb 2020 12:55:18 +0000
+Subject: [PATCH] sox-fmt: validate comments_bytes before use (CVE-2019-13590)
+ [bug #325]
+
+Cap the comments size to 1 GB to avoid overflows in subsequent
+arithmetic.
+
+The missing null check mentioned in the bug report is bogus since
+lsx_calloc() returns a valid pointer or aborts.
+---
+ src/sox-fmt.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/sox-fmt.c b/src/sox-fmt.c
+index aad965cd..11c88771 100644
+--- a/src/sox-fmt.c
++++ b/src/sox-fmt.c
+@@ -46,7 +46,9 @@ static int startread(sox_format_t * ft)
+ lsx_readdw(ft, &comments_bytes))
+ return SOX_EOF;
+
+- if (((headers_bytes + 4) & 7) || headers_bytes < FIXED_HDR + comments_bytes ||
++ if (((headers_bytes + 4) & 7) ||
++ comments_bytes > 0x40000000 || /* max 1 GB */
++ headers_bytes < FIXED_HDR + comments_bytes ||
+ (num_channels > 65535)) /* Reserve top 16 bits */ {
+ lsx_fail_errno(ft, SOX_EHDR, "invalid sox file format header");
+ return SOX_EOF;
+--
+2.25.0
+
diff --git a/user/sox/CVE-2019-8354.patch b/user/sox/CVE-2019-8354.patch
new file mode 100644
index 000000000..1fa0e669f
--- /dev/null
+++ b/user/sox/CVE-2019-8354.patch
@@ -0,0 +1,28 @@
+From f70911261a84333b077c29908e1242f69d7439eb Mon Sep 17 00:00:00 2001
+From: Mans Rullgard <mans@mansr.com>
+Date: Wed, 24 Apr 2019 14:57:34 +0100
+Subject: [PATCH] fix possible buffer size overflow in lsx_make_lpf()
+ (CVE-2019-8354)
+
+The multiplication in the size argument malloc() might overflow,
+resulting in a small buffer being allocated. Use calloc() instead.
+---
+ src/effects_i_dsp.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/effects_i_dsp.c b/src/effects_i_dsp.c
+index a979b501..e32dfa05 100644
+--- a/src/effects_i_dsp.c
++++ b/src/effects_i_dsp.c
+@@ -357,7 +357,7 @@ double * lsx_make_lpf(int num_taps, double Fc, double beta, double rho,
+ double scale, sox_bool dc_norm)
+ {
+ int i, m = num_taps - 1;
+- double * h = malloc(num_taps * sizeof(*h)), sum = 0;
++ double * h = calloc(num_taps, sizeof(*h)), sum = 0;
+ double mult = scale / lsx_bessel_I_0(beta), mult1 = 1 / (.5 * m + rho);
+ assert(Fc >= 0 && Fc <= 1);
+ lsx_debug("make_lpf(n=%i Fc=%.7g β=%g ρ=%g dc-norm=%i scale=%g)", num_taps, Fc, beta, rho, dc_norm, scale);
+--
+2.25.0
+
diff --git a/user/sox/CVE-2019-8355.patch b/user/sox/CVE-2019-8355.patch
new file mode 100644
index 000000000..d4d8cb808
--- /dev/null
+++ b/user/sox/CVE-2019-8355.patch
@@ -0,0 +1,59 @@
+Backport of the following:
+
+From ec073861aa9c0f779a3741c456e4f97d59366ffb Mon Sep 17 00:00:00 2001
+From: Mans Rullgard <mans@mansr.com>
+Date: Sun, 5 Nov 2017 15:40:16 +0000
+Subject: [PATCH] make: update exported symbol list [bug #266]
+
+From f8587e2d50dad72d40453ac1191c539ee9e50381 Mon Sep 17 00:00:00 2001
+From: Mans Rullgard <mans@mansr.com>
+Date: Wed, 24 Apr 2019 17:39:45 +0100
+Subject: [PATCH] fix possible overflow in lsx_(re)valloc() size calculation
+ (CVE-2019-8355)
+
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -95,7 +95,7 @@ libsox_la_LIBADD += @GOMP_LIBS@
+
+ libsox_la_CFLAGS = @WARN_CFLAGS@
+ libsox_la_LDFLAGS = @APP_LDFLAGS@ -version-info @SHLIB_VERSION@ \
+- -export-symbols-regex '^(sox_.*|lsx_(check_read_params|(close|open)_dllibrary|(debug(_more|_most)?|fail|report|warn)_impl|eof|fail_errno|filelength|find_(enum_(text|value)|file_extension)|getopt(_init)?|lpc10_(create_(de|en)coder_state|(de|en)code)|raw(read|write)|read(_b_buf|buf|chars)|realloc|rewind|seeki|sigfigs3p?|strcasecmp|tell|unreadb|write(b|_b_buf|buf|s)))$$'
++ -export-symbols-regex '^(sox_.*|lsx_(([cm]|re)alloc.*|check_read_params|(close|open)_dllibrary|(debug(_more|_most)?|fail|report|warn)_impl|eof|error|fail_errno|filelength|find_(enum_(text|value)|file_extension)|flush|getopt(_init)?|lpc10_(create_(de|en)coder_state|(de|en)code)|raw(read|write)|read(_b_buf|buf|chars)|rewind|seeki|sigfigs3p?|strcasecmp|strdup|tell|unreadb|write(b|_b_buf|buf|s)))$$'
+
+ if HAVE_WIN32_LTDL
+ libsox_la_SOURCES += win32-ltdl.c win32-ltdl.h
+--- sox-14.4.2/src/xmalloc.c 2012-01-23 16:27:33.000000000 -0600
++++ sox-14.4.2/src/xmalloc.c 2020-03-21 13:24:52.660007611 -0500
+@@ -41,3 +41,13 @@ void *lsx_realloc(void *ptr, size_t news
+
+ return ptr;
+ }
++
++void *lsx_realloc_array(void *p, size_t n, size_t size)
++{
++ if (n > (size_t)-1 / size) {
++ lsx_fail("malloc size overflow");
++ exit(2);
++ }
++
++ return lsx_realloc(p, n * size);
++}
+--- sox-14.4.2/src/xmalloc.h 2012-01-23 16:27:33.000000000 -0600
++++ sox-14.4.2/src/xmalloc.h 2020-03-21 13:24:14.610007203 -0500
+@@ -23,12 +23,14 @@
+ #include <stddef.h>
+ #include <string.h>
+
++LSX_RETURN_VALID void *lsx_realloc_array(void *p, size_t n, size_t size);
++
+ #define lsx_malloc(size) lsx_realloc(NULL, (size))
+ #define lsx_calloc(n,s) (((n)*(s))? memset(lsx_malloc((n)*(s)),0,(n)*(s)) : NULL)
+ #define lsx_Calloc(v,n) v = lsx_calloc(n,sizeof(*(v)))
+ #define lsx_strdup(p) ((p)? strcpy((char *)lsx_malloc(strlen(p) + 1), p) : NULL)
+ #define lsx_memdup(p,s) ((p)? memcpy(lsx_malloc(s), p, s) : NULL)
+-#define lsx_valloc(v,n) v = lsx_malloc((n)*sizeof(*(v)))
+-#define lsx_revalloc(v,n) v = lsx_realloc(v, (n)*sizeof(*(v)))
++#define lsx_valloc(v,n) v = lsx_realloc_array(NULL, n, sizeof(*(v)))
++#define lsx_revalloc(v,n) v = lsx_realloc_array(v, n, sizeof(*(v)))
+
+ #endif
diff --git a/user/sox/CVE-2019-8356.patch b/user/sox/CVE-2019-8356.patch
new file mode 100644
index 000000000..9375bc5ae
--- /dev/null
+++ b/user/sox/CVE-2019-8356.patch
@@ -0,0 +1,92 @@
+From b7883ae1398499daaa926ae6621f088f0f531ed8 Mon Sep 17 00:00:00 2001
+From: Mans Rullgard <mans@mansr.com>
+Date: Wed, 24 Apr 2019 16:56:42 +0100
+Subject: [PATCH] fft4g: bail if size too large (CVE-2019-8356)
+
+Prevent overflowing of fixed-size buffers in bitrv2() and bitrv2conj()
+if the transform size is too large.
+---
+ src/fft4g.c | 18 ++++++++++++++++++
+ src/fft4g.h | 2 ++
+ 2 files changed, 20 insertions(+)
+
+diff --git a/src/fft4g.c b/src/fft4g.c
+index 38a8bcc0..88a2a7ec 100644
+--- a/src/fft4g.c
++++ b/src/fft4g.c
+@@ -322,6 +322,9 @@ static void rftfsub(int n, double *a, int nc, double const *c);
+
+ void cdft(int n, int isgn, double *a, int *ip, double *w)
+ {
++ if (n > FFT4G_MAX_SIZE)
++ return;
++
+ if (n > (ip[0] << 2)) {
+ makewt(n >> 2, ip, w);
+ }
+@@ -344,6 +347,9 @@ void rdft(int n, int isgn, double *a, int *ip, double *w)
+ int nw, nc;
+ double xi;
+
++ if (n > FFT4G_MAX_SIZE)
++ return;
++
+ nw = ip[0];
+ if (n > (nw << 2)) {
+ nw = n >> 2;
+@@ -384,6 +390,9 @@ void ddct(int n, int isgn, double *a, int *ip, double *w)
+ int j, nw, nc;
+ double xr;
+
++ if (n > FFT4G_MAX_SIZE)
++ return;
++
+ nw = ip[0];
+ if (n > (nw << 2)) {
+ nw = n >> 2;
+@@ -435,6 +444,9 @@ void ddst(int n, int isgn, double *a, int *ip, double *w)
+ int j, nw, nc;
+ double xr;
+
++ if (n > FFT4G_MAX_SIZE)
++ return;
++
+ nw = ip[0];
+ if (n > (nw << 2)) {
+ nw = n >> 2;
+@@ -486,6 +498,9 @@ void dfct(int n, double *a, double *t, int *ip, double *w)
+ int j, k, l, m, mh, nw, nc;
+ double xr, xi, yr, yi;
+
++ if (n > FFT4G_MAX_SIZE)
++ return;
++
+ nw = ip[0];
+ if (n > (nw << 3)) {
+ nw = n >> 3;
+@@ -576,6 +591,9 @@ void dfst(int n, double *a, double *t, int *ip, double *w)
+ int j, k, l, m, mh, nw, nc;
+ double xr, xi, yr, yi;
+
++ if (n > FFT4G_MAX_SIZE)
++ return;
++
+ nw = ip[0];
+ if (n > (nw << 3)) {
+ nw = n >> 3;
+diff --git a/src/fft4g.h b/src/fft4g.h
+index 2b8051ca..95ee3413 100644
+--- a/src/fft4g.h
++++ b/src/fft4g.h
+@@ -13,6 +13,8 @@
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
++#define FFT4G_MAX_SIZE 262144
++
+ void lsx_cdft(int, int, double *, int *, double *);
+ void lsx_rdft(int, int, double *, int *, double *);
+ void lsx_ddct(int, int, double *, int *, double *);
+--
+2.25.0
+
diff --git a/user/sox/CVE-2019-8357.patch b/user/sox/CVE-2019-8357.patch
new file mode 100644
index 000000000..ec2b04d30
--- /dev/null
+++ b/user/sox/CVE-2019-8357.patch
@@ -0,0 +1,28 @@
+From 2ce02fea7b350de9ddfbcf542ba4dd59a8ab255b Mon Sep 17 00:00:00 2001
+From: Mans Rullgard <mans@mansr.com>
+Date: Wed, 24 Apr 2019 15:08:51 +0100
+Subject: [PATCH] fix possible null pointer deref in lsx_make_lpf()
+ (CVE-2019-8357)
+
+If the buffer allocation fails, return NULL.
+---
+ src/effects_i_dsp.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/effects_i_dsp.c b/src/effects_i_dsp.c
+index e32dfa05..88b1b390 100644
+--- a/src/effects_i_dsp.c
++++ b/src/effects_i_dsp.c
+@@ -362,6 +362,9 @@ double * lsx_make_lpf(int num_taps, double Fc, double beta, double rho,
+ assert(Fc >= 0 && Fc <= 1);
+ lsx_debug("make_lpf(n=%i Fc=%.7g β=%g ρ=%g dc-norm=%i scale=%g)", num_taps, Fc, beta, rho, dc_norm, scale);
+
++ if (!h)
++ return NULL;
++
+ for (i = 0; i <= m / 2; ++i) {
+ double z = i - .5 * m, x = z * M_PI, y = z * mult1;
+ h[i] = x? sin(Fc * x) / x : Fc;
+--
+2.25.0
+
diff --git a/user/sox/sox-dynamic.patch b/user/sox/sox-dynamic.patch
deleted file mode 100644
index 94ac6a282..000000000
--- a/user/sox/sox-dynamic.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur sox-14.4.2-orig/src/Makefile.am sox-14.4.2/src/Makefile.am
---- sox-14.4.2-orig/src/Makefile.am 2015-04-08 17:11:09.555343005 -0400
-+++ sox-14.4.2/src/Makefile.am 2015-04-08 17:11:25.115317153 -0400
-@@ -95,7 +95,7 @@
-
- libsox_la_CFLAGS = @WARN_CFLAGS@
- libsox_la_LDFLAGS = @APP_LDFLAGS@ -version-info @SHLIB_VERSION@ \
-- -export-symbols-regex '^(sox_.*|lsx_(check_read_params|(close|open)_dllibrary|(debug(_more|_most)?|fail|report|warn)_impl|eof|fail_errno|filelength|find_(enum_(text|value)|file_extension)|getopt(_init)?|lpc10_(create_(de|en)coder_state|(de|en)code)|raw(read|write)|read(_b_buf|buf|chars)|realloc|rewind|seeki|sigfigs3p?|strcasecmp|tell|unreadb|write(b|_b_buf|buf|s)))$$'
-+ -export-symbols-regex '^(sox_.*|lsx_(error|flush|check_read_params|(close|open)_dllibrary|(debug(_more|_most)?|fail|report|warn)_impl|eof|fail_errno|filelength|find_(enum_(text|value)|file_extension)|getopt(_init)?|lpc10_(create_(de|en)coder_state|(de|en)code)|raw(read|write)|read(_b_buf|buf|chars)|realloc|rewind|seeki|sigfigs3p?|strcasecmp|tell|unreadb|write(b|_b_buf|buf|s)))$$'
-
- if HAVE_WIN32_LTDL
- libsox_la_SOURCES += win32-ltdl.c win32-ltdl.h
diff --git a/user/thunderbird/APKBUILD b/user/thunderbird/APKBUILD
index 5cb1c2099..b50a1a7e8 100644
--- a/user/thunderbird/APKBUILD
+++ b/user/thunderbird/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=thunderbird
-pkgver=68.5.0
+pkgver=68.6.0
pkgrel=0
pkgdesc="Email client from Mozilla"
url="https://www.thunderbird.net/"
@@ -13,7 +13,7 @@ depends=""
# system-libs
# actual deps
makedepends="
- autoconf2.13 cargo cbindgen clang llvm8-dev node ncurses-dev
+ autoconf2.13 cargo cbindgen clang llvm8-dev node ncurses-dev
perl rust cmd:which
ncurses-dev openssl-dev
@@ -55,6 +55,16 @@ somask="liblgpllibs.so
_mozappdir=/usr/lib/thunderbird
ldpath="$_mozappdir"
+# secfixes:
+# 68.6.0-r0:
+# - CVE-2020-6805
+# - CVE-2020-6806
+# - CVE-2020-6807
+# - CVE-2020-6811
+# - CVE-2019-20503
+# - CVE-2020-6812
+# - CVE-2020-6814
+
unpack() {
default_unpack
[ -z $SKIP_PYTHON ] || return 0
@@ -148,7 +158,7 @@ package() {
${pkgdir}/usr/share/applications/thunderbird.desktop
}
-sha512sums="bb58a398f24d89eac5b1816f9d16edadbe65cdac6542e1f6798424c7ea18eb2d4ca46bb03f54c8c365e67d1dec44d3dfb36fbe4f85afe9ad80fbcc1f2984084b thunderbird-68.5.0.source.tar.xz
+sha512sums="3502cc42b594eebf3511219ae8e7fb8a13594534abfe7a40ec32e5a3f60343cfab7c652b161a5f33af46bd5e6f096e3abd4a407c8b307ce4693089b471a42c3e thunderbird-68.6.0.source.tar.xz
16e814e8dcffc707b595ca2919bd2fa3db0d15794c63d977364652c4a5b92e90e72b8c9e1cc83b5020398bd90a1b397dbdd7cb931c49f1aa4af6ef95414b43e0 Python-2.7.16.tar.xz
5519234df2934ac2f3d76c8cad7e4f0fe15cf83ea4beb32c6489d8b7839b3ebea88bdb342e0d2a9c1c7c95e9455d234b0a5aa0e73446fd8027b520f080a2bb5b mozconfig
ace7492f4fb0523c7340fdc09c831906f74fddad93822aff367135538dacd3f56288b907f5a04f53f94c76e722ba0bab73e28d83ec12d3e672554712e6b08613 bad-google-code.patch
diff --git a/user/tinycdb/APKBUILD b/user/tinycdb/APKBUILD
new file mode 100644
index 000000000..434e4273e
--- /dev/null
+++ b/user/tinycdb/APKBUILD
@@ -0,0 +1,26 @@
+# Contributor: Alyx Wolcott <alyx@leuhta.com>
+# Maintainer: Alyx Wolcott <alyx@leuhta.com>
+pkgname=tinycdb
+pkgver=0.78
+pkgrel=0
+pkgdesc="A constant database"
+url="https://www.corpit.ru/mjt/tinycdb.html"
+arch="all"
+license="Public-Domain"
+subpackages="$pkgname-dev $pkgname-doc"
+source="https://www.corpit.ru/mjt/tinycdb/$pkgname-$pkgver.tar.gz
+ Makefile.patch"
+
+build() {
+ make prefix=/usr sysconfdir=/etc mandir=/usr/share/man localstatedir=/var
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+sha512sums="8930086b8e7fddcd4dbd3354c5f5ee05171df68fde1cc222b6c402430042b6e761efbad7e5fa8de18e1d36390f1526cc3e605c5086fe1c363ba1df6c03201553 tinycdb-0.78.tar.gz
+199774ee259bd6ba91ec000485c959e9632f2766203c479ffb81144d4cec39b25a1df9e9b3b676217044e2d65275ef80fbc1fd97272bce7a91fe0c1232a5dc40 Makefile.patch"
diff --git a/user/tinycdb/Makefile.patch b/user/tinycdb/Makefile.patch
new file mode 100644
index 000000000..27d32dff6
--- /dev/null
+++ b/user/tinycdb/Makefile.patch
@@ -0,0 +1,19 @@
+--- a/Makefile 2012-05-11 14:17:47.000000000 +0000
++++ b/Makefile 2020-02-25 05:56:34.969771664 +0000
+@@ -6,14 +6,14 @@
+
+ VERSION = 0.78
+
+-prefix=/usr/local
++prefix=/usr
+ exec_prefix=$(prefix)
+ bindir=$(exec_prefix)/bin
+ libdir=$(exec_prefix)/lib
+ syslibdir=$(libdir)
+ sysconfdir=/etc
+ includedir=$(prefix)/include
+-mandir=$(prefix)/man
++mandir=$(prefix)/share/man
+ NSSCDB_DIR = $(sysconfdir)
+ DESTDIR=
+
diff --git a/user/tlp/APKBUILD b/user/tlp/APKBUILD
index 40613efd9..ca7208b5e 100644
--- a/user/tlp/APKBUILD
+++ b/user/tlp/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=tlp
_pkgname=TLP
-pkgver=1.2.2
+pkgver=1.3.1
pkgrel=0
pkgdesc="Linux Advanced Power Management"
url="https://linrunner.de/en/tlp/tlp.html"
@@ -13,6 +13,7 @@ depends="/bin/sh perl"
makedepends=""
subpackages="$pkgname-doc $pkgname-rdw $pkgname-bash-completion:bashcomp
$pkgname-openrc"
+install="$pkgname.post-upgrade"
source="$pkgname-$pkgver.tar.gz::https://github.com/linrunner/$_pkgname/archive/$pkgver.tar.gz
$pkgname.initd"
builddir="$srcdir/$_pkgname-$pkgver"
@@ -48,5 +49,5 @@ bashcomp() {
"$subpkgdir"/usr/share/bash-completion/completions
}
-sha512sums="b01fc2063bf8a87f2b93749c08a5cab53a0a4030b74c7fe62964009fb9d54ca5dc10800971f27cfe6dcdf024ba6d3e21a06caed07e8dc12b09d9d359585a480e tlp-1.2.2.tar.gz
+sha512sums="7ebb14ea797ad8aae613c537de51107a3c7430b5c6ee1407e722e2069ed5376f88ab3dac613651fafabd92d219b980452f236bef33e8a655b1abbfed5eded1b1 tlp-1.3.1.tar.gz
e6de216b2540413812711b3304cdc29c8729d527080cfd747ba382db50166dd21c6c27ff467f9f2a967e92007c7a311b00e88262952c34a22f417578c66cf4e7 tlp.initd"
diff --git a/user/tlp/tlp.post-upgrade b/user/tlp/tlp.post-upgrade
new file mode 100644
index 000000000..6adf68850
--- /dev/null
+++ b/user/tlp/tlp.post-upgrade
@@ -0,0 +1,14 @@
+#!/bin/sh
+ver_new="$1"
+ver_old="$2"
+
+if [ "$(apk version -t "$ver_old" "1.3.1")" = "<" ]; then
+ cat >&2 <<-EOF
+ *
+ * tlp has moved its configuration from '/etc/default/tlp'
+ * to '/etc/tlp.conf' and '/etc/tlp.d'. Additionally,
+ * these configuration files are now parsed instead of
+ * executed via the shell, so expansions will no longer work.
+ *
+ EOF
+fi
diff --git a/user/wavpack/APKBUILD b/user/wavpack/APKBUILD
index 45b2f7895..db868c74f 100644
--- a/user/wavpack/APKBUILD
+++ b/user/wavpack/APKBUILD
@@ -3,7 +3,7 @@
# Maintainer:
pkgname=wavpack
pkgver=5.2.0
-pkgrel=0
+pkgrel=1
pkgdesc="Audio compression format with lossless, lossy, and hybrid compression modes"
url="http://www.wavpack.com/"
arch="all"
@@ -12,19 +12,30 @@ license="BSD-3-Clause"
depends=""
makedepends=""
subpackages="$pkgname-dev $pkgname-doc"
-source="http://www.wavpack.com/$pkgname-$pkgver.tar.bz2
- cve2018-19840.patch
- "
+source="http://www.wavpack.com/$pkgname-$pkgver.tar.bz2"
# secfixes:
+# 5.2.0-r0:
+# - CVE-2018-6767
+# - CVE-2018-7253
+# - CVE-2018-7254
+# - CVE-2018-10536
+# - CVE-2018-10537
+# - CVE-2018-10538
+# - CVE-2018-10539
+# - CVE-2018-10540
+# - CVE-2019-11498
+# - CVE-2019-1010315
+# - CVE-2019-1010317
+# - CVE-2019-1010319
# 5.1.0-r4:
-# - CVE-2018-19840
-# - CVE-2018-19840
+# - CVE-2018-19840
+# - CVE-2018-19841
# 5.1.0-r0:
-# - CVE-2016-10169
-# - CVE-2016-10170
-# - CVE-2016-10171
-# - CVE-2016-10172
+# - CVE-2016-10169
+# - CVE-2016-10170
+# - CVE-2016-10171
+# - CVE-2016-10172
build() {
_arch_opts=""
diff --git a/user/wavpack/cve2018-19840.patch b/user/wavpack/cve2018-19840.patch
deleted file mode 100644
index 2da022025..000000000
--- a/user/wavpack/cve2018-19840.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 070ef6f138956d9ea9612e69586152339dbefe51 Mon Sep 17 00:00:00 2001
-From: David Bryant <david@wavpack.com>
-Date: Thu, 29 Nov 2018 21:00:42 -0800
-Subject: [PATCH] issue #53: error out on zero sample rate
-
----
- src/pack_utils.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/src/pack_utils.c b/src/pack_utils.c
-index 2253f0d..2a83497 100644
---- a/src/pack_utils.c
-+++ b/src/pack_utils.c
-@@ -195,6 +195,11 @@ int WavpackSetConfiguration64 (WavpackContext *wpc, WavpackConfig *config, int64
- int num_chans = config->num_channels;
- int i;
-
-+ if (!config->sample_rate) {
-+ strcpy (wpc->error_message, "sample rate cannot be zero!");
-+ return FALSE;
-+ }
-+
- wpc->stream_version = (config->flags & CONFIG_COMPATIBLE_WRITE) ? CUR_STREAM_VERS : MAX_STREAM_VERS;
-
- if ((config->qmode & QMODE_DSD_AUDIO) && config->bytes_per_sample == 1 && config->bits_per_sample == 8) {
diff --git a/user/yaml-cpp/APKBUILD b/user/yaml-cpp/APKBUILD
new file mode 100644
index 000000000..53f41b87b
--- /dev/null
+++ b/user/yaml-cpp/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Alyx Wolcott <alyx@leuhta.com>
+# Maintainer: Alyx Wolcott <alyx@leuhta.com>
+pkgname=yaml-cpp
+pkgver=0.6.3
+pkgrel=0
+pkgdesc="A YAML parser and emitter in C++"
+url="https://github.com/jbeder/yaml-cpp"
+arch="all"
+license="MIT"
+makedepends="cmake"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/jbeder/yaml-cpp/archive/yaml-cpp-$pkgver.tar.gz"
+builddir="$srcdir/$pkgname-$pkgname-$pkgver"
+
+build() {
+ if [ "$CBUILD" != "$CHOST" ]; then
+ CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=True \
+ -DCMAKE_BUILD_TYPE=RelWithDebugInfo \
+ -DCMAKE_CXX_FLAGS="$CXXFLAGS" \
+ -DCMAKE_C_FLAGS="$CFLAGS" \
+ -DYAML_BUILD_SHARED_LIBS=ON \
+ ${CMAKE_CROSSOPTS}
+ make
+}
+
+check() {
+ CTEST_OUTPUT_ON_FAILURE=TRUE ctest
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="68b9ce987cabc1dec79382f922de20cc2c222cb9c090ecb93dc686b048da5c917facf4fce6d8f72feea44b61e5a6770ed3b0c199c4cd4e6bde5b6245c09f8e49 yaml-cpp-0.6.3.tar.gz"
diff --git a/user/youtube-dl/APKBUILD b/user/youtube-dl/APKBUILD
index 70c5800f9..ed99fcb7b 100644
--- a/user/youtube-dl/APKBUILD
+++ b/user/youtube-dl/APKBUILD
@@ -3,7 +3,7 @@
# Contributor: Timo Teräs <timo.teras@iki.fi>
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=youtube-dl
-pkgver=2019.11.28
+pkgver=2020.03.08
pkgrel=0
pkgdesc="Command-line program to download videos from YouTube and many other sites"
url="https://youtube-dl.org"
@@ -16,7 +16,9 @@ subpackages="$pkgname-doc
$pkgname-zsh-completion:zshcomp
$pkgname-bash-completion:bashcomp
$pkgname-fish-completion:fishcomp"
-source="https://github.com/rg3/$pkgname/releases/download/$pkgver/$pkgname-$pkgver.tar.gz"
+source="https://github.com/rg3/$pkgname/releases/download/$pkgver/$pkgname-$pkgver.tar.gz
+ tumblr.patch
+ "
builddir="$srcdir/$pkgname"
prepare() {
@@ -64,4 +66,5 @@ fishcomp() {
"$subpkgdir/usr/share/fish/completions/"
}
-sha512sums="fd3fc9658428ecf96d681dd699db49e02f94343e5c49e370cb68a5764e8ecebc14b3ce5bc44db0a829b0d3c4fbffc96a1f8288fb24cbd21add6e9c7852b0915d youtube-dl-2019.11.28.tar.gz"
+sha512sums="09636e3ec526dbcb043cf61ed4dda5c5c00fac2ecd741bf3cb338ca8de72d1395a95a6189bccced140ca1c37eb3f693332e757ff01eb1a25279b100ccdf39b65 youtube-dl-2020.03.08.tar.gz
+5760d06e6bbc1eee2c6be2d1f580f86b3cfa5f4bc44a62fb8145ce1cd41352ecf2f65d65d79a2d7f1ec129a34c28a7ec3d0d328c907e743bfcea54c65c71285d tumblr.patch"
diff --git a/user/youtube-dl/tumblr.patch b/user/youtube-dl/tumblr.patch
new file mode 100644
index 000000000..d34a79da6
--- /dev/null
+++ b/user/youtube-dl/tumblr.patch
@@ -0,0 +1,49 @@
+From a4a199b4dcc3e778621c4268a5dba615cf6f44ba Mon Sep 17 00:00:00 2001
+From: rafinetiz <rafii.netizz@gmail.com>
+Date: Fri, 18 Oct 2019 21:17:00 +0700
+Subject: [PATCH 1/2] Fix tumblr permission denied #22755
+
+---
+ youtube_dl/extractor/tumblr.py | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/youtube_dl/extractor/tumblr.py b/youtube_dl/extractor/tumblr.py
+index edbb0aa6944b..71ced801859e 100644
+--- a/youtube_dl/extractor/tumblr.py
++++ b/youtube_dl/extractor/tumblr.py
+@@ -165,7 +165,8 @@ def _real_extract(self, url):
+ if iframe_url is None:
+ return self.url_result(redirect_url, 'Generic')
+
+- iframe = self._download_webpage(iframe_url, video_id, 'Downloading iframe page')
++ iframe = self._download_webpage(iframe_url, video_id, 'Downloading iframe page',
++ headers={'Referer': url})
+
+ duration = None
+ sources = []
+
+From 43a19105d78c5c297d91936798d341f89919e9b1 Mon Sep 17 00:00:00 2001
+From: rafinetiz <rafii.netizz@gmail.com>
+Date: Fri, 18 Oct 2019 21:45:12 +0700
+Subject: [PATCH 2/2] Fix coding style
+
+---
+ youtube_dl/extractor/tumblr.py | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/youtube_dl/extractor/tumblr.py b/youtube_dl/extractor/tumblr.py
+index 71ced801859e..61b0c1db65fe 100644
+--- a/youtube_dl/extractor/tumblr.py
++++ b/youtube_dl/extractor/tumblr.py
+@@ -165,7 +165,10 @@ def _real_extract(self, url):
+ if iframe_url is None:
+ return self.url_result(redirect_url, 'Generic')
+
+- iframe = self._download_webpage(iframe_url, video_id, 'Downloading iframe page',
++ iframe = self._download_webpage(
++ iframe_url,
++ video_id,
++ 'Downloading iframe page',
+ headers={'Referer': url})
+
+ duration = None