sm-commit AT lists.ibiblio.org
Subject: Source Mage code commit list
List archive
[SM-Commit] GIT changes to master grimoire by Eric Sandall (15643b29c36df075c80da2f54aeab31e6f8acf04)
- From: Eric Sandall <scm AT sourcemage.org>
- To: sm-commit AT lists.ibiblio.org
- Subject: [SM-Commit] GIT changes to master grimoire by Eric Sandall (15643b29c36df075c80da2f54aeab31e6f8acf04)
- Date: Fri, 9 Mar 2018 21:25:58 +0000
GIT changes to master grimoire by Eric Sandall <sandalle AT sourcemage.org>:
devel/make/HISTORY | 5
devel/make/PRE_BUILD | 7
devel/make/patches/10-glibc-2.27.patch | 86 +
disk/e2fsprogs/DETAILS | 2
disk/e2fsprogs/HISTORY | 3
doc/docbook-xsl/765567_non-recursive_string_subst.patch | 33
doc/docbook-xsl/DETAILS | 2
doc/docbook-xsl/HISTORY | 7
doc/docbook-xsl/PRE_BUILD | 4
http/lynx/HISTORY | 5
http/lynx/PRE_BUILD | 4
http/lynx/ncurses.patch | 65 +
libs/glibc/DETAILS | 7
libs/glibc/HISTORY | 5
libs/ncurses/DEPENDS | 1
libs/ncurses/DETAILS | 1
libs/ncurses/HISTORY | 5
libs/ncurses/INSTALL | 2
mail/mutt/01-bug-fixes.patch | 813
----------------
mail/mutt/DETAILS | 2
mail/mutt/HISTORY | 5
mail/mutt/PRE_BUILD | 4
net/samba4/DETAILS | 6
net/samba4/HISTORY | 6
utils/libguestfs/DETAILS | 2
utils/libguestfs/HISTORY | 3
26 files changed, 250 insertions(+), 835 deletions(-)
New commits:
commit 15643b29c36df075c80da2f54aeab31e6f8acf04
Author: Eric Sandall <sandalle AT sourcemage.org>
Commit: Eric Sandall <sandalle AT sourcemage.org>
Revert "disk/e2fsprogs: version 1.44.0"
This reverts commit 8958132d3560c21e9cfca72ee32bfe26eb139592.
Breaks current, and latest, btrfs-progs: See
https://bugzilla.kernel.org/show_bug.cgi?id=199071
convert/source-ext2.c: In function ‘ext2_xattr_check_entry’:
convert/source-ext2.c:425:13: error: ‘struct ext2_ext_attr_entry’ has no
member named ‘e_value_block’; did you mean ‘e_value_offs’?
if (entry->e_value_block != 0 || value_size > size ||
^~~~~~~~~~~~~
e_value_offs
make: *** [Makefile:282: convert/source-ext2.o] Error 1
commit a659ad504d0f6d9ac3687cb605dde5894e3f25e6
Author: Eric Sandall <sandalle AT sourcemage.org>
Commit: Eric Sandall <sandalle AT sourcemage.org>
samba4: Updated to stable 4.7.5
SECURITY_PATCH++ fixes CVE-2017-11103 CVE-2017-12150 CVE-2017-12151
CVE-2017-12163 CVE-2017-14746 CVE-2017-15275
See https://www.samba.org/samba/history/security.html
commit 6e160bbea6a7c87e03c33716fa25545912aa55d4
Author: Eric Sandall <sandalle AT sourcemage.org>
Commit: Eric Sandall <sandalle AT sourcemage.org>
docbook-xsl: Fix Samba Bug #9515
See https://bugzilla.samba.org/show_bug.cgi?id=9515
From
https://anonscm.debian.org/cgit/collab-maint/docbook-xsl.git/tree/debian/patches/765567_non-recursive_string_subst.patch
PATCHLEVEL++
commit 50b3dc91c6de13e1c47a39f148147fdcbbdaf59a
Author: Eric Sandall <sandalle AT sourcemage.org>
Commit: Eric Sandall <sandalle AT sourcemage.org>
mutt: Current stable is 1.9.3
Remove and no longer apply 01-bug-fixes.patch
commit e408a7e880bc8955bee737c201d5ac5c700b5574
Author: Eric Sandall <sandalle AT sourcemage.org>
Commit: Eric Sandall <sandalle AT sourcemage.org>
libguestfs: Updated to 1.36.13
commit 2f562eb289b4459e27d35d2aeee15563a08b5489
Author: Eric Sandall <sandalle AT sourcemage.org>
Commit: Eric Sandall <sandalle AT sourcemage.org>
ncurses: Depend on pkgconfig and ask to install .pc files
PATCHLEVEL++
Pointing to aliens? Fixed .pc symlinks to /usr/share/pkgconfig/
Before DEPENDS and INSTALL fixes:
ls: cannot access '/usr/lib/pkgconfig/form*': No such file or directory
ls: cannot access '/usr/lib/pkgconfig/menu*': No such file or directory
ls: cannot access '/usr/lib/pkgconfig/panel*': No such file or directory
ls: cannot access '/usr/lib/pkgconfig/ncurses*': No such file or directory
-rw-r--r-- 1 root root 414 Mar 9 11:18 /usr/share/pkgconfig/formw.pc
-rw-r--r-- 1 root root 414 Mar 9 11:18 /usr/share/pkgconfig/menuw.pc
-rw-r--r-- 1 root root 446 Mar 9 11:18
/usr/share/pkgconfig/ncurses++w.pc
-rw-r--r-- 1 root root 405 Mar 9 11:18 /usr/share/pkgconfig/ncursesw.pc
-rw-r--r-- 1 root root 416 Mar 9 11:18 /usr/share/pkgconfig/panelw.pc
After fixes:
lrwxrwxrwx 1 root root 29 Mar 9 11:28 /usr/share/pkgconfig/form.pc ->
/usr/share/pkgconfig/formw.pc
-rw-r--r-- 1 root root 414 Mar 9 11:28 /usr/share/pkgconfig/formw.pc
lrwxrwxrwx 1 root root 29 Mar 9 11:28 /usr/share/pkgconfig/menu.pc ->
/usr/share/pkgconfig/menuw.pc
-rw-r--r-- 1 root root 414 Mar 9 11:28 /usr/share/pkgconfig/menuw.pc
lrwxrwxrwx 1 root root 32 Mar 9 11:28 /usr/share/pkgconfig/ncurses.pc
-> /usr/share/pkgconfig/ncursesw.pc
lrwxrwxrwx 1 root root 34 Mar 9 11:28
/usr/share/pkgconfig/ncurses++.pc -> /usr/share/pkgconfig/ncurses++w.pc
-rw-r--r-- 1 root root 446 Mar 9 11:28
/usr/share/pkgconfig/ncurses++w.pc
-rw-r--r-- 1 root root 405 Mar 9 11:28 /usr/share/pkgconfig/ncursesw.pc
lrwxrwxrwx 1 root root 30 Mar 9 11:28 /usr/share/pkgconfig/panel.pc ->
/usr/share/pkgconfig/panelw.pc
-rw-r--r-- 1 root root 416 Mar 9 11:28 /usr/share/pkgconfig/panelw.pc
$ gaze install ncurses | grep pkgconfig
/usr/share/pkgconfig
/usr/share/pkgconfig/formw.pc
/usr/share/pkgconfig/menuw.pc
/usr/share/pkgconfig/ncurses++w.pc
/usr/share/pkgconfig/ncursesw.pc
/usr/share/pkgconfig/panelw.pc
Now packages needing ncurses devel files, such as libguestfs, find them.
:)
commit 5a22fe901ef2da390bfb7ab6bbc34285cedc311e
Author: Eric Sandall <sandalle AT sourcemage.org>
Commit: Eric Sandall <sandalle AT sourcemage.org>
glibc: Update non-sanitized headers to kernel LTS 4.14.24
PATCHLEVEL++
Current non-sanitized kernel headers 3.17.4 are not LTS.
I've rebuilt most of my system (non-X11, 409 spells) with this without
new issues.
commit f738a6e6b923168779aeea29682ee4ab600dc790
Author: Eric Sandall <sandalle AT sourcemage.org>
Commit: Eric Sandall <sandalle AT sourcemage.org>
make: Fix compilation with glibc 2.27
See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=891365
commit 4aadc1eb944a2496d7f7b30f0e35d2e32262f646
Author: Eric Sandall <sandalle AT sourcemage.org>
Commit: Eric Sandall <sandalle AT sourcemage.org>
lynx: Fix compilation against current ncurses
Based on upstream
https://github.com/ThomasDickey/lynx-snapshots/commit/f0b064b47bfa046da941f5029cdc1b4c851553ce
diff --git a/devel/make/HISTORY b/devel/make/HISTORY
index d923d37..2fdd43d 100644
--- a/devel/make/HISTORY
+++ b/devel/make/HISTORY
@@ -1,3 +1,8 @@
+2018-03-06 Eric Sandall <sandalle AT sourcemage.org>
+ * patches/10-glibc-2.27.patch: Fix compilation with glibc 2.27
+ See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=891365
+ * PRE_BUILD: Need to run autoreconf for 10-glibc-2.27.patch
+
2016-09-17 Pavel Vinogradov <public AT sourcemage.org>
* DETAILS: updated spell to 4.2.1
* patches/*: removed
diff --git a/devel/make/PRE_BUILD b/devel/make/PRE_BUILD
index 32c0555..7c2851f 100755
--- a/devel/make/PRE_BUILD
+++ b/devel/make/PRE_BUILD
@@ -1,3 +1,4 @@
-default_pre_build &&
-cd "$SOURCE_DIRECTORY" &&
-apply_patch_dir patches
+default_pre_build &&
+cd "$SOURCE_DIRECTORY" &&
+apply_patch_dir patches &&
+autoreconf
diff --git a/devel/make/patches/10-glibc-2.27.patch
b/devel/make/patches/10-glibc-2.27.patch
new file mode 100644
index 0000000..8cead65
--- /dev/null
+++ b/devel/make/patches/10-glibc-2.27.patch
@@ -0,0 +1,86 @@
+# From https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=891365
+commit 48c8a116a914a325a0497721f5d8b58d5bba34d4
+Author: Paul Smith <psmith AT gnu.org>
+Date: Sun Nov 19 15:09:16 2017 -0500
+
+ * configure.ac: Support GLIBC glob interface version 2
+
+commit 193f1e81edd6b1b56b0eb0ff8aa4b41c7b4257b4
+Author: Paul Eggert <eggert AT cs.ucla.edu>
+Date: Sun Sep 24 09:12:58 2017 -0400
+
+ glob: Do not assume glibc glob internals.
+
+ It has been proposed that glibc glob start using gl_lstat,
+ which the API allows it to do. GNU 'make' should not get in
+ the way of this. See:
+ https://sourceware.org/ml/libc-alpha/2017-09/msg00409.html
+
+ * dir.c (local_lstat): New function, like local_stat.
+ (dir_setup_glob): Use it to initialize gl_lstat too, as the API
+ requires.
+
+diff --git a/configure.ac b/configure.ac
+index 8c72568..4710832 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -404,10 +404,9 @@ AC_CACHE_CHECK([if system libc has GNU glob],
[make_cv_sys_gnu_glob],
+ #include <glob.h>
+ #include <fnmatch.h>
+
+-#define GLOB_INTERFACE_VERSION 1
+ #if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1
+ # include <gnu-versions.h>
+-# if _GNU_GLOB_INTERFACE_VERSION == GLOB_INTERFACE_VERSION
++# if _GNU_GLOB_INTERFACE_VERSION == 1 || _GNU_GLOB_INTERFACE_VERSION == 2
+ gnu glob
+ # endif
+ #endif],
+diff --git a/dir.c b/dir.c
+index adbb8a9..c343e4c 100644
+--- a/dir.c
++++ b/dir.c
+@@ -1299,15 +1299,40 @@ local_stat (const char *path, struct stat *buf)
+ }
+ #endif
+
++/* Similarly for lstat. */
++#if !defined(lstat) && !defined(WINDOWS32) || defined(VMS)
++# ifndef VMS
++# ifndef HAVE_SYS_STAT_H
++int lstat (const char *path, struct stat *sbuf);
++# endif
++# else
++ /* We are done with the fake lstat. Go back to the real lstat */
++# ifdef lstat
++# undef lstat
++# endif
++# endif
++# define local_lstat lstat
++#elif defined(WINDOWS32)
++/* Windows doesn't support lstat(). */
++# define local_lstat local_stat
++#else
++static int
++local_lstat (const char *path, struct stat *buf)
++{
++ int e;
++ EINTRLOOP (e, lstat (path, buf));
++ return e;
++}
++#endif
++
+ void
+ dir_setup_glob (glob_t *gl)
+ {
+ gl->gl_opendir = open_dirstream;
+ gl->gl_readdir = read_dirstream;
+ gl->gl_closedir = free;
++ gl->gl_lstat = local_lstat;
+ gl->gl_stat = local_stat;
+- /* We don't bother setting gl_lstat, since glob never calls it.
+- The slot is only there for compatibility with 4.4 BSD. */
+ }
+
+ void
+
diff --git a/disk/e2fsprogs/DETAILS b/disk/e2fsprogs/DETAILS
index c85ec3c..f750f5b 100755
--- a/disk/e2fsprogs/DETAILS
+++ b/disk/e2fsprogs/DETAILS
@@ -1,5 +1,5 @@
SPELL=e2fsprogs
- VERSION=1.44.0
+ VERSION=1.43.9
SECURITY_PATCH=1
SOURCE=$SPELL-$VERSION.tar.gz
SOURCE2=$SOURCE.asc
diff --git a/disk/e2fsprogs/HISTORY b/disk/e2fsprogs/HISTORY
index 1bf7a84..7d163a2 100644
--- a/disk/e2fsprogs/HISTORY
+++ b/disk/e2fsprogs/HISTORY
@@ -1,6 +1,3 @@
-2018-03-08 Pavel Vinogradov <public AT sourcemage.org>
- * DETAILS: version 1.44.0
-
2018-02-09 Pavel Vinogradov <public AT sourcemage.org>
* DETAILS: version 1.43.9
diff --git a/doc/docbook-xsl/765567_non-recursive_string_subst.patch
b/doc/docbook-xsl/765567_non-recursive_string_subst.patch
new file mode 100644
index 0000000..1f787bb
--- /dev/null
+++ b/doc/docbook-xsl/765567_non-recursive_string_subst.patch
@@ -0,0 +1,33 @@
+# From
https://anonscm.debian.org/cgit/collab-maint/docbook-xsl.git/tree/debian/patches/765567_non-recursive_string_subst.patch
+# to fix https://bugzilla.samba.org/show_bug.cgi?id=9515
+Description: use EXSLT "replace" function when available
+ A recursive implementation of string.subst is problematic,
+ long strings with many matches will cause stack overflows.
+Author: Peter De Wachter <pdewacht AT gmail.com>
+Bug-Debian: https://bugs.debian.org/750593
+
+--- docbook-xsl-1.78.1+dfsg.orig/docbook-xsl/lib/lib.xsl
++++ docbook-xsl-1.78.1+dfsg/docbook-xsl/lib/lib.xsl
+@@ -10,7 +10,10 @@
+ This module implements DTD-independent functions
+
+ ********************************************************************
-->
+-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
++<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
++ xmlns:str="http://exslt.org/strings"
++ exclude-result-prefixes="str"
++ version="1.0">
+
+ <xsl:template name="dot.count">
+ <!-- Returns the number of "." characters in a string -->
+@@ -56,6 +59,9 @@
+ <xsl:param name="replacement"/>
+
+ <xsl:choose>
++ <xsl:when test="function-available('str:replace')">
++ <xsl:value-of select="str:replace($string, string($target),
string($replacement))"/>
++ </xsl:when>
+ <xsl:when test="contains($string, $target)">
+ <xsl:variable name="rest">
+ <xsl:call-template name="string.subst">
+
diff --git a/doc/docbook-xsl/DETAILS b/doc/docbook-xsl/DETAILS
index 6e99fd4..c931c23 100755
--- a/doc/docbook-xsl/DETAILS
+++ b/doc/docbook-xsl/DETAILS
@@ -1,6 +1,6 @@
SPELL=docbook-xsl
VERSION=1.79.1
- PATCHLEVEL=1
+ PATCHLEVEL=2
SOURCE_HASH=sha512:83325cbaf1545da6b9b8b77f5f0e6fdece26e3c455164b300a1aa3d19e3bd29ae71fd563553a714a5394968d1a65684c6c7987c77524469358d18b8c227025c7
SOURCE=$SPELL-$VERSION.tar.bz2
SOURCE_DIRECTORY=$BUILD_DIRECTORY/$SPELL-$VERSION
diff --git a/doc/docbook-xsl/HISTORY b/doc/docbook-xsl/HISTORY
index ac78c3f..ccc4ee7 100644
--- a/doc/docbook-xsl/HISTORY
+++ b/doc/docbook-xsl/HISTORY
@@ -1,3 +1,10 @@
+2018-03-06 Eric Sandall <sandalle AT sourcemage.org>
+ * DETAILS: PATCHLEVEL++
+ * 765567_non-recursive_string_subst.patch: Fix Samba Bug #9515
+ See https://bugzilla.samba.org/show_bug.cgi?id=9515
+ From
https://anonscm.debian.org/cgit/collab-maint/docbook-xsl.git/tree/debian/patches/765567_non-recursive_string_subst.patch
+ * PRE_BUILD: Apply 765567_non-recursive_string_subst.patch
+
2016-05-04 Treeve Jelbert <treeve AT sourcemage.org>
* DETAILS: PATCHEVEL=1
* FINAL PRE_REMOVE: add extra version
diff --git a/doc/docbook-xsl/PRE_BUILD b/doc/docbook-xsl/PRE_BUILD
new file mode 100755
index 0000000..f4b5a67
--- /dev/null
+++ b/doc/docbook-xsl/PRE_BUILD
@@ -0,0 +1,4 @@
+default_pre_build &&
+cd "${SOURCE_DIRECTORY}" &&
+message "${MESSAGE_COLOR}Fixing Bug #9515 infinite
recursion...${DEFAULT_COLOR}" &&
+patch -p2 < "${SPELL_DIRECTORY}"/765567_non-recursive_string_subst.patch
diff --git a/http/lynx/HISTORY b/http/lynx/HISTORY
index 4c24c9e..d62e876 100644
--- a/http/lynx/HISTORY
+++ b/http/lynx/HISTORY
@@ -1,3 +1,8 @@
+2018-03-06 Eric Sandall <sandalle AT sourcemage.org>
+ * PRE_BUILD: Apply ncurses.patch
+ * ncurses.patch: Fix compilation against current ncurses
+ Based on upstream
https://github.com/ThomasDickey/lynx-snapshots/commit/f0b064b47bfa046da941f5029cdc1b4c851553ce
+
2017-10-02 Ismael Luceno <ismael AT sourcemage.org>
* PRE_BUILD, openssl_api_fix.patch: fixed building against libressl
diff --git a/http/lynx/PRE_BUILD b/http/lynx/PRE_BUILD
index 92ba3a2..0f925db 100755
--- a/http/lynx/PRE_BUILD
+++ b/http/lynx/PRE_BUILD
@@ -1,3 +1,5 @@
default_pre_build &&
cd "$SOURCE_DIRECTORY" &&
-patch -fp1 < "$SPELL_DIRECTORY"/openssl_api_fix.patch
+patch -fp1 < "$SPELL_DIRECTORY"/openssl_api_fix.patch &&
+message "${MESSAGE_COLOR}Fix compilation with current
ncurses...${DEFAULT_COLOR}" &&
+patch -p1 < "${SPELL_DIRECTORY}"/ncurses.patch
diff --git a/http/lynx/ncurses.patch b/http/lynx/ncurses.patch
new file mode 100644
index 0000000..89ba214
--- /dev/null
+++ b/http/lynx/ncurses.patch
@@ -0,0 +1,65 @@
+# Based on upstream
https://github.com/ThomasDickey/lynx-snapshots/commit/f0b064b47bfa046da941f5029cdc1b4c851553ce
+diff -Naur lynx2-8-8.orig/src/LYCurses.c lynx2-8-8/src/LYCurses.c
+--- lynx2-8-8.orig/src/LYCurses.c 2018-03-08 19:48:25.407769464 -0800
++++ lynx2-8-8/src/LYCurses.c 2018-03-08 19:51:20.086585678 -0800
+@@ -1695,7 +1695,7 @@
+ void lynx_nl2crlf(int normal GCC_UNUSED)
+ {
+ #if defined(NCURSES_VERSION_PATCH) && defined(SET_TTY) && defined(TERMIOS)
&& defined(ONLCR)
+- static TTY saved_tty;
++ static struct termios saved_tty;
+ static int did_save = FALSE;
+ static int waiting = FALSE;
+ static int can_fix = TRUE;
+@@ -1704,8 +1704,10 @@
+ if (cur_term == 0) {
+ can_fix = FALSE;
+ } else {
+- saved_tty = cur_term->Nttyb;
++ tcgetattr(fileno(stdout), &saved_tty);
+ did_save = TRUE;
++ if ((saved_tty.c_oflag & ONLCR))
++ can_fix = FALSE;
+ #if NCURSES_VERSION_PATCH < 20010529
+ /* workaround for optimizer bug with nonl() */
+ if ((tigetstr("cud1") != 0 && *tigetstr("cud1") == '\n')
+@@ -1717,14 +1719,17 @@
+ if (can_fix) {
+ if (normal) {
+ if (!waiting) {
+- cur_term->Nttyb.c_oflag |= ONLCR;
++ struct termios alter_tty = saved_tty;
++ alter_tty.c_oflag |= ONLCR;
++ tcsetattr(fileno(stdout), TCSAFLUSH, &alter_tty);
++ def_prog_mode();
+ waiting = TRUE;
+ nonl();
+ }
+ } else {
+ if (waiting) {
+- cur_term->Nttyb = saved_tty;
+- SET_TTY(fileno(stdout), &saved_tty);
++ tcsetattr(fileno(stdout), TCSAFLUSH, &saved_tty);
++ def_prog_mode();
+ waiting = FALSE;
+ nl();
+ LYrefresh();
+diff -Naur lynx2-8-8.orig/src/LYStrings.c lynx2-8-8/src/LYStrings.c
+--- lynx2-8-8.orig/src/LYStrings.c 2018-03-08 19:48:25.403769514 -0800
++++ lynx2-8-8/src/LYStrings.c 2018-03-08 19:52:23.681790628 -0800
+@@ -1004,12 +1004,13 @@
+ {
+ char name[BUFSIZ];
+ int code;
++ TERMTYPE *tp = (TERMTYPE *) (cur_term);
+
+ LYStrNCpy(name, first, len);
+ if ((code = lookup_tiname(name, strnames)) >= 0
+ || (code = lookup_tiname(name, strfnames)) >= 0) {
+- if (cur_term->type.Strings[code] != 0) {
+- LYStrNCpy(*result, cur_term->type.Strings[code], (final -
*result));
++ if (tp->Strings[code] != 0) {
++ LYStrNCpy(*result, tp->Strings[code], (final - *result));
+ (*result) += strlen(*result);
+ }
+ }
diff --git a/libs/glibc/DETAILS b/libs/glibc/DETAILS
index 65f507a..0e9281f 100755
--- a/libs/glibc/DETAILS
+++ b/libs/glibc/DETAILS
@@ -38,15 +38,16 @@ SOURCE_DIRECTORY=$BUILD_DIRECTORY/$SPELL-$VERSION
SOURCE_GPG=glibc.gpg:$SOURCE.sig:UPSTREAM_KEY
SOURCE2_IGNORE=signature
SECURITY_PATCH=12
+ PATCHLEVEL=1
fi
if [[ $GLIBC_SANITIZE_HEADERS == n ]]; then
- HEADERS_VERSION=3.17.4
+ HEADERS_VERSION=4.14.24
SOURCE3=linux-${HEADERS_VERSION}.tar.xz
SOURCE6=linux-${HEADERS_VERSION}.tar.sign
SOURCE6_IGNORE=signature
SOURCE3_GPG="kernel.gpg:${SOURCE6}:ESTABLISHED_UPSTREAM_KEY"
- SOURCE3_URL[0]="$KERNEL_URL/pub/linux/kernel/v3.x/$SOURCE3"
- SOURCE6_URL[0]="$KERNEL_URL/pub/linux/kernel/v3.x/$SOURCE6"
+ SOURCE3_URL[0]="$KERNEL_URL/pub/linux/kernel/v4.x/$SOURCE3"
+ SOURCE6_URL[0]="$KERNEL_URL/pub/linux/kernel/v4.x/$SOURCE6"
else
local LINUX_DIRECTORY
LINUX_DIRECTORY=$(gaze where -path linux | sed "s/linux -> //")
diff --git a/libs/glibc/HISTORY b/libs/glibc/HISTORY
index 8a387ed..f4c3851 100644
--- a/libs/glibc/HISTORY
+++ b/libs/glibc/HISTORY
@@ -1,3 +1,8 @@
+2018-03-06 Eric Sandall <sandalle AT sourcemage.org>
+ * DETAILS: Update non-sanitized headers to kernel LTS 4.14.24
+ PATCHLEVEL++
+ 3.17.4 is not LTS.
+
2018-02-02 Pavel Vinogradov <public AT sourcemage.org>
* DETAILS: version 2.27, SECURITY_PATCH++,
(CVE-2009-5064, CVE-2017-15671, CVE-2017-15804, CVE-2017-17426,
diff --git a/libs/ncurses/DEPENDS b/libs/ncurses/DEPENDS
index ab43abe..1f21b1e 100755
--- a/libs/ncurses/DEPENDS
+++ b/libs/ncurses/DEPENDS
@@ -1,5 +1,6 @@
depends gnupg &&
depends smgl-fhs &&
+depends pkgconfig '--with-pkgconfig --enable-pc-files' &&
optional_depends -sub CXX gcc \
"--with-cxx --with-cxx-binding" \
diff --git a/libs/ncurses/DETAILS b/libs/ncurses/DETAILS
index 32e16b5..7f3dba8 100755
--- a/libs/ncurses/DETAILS
+++ b/libs/ncurses/DETAILS
@@ -1,5 +1,6 @@
SPELL=ncurses
VERSION=6.1
+ PATCHLEVEL=1
SOURCE=$SPELL-$VERSION.tar.gz
SOURCE2=$SOURCE.sig
SOURCE_DIRECTORY="$BUILD_DIRECTORY/$SPELL-$VERSION"
diff --git a/libs/ncurses/HISTORY b/libs/ncurses/HISTORY
index f136624..763d9a8 100644
--- a/libs/ncurses/HISTORY
+++ b/libs/ncurses/HISTORY
@@ -1,3 +1,8 @@
+2018-03-06 Eric Sandall <sandalle AT sourcemage.org>
+ * DETAILS: PATCHLEVEL++
+ * DEPENDS: Depend on pkgconfig and ask to install .pc files
+ * INSTALL: Pointing to aliens? Fixed to /usr/share/pkgconfig/
+
2018-02-11 Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
* POST_INSTALL: force creation of symlinks
diff --git a/libs/ncurses/INSTALL b/libs/ncurses/INSTALL
index e142685..8b5322c 100755
--- a/libs/ncurses/INSTALL
+++ b/libs/ncurses/INSTALL
@@ -64,7 +64,7 @@ fi &&
ln -sf libcurses.so.${MVERSION} ${INSTALL_ROOT}/lib/libtinfo.so.${MVERSION}
&&
for i in form menu ncurses++ ncurses panel; do
- ln -sf /usr/lib/pkgconfig/${i}w.pc /usr/lib/pkgconfig/${i}.pc
+ ln -sf /usr/share/pkgconfig/${i}w.pc /usr/share/pkgconfig/${i}.pc
done &&
ldconfig
diff --git a/mail/mutt/01-bug-fixes.patch b/mail/mutt/01-bug-fixes.patch
deleted file mode 100644
index c28cc54..0000000
--- a/mail/mutt/01-bug-fixes.patch
+++ /dev/null
@@ -1,813 +0,0 @@
-diff -urN --exclude .git mutt-1.6.0/alias.c mutt-1.6.0-bug-fixes/alias.c
---- mutt-1.6.0/alias.c 2016-04-04 17:53:36.431839450 +0100
-+++ mutt-1.6.0-bug-fixes/alias.c 2016-04-04 17:53:36.946847627 +0100
-@@ -27,6 +27,7 @@
-
- #include <string.h>
- #include <ctype.h>
-+#include <errno.h>
-
- ADDRESS *mutt_lookup_alias (const char *s)
- {
-@@ -379,8 +380,10 @@
- recode_buf (buf, sizeof (buf));
- write_safe_address (rc, buf);
- fputc ('\n', rc);
-- safe_fclose (&rc);
-- mutt_message _("Alias added.");
-+ if (safe_fsync_close(&rc) != 0)
-+ mutt_message ("Trouble adding alias: %s.", strerror(errno));
-+ else
-+ mutt_message _("Alias added.");
- }
- else
- mutt_perror (buf);
-diff -urN --exclude .git mutt-1.6.0/attach.c mutt-1.6.0-bug-fixes/attach.c
---- mutt-1.6.0/attach.c 2016-04-04 17:53:36.432839466 +0100
-+++ mutt-1.6.0-bug-fixes/attach.c 2016-04-04 17:53:36.946847627 +0100
-@@ -765,7 +765,7 @@
- fseeko ((s.fpin = fp), m->offset, 0);
- mutt_decode_attachment (m, &s);
-
-- if (fclose (s.fpout) != 0)
-+ if (safe_fsync_close (&s.fpout) != 0)
- {
- mutt_perror ("fclose");
- mutt_sleep (2);
-@@ -800,7 +800,10 @@
- return (-1);
- }
- safe_fclose (&ofp);
-- safe_fclose (&nfp);
-+ if (safe_fsync_close (&nfp) != 0) {
-+ mutt_error _("Write fault!");
-+ return (-1);
-+ }
- }
-
- return 0;
-@@ -814,6 +817,7 @@
- unsigned int saved_encoding = 0;
- BODY *saved_parts = NULL;
- HEADER *saved_hdr = NULL;
-+ int ret = 0;
-
- memset (&s, 0, sizeof (s));
- s.flags = displaying;
-@@ -871,7 +875,10 @@
-
- mutt_body_handler (m, &s);
-
-- safe_fclose (&s.fpout);
-+ if (safe_fsync_close (&s.fpout) != 0) {
-+ mutt_perror("fclose");
-+ ret = -1;
-+ }
- if (fp == NULL)
- {
- m->length = 0;
-@@ -885,7 +892,7 @@
- safe_fclose (&s.fpin);
- }
-
-- return (0);
-+ return ret;
- }
-
- /* Ok, the difference between send and receive:
-diff -urN --exclude .git mutt-1.6.0/browser.c mutt-1.6.0-bug-fixes/browser.c
---- mutt-1.6.0/browser.c 2016-04-04 17:53:36.433839482 +0100
-+++ mutt-1.6.0-bug-fixes/browser.c 2016-04-04 17:53:36.946847627 +0100
-@@ -29,6 +29,7 @@
- #include "sort.h"
- #include "mailbox.h"
- #include "browser.h"
-+#include "mx.h"
- #ifdef USE_IMAP
- #include "imap.h"
- #endif
-@@ -86,6 +87,16 @@
- return ((BrowserSort & SORT_REVERSE) ? -r : r);
- }
-
-+static int browser_compare_desc (const void *a, const void *b)
-+{
-+ struct folder_file *pa = (struct folder_file *) a;
-+ struct folder_file *pb = (struct folder_file *) b;
-+
-+ int r = mutt_strcoll (pa->desc, pb->desc);
-+
-+ return ((BrowserSort & SORT_REVERSE) ? -r : r);
-+}
-+
- static int browser_compare_date (const void *a, const void *b)
- {
- struct folder_file *pa = (struct folder_file *) a;
-@@ -106,6 +117,26 @@
- return ((BrowserSort & SORT_REVERSE) ? -r : r);
- }
-
-+static int browser_compare_count (const void *a, const void *b)
-+{
-+ struct folder_file *pa = (struct folder_file *) a;
-+ struct folder_file *pb = (struct folder_file *) b;
-+
-+ int r = pa->all - pb->all;
-+
-+ return ((BrowserSort & SORT_REVERSE) ? -r : r);
-+}
-+
-+static int browser_compare_count_new (const void *a, const void *b)
-+{
-+ struct folder_file *pa = (struct folder_file *) a;
-+ struct folder_file *pb = (struct folder_file *) b;
-+
-+ int r = pa->new - pb->new;
-+
-+ return ((BrowserSort & SORT_REVERSE) ? -r : r);
-+}
-+
- static void browser_sort (struct browser_state *state)
- {
- int (*f) (const void *, const void *);
-@@ -120,6 +151,15 @@
- case SORT_SIZE:
- f = browser_compare_size;
- break;
-+ case SORT_DESC:
-+ f = browser_compare_desc;
-+ break;
-+ case SORT_COUNT:
-+ f = browser_compare_count;
-+ break;
-+ case SORT_COUNT_NEW:
-+ f = browser_compare_count_new;
-+ break;
- case SORT_SUBJECT:
- default:
- f = browser_compare_subject;
-@@ -260,7 +300,16 @@
- else
- mutt_format_s (dest, destlen, fmt, "");
- break;
--
-+
-+ case 'n':
-+ if (!optional) {
-+ snprintf (tmp, sizeof (tmp), "%%%sd", fmt);
-+ snprintf (dest, destlen, tmp, folder->ff->all);
-+ } else if (!folder->ff->all) {
-+ optional = 0;
-+ }
-+ break;
-+
- case 'N':
- #ifdef USE_IMAP
- if (mx_is_imap (folder->ff->desc))
-@@ -325,7 +374,8 @@
- }
-
- static void add_folder (MUTTMENU *m, struct browser_state *state,
-- const char *name, const struct stat *s, unsigned int
new)
-+ const char *name, const char *desc,
-+ const struct stat *s, unsigned int new, unsigned int
all)
- {
- if (state->entrylen == state->entrymax)
- {
-@@ -349,8 +399,9 @@
- }
-
- (state->entry)[state->entrylen].new = new;
-+ (state->entry)[state->entrylen].all = all;
- (state->entry)[state->entrylen].name = safe_strdup (name);
-- (state->entry)[state->entrylen].desc = safe_strdup (name);
-+ (state->entry)[state->entrylen].desc = safe_strdup(desc ? desc : name);
- #ifdef USE_IMAP
- (state->entry)[state->entrylen].imap = 0;
- #endif
-@@ -432,7 +483,7 @@
- tmp = Incoming;
- while (tmp && mutt_strcmp (buffer, tmp->path))
- tmp = tmp->next;
-- add_folder (menu, state, de->d_name, &s, (tmp) ? tmp->new : 0);
-+ add_folder (menu, state, de->d_name, NULL, &s, (tmp) ? tmp->new : 0, 0);
- }
- closedir (dp);
- browser_sort (state);
-@@ -460,14 +511,14 @@
- if (mx_is_imap (tmp->path))
- {
- imap_mailbox_state (tmp->path, &mbox);
-- add_folder (menu, state, tmp->path, NULL, mbox.new);
-+ add_folder (menu, state, tmp->path, NULL, NULL, mbox.new,
mbox.messages);
- continue;
- }
- #endif
- #ifdef USE_POP
- if (mx_is_pop (tmp->path))
- {
-- add_folder (menu, state, tmp->path, NULL, tmp->new);
-+ add_folder (menu, state, tmp->path, NULL, NULL, tmp->new, 0);
- continue;
- }
- #endif
-@@ -496,7 +547,7 @@
- strfcpy (buffer, NONULL(tmp->path), sizeof (buffer));
- mutt_pretty_mailbox (buffer, sizeof (buffer));
-
-- add_folder (menu, state, buffer, &s, tmp->new);
-+ add_folder (menu, state, buffer, NULL, &s, tmp->new, 0);
- }
- while ((tmp = tmp->next));
- browser_sort (state);
-@@ -1136,9 +1187,9 @@
- int reverse = (i == OP_SORT_REVERSE);
-
- switch (mutt_multi_choice ((reverse) ?
-- _("Reverse sort by (d)ate, (a)lpha, si(z)e or do(n)'t sort? ") :
-- _("Sort by (d)ate, (a)lpha, si(z)e or do(n)'t sort? "),
-- _("dazn")))
-+ _("Reverse sort by (d)ate, (a)lpha, si(z)e, d(e)scription,
(c)ount, ne(w) count, or do(n)'t sort? ") :
-+ _("Sort by (d)ate, (a)lpha, si(z)e, d(e)scription, (c)ount,
ne(w) count, or do(n)'t sort? "),
-+ _("dazecwn")))
- {
- case -1: /* abort */
- resort = 0;
-@@ -1156,7 +1207,19 @@
- BrowserSort = SORT_SIZE;
- break;
-
-- case 4: /* do(n)'t sort */
-+ case 4: /* d(e)scription */
-+ BrowserSort = SORT_DESC;
-+ break;
-+
-+ case 5: /* (c)ount */
-+ BrowserSort = SORT_COUNT;
-+ break;
-+
-+ case 6: /* ne(w) count */
-+ BrowserSort = SORT_COUNT_NEW;
-+ break;
-+
-+ case 7: /* do(n)'t sort */
- BrowserSort = SORT_ORDER;
- resort = 0;
- break;
-diff -urN --exclude .git mutt-1.6.0/browser.h mutt-1.6.0-bug-fixes/browser.h
---- mutt-1.6.0/browser.h 2016-04-04 17:53:36.433839482 +0100
-+++ mutt-1.6.0-bug-fixes/browser.h 2016-04-04 17:53:36.854846166 +0100
-@@ -30,6 +30,8 @@
- char *desc;
-
- unsigned int new;
-+ unsigned int all;
-+
- #ifdef USE_IMAP
- char delim;
-
-diff -urN --exclude .git mutt-1.6.0/configure.ac
mutt-1.6.0-bug-fixes/configure.ac
---- mutt-1.6.0/configure.ac 2016-04-04 17:53:36.435839513 +0100
-+++ mutt-1.6.0-bug-fixes/configure.ac 2016-04-04 17:53:36.948847659 +0100
-@@ -313,6 +313,7 @@
- AC_CHECK_HEADERS(unix.h)
-
- AC_CHECK_FUNCS(setrlimit getsid)
-+AC_CHECK_FUNCS(fgets_unlocked fgetc_unlocked)
-
- AC_MSG_CHECKING(for sig_atomic_t in signal.h)
- AC_EGREP_HEADER(sig_atomic_t,signal.h,
-@@ -354,7 +355,7 @@
-
- AC_CHECK_FUNCS(fgetpos memmove setegid srand48 strerror)
-
--AC_REPLACE_FUNCS([setenv strcasecmp strdup strsep strtok_r wcscasecmp])
-+AC_REPLACE_FUNCS([setenv strcasecmp strdup strndup strnlen strsep strtok_r
wcscasecmp])
- AC_REPLACE_FUNCS([strcasestr mkdtemp])
-
- AC_CHECK_FUNC(getopt)
-diff -urN --exclude .git mutt-1.6.0/curs_main.c
mutt-1.6.0-bug-fixes/curs_main.c
---- mutt-1.6.0/curs_main.c 2016-04-04 17:53:36.438839561 +0100
-+++ mutt-1.6.0-bug-fixes/curs_main.c 2016-04-04 17:53:36.950847691 +0100
-@@ -118,7 +118,9 @@
- {
- char *term = getenv("TERM");
- char *tcaps;
-+#ifdef HAVE_USE_EXTENDED_NAMES
- int tcapi;
-+#endif
- char **termp;
- char *known[] = {
- "color-xterm",
-diff -urN --exclude .git mutt-1.6.0/globals.h mutt-1.6.0-bug-fixes/globals.h
---- mutt-1.6.0/globals.h 2016-04-04 17:53:36.444839656 +0100
-+++ mutt-1.6.0-bug-fixes/globals.h 2016-04-04 17:53:36.953847738 +0100
-@@ -192,8 +192,6 @@
- extern unsigned char QuadOptions[];
- #endif
-
--WHERE unsigned short Counter INITVAL (0);
--
- WHERE short ConnectTimeout;
- WHERE short HistSize;
- WHERE short MenuContext;
-diff -urN --exclude .git mutt-1.6.0/init.c mutt-1.6.0-bug-fixes/init.c
---- mutt-1.6.0/init.c 2016-04-04 17:53:36.449839736 +0100
-+++ mutt-1.6.0-bug-fixes/init.c 2016-04-04 17:53:36.957847802 +0100
-@@ -2867,23 +2867,6 @@
- return 0;
- }
-
--static void mutt_srandom (void)
--{
-- struct timeval tv;
-- unsigned seed;
--
-- gettimeofday(&tv, NULL);
-- /* POSIX.1-2008 states that seed is 'unsigned' without specifying its
width.
-- * Use as many of the lower order bits from the current time of day as
the seed.
-- * If the upper bound is truncated, that is fine.
-- *
-- * tv_sec is integral of type integer or float. Cast to 'long long'
before
-- * bitshift in case it is a float.
-- */
-- seed = ((LONGLONG) tv.tv_sec << 20) | tv.tv_usec;
-- srandom(seed);
--}
--
- void mutt_init (int skip_sys_rc, LIST *commands)
- {
- struct passwd *pw;
-@@ -2902,13 +2885,9 @@
- ReverseAlias = hash_create (1031, 1);
-
- mutt_menu_init ();
-- mutt_srandom ();
-
-- /*
-- * XXX - use something even more difficult to predict?
-- */
- snprintf (AttachmentMarker, sizeof (AttachmentMarker),
-- "\033]9;%ld\a", (long) time (NULL));
-+ "\033]9;%" PRIu64 "\a", mutt_rand64());
-
- /* on one of the systems I use, getcwd() does not return the same prefix
- as is listed in the passwd file */
-diff -urN --exclude .git mutt-1.6.0/init.h mutt-1.6.0-bug-fixes/init.h
---- mutt-1.6.0/init.h 2016-04-04 17:53:36.451839767 +0100
-+++ mutt-1.6.0-bug-fixes/init.h 2016-04-04 17:53:36.958847818 +0100
-@@ -3046,7 +3046,10 @@
- ** entries are sorted alphabetically. Valid values:
- ** .il
- ** .dd alpha (alphabetically)
-+ ** .dd count (all message count)
- ** .dd date
-+ ** .dd desc (description)
-+ ** .dd new (new message count)
- ** .dd size
- ** .dd unsorted
- ** .ie
-@@ -3631,7 +3634,10 @@
-
- const struct mapping_t SortBrowserMethods[] = {
- { "alpha", SORT_SUBJECT },
-+ { "count", SORT_COUNT },
- { "date", SORT_DATE },
-+ { "desc", SORT_DESC },
-+ { "new", SORT_COUNT_NEW },
- { "size", SORT_SIZE },
- { "unsorted", SORT_ORDER },
- { NULL, 0 }
-diff -urN --exclude .git mutt-1.6.0/lib.c mutt-1.6.0-bug-fixes/lib.c
---- mutt-1.6.0/lib.c 2016-04-04 17:53:36.452839783 +0100
-+++ mutt-1.6.0-bug-fixes/lib.c 2016-04-04 17:53:36.959847834 +0100
-@@ -219,8 +219,10 @@
- {
- if (fflush (*f) || fsync (fileno (*f)))
- {
-+ int save_errno = errno;
- r = -1;
- safe_fclose (f);
-+ errno = save_errno;
- }
- else
- r = safe_fclose (f);
-@@ -367,6 +369,7 @@
- size -= chunk;
- }
-
-+ if (fflush(out) != 0) return -1;
- return 0;
- }
-
-@@ -381,6 +384,7 @@
- return (-1);
- }
-
-+ if (fflush(fout) != 0) return -1;
- return 0;
- }
-
-diff -urN --exclude .git mutt-1.6.0/main.c mutt-1.6.0-bug-fixes/main.c
---- mutt-1.6.0/main.c 2016-04-04 17:53:36.452839783 +0100
-+++ mutt-1.6.0-bug-fixes/main.c 2016-04-04 17:53:36.959847834 +0100
-@@ -598,7 +598,7 @@
-
- mutt_error = mutt_nocurses_error;
- mutt_message = mutt_nocurses_error;
-- SRAND (time (NULL));
-+ (void)mutt_rand32();
- umask (077);
-
- memset (Options, 0, sizeof (Options));
-diff -urN --exclude .git mutt-1.6.0/mbyte.c mutt-1.6.0-bug-fixes/mbyte.c
---- mutt-1.6.0/mbyte.c 2016-04-04 17:53:36.453839799 +0100
-+++ mutt-1.6.0-bug-fixes/mbyte.c 2016-04-04 17:53:36.959847834 +0100
-@@ -107,7 +107,7 @@
- char buf[MB_LEN_MAX+1];
- ICONV_CONST char *ib;
- char *ob;
-- size_t ibl, obl, r;
-+ size_t ibl, obl;
-
- if (s)
- {
-@@ -117,7 +117,7 @@
- ib = buf;
- ob = s;
- obl = MB_LEN_MAX;
-- r = iconv (cd, &ib, &ibl, &ob, &obl);
-+ iconv (cd, &ib, &ibl, &ob, &obl);
- }
- else
- {
-@@ -125,7 +125,7 @@
- ibl = 1;
- ob = buf;
- obl = sizeof (buf);
-- r = iconv (cd, &ib, &ibl, &ob, &obl);
-+ iconv (cd, &ib, &ibl, &ob, &obl);
- }
- return ob - s;
- }
-diff -urN --exclude .git mutt-1.6.0/mh.c mutt-1.6.0-bug-fixes/mh.c
---- mutt-1.6.0/mh.c 2016-04-04 17:53:36.453839799 +0100
-+++ mutt-1.6.0-bug-fixes/mh.c 2016-04-04 17:53:36.960847850 +0100
-@@ -304,8 +304,8 @@
- omask = umask (mh_umask (dest));
- FOREVER
- {
-- snprintf (path, _POSIX_PATH_MAX, "%s/.mutt-%s-%d-%d",
-- dest->path, NONULL (Hostname), (int) getpid (), Counter++);
-+ snprintf (path, _POSIX_PATH_MAX, "%s/.mutt-%s-%d-%" PRIu64,
-+ dest->path, NONULL (Hostname), (int) getpid (), mutt_rand64());
- if ((fd = open (path, O_WRONLY | O_EXCL | O_CREAT, 0666)) == -1)
- {
- if (errno != EEXIST)
-@@ -1313,9 +1313,9 @@
- omask = umask (mh_umask (dest));
- FOREVER
- {
-- snprintf (path, _POSIX_PATH_MAX, "%s/tmp/%s.%lld.%u_%d.%s%s",
-- dest->path, subdir, (long long)time (NULL), (unsigned
int)getpid (),
-- Counter++, NONULL (Hostname), suffix);
-+ snprintf (path, _POSIX_PATH_MAX, "%s/tmp/%s.%lld.R%" PRIu64 ".%s%s",
-+ dest->path, subdir, (long long)time (NULL), mutt_rand64(),
-+ NONULL (Hostname), suffix);
-
- dprint (2, (debugfile, "maildir_open_new_message (): Trying %s.\n",
- path));
-@@ -1399,8 +1399,8 @@
- /* construct a new file name. */
- FOREVER
- {
-- snprintf (path, _POSIX_PATH_MAX, "%s/%lld.%u_%d.%s%s", subdir,
-- (long long)time (NULL), (unsigned int)getpid (), Counter++,
-+ snprintf (path, _POSIX_PATH_MAX, "%s/%lld.R%" PRIu64 ".%s%s", subdir,
-+ (long long)time (NULL), mutt_rand64(),
- NONULL (Hostname), suffix);
- snprintf (full, _POSIX_PATH_MAX, "%s/%s", ctx->path, path);
-
-diff -urN --exclude .git mutt-1.6.0/mutt.h mutt-1.6.0-bug-fixes/mutt.h
---- mutt-1.6.0/mutt.h 2016-04-04 17:53:36.454839815 +0100
-+++ mutt-1.6.0-bug-fixes/mutt.h 2016-04-04 17:53:36.960847850 +0100
-@@ -52,6 +52,11 @@
- #include <limits.h>
- #endif
-
-+/* PATH_MAX is undefined on the hurd */
-+#ifndef PATH_MAX
-+#define PATH_MAX _POSIX_PATH_MAX
-+#endif
-+
- #include <pwd.h>
- #include <grp.h>
-
-@@ -66,6 +71,14 @@
- # define MB_LEN_MAX 16
- #endif
-
-+#ifdef HAVE_FGETS_UNLOCKED
-+# define fgets fgets_unlocked
-+#endif
-+
-+#ifdef HAVE_FGETC_UNLOCKED
-+# define fgetc fgetc_unlocked
-+#endif
-+
- /* nifty trick I stole from ELM 2.5alpha. */
- #ifdef MAIN_C
- #define WHERE
-diff -urN --exclude .git mutt-1.6.0/muttlib.c mutt-1.6.0-bug-fixes/muttlib.c
---- mutt-1.6.0/muttlib.c 2016-04-04 17:53:36.456839847 +0100
-+++ mutt-1.6.0-bug-fixes/muttlib.c 2016-04-04 17:53:36.962847881 +0100
-@@ -37,6 +37,7 @@
- #include <string.h>
- #include <ctype.h>
- #include <unistd.h>
-+#include <sys/syscall.h>
- #include <stdlib.h>
- #include <sys/wait.h>
- #include <errno.h>
-@@ -771,12 +772,79 @@
- mutt_free_envelope(extra);
- }
-
-+static FILE *frandom;
-+
-+void mutt_randbuf(void *out, size_t len)
-+{
-+ if (len > 1048576) {
-+ mutt_error (_("mutt_randbuf len=%zu"), len);
-+ exit(1);
-+ }
-+ /* XXX switch to HAVE_GETRANDOM and getrandom() in about 2017 */
-+#if defined(SYS_getrandom) && defined(__linux__)
-+ static int whined;
-+ long ret;
-+ do {
-+ ret = syscall(SYS_getrandom, out, len, 0, 0, 0, 0);
-+ } while ((ret == -1) && (errno == EINTR));
-+ if (ret == len) return;
-+ if (!whined) {
-+ mutt_error (_("getrandom failed: %s"), strerror(errno));
-+ mutt_sleep (1);
-+ whined = 1;
-+ }
-+ /* let's try urandom in case user has configured selinux or something
-+ * to not allow getrandom */
-+#endif
-+ if (frandom == NULL) {
-+ frandom = fopen("/dev/urandom", "rb");
-+ if (frandom == NULL) {
-+ mutt_error (_("open /dev/urandom: %s"), strerror(errno));
-+ exit(1);
-+ }
-+ setbuf(frandom, NULL);
-+ }
-+ if (fread(out, 1, len, frandom) != len) {
-+ mutt_error (_("read /dev/urandom: %s"), strerror(errno));
-+ exit(1);
-+ }
-+}
-+
-+static const unsigned char base32[] = "abcdefghijklmnopqrstuvwxyz234567";
-+
-+void mutt_rand_base32(void *out, size_t len)
-+{
-+ size_t pos;
-+ uint8_t *p = out;
-+
-+ mutt_randbuf(p, len);
-+ for (pos = 0; pos < len; pos++)
-+ p[pos] = base32[p[pos] % 32];
-+}
-+
-+uint32_t mutt_rand32(void)
-+{
-+ uint32_t ret;
-+
-+ mutt_randbuf(&ret, sizeof(ret));
-+ return ret;
-+}
-+
-+uint64_t mutt_rand64(void)
-+{
-+ uint64_t ret;
-+
-+ mutt_randbuf(&ret, sizeof(ret));
-+ return ret;
-+}
-+
-+
- void _mutt_mktemp (char *s, size_t slen, const char *prefix, const char
*suffix,
- const char *src, int line)
- {
-- size_t n = snprintf (s, slen, "%s/%s-%s-%d-%d-%ld%ld%s%s",
-+ size_t n = snprintf (s, slen, "%s/%s-%s-%d-%d-%" PRIu64 "%s%s",
- NONULL (Tempdir), NONULL (prefix), NONULL (Hostname),
-- (int) getuid (), (int) getpid (), random (), random (),
-+ (int) getuid (), (int) getpid (), mutt_rand64(),
- suffix ? "." : "", NONULL (suffix));
- if (n >= slen)
- dprint (1, (debugfile, "%s:%d: ERROR: insufficient buffer space to hold
temporary filename! slen=%zu but need %zu\n",
-diff -urN --exclude .git mutt-1.6.0/mutt_ssl.c
mutt-1.6.0-bug-fixes/mutt_ssl.c
---- mutt-1.6.0/mutt_ssl.c 2016-04-04 17:53:36.455839831 +0100
-+++ mutt-1.6.0-bug-fixes/mutt_ssl.c 2016-04-04 17:53:36.961847865 +0100
-@@ -432,14 +432,6 @@
- if (!ssl_check_certificate (conn, ssldata))
- return -1;
-
-- /* L10N:
-- %1$s is version (e.g. "TLSv1.2")
-- %2$s is cipher_version (e.g. "TLSv1/SSLv3")
-- %3$s is cipher_name (e.g. "ECDHE-RSA-AES128-GCM-SHA256") */
-- mutt_message (_("%s connection using %s (%s)"),
-- SSL_get_version(ssldata->ssl), SSL_get_cipher_version (ssldata->ssl),
SSL_get_cipher_name (ssldata->ssl));
-- mutt_sleep (0);
--
- return 0;
- }
-
-diff -urN --exclude .git mutt-1.6.0/protos.h mutt-1.6.0-bug-fixes/protos.h
---- mutt-1.6.0/protos.h 2016-04-04 17:53:36.482840260 +0100
-+++ mutt-1.6.0-bug-fixes/protos.h 2016-04-04 17:53:36.980848167 +0100
-@@ -1,5 +1,6 @@
- /*
- * Copyright (C) 1996-2000,2007,2010,2013 Michael R. Elkins <me AT mutt.org>
-+ * Copyright (C) 2013 Karel Zak <kzak AT redhat.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
-@@ -375,6 +376,11 @@
- void mutt_set_header_color(CONTEXT *, HEADER *);
- void mutt_sleep (short);
- int mutt_save_confirm (const char *, struct stat *);
-+void mutt_randbuf(void *out, size_t len);
-+#define MUTT_RANDTAG_LEN (16)
-+void mutt_rand_base32(void *out, size_t len);
-+uint32_t mutt_rand32(void);
-+uint64_t mutt_rand64(void);
-
- int mh_valid_message (const char *);
-
-@@ -422,16 +428,6 @@
- #define LONGLONG long
- #endif
-
--#ifdef HAVE_SRAND48
--#define LRAND lrand48
--#define SRAND srand48
--#define DRAND drand48
--#else
--#define LRAND rand
--#define SRAND srand
--#define DRAND (double)rand
--#endif /* HAVE_SRAND48 */
--
- /* HP-UX, ConvexOS and UNIXware don't have this macro */
- #ifndef S_ISLNK
- #define S_ISLNK(x) (((x) & S_IFMT) == S_IFLNK ? 1 : 0)
-@@ -565,3 +561,11 @@
- #ifndef HAVE_MKDTEMP
- char *mkdtemp (char *tmpl);
- #endif
-+
-+#ifndef HAVE_STRNLEN
-+size_t strnlen(const char *s, size_t maxlen);
-+#endif
-+
-+#ifndef HAVE_STRNDUP
-+char *strndup(const char *s, size_t n);
-+#endif
-diff -urN --exclude .git mutt-1.6.0/sendlib.c mutt-1.6.0-bug-fixes/sendlib.c
---- mutt-1.6.0/sendlib.c 2016-04-04 17:53:36.484840291 +0100
-+++ mutt-1.6.0-bug-fixes/sendlib.c 2016-04-04 17:53:36.982848199 +0100
-@@ -73,8 +73,6 @@
- '8', '9', '+', '/'
- };
-
--static char MsgIdPfx = 'A';
--
- static void transform_to_7bit (BODY *a, FILE *fpin);
-
- static void encode_quoted (FGETCONV * fc, FILE *fout, int istext)
-@@ -480,18 +478,12 @@
-
- #undef write_as_text_part
-
--#define BOUNDARYLEN 16
- void mutt_generate_boundary (PARAMETER **parm)
- {
-- char rs[BOUNDARYLEN + 1];
-- char *p = rs;
-- int i;
--
-- rs[BOUNDARYLEN] = 0;
-- for (i=0;i<BOUNDARYLEN;i++)
-- *p++ = B64Chars[LRAND() % sizeof (B64Chars)];
-- *p = 0;
-+ char rs[MUTT_RANDTAG_LEN + 1];
-
-+ mutt_rand_base32(rs, sizeof(rs) - 1);
-+ rs[MUTT_RANDTAG_LEN] = 0;
- mutt_set_parameter ("boundary", rs, parm);
- }
-
-@@ -2133,16 +2125,18 @@
- time_t now;
- struct tm *tm;
- const char *fqdn;
-+ unsigned char rndid[MUTT_RANDTAG_LEN + 1];
-
-+ mutt_rand_base32(rndid, sizeof(rndid) - 1);
-+ rndid[MUTT_RANDTAG_LEN] = 0;
- now = time (NULL);
- tm = gmtime (&now);
- if(!(fqdn = mutt_fqdn(0)))
- fqdn = NONULL(Hostname);
-
-- snprintf (buf, sizeof (buf), "<%d%02d%02d%02d%02d%02d.G%c%u@%s>",
-+ snprintf (buf, sizeof (buf), "<%d%02d%02d%02d%02d%02d.%s@%s>",
- tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday, tm->tm_hour,
-- tm->tm_min, tm->tm_sec, MsgIdPfx, (unsigned int)getpid (), fqdn);
-- MsgIdPfx = (MsgIdPfx == 'Z') ? 'A' : MsgIdPfx + 1;
-+ tm->tm_min, tm->tm_sec, rndid, fqdn);
- return (safe_strdup (buf));
- }
-
-@@ -2559,9 +2553,12 @@
- mutt_copy_header (fp, h, f, ch_flags, NULL);
- fputc ('\n', f);
- mutt_copy_bytes (fp, f, h->content->length);
-- safe_fclose (&f);
- FREE (&msgid_str);
--
-+ if (safe_fclose (&f) != 0) {
-+ mutt_perror(tempfile);
-+ unlink(tempfile);
-+ return -1;
-+ }
- #if USE_SMTP
- if (SmtpUrl)
- ret = mutt_smtp_send (env_from, to, NULL, NULL, tempfile,
-diff -urN --exclude .git mutt-1.6.0/sort.h mutt-1.6.0-bug-fixes/sort.h
---- mutt-1.6.0/sort.h 2016-04-04 17:53:36.485840307 +0100
-+++ mutt-1.6.0-bug-fixes/sort.h 2016-04-04 17:53:36.983848215 +0100
-@@ -31,6 +31,9 @@
- #define SORT_KEYID 12
- #define SORT_TRUST 13
- #define SORT_SPAM 14
-+#define SORT_DESC 15
-+#define SORT_COUNT 16
-+#define SORT_COUNT_NEW 17
- /* dgc: Sort & SortAux are shorts, so I'm bumping these bitflags up from
- * bits 4 & 5 to bits 8 & 9 to make room for more sort keys in the future.
*/
- #define SORT_MASK 0xff
-diff -urN --exclude .git mutt-1.6.0/strndup.c mutt-1.6.0-bug-fixes/strndup.c
---- mutt-1.6.0/strndup.c 1970-01-01 01:00:00.000000000 +0100
-+++ mutt-1.6.0-bug-fixes/strndup.c 2016-04-04 17:53:36.906846992 +0100
-@@ -0,0 +1,19 @@
-+/*
-+ * Copyright (C) 2013 Karel Zak <kzak AT redhat.com>
-+ */
-+
-+#if HAVE_CONFIG_H
-+# include "config.h"
-+#endif
-+
-+#include "mutt.h"
-+
-+char *strndup(const char *s, size_t n)
-+{
-+ size_t len = strnlen(s, n);
-+ char *new = (char *) malloc((len + 1) * sizeof(char));
-+ if (!new)
-+ return NULL;
-+ new[len] = '\0';
-+ return (char *) memcpy(new, s, len);
-+}
-diff -urN --exclude .git mutt-1.6.0/strnlen.c mutt-1.6.0-bug-fixes/strnlen.c
---- mutt-1.6.0/strnlen.c 1970-01-01 01:00:00.000000000 +0100
-+++ mutt-1.6.0-bug-fixes/strnlen.c 2016-04-04 17:53:36.906846992 +0100
-@@ -0,0 +1,20 @@
-+/*
-+ * Copyright (C) 2013 Karel Zak <kzak AT redhat.com>
-+ */
-+
-+#if HAVE_CONFIG_H
-+# include "config.h"
-+#endif
-+
-+#include "mutt.h"
-+
-+size_t strnlen(const char *s, size_t maxlen)
-+{
-+ int i;
-+
-+ for (i = 0; i < maxlen; i++) {
-+ if (s[i] == '\0')
-+ return i + 1;
-+ }
-+ return maxlen;
-+}
diff --git a/mail/mutt/DETAILS b/mail/mutt/DETAILS
index b7fc1db..f5a07f8 100755
--- a/mail/mutt/DETAILS
+++ b/mail/mutt/DETAILS
@@ -27,7 +27,7 @@ SOURCE_DIRECTORY=${BUILD_DIRECTORY}/${SPELL}-${VERSION}
SECURITY_PATCH=1
;;
*)
- VERSION=1.6.2
+ VERSION=1.9.3
SOURCE=${SPELL}-${VERSION}.tar.gz
SOURCE2=${SOURCE}.asc
SOURCE_URL[0]=ftp://ftp.mutt.org/pub/mutt/${SOURCE}
diff --git a/mail/mutt/HISTORY b/mail/mutt/HISTORY
index b840298..2fe5899 100644
--- a/mail/mutt/HISTORY
+++ b/mail/mutt/HISTORY
@@ -1,3 +1,8 @@
+2018-03-06 Eric Sandall <sandalle AT sourcemage.org>
+ * DETAILS: Current stable is 1.9.3
+ * PRE_BUILD: No longer apply 01-bug-fixes.patch
+ * 01-bug-fixes.patch: Removed
+
2018-03-04 Pavel Vinogradov <public AT sourcemage.org>
* DETAILS: devel version 1.9.4
diff --git a/mail/mutt/PRE_BUILD b/mail/mutt/PRE_BUILD
index 0a3701b..bffab7e 100755
--- a/mail/mutt/PRE_BUILD
+++ b/mail/mutt/PRE_BUILD
@@ -1,10 +1,6 @@
default_pre_build &&
cd "${SOURCE_DIRECTORY}" &&
-if [[ "$MUTT_BRANCH" == "stable" ]]; then
-patch -p1 < "$SPELL_DIRECTORY/01-bug-fixes.patch"
-fi &&
-
for PATCH in ${REAL_PATCHES}; do
message "${MESSAGE_COLOR}Applying patch ${PATCH}${DEFAULT_COLOR}" &&
PATCH_SOURCE="" &&
diff --git a/net/samba4/DETAILS b/net/samba4/DETAILS
index 24e30f2..f3fe144 100755
--- a/net/samba4/DETAILS
+++ b/net/samba4/DETAILS
@@ -7,9 +7,9 @@ SOURCE_DIRECTORY=$BUILD_DIRECTORY/$SPELL-git
SOURCE_URL[0]=git://git.samba.org/samba.git:$SPELL
SOURCE_IGNORE=volatile
else
- VERSION=4.6.4
-
SOURCE_HASH=sha512:c20e6ad35b701816c35959fd242470dd899fb1b0bf02277ebdc87624dc1059199854b8d759374ab8b23f4842aa01347389a34319635091ade5afb5a94810eac1
- SECURITY_PATCH=2
+ VERSION=4.7.5
+
SOURCE_HASH=sha512:1cd70ebbe59e467701e6607147d19492c3fdad99371aa182ded9e4e2f37a53c76c04e796725bd747e5e1fb882bfb73d82a0d26f25de5ef135266d33be9f7fb61:WORKS_FOR_ME
+ SECURITY_PATCH=3
SOURCE=${SPELL/4}-$VERSION.tar.gz
# SOURCE2=${SPELL/4}-${VERSION}.tar.asc
# SOURCE2_IGNORE=signature
diff --git a/net/samba4/HISTORY b/net/samba4/HISTORY
index b059707..e474725 100644
--- a/net/samba4/HISTORY
+++ b/net/samba4/HISTORY
@@ -1,3 +1,9 @@
+2018-03-06 Eric Sandall <sandalle AT sourcemage.org>
+ * DETAILS: Updated to stable 4.7.5
+ SECURITY_PATCH++ fixes CVE-2017-11103 CVE-2017-12150 CVE-2017-12151
CVE-2017-12163
+ CVE-2017-14746 CVE-2017-15275
+ See https://www.samba.org/samba/history/security.html
+
2017-05-25 Treeve Jelbert <treeve AT sourcemage.org>
* DETAILS version 4.6.4
SECURITY_PATCH++ fixes CVE-2017-7494 CVE-2017-2619 CVE-2016-2123
CVE-2016-2125 CVE-2016-2126
diff --git a/utils/libguestfs/DETAILS b/utils/libguestfs/DETAILS
index c3afb34..01acdc5 100755
--- a/utils/libguestfs/DETAILS
+++ b/utils/libguestfs/DETAILS
@@ -1,5 +1,5 @@
SPELL=libguestfs
- VERSION=1.36.3
+ VERSION=1.36.13
BRANCH="$(echo ${VERSION} | cut -d. -f1,2)"
SOURCE="${SPELL}-${VERSION}.tar.gz"
SOURCE2="${SOURCE}.sig"
diff --git a/utils/libguestfs/HISTORY b/utils/libguestfs/HISTORY
index b91eda0..84326a7 100644
--- a/utils/libguestfs/HISTORY
+++ b/utils/libguestfs/HISTORY
@@ -1,3 +1,6 @@
+2018-03-06 Eric Sandall <sandalle AT sourcemage.org>
+ * DETAILS: Updated to 1.36.13
+
2017-04-04 Eric Sandall <sandalle AT sourcemage.org>
* DETAILS: Updated to 1.36.3
* BUILD: Disable checking KVM features: It's broken
- [SM-Commit] GIT changes to master grimoire by Eric Sandall (15643b29c36df075c80da2f54aeab31e6f8acf04), Eric Sandall, 03/09/2018
Archive powered by MHonArc 2.6.24.