summaryrefslogtreecommitdiff
path: root/system
diff options
context:
space:
mode:
Diffstat (limited to 'system')
-rw-r--r--system/adelie-base/APKBUILD4
-rw-r--r--system/ca-certificates/APKBUILD9
-rw-r--r--system/dash/APKBUILD4
-rw-r--r--system/man-db/APKBUILD44
-rw-r--r--system/man-db/man-db-2.8.5-iconv.patch65
-rw-r--r--system/man-db/man-db.trigger3
-rw-r--r--system/mandoc/APKBUILD94
-rw-r--r--system/mandoc/cgi-adelie.patch60
-rw-r--r--system/mandoc/cgi-gz.patch77
-rw-r--r--system/mandoc/cgi-search.patch48
-rw-r--r--system/mandoc/configure.patch21
-rw-r--r--system/mandoc/doc.patch132
-rw-r--r--system/mandoc/empty-tbl-null-deref.patch62
-rw-r--r--system/mandoc/less.patch58
-rw-r--r--system/mandoc/mandoc.post-deinstall3
-rw-r--r--system/mandoc/mandoc.trigger3
-rw-r--r--system/mandoc/tbl-colwidth-oob.patch62
-rw-r--r--system/sudo/APKBUILD23
-rw-r--r--system/unzip/APKBUILD16
-rw-r--r--system/unzip/cflags.patch20
-rw-r--r--system/unzip/format-secure.patch93
-rw-r--r--system/unzip/unzipsfx-bomb-32bit.patch14
-rw-r--r--system/vim/APKBUILD4
23 files changed, 787 insertions, 132 deletions
diff --git a/system/adelie-base/APKBUILD b/system/adelie-base/APKBUILD
index 8b06a3699..7cd92003d 100644
--- a/system/adelie-base/APKBUILD
+++ b/system/adelie-base/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=adelie-base
pkgver=0.9.4
-pkgrel=1
+pkgrel=2
pkgdesc="The Adélie Linux Base System"
url="https://www.adelielinux.org/"
arch="noarch"
@@ -14,7 +14,7 @@ _core_depends="apk-tools adelie-keys musl-utils shadow
util-linux net-tools
nvi sed psmisc less tzdata"
depends="adelie-core binutils debianutils file gettys-openrc
- kbd libarchive-tools man-db patch sed sharutils sysklogd zsh"
+ kbd libarchive-tools mandoc patch sed sharutils sysklogd zsh"
makedepends=""
makedepends_host="$depends"
subpackages="adelie-core:core $pkgname-doc $pkgname-posix $pkgname-lsb dev
diff --git a/system/ca-certificates/APKBUILD b/system/ca-certificates/APKBUILD
index 0785ec441..5e75d13d8 100644
--- a/system/ca-certificates/APKBUILD
+++ b/system/ca-certificates/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=ca-certificates
-pkgver=20190131
-pkgrel=1
+pkgver=20200603
+pkgrel=0
pkgdesc="CA root certificates"
url="https://www.mozilla.org/en-US/about/governance/policies/security-group/certs/"
arch="all"
@@ -13,12 +13,11 @@ makedepends_host="openssl-dev"
subpackages="$pkgname-doc"
triggers="ca-certificates.trigger=/usr/share/ca-certificates:/usr/local/share/ca-certificates:/etc/ssl/certs:/etc/ca-certificates/update.d"
install="$pkgname.post-deinstall"
-source="https://distfiles.adelielinux.org/source/$pkgname-$pkgver.tar.xz
+source="https://dev.sick.bike/dist/$pkgname-$pkgver.tar.gz
certhash
"
build() {
- export CFLAGS="$CFLAGS -DSYMLINK_MAX=PATH_MAX"
make
}
@@ -43,5 +42,5 @@ package() {
install -D -m755 "$srcdir"/certhash "$pkgdir"/etc/ca-certificates/update.d/certhash
}
-sha512sums="aec43296636887a8ebefc08abe60c123b67002eb8cf450662b5ff8fcbd2ea10d3d24d17080b5924b13aed9a52b91ba55e93d306e27ed3196ca67cbbe30146328 ca-certificates-20190131.tar.xz
+sha512sums="0125600481666979e0b736572aca7d0e3c4bf01169bc67638ef7bdd4fc97a0ebbb70798df7275eac92dfc2d03b16de3f0adc8ad382fc9e2fb4d8223c923b2eef ca-certificates-20200603.tar.gz
1efe48235f150052da6b872d2ebff174359825ab3bd66086c9d7f4c18dcd8aa8953c634dbf1aa8416d30d5623babf589660a25cf6e3a4cdcce707c14cc2f348a certhash"
diff --git a/system/dash/APKBUILD b/system/dash/APKBUILD
index 8abd44b65..a21f42a2f 100644
--- a/system/dash/APKBUILD
+++ b/system/dash/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house>
pkgname=dash
-pkgver=0.5.10.2
+pkgver=0.5.11
pkgrel=0
pkgdesc="Small and fast POSIX-compliant shell"
url="http://gondor.apana.org.au/~herbert/dash/"
@@ -41,4 +41,4 @@ binsh() {
ln -s /bin/dash "$subpkgdir"/bin/sh
}
-sha512sums="0ae29be77794df0ba254967649b9728611a75fbb3acd32ab6634d76399d1ce97c7d12d31da465482a7e4f3207093415c496c39525cace9b78ab3cb9444dd7640 dash-0.5.10.2.tar.gz"
+sha512sums="41c3afa8aa4788f7899b9a4c1bce2dc8629f4405184cdc7269993e72c695cf9537c9e68b654d56f06c604a82ffa73c9160b91368e82a3593a12ff7dea10505d1 dash-0.5.11.tar.gz"
diff --git a/system/man-db/APKBUILD b/system/man-db/APKBUILD
deleted file mode 100644
index 136e0720d..000000000
--- a/system/man-db/APKBUILD
+++ /dev/null
@@ -1,44 +0,0 @@
-# Contributor: A. Wilcox <awilfox@adelielinux.org>
-# Maintainer: A. Wilcox <awilfox@adelielinux.org>
-pkgname=man-db
-pkgver=2.9.1
-pkgrel=0
-pkgdesc="The man command and related utilities for examining on-line help files"
-url="https://www.nongnu.org/man-db/"
-arch="all"
-options="!check" # requires //IGNORE in iconv
-license="GPL-2.0+"
-depends="groff gzip less"
-makedepends_host="db-dev libpipeline-dev zlib-dev"
-subpackages="$pkgname-doc $pkgname-lang"
-triggers="man-db.trigger=/usr/share/man"
-source="https://download.savannah.nongnu.org/releases/man-db/man-db-$pkgver.tar.xz
- man-db-2.8.5-iconv.patch
- "
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var \
- --disable-setuid \
- --with-sections="1 1p 1x 2 2x 3 3p 3x 4 4x 5 5x 6 6x 7 7x 8 8x 9 0p tcl n l p o" \
- --enable-nls \
- --with-db=db
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
- rm -r "${pkgdir}"/usr/lib/tmpfiles.d # systemd
-}
-
-sha512sums="ae2d1e9f293795c63f5a9a1a765478a9a59cbe5fe6f759647be5057c1ae53f90baee8d5467921f3d0102300f2111a5026eeb25f78401bcb16ce45ad790634977 man-db-2.9.1.tar.xz
-0a68260fc48488408dc11855858aa2569efa3aeefd765c425b8fc988e7fee3e1d42e19eb299e518afc9b2ae54c5d37911176127124a43d5041f1137af0457097 man-db-2.8.5-iconv.patch"
diff --git a/system/man-db/man-db-2.8.5-iconv.patch b/system/man-db/man-db-2.8.5-iconv.patch
deleted file mode 100644
index c2232920d..000000000
--- a/system/man-db/man-db-2.8.5-iconv.patch
+++ /dev/null
@@ -1,65 +0,0 @@
---- man-db-2.8.5/src/man.c 2018-06-18 22:44:35.672743065 -0500
-+++ man-db-2.8.5/src/man.c 2018-06-18 22:46:35.032624890 -0500
-@@ -1516,15 +1516,13 @@
- {
- debug ("add_output_iconv: source %s, target %s\n", source, target);
- if (source && target && !STREQ (source, target)) {
-- char *target_translit = xasprintf ("%s//TRANSLIT", target);
- pipecmd *iconv_cmd;
- iconv_cmd = pipecmd_new_args
-- ("iconv", "-c", "-f", source, "-t", target_translit,
-+ ("iconv", "-c", "-f", source, "-t", target,
- (void *) 0);
- pipecmd_pre_exec (iconv_cmd, sandbox_load, sandbox_free,
- sandbox);
- pipeline_command (p, iconv_cmd);
-- free (target_translit);
- }
- }
-
---- man-db-2.8.5/src/manconv.c
-+++ man-db-2.8.5/src/manconv.c
-@@ -111,6 +111,5 @@ static int try_iconv (pipeline *p, const char *try_from_code, const char *to,
- iconv_t cd_utf8, cd = NULL;
-- bool to_utf8 = STREQ (try_to_code, "UTF-8") ||
-- STRNEQ (try_to_code, "UTF-8//", 7);
-- const char *utf8_target = last ? "UTF-8//IGNORE" : "UTF-8";
-- bool ignore_errors = (strstr (try_to_code, "//IGNORE") != NULL);
-+ bool to_utf8 = STREQ (try_to_code, "UTF-8");
-+ const char *utf8_target = "UTF-8";
-+ bool ignore_errors = 0;
- int ret = 0;
---- man-db-2.8.5/src/manconv_client.c
-+++ man-db-2.8.5/src/manconv_client.c
-@@ -102,7 +102,7 @@ void add_manconv (pipeline *p, const char *source, const char *target)
- codes->from[2] = NULL;
- name = appendstr (name, "UTF-8:", source, (void *) 0);
- }
-- codes->to = xasprintf ("%s//IGNORE", target);
-+ codes->to = xstrdup (target);
- /* informational only; no shell quoting concerns */
- name = appendstr (name, " -t ", codes->to, (void *) 0);
- if (quiet >= 2)
---- man-db-2.8.5/src/manconv_main.c
-+++ man-db-2.8.5/src/manconv_main.c
-@@ -106,9 +106,6 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state)
- return 0;
- case 't':
- to_code = xstrdup (arg);
-- if (!strstr (to_code, "//"))
-- to_code = appendstr (to_code, "//TRANSLIT",
-- (void *) 0);
- return 0;
- case 'd':
- debug_level = 1;
---- man-db-2.8.5/src/whatis.c
-+++ man-db-2.8.5/src/whatis.c
-@@ -945,7 +945,7 @@ int main (int argc, char *argv[])
- display_seen = hashtable_create (&null_hashtable_free);
-
- #ifdef HAVE_ICONV
-- locale_charset = xasprintf ("%s//IGNORE", get_locale_charset ());
-+ locale_charset = xstrdup (get_locale_charset ());
- conv_to_locale = iconv_open (locale_charset, "UTF-8");
- free (locale_charset);
- #endif /* HAVE_ICONV */
diff --git a/system/man-db/man-db.trigger b/system/man-db/man-db.trigger
deleted file mode 100644
index f9de5961c..000000000
--- a/system/man-db/man-db.trigger
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-exec /usr/bin/mandb /usr/share/man >/dev/null
diff --git a/system/mandoc/APKBUILD b/system/mandoc/APKBUILD
new file mode 100644
index 000000000..b3a4c018c
--- /dev/null
+++ b/system/mandoc/APKBUILD
@@ -0,0 +1,94 @@
+# Maintainer: Max Rees <maxcrees@me.com>
+pkgname=mandoc
+pkgver=1.14.5
+pkgrel=0
+pkgdesc="Manual page database, compiler, and viewer"
+url="https://mandoc.bsd.lv/"
+arch="all"
+license="ISC AND BSD-2-Clause AND BSD-3-Clause"
+replaces="man-db"
+depends="less"
+makedepends="zlib-dev"
+checkdepends="perl"
+subpackages="$pkgname-doc $pkgname-cgi"
+install="$pkgname.post-deinstall"
+triggers="$pkgname.trigger=/usr/share/man"
+source="https://mandoc.bsd.lv/snapshots/mandoc-$pkgver.tar.gz
+ configure.patch
+ empty-tbl-null-deref.patch
+ tbl-colwidth-oob.patch
+ less.patch
+ doc.patch
+ cgi-adelie.patch
+ cgi-gz.patch
+ cgi-search.patch
+ "
+
+prepare() {
+ default_prepare
+ cat >"configure.local" <<-EOF
+ PREFIX=/usr
+ MANDIR=/usr/share/man
+ WWWPREFIX=/var/lib/mandoc-cgi
+ # remove /usr/X11R6 from the following.
+ MANPATH_BASE=/usr/share/man
+ MANPATH_DEFAULT=/usr/share/man:/usr/local/share/man
+ # groff also provides a soelim.
+ BINM_SOELIM=mandoc-soelim
+
+ CFLAGS="$CFLAGS"
+ LDFLAGS="$LDFLAGS"
+ LN="ln -sf"
+ OSNAME="Adelie Linux"
+ UTF8_LOCALE=C.UTF-8
+
+ BUILD_CATMAN=1
+ BUILD_CGI=1
+ EOF
+
+ cat >"cgi.h" <<-EOF
+ #define SCRIPT_NAME ""
+ #define MAN_DIR "/var/lib/mandoc-cgi"
+ #define CSS_DIR ""
+ #define CUSTOMIZE_TITLE "Adelie Linux manual pages"
+ EOF
+}
+
+build() {
+ ./configure
+ make
+}
+
+check() {
+ make regress
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+ install -Dm644 -t "$pkgdir"/usr/share/man/man8 man.cgi.8
+
+ mkdir -p "$pkgdir"/etc
+ cat >"$pkgdir"/etc/man.conf <<-EOF
+ # See man.conf(5).
+ #manpath /usr/share/man
+ #manpath /usr/local/share/man
+ EOF
+}
+
+cgi() {
+ pkgdesc="$pkgdesc (web interface)"
+ depends="$pkgname=$pkgver-r$pkgrel"
+ mkdir -p "$subpkgdir"/var/lib
+ mv "$pkgdir"/var/lib/mandoc-cgi \
+ "$subpkgdir"/var/lib
+}
+
+sha512sums="848f290847f3095757f25647e6d73eb7044018b145bf6f9dc8b5db164b1421911efdc5b3b9022ec3a2c5af9687a84d5acedee810f2bd2f7caaa9242dadb2cc52 mandoc-1.14.5.tar.gz
+074dc73b45c71b5c178750db6c7a4a45e97d97b5388fa5d6028faa90600358dd2b954781280ca41d17da3c577ad5a1a7a13ddc4dbea72ac5e86f1652e03ecde7 configure.patch
+c4055371a92be958f0d385c83b4788dc4c18bc990b1f780137309c83e174b8d3e65cae077aba3c5286a97fcee1514d61f6b7507ca25bd5155b8d577a7e8acd3a empty-tbl-null-deref.patch
+9a8953f17e2db75bf3667e1d51c7db21ccc5e3042c59035ed6178094963eac919b7367f96708c9bcc81450ffc13842d12c23edd9bca3330be730149625db88e7 tbl-colwidth-oob.patch
+4b17b144b53ee30f9aae87c7824597151e16e6f5ad795e7b03e701f2d13ca47a62c696cb837689c75d5f34d3c190255c8f0583bc91a0f83f61afde7563a6fb2b less.patch
+f35268ed507d5c6431f8cafe5a311d1ffe990083c6e1d22f5db479e19745d486cd45a699b64c4fb6757d1c0ab588c3e8d0778bfd75e98e751d1a786e89e8b925 doc.patch
+0dfe9e39570a2b6764303708b98f29b2b57114e124a0f37e9c77d4d33f25d474a79d271df46babd700e4cc93e3385a02356f19caa44ebe4e9b056fa4be96b95b cgi-adelie.patch
+957bbaef888fb2ea15f9b795b15952332e65aed70d2e70f3142305a4fb9313ade455eae6dfc923af3ef008834e771b1a85d71389b86cd0ff9a1c31e84fef861c cgi-gz.patch
+37be119308814b060ed9d5517b54eb02b210d677ffb085385929b6aa0e8e8bef2c6c1ab2055713ed8c72f2bc85593bf8744d2d0f163dd1aff65ce439c474b640 cgi-search.patch"
diff --git a/system/mandoc/cgi-adelie.patch b/system/mandoc/cgi-adelie.patch
new file mode 100644
index 000000000..66ce6a9ba
--- /dev/null
+++ b/system/mandoc/cgi-adelie.patch
@@ -0,0 +1,60 @@
+Adjustments for Adélie manual sections and architecture names.
+
+--- mandoc-1.14.5/cgi.c 2019-03-10 04:56:43.000000000 -0500
++++ mandoc-1.14.5/cgi.c 2020-06-05 15:54:05.681060852 -0500
+@@ -101,36 +101,28 @@ static const char *scriptname = SCRIPT_
+
+ static const int sec_prios[] = {1, 4, 5, 8, 6, 3, 7, 2, 9};
+ static const char *const sec_numbers[] = {
+- "0", "1", "2", "3", "3p", "4", "5", "6", "7", "8", "9"
++ "0", "0p", "1", "1p", "2", "3", "3p", "3pm", "4", "5", "6", "7", "8"
+ };
+ static const char *const sec_names[] = {
+ "All Sections",
++ "0p - POSIX C Headers",
+ "1 - General Commands",
++ "1p - POSIX Commands",
+ "2 - System Calls",
+ "3 - Library Functions",
+- "3p - Perl Library",
++ "3p - POSIX C Library Functions",
++ "3pm - Perl Library",
+ "4 - Device Drivers",
+- "5 - File Formats",
++ "5 - File formats and configuration files",
+ "6 - Games",
+- "7 - Miscellaneous Information",
+- "8 - System Manager\'s Manual",
+- "9 - Kernel Developer\'s Manual"
++ "7 - Overview, conventions, and miscellaneous",
++ "8 - System Administrator\'s Manual"
+ };
+ static const int sec_MAX = sizeof(sec_names) / sizeof(char *);
+
+ static const char *const arch_names[] = {
+- "amd64", "alpha", "armv7", "arm64",
+- "hppa", "i386", "landisk",
+- "loongson", "luna88k", "macppc", "mips64",
+- "octeon", "sgi", "socppc", "sparc64",
+- "amiga", "arc", "armish", "arm32",
+- "atari", "aviion", "beagle", "cats",
+- "hppa64", "hp300",
+- "ia64", "mac68k", "mvme68k", "mvme88k",
+- "mvmeppc", "palm", "pc532", "pegasos",
+- "pmax", "powerpc", "solbourne", "sparc",
+- "sun3", "vax", "wgrisc", "x68k",
+- "zaurus"
++ "aarch64", "armv7", "pmmx",
++ "ppc", "ppc64", "x86_64",
+ };
+ static const int arch_MAX = sizeof(arch_names) / sizeof(char *);
+
+@@ -655,7 +661,7 @@ pg_searchres(const struct req *req, stru
+ == NULL) ? 3 :
+ ((archend = strchr(arch + 1, '/'))
+ == NULL) ? 0 :
+- strncmp(arch, "amd64/",
++ strncmp(arch, "ppc64/",
+ archend - arch) ? 2 : 1;
+ if (archprio < archpriouse) {
+ archpriouse = archprio;
diff --git a/system/mandoc/cgi-gz.patch b/system/mandoc/cgi-gz.patch
new file mode 100644
index 000000000..ac506b797
--- /dev/null
+++ b/system/mandoc/cgi-gz.patch
@@ -0,0 +1,77 @@
+Handle the case where some of the entries in the manpath are gzipped by
+removing the .gz extension and allowing mparse_open to add it back and
+mark the page as gzipped. This is part of the documented contract for
+mparse_open, see mandoc(3).
+
+--- mandoc-1.14.5/cgi.c 2019-03-10 04:56:43.000000000 -0500
++++ mandoc-1.14.5/cgi.c 2020-06-05 15:54:05.681060852 -0500
+@@ -93,7 +93,7 @@ static void resp_searchform(const stru
+ static void resp_show(const struct req *, const char *);
+ static void set_query_attr(char **, char **);
+ static int validate_arch(const char *);
+-static int validate_filename(const char *);
++static int validate_filename(char *);
+ static int validate_manpath(const struct req *, const char *);
+ static int validate_urifrag(const char *);
+
+@@ -517,8 +509,13 @@ validate_arch(const char *arch)
+ }
+
+ static int
+-validate_filename(const char *file)
++validate_filename(char *file)
+ {
++ char *cp;
++
++ cp = strrchr(file, '.');
++ if (cp != NULL && ! strcmp(cp + 1, "gz"))
++ *cp = '\0';
+
+ if ('.' == file[0] && '/' == file[1])
+ file += 2;
+@@ -854,14 +862,15 @@ resp_format(const struct req *req, const
+ int fd;
+ int usepath;
+
+- if (-1 == (fd = open(file, O_RDONLY, 0))) {
+- puts("<p>You specified an invalid manual file.</p>");
+- return;
+- }
+-
+ mchars_alloc();
+ mp = mparse_alloc(MPARSE_SO | MPARSE_UTF8 | MPARSE_LATIN1 |
+ MPARSE_VALIDATE, MANDOC_OS_OTHER, req->q.manpath);
++
++ if (-1 == (fd = mparse_open(mp, file))) {
++ puts("<p>You specified an invalid manual file.</p>");
++ goto out;
++ }
++
+ mparse_readfd(mp, fd, file);
+ close(fd);
+ meta = mparse_result(mp);
+@@ -882,10 +891,11 @@ resp_format(const struct req *req, const
+ html_man(vp, meta);
+
+ html_free(vp);
+- mparse_free(mp);
+- mchars_free();
+ free(conf.man);
+ free(conf.style);
++out:
++ mparse_free(mp);
++ mchars_free();
+ }
+
+ static void
+@@ -904,8 +914,8 @@ resp_show(const struct req *req, const c
+ static void
+ pg_show(struct req *req, const char *fullpath)
+ {
+- char *manpath;
+- const char *file;
++ char *manpath;
++ char *file;
+
+ if ((file = strchr(fullpath, '/')) == NULL) {
+ pg_error_badrequest(
diff --git a/system/mandoc/cgi-search.patch b/system/mandoc/cgi-search.patch
new file mode 100644
index 000000000..dd74be9ef
--- /dev/null
+++ b/system/mandoc/cgi-search.patch
@@ -0,0 +1,48 @@
+Don't exit immediately if mansearch returns some paths that man.cgi
+considers invalid, in particular translated manpages (e.g.
+./de/man1/chfn.1). Just mark them as invalid (section 10, see struct
+manpage in mansearch.h) and skip them later.
+
+--- mandoc-1.14.5/cgi.c 2019-03-10 04:56:43.000000000 -0500
++++ mandoc-1.14.5/cgi.c 2020-06-05 15:54:05.681060852 -0500
+@@ -605,13 +602,20 @@ pg_searchres(const struct req *req, stru
+ size_t i, iuse;
+ int archprio, archpriouse;
+ int prio, priouse;
++ int results = 0;
+
+ for (i = 0; i < sz; i++) {
+- if (validate_filename(r[i].file))
++ if (validate_filename(r[i].file)) {
++ results = 1;
+ continue;
++ }
+ warnx("invalid filename %s in %s database",
+ r[i].file, req->q.manpath);
+- pg_error_internal();
++ r[i].sec = 10;
++ }
++
++ if (! results) {
++ pg_noresult(req, "No results found.");
+ return;
+ }
+
+@@ -642,6 +646,8 @@ pg_searchres(const struct req *req, stru
+ priouse = 20;
+ archpriouse = 3;
+ for (i = 0; i < sz; i++) {
++ if (r[i].sec == 10)
++ continue;
+ sec = r[i].file;
+ sec += strcspn(sec, "123456789");
+ if (sec[0] == '\0')
+@@ -681,6 +687,8 @@ pg_searchres(const struct req *req, stru
+ if (sz > 1) {
+ puts("<table class=\"results\">");
+ for (i = 0; i < sz; i++) {
++ if (r[i].sec == 10)
++ continue;
+ printf(" <tr>\n"
+ " <td>"
+ "<a class=\"Xr\" href=\"/");
diff --git a/system/mandoc/configure.patch b/system/mandoc/configure.patch
new file mode 100644
index 000000000..2fda25409
--- /dev/null
+++ b/system/mandoc/configure.patch
@@ -0,0 +1,21 @@
+--- mandoc-1.14.5/test-recvmsg.c 2019-03-10 04:56:43.000000000 -0500
++++ mandoc-1.14.5/test-recvmsg.c 2020-06-04 20:08:33.420299034 -0500
+@@ -4,5 +4,6 @@
+ int
+ main(void)
+ {
+- return recvmsg(-1, NULL, 0) != -1;
++ struct msghdr buf;
++ return recvmsg(-1, &buf, 0) != -1;
+ }
+--- mandoc-1.14.5/configure 2019-03-10 04:56:43.000000000 -0500
++++ mandoc-1.14.5/configure 2020-06-04 20:03:24.790295729 -0500
+@@ -41,7 +41,7 @@ OSENUM=
+ OSNAME=
+ UTF8_LOCALE=
+
+-CC=`printf "all:\\n\\t@echo \\\$(CC)\\n" | env -i make -sf -`
++CC=cc
+ CFLAGS=
+ LDADD=
+ LDFLAGS=
diff --git a/system/mandoc/doc.patch b/system/mandoc/doc.patch
new file mode 100644
index 000000000..955a5f205
--- /dev/null
+++ b/system/mandoc/doc.patch
@@ -0,0 +1,132 @@
+--- mandoc-1.14.5/mandoc.1 2019-03-10 04:56:43.000000000 -0500
++++ mandoc-1.14.5/mandoc.1 2020-06-05 02:12:50.320533119 -0500
+@@ -897,7 +897,7 @@ An
+ macro references a manual page that is not found in the base system.
+ The path to look for base system manuals is configurable at compile
+ time and defaults to
+-.Pa /usr/share/man : /usr/X11R6/man .
++.Pa /usr/share/man .
+ .El
+ .Ss Style suggestions
+ .Bl -ohang
+--- mandoc-1.14.5/mandoc.db.5 2019-03-10 04:56:43.000000000 -0500
++++ mandoc-1.14.5/mandoc.db.5 2020-06-05 02:14:48.380534383 -0500
+@@ -189,10 +189,6 @@ followed by the number 0.
+ .Bl -tag -width /usr/share/man/mandoc.db -compact
+ .It Pa /usr/share/man/mandoc.db
+ The manual page database for the base system.
+-.It Pa /usr/X11R6/man/mandoc.db
+-The same for the
+-.Xr X 7
+-Window System.
+ .It Pa /usr/local/man/mandoc.db
+ The same for
+ .Xr packages 7 .
+--- mandoc-1.14.5/man.conf.5 2019-03-10 04:56:43.000000000 -0500
++++ mandoc-1.14.5/man.conf.5 2020-06-05 02:11:34.650532308 -0500
+@@ -117,7 +117,6 @@ installing it is equivalent to not havin
+ file at all.
+ .Bd -literal -offset indent
+ manpath /usr/share/man
+-manpath /usr/X11R6/man
+ manpath /usr/local/man
+ .Ed
+ .Sh SEE ALSO
+
+--- mandoc-1.14.5/man.1 2019-03-10 04:56:43.000000000 -0500
++++ mandoc-1.14.5/man.1 2020-06-05 02:51:15.910557811 -0500
+@@ -174,28 +174,32 @@ Only select manuals from the specified
+ The currently available sections are:
+ .Pp
+ .Bl -tag -width "localXXX" -offset indent -compact
++.It 0p
++POSIX C headers.
+ .It 1
+ General commands
+ .Pq tools and utilities .
++.It 1p
++POSIX commands.
+ .It 2
+ System calls and error numbers.
+ .It 3
+ Library functions.
+ .It 3p
++POSIX C library functions.
++.It 3pm
+ .Xr perl 1
+ programmer's reference guide.
+ .It 4
+ Device drivers.
+ .It 5
+-File formats.
++File formats and configuration files.
+ .It 6
+ Games.
+ .It 7
+-Miscellaneous information.
++Overview, conventions, and miscellaneous information.
+ .It 8
+ System maintenance and operation commands.
+-.It 9
+-Kernel internals.
+ .El
+ .Pp
+ If not specified and a match is found in more than one section,
+--- mandoc-1.14.5/man.cgi.8 2019-03-10 04:56:43.000000000 -0500
++++ mandoc-1.14.5/man.cgi.8 2020-06-05 16:26:12.541081488 -0500
+@@ -342,7 +342,7 @@ page to acquire the named parameters it
+ .El
+ .Sh FILES
+ .Bl -tag -width Ds
+-.It Pa /var/www
++.It Pa /var/lib/mandoc-cgi
+ Default web server
+ .Xr chroot 2
+ directory.
+@@ -366,13 +366,7 @@ This is part of the web server configura
+ A style sheet for
+ .Xr mandoc 1
+ HTML styling, referenced from each generated HTML page.
+-.It Pa /man
+-Default
+-.Nm
+-data directory containing all the manual trees.
+-Can be overridden by
+-.Dv MAN_DIR .
+-.It Pa /man/manpath.conf
++.It Pa /manpath.conf
+ The list of available manpaths, one per line.
+ If any of the lines in this file contains a slash
+ .Pq Sq /
+@@ -380,13 +374,13 @@ or any character not contained in the
+ .Sx Restricted character set ,
+ .Nm
+ reports an internal server error and exits without doing anything.
+-.It Pa /man/header.html
++.It Pa /header.html
+ An optional file containing static HTML code to be inserted right
+ after opening the <BODY> element.
+-.It Pa /man/footer.html
++.It Pa /footer.html
+ An optional file containing static HTML code to be inserted right
+ before closing the <BODY> element.
+-.It Pa /man/OpenBSD-current/man1/mandoc.1
++.It Pa /OpenBSD-current/man1/mandoc.1
+ An example
+ .Xr mdoc 7
+ source file located below the
+--- mandoc-1.14.5/soelim.1 2019-03-10 04:56:43.000000000 -0500
++++ mandoc-1.14.5/soelim.1 2020-06-05 16:38:40.101089494 -0500
+@@ -25,10 +25,10 @@
+ .\" SUCH DAMAGE.
+ .\"
+ .Dd $Mdocdate: July 4 2017 $
+-.Dt SOELIM 1
++.Dt MANDOC-SOELIM 1
+ .Os
+ .Sh NAME
+-.Nm soelim
++.Nm mandoc-soelim
+ .Nd interpret .so requests in manpages
+ .Sh SYNOPSIS
+ .Nm
diff --git a/system/mandoc/empty-tbl-null-deref.patch b/system/mandoc/empty-tbl-null-deref.patch
new file mode 100644
index 000000000..3e14ce32b
--- /dev/null
+++ b/system/mandoc/empty-tbl-null-deref.patch
@@ -0,0 +1,62 @@
+From mboxrd@z Thu Jan 1 00:00:00 1970
+Received: from localhost (fantadrom.bsd.lv [local])
+ by fantadrom.bsd.lv (OpenSMTPD) with ESMTPA id 25e99424
+ for <source@mandoc.bsd.lv>;
+ Mon, 18 Mar 2019 03:01:04 -0500 (EST)
+Date: Mon, 18 Mar 2019 03:01:04 -0500 (EST)
+X-Mailinglist: mandoc-source
+Reply-To: source@mandoc.bsd.lv
+MIME-Version: 1.0
+From: schwarze@mandoc.bsd.lv
+To: source@mandoc.bsd.lv
+Subject: mandoc: fix a NULL pointer access on empty tbl(7) data cells that
+X-Mailer: activitymail 1.26, http://search.cpan.org/dist/activitymail/
+Content-Type: text/plain; charset=utf-8
+Message-ID: <e3f22222366ad31d@fantadrom.bsd.lv>
+Archived-At: <http://inbox.vuxu.org/mandoc-source/e3f22222366ad31d@fantadrom.bsd.lv/>
+List-Archive: <http://inbox.vuxu.org/mandoc-source/>
+List-Post: <mailto:source@mandoc.bsd.lv>
+
+Log Message:
+-----------
+fix a NULL pointer access on empty tbl(7) data cells
+that bentley@ found in syncthing-bep(7)
+
+Modified Files:
+--------------
+ mandoc:
+ tbl_term.c
+
+Revision Data
+-------------
+Index: tbl_term.c
+===================================================================
+RCS file: /home/cvs/mandoc/mandoc/tbl_term.c,v
+retrieving revision 1.69
+retrieving revision 1.70
+diff -Ltbl_term.c -Ltbl_term.c -u -p -r1.69 -r1.70
+--- a/tbl_term.c
++++ b/tbl_term.c
+@@ -629,7 +629,8 @@ tbl_hrule(struct termp *tp, const struct
+
+ lw = cpp == NULL || cpn == NULL ||
+ (cpn->pos != TBL_CELL_DOWN &&
+- (dpn == NULL || strcmp(dpn->string, "\\^") != 0))
++ (dpn == NULL || dpn->string == NULL ||
++ strcmp(dpn->string, "\\^") != 0))
+ ? hw : 0;
+ tbl_direct_border(tp, BHORIZ * lw,
+ col->width + col->spacing / 2);
+@@ -675,7 +676,8 @@ tbl_hrule(struct termp *tp, const struct
+
+ rw = cpp == NULL || cpn == NULL ||
+ (cpn->pos != TBL_CELL_DOWN &&
+- (dpn == NULL || strcmp(dpn->string, "\\^") != 0))
++ (dpn == NULL || dpn->string == NULL ||
++ strcmp(dpn->string, "\\^") != 0))
+ ? hw : 0;
+
+ /* The line crossing at the end of this column. */
+--
+ To unsubscribe send an email to source+unsubscribe@mandoc.bsd.lv
+
diff --git a/system/mandoc/less.patch b/system/mandoc/less.patch
new file mode 100644
index 000000000..19d567365
--- /dev/null
+++ b/system/mandoc/less.patch
@@ -0,0 +1,58 @@
+Default to using less(1) instead of more(1) if MANPAGER and PAGER are
+unset, and also set a pretty prompt and smart case searching like man-db
+does if less is used as a pager.
+
+The name of the manpage is not available in the scope of the patched
+function - maybe add it at some point.
+
+--- mandoc-1.14.5/main.c 2019-03-10 04:56:43.000000000 -0500
++++ mandoc-1.14.5/main.c 2020-06-05 01:59:10.640524340 -0500
+@@ -1170,8 +1170,9 @@ spawn_pager(struct tag_files *tag_files)
+ pager = getenv("MANPAGER");
+ if (pager == NULL || *pager == '\0')
+ pager = getenv("PAGER");
+- if (pager == NULL || *pager == '\0')
+- pager = "more -s";
++ if (pager == NULL || *pager == '\0') {
++ pager = "less";
++ }
+ cp = mandoc_strdup(pager);
+
+ /*
+@@ -1195,10 +1196,24 @@ spawn_pager(struct tag_files *tag_files)
+ /* For less(1), use the tag file. */
+
+ use_ofn = 1;
+-#if HAVE_LESS_T
+ if ((cmdlen = strlen(argv[0])) >= 4) {
+ cp = argv[0] + cmdlen - 4;
+ if (strcmp(cp, "less") == 0) {
++ /*
++ * Set a few options like man-db does.
++ * -i: smart case search
++ * -mPm: set prompt to following string terminated by $
++ */
++ argv[argc++] = "-imPm" \
++ " Manual page" \
++ /*
++ * print " (END)" if EOF, else % in file followed by % sign.
++ * ?X if X:else not X.
++ */
++ "?e (END):?pB %pB\\%.. " \
++ "(press h for help or q to quit)" \
++ "$";
++#if HAVE_LESS_T
+ argv[argc++] = mandoc_strdup("-T");
+ argv[argc++] = tag_files->tfn;
+ if (tag_files->tagname != NULL) {
+@@ -1206,9 +1221,9 @@ spawn_pager(struct tag_files *tag_files)
+ argv[argc++] = tag_files->tagname;
+ use_ofn = 0;
+ }
++#endif
+ }
+ }
+-#endif
+ if (use_ofn)
+ argv[argc++] = tag_files->ofn;
+ argv[argc] = NULL;
diff --git a/system/mandoc/mandoc.post-deinstall b/system/mandoc/mandoc.post-deinstall
new file mode 100644
index 000000000..0a8d5b9df
--- /dev/null
+++ b/system/mandoc/mandoc.post-deinstall
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec rm -f /usr/share/man/mandoc.db 2>/dev/null
diff --git a/system/mandoc/mandoc.trigger b/system/mandoc/mandoc.trigger
new file mode 100644
index 000000000..34fc1decc
--- /dev/null
+++ b/system/mandoc/mandoc.trigger
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec makewhatis -a -T utf8 "$@"
diff --git a/system/mandoc/tbl-colwidth-oob.patch b/system/mandoc/tbl-colwidth-oob.patch
new file mode 100644
index 000000000..0b7b0acad
--- /dev/null
+++ b/system/mandoc/tbl-colwidth-oob.patch
@@ -0,0 +1,62 @@
+From mboxrd@z Thu Jan 1 00:00:00 1970
+Received: from localhost (fantadrom.bsd.lv [local])
+ by fantadrom.bsd.lv (OpenSMTPD) with ESMTPA id 0ff00a97
+ for <source@mandoc.bsd.lv>;
+ Fri, 29 Mar 2019 16:27:36 -0500 (EST)
+Date: Fri, 29 Mar 2019 16:27:36 -0500 (EST)
+X-Mailinglist: mandoc-source
+Reply-To: source@mandoc.bsd.lv
+MIME-Version: 1.0
+From: schwarze@mandoc.bsd.lv
+To: source@mandoc.bsd.lv
+Subject: mandoc: Set the maximum column index in a tbl(7) to the maximum *right*
+X-Mailer: activitymail 1.26, http://search.cpan.org/dist/activitymail/
+Content-Type: text/plain; charset=utf-8
+Message-ID: <e3fceff42218668d@fantadrom.bsd.lv>
+Archived-At: <http://inbox.vuxu.org/mandoc-source/e3fceff42218668d@fantadrom.bsd.lv/>
+List-Archive: <http://inbox.vuxu.org/mandoc-source/>
+List-Post: <mailto:source@mandoc.bsd.lv>
+
+Log Message:
+-----------
+Set the maximum column index in a tbl(7) to the maximum *right* edge
+of any cell span, not to the maximum *left* edge, which may be smaller
+if the last column of the table is only reached by horizontal spans,
+but not by any regular cell in any row of the table.
+Otherwise, the algorithm calculating column widths accessed memomy
+after the end of the colwidth[] array, while it was trying to handle
+the rightmost column(s).
+
+Crash reported by Jason Thorpe <thorpej at NetBSD>
+via https://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=54069
+and via Thomas Klausner (wiz@).
+Christos@ Zoulas sent a (correct, but slightly confusing) patch.
+The patch i'm committing here is easier to understand.
+
+Modified Files:
+--------------
+ mandoc:
+ out.c
+
+Revision Data
+-------------
+Index: out.c
+===================================================================
+RCS file: /home/cvs/mandoc/mandoc/out.c,v
+retrieving revision 1.77
+retrieving revision 1.78
+diff -Lout.c -Lout.c -u -p -r1.77 -r1.78
+--- a/out.c
++++ b/out.c
+@@ -149,7 +149,7 @@ tblcalc(struct rofftbl *tbl, const struc
+ gp = &first_group;
+ for (dp = sp->first; dp != NULL; dp = dp->next) {
+ icol = dp->layout->col;
+- while (icol > maxcol)
++ while (maxcol < icol + dp->hspans)
+ tbl->cols[++maxcol].spacing = SIZE_MAX;
+ col = tbl->cols + icol;
+ col->flags |= dp->layout->flags;
+--
+ To unsubscribe send an email to source+unsubscribe@mandoc.bsd.lv
+
diff --git a/system/sudo/APKBUILD b/system/sudo/APKBUILD
index 3bad54e5e..00acefd4f 100644
--- a/system/sudo/APKBUILD
+++ b/system/sudo/APKBUILD
@@ -3,13 +3,13 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Horst Burkhardt <horst@adelielinux.org>
pkgname=sudo
-pkgver=1.8.28
+pkgver=1.9.0
if [ "${pkgver%_*}" != "$pkgver" ]; then
_realver=${pkgver%_*}${pkgver#*_}
else
_realver=$pkgver
fi
-pkgrel=1
+pkgrel=0
pkgdesc="Give certain users the ability to run some commands as root"
url="https://www.sudo.ws/sudo/"
arch="all"
@@ -26,12 +26,22 @@ source="https://www.sudo.ws/dist/sudo-${_realver}.tar.gz
SIGUNUSED.patch
"
builddir="$srcdir"/$pkgname-$_realver
+somask="audit_json.so
+ group_file.so
+ libsudo_noexec.so
+ libsudo_util.so.0
+ sample_approval.so
+ sudoers.so
+ system_group.so
+ "
# secfixes:
# 1.8.20_p2-r0:
# - CVE-2017-1000368
-# 1.8.28:
+# 1.8.28-r0:
# - CVE-2019-14287
+# 1.9.0-r0:
+# - CVE-2019-19232
build() {
./configure \
@@ -46,7 +56,10 @@ build() {
--without-skey \
--with-passprompt="[sudo] Password for %p: " \
--with-insults=disabled \
- --with-all-insults
+ --with-all-insults \
+ --enable-python=no \
+ --disable-log-server \
+ --disable-log-client
# Workaround until SIGUNUSED.patch is not needed anymore
rm lib/util/mksiglist.h lib/util/mksigname.h
@@ -67,7 +80,7 @@ package() {
rm -rf "$pkgdir"/var/run
}
-sha512sums="09e589cdfd18d7c43b0859a0e11c008b3cb995ae4f8c89c717c5242db9e5696361eb574ebe74a0b5316afffb3a8037f7a7f3c249176e8ed9caffeb4cd860ddc7 sudo-1.8.28.tar.gz
+sha512sums="f2a191ea5fc65865718b110d4aca187cb5e2cd55c9c891fab32f21401e56f825f34c373e346c55c64fa49cec4d802efb63ccebf3d4a4e31d9a433077daf013b1 sudo-1.9.0.tar.gz
f0f462f40502da2194310fe4a72ec1a16ba40f95a821ba9aa6aabaa423d28c4ab26b684afa7fb81c2407cf60de9327bdab01de51b878c5d4de49b0d62645f53c fix-cross-compile.patch
dcc03abdd672c934f90dfd3683b3f81a8d39cfff91307d2dbd20a31a852022ab605d034c4fe11860ba99b78d391a9812fca1d6e052620b8ff2c42e4f0c7a1a62 musl-fix-headers.patch
2733c220ccbdaf61a32d8c72a5bc0209673733014f0d71b568f1523b71416e9d1754dd8c95bc6cd99aa7f935ed6e93c5f19b1a1dbb7dfc2daf9917fd37f96e78 SIGUNUSED.patch"
diff --git a/system/unzip/APKBUILD b/system/unzip/APKBUILD
index ea8f7e6fa..9b3f696f3 100644
--- a/system/unzip/APKBUILD
+++ b/system/unzip/APKBUILD
@@ -5,7 +5,7 @@ pkgname=unzip
pkgver=6.0
_pkgver=$(printf '%s' "$pkgver" | tr -d .)
_debver=25
-pkgrel=4
+pkgrel=5
pkgdesc="Extract PKZIP-compatible .zip files"
url="http://www.info-zip.org/UnZip.html"
arch="all"
@@ -14,6 +14,9 @@ subpackages="$pkgname-doc"
# normally ftp://ftp.info-zip.org/pub/infozip/src/$pkgname$_pkgver.zip
source="$pkgname-$pkgver.tgz::https://distfiles.adelielinux.org/source/$pkgname$_pkgver.tgz
http://deb.debian.org/debian/pool/main/u/unzip/unzip_$pkgver-$_debver.debian.tar.xz
+ cflags.patch
+ format-secure.patch
+ unzipsfx-bomb-32bit.patch
"
builddir="$srcdir/$pkgname$_pkgver"
@@ -30,17 +33,19 @@ builddir="$srcdir/$pkgname$_pkgver"
# - CVE-2019-13232
prepare() {
- default_prepare
+ cd "$builddir"
while read -r i; do
msg "$i"
patch -p1 -i "../debian/patches/$i"
done < ../debian/patches/series
+ default_prepare
}
build() {
make -f unix/Makefile \
CC="${CHOST}-gcc" \
- LOCAL_ZIP="${CFLAGS} ${CPPFLAGS}" \
+ LOCAL_UNZIP="${CFLAGS} ${CPPFLAGS}" \
+ STRIP=: \
prefix=/usr generic
}
@@ -57,4 +62,7 @@ package() {
}
sha512sums="0694e403ebc57b37218e00ec1a406cae5cc9c5b52b6798e0d4590840b6cdbf9ddc0d9471f67af783e960f8fa2e620394d51384257dca23d06bcd90224a80ce5d unzip-6.0.tgz
-13c16db420fa4a34be3090a9acdd79b01320da40ac5aa89a9dfca03e64b914b28eb72aff3882d02a8197457bcb8eeb9473c998cf6920e511883c9289a949fb21 unzip_6.0-25.debian.tar.xz"
+13c16db420fa4a34be3090a9acdd79b01320da40ac5aa89a9dfca03e64b914b28eb72aff3882d02a8197457bcb8eeb9473c998cf6920e511883c9289a949fb21 unzip_6.0-25.debian.tar.xz
+029447a48972234e60c6b45c58b01dbe411594b1ffe0db00d028810b0bcfa7244dcc89f765e1ee6e8805ba2d2db9bc1d05a1e30ef0d9dd08d33ff6f04af811ab cflags.patch
+4bdf55937a181d496261a8f426a97d63844ba96f23beea7906c5e4f7064f55c188ee5ec3ae2d6f2011b5f26b6ac0941dcffb83c06370ed9648b2262917cde64d format-secure.patch
+81777dfa1ad707046b238fa9205f8be0f48363f0f23bc0d2d83b67b143ceeba6818cc11058355195a03432cdd6ed4f392202ff3029e14d4b1435c9e2cb5ca6bf unzipsfx-bomb-32bit.patch"
diff --git a/system/unzip/cflags.patch b/system/unzip/cflags.patch
new file mode 100644
index 000000000..f85192155
--- /dev/null
+++ b/system/unzip/cflags.patch
@@ -0,0 +1,20 @@
+--- unzip60/unix/configure 2009-04-16 14:25:12.000000000 -0500
++++ unzip60/unix/configure 2020-06-13 22:59:57.259771113 -0500
+@@ -17,7 +17,7 @@ CFLAGSR=${CFLAGS}
+ IZ_BZIP2=${3}
+ CFLAGS="${CFLAGS} -I. -DUNIX"
+ LFLAGS1=""
+-LFLAGS2="-s"
++LFLAGS2=""
+ LN="ln -s"
+
+ CFLAGS_OPT=''
+@@ -130,6 +130,8 @@ _EOF_
+ fi
+ fi
+
++CFLAGS_OPT=""
++
+ # optimization flags
+ if test -n "${CFLAGS_OPT}"; then
+ CFLAGSR="${CFLAGSR} ${CFLAGS_OPT}"
diff --git a/system/unzip/format-secure.patch b/system/unzip/format-secure.patch
new file mode 100644
index 000000000..5b766f31d
--- /dev/null
+++ b/system/unzip/format-secure.patch
@@ -0,0 +1,93 @@
+Cherry picked from Fedora
+https://src.fedoraproject.org/rpms/unzip/blob/874f1688f1662bb3baf76021969277cafeea6ea8/f/unzip-6.0-format-secure.patch
+
+diff --git a/extract.c b/extract.c
+index eeb2f57..a0a4929 100644
+--- a/extract.c
++++ b/extract.c
+@@ -472,8 +472,8 @@ int extract_or_test_files(__G) /* return PK-type error code */
+ */
+ Info(slide, 0x401, ((char *)slide,
+ LoadFarString(CentSigMsg), j + blknum*DIR_BLKSIZ + 1));
+- Info(slide, 0x401, ((char *)slide,
+- LoadFarString(ReportMsg)));
++ Info(slide, 0x401,
++ ((char *)slide,"%s", LoadFarString(ReportMsg)));
+ error_in_archive = PK_BADERR;
+ }
+ reached_end = TRUE; /* ...so no more left to do */
+@@ -752,8 +752,8 @@ int extract_or_test_files(__G) /* return PK-type error code */
+
+ #ifndef SFX
+ if (no_endsig_found) { /* just to make sure */
+- Info(slide, 0x401, ((char *)slide, LoadFarString(EndSigMsg)));
+- Info(slide, 0x401, ((char *)slide, LoadFarString(ReportMsg)));
++ Info(slide, 0x401, ((char *)slide,"%s", LoadFarString(EndSigMsg)));
++ Info(slide, 0x401, ((char *)slide,"%s", LoadFarString(ReportMsg)));
+ if (!error_in_archive) /* don't overwrite stronger error */
+ error_in_archive = PK_WARN;
+ }
+diff --git a/list.c b/list.c
+index 15e0011..f7359c3 100644
+--- a/list.c
++++ b/list.c
+@@ -181,7 +181,7 @@ int list_files(__G) /* return PK-type error code */
+ Info(slide, 0x401,
+ ((char *)slide, LoadFarString(CentSigMsg), j));
+ Info(slide, 0x401,
+- ((char *)slide, LoadFarString(ReportMsg)));
++ ((char *)slide,"%s", LoadFarString(ReportMsg)));
+ return PK_BADERR; /* sig not found */
+ }
+ }
+@@ -507,7 +507,8 @@ int list_files(__G) /* return PK-type error code */
+ && (!G.ecrec.is_zip64_archive)
+ && (memcmp(G.sig, end_central_sig, 4) != 0)
+ ) { /* just to make sure again */
+- Info(slide, 0x401, ((char *)slide, LoadFarString(EndSigMsg)));
++ Info(slide, 0x401,
++ ((char *)slide,"%s", LoadFarString(EndSigMsg)));
+ error_in_archive = PK_WARN; /* didn't find sig */
+ }
+
+@@ -591,7 +592,7 @@ int get_time_stamp(__G__ last_modtime, nmember) /* return PK-type error code */
+ Info(slide, 0x401,
+ ((char *)slide, LoadFarString(CentSigMsg), j));
+ Info(slide, 0x401,
+- ((char *)slide, LoadFarString(ReportMsg)));
++ ((char *)slide,"%s", LoadFarString(ReportMsg)));
+ return PK_BADERR; /* sig not found */
+ }
+ }
+@@ -674,7 +675,7 @@ int get_time_stamp(__G__ last_modtime, nmember) /* return PK-type error code */
+ ---------------------------------------------------------------------------*/
+
+ if (memcmp(G.sig, end_central_sig, 4)) { /* just to make sure again */
+- Info(slide, 0x401, ((char *)slide, LoadFarString(EndSigMsg)));
++ Info(slide, 0x401, ((char *)slide,"%s", LoadFarString(EndSigMsg)));
+ error_in_archive = PK_WARN;
+ }
+ if (*nmember == 0L && error_in_archive <= PK_WARN)
+diff --git a/zipinfo.c b/zipinfo.c
+index 6e22cc8..ac5c61b 100644
+--- a/zipinfo.c
++++ b/zipinfo.c
+@@ -771,7 +771,7 @@ int zipinfo(__G) /* return PK-type error code */
+ Info(slide, 0x401,
+ ((char *)slide, LoadFarString(CentSigMsg), j));
+ Info(slide, 0x401,
+- ((char *)slide, LoadFarString(ReportMsg)));
++ ((char *)slide,"%s", LoadFarString(ReportMsg)));
+ error_in_archive = PK_BADERR; /* sig not found */
+ break;
+ }
+@@ -960,7 +960,8 @@ int zipinfo(__G) /* return PK-type error code */
+ && (!G.ecrec.is_zip64_archive)
+ && (memcmp(G.sig, end_central_sig, 4) != 0)
+ ) { /* just to make sure again */
+- Info(slide, 0x401, ((char *)slide, LoadFarString(EndSigMsg)));
++ Info(slide, 0x401,
++ ((char *)slide,"%s", LoadFarString(EndSigMsg)));
+ error_in_archive = PK_WARN; /* didn't find sig */
+ }
+
diff --git a/system/unzip/unzipsfx-bomb-32bit.patch b/system/unzip/unzipsfx-bomb-32bit.patch
new file mode 100644
index 000000000..f834a919b
--- /dev/null
+++ b/system/unzip/unzipsfx-bomb-32bit.patch
@@ -0,0 +1,14 @@
+Explicitly cast literal 0 to the expected bound_t type because K&R C is
+awful.
+
+--- unzip60/extract.c 2020-06-13 22:51:33.799778287 -0500
++++ unzip60/extract.c 2020-06-14 00:00:50.669719055 -0500
+@@ -520,7 +520,7 @@ int extract_or_test_files(__G) /* ret
+ return PK_MEM;
+ }
+ if ((G.extra_bytes != 0 &&
+- cover_add((cover_t *)G.cover, 0, G.extra_bytes) != 0) ||
++ cover_add((cover_t *)G.cover, (bound_t)0, G.extra_bytes) != 0) ||
+ (G.ecrec.have_ecr64 &&
+ cover_add((cover_t *)G.cover, G.ecrec.ec64_start,
+ G.ecrec.ec64_end) != 0) ||
diff --git a/system/vim/APKBUILD b/system/vim/APKBUILD
index cb2f7090f..09888c25e 100644
--- a/system/vim/APKBUILD
+++ b/system/vim/APKBUILD
@@ -4,7 +4,7 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Kiyoshi Aman <adelie@aerdan.vulpine.house>
pkgname=vim
-pkgver=8.2.0529
+pkgver=8.2.0959
_pkgver=${pkgver%.*.*}${pkgver#*.}
_pkgver=${_pkgver%.*}
pkgrel=0
@@ -79,5 +79,5 @@ vimdiff() {
mv "$pkgdir"/usr/bin/vimdiff "$subpkgdir"/usr/bin
}
-sha512sums="73cd3eb1522189f603c65ef1e80c0d1c860ce7332817967ab289aa8f2fdf376235fc9c30af53a66164cfe83a882b55003b4073b27852061295ca9b5fe203501d vim-8.2.0529.tar.gz
+sha512sums="040c0a72bb27dfd428c06f103e7f0b919f9680b91da798a91c34634c559f349332fc8ebd3d9c6889cd6319666005bb889322e9541d62754ed6d839bb06b06b49 vim-8.2.0959.tar.gz
12ee3f96c94d74215159fba379ed61907ec5982a9f1643575dcb7c3d5e30824665d683de95f97b5067718b3f2a1238fb7534a70803bc170614498ad026f352d8 vimrc"