sm-commit AT lists.ibiblio.org
Subject: Source Mage code commit list
List archive
[SM-Commit] GIT changes to master grimoire by Vlad Glagolev (751843dec6bdb9af5e20858c28b8a12eeda0c529)
- From: Vlad Glagolev <scm AT sourcemage.org>
- To: sm-commit AT lists.ibiblio.org
- Subject: [SM-Commit] GIT changes to master grimoire by Vlad Glagolev (751843dec6bdb9af5e20858c28b8a12eeda0c529)
- Date: Tue, 11 May 2021 00:13:52 +0000
GIT changes to master grimoire by Vlad Glagolev <stealth AT sourcemage.org>:
archive-libs/libarchive/HISTORY | 3
archive-libs/libarchive/PRE_BUILD | 4
archive-libs/libarchive/libressl.patch | 25 -
mail/exim/DETAILS | 4
mail/exim/HISTORY | 4
mail/exim/PRE_BUILD | 3
mail/exim/cve-2019-10149.patch | 106 --------
mail/exim/cve-2019-13917.patch | 434
---------------------------------
mail/exim/cve-2019-15846.patch | 32 --
mail/mailx/HISTORY | 3
mail/mailx/libressl.patch | 59 +++-
net/haproxy/BUILD | 2
net/haproxy/DETAILS | 4
net/haproxy/HISTORY | 4
net/nsd/DETAILS | 4
net/openntpd/DETAILS | 4
net/openntpd/HISTORY | 3
net/socat/DETAILS | 6
net/socat/HISTORY | 3
19 files changed, 77 insertions(+), 630 deletions(-)
New commits:
commit 751843dec6bdb9af5e20858c28b8a12eeda0c529
Author: Vlad Glagolev <stealth AT sourcemage.org>
Commit: Vlad Glagolev <stealth AT sourcemage.org>
nsd: => 4.3.6
commit 3528b50651a66ce29ce264bb905b5b68aedbee32
Author: Vlad Glagolev <stealth AT sourcemage.org>
Commit: Vlad Glagolev <stealth AT sourcemage.org>
libarchive: fixed build against libressl
commit 10730cb2a4cd6dd39e3f2f1ce394b82e1b70463a
Author: Vlad Glagolev <stealth AT sourcemage.org>
Commit: Vlad Glagolev <stealth AT sourcemage.org>
openntpd: => 6.8p1
commit 5e5fe4c63ad461cabeedacd39fa66903105c7e55
Author: Vlad Glagolev <stealth AT sourcemage.org>
Commit: Vlad Glagolev <stealth AT sourcemage.org>
socat: => 1.7.4.1 [security]
commit 6bb98e8299623a6409f8935e4b7915e8df4a05a5
Author: Vlad Glagolev <stealth AT sourcemage.org>
Commit: Vlad Glagolev <stealth AT sourcemage.org>
haproxy: => 2.0.22
commit 1936bf6f75bfa9ac87ea6c8a537c0beedd4b2191
Author: Vlad Glagolev <stealth AT sourcemage.org>
Commit: Vlad Glagolev <stealth AT sourcemage.org>
mailx: updated libressl patch
commit ff00cc46ad1aa84bd86954b4e3a44c6e2c45da03
Author: Vlad Glagolev <stealth AT sourcemage.org>
Commit: Vlad Glagolev <stealth AT sourcemage.org>
exim: => 4.94.2 [security]
diff --git a/archive-libs/libarchive/HISTORY b/archive-libs/libarchive/HISTORY
index d28fa02..ba55400 100644
--- a/archive-libs/libarchive/HISTORY
+++ b/archive-libs/libarchive/HISTORY
@@ -1,3 +1,6 @@
+2021-05-10 Vlad Glagolev <stealth AT sourcemage.org>
+ * PRE_BUILD, libressl.patch: removed, no longer needed
+
2020-12-31 Florian Franzmann <bwlf AT bandrate.org>
* DETAILS: version 3.5.1
diff --git a/archive-libs/libarchive/PRE_BUILD
b/archive-libs/libarchive/PRE_BUILD
deleted file mode 100755
index 2af8029..0000000
--- a/archive-libs/libarchive/PRE_BUILD
+++ /dev/null
@@ -1,4 +0,0 @@
-default_pre_build &&
-cd "${SOURCE_DIRECTORY}" &&
-
-patch -p1 < "${SPELL_DIRECTORY}/libressl.patch"
diff --git a/archive-libs/libarchive/libressl.patch
b/archive-libs/libarchive/libressl.patch
deleted file mode 100644
index 6cc6aba..0000000
--- a/archive-libs/libarchive/libressl.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 966f2546cba91e53e1c5afce6969752ad90f8adc Mon Sep 17 00:00:00 2001
-From: Florian Franzmann <bwlf AT bandrate.org>
-Date: Mon, 10 Jul 2017 19:02:12 +0200
-Subject: [PATCH] libressl
-
----
- libarchive/archive_openssl_evp_private.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libarchive/archive_openssl_evp_private.h
b/libarchive/archive_openssl_evp_private.h
-index 43a3ccc..90b1c8f 100644
---- a/libarchive/archive_openssl_evp_private.h
-+++ b/libarchive/archive_openssl_evp_private.h
-@@ -28,7 +28,7 @@
- #include <openssl/evp.h>
- #include <openssl/opensslv.h>
-
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
- #include <stdlib.h> /* malloc, free */
- #include <string.h> /* memset */
- static inline EVP_MD_CTX *EVP_MD_CTX_new(void)
---
-2.13.2
-
diff --git a/mail/exim/DETAILS b/mail/exim/DETAILS
index a3dfd64..8965ba1 100755
--- a/mail/exim/DETAILS
+++ b/mail/exim/DETAILS
@@ -1,6 +1,6 @@
SPELL=exim
- VERSION=4.91
- SECURITY_PATCH=14
+ VERSION=4.94.2
+ SECURITY_PATCH=15
STAGED_INSTALL="off"
SOURCE=$SPELL-$VERSION.tar.bz2
SOURCE2=$SOURCE.asc
diff --git a/mail/exim/HISTORY b/mail/exim/HISTORY
index 55e10c2..1db2eef 100644
--- a/mail/exim/HISTORY
+++ b/mail/exim/HISTORY
@@ -1,3 +1,7 @@
+2021-05-10 Vlad Glagolev <stealth AT sourcemage.org>
+ * DETAILS: updated spell to 4.94.2; SECURITY_PATCH++
+ * cve-*.patch: removed, fixed by upstream
+
2021-02-10 Vlad Glagolev <stealth AT sourcemage.org>
* CONFIGURE, BUILD: added proxy settings
diff --git a/mail/exim/PRE_BUILD b/mail/exim/PRE_BUILD
index 928954c..d9b9adf 100755
--- a/mail/exim/PRE_BUILD
+++ b/mail/exim/PRE_BUILD
@@ -2,9 +2,6 @@ default_pre_build &&
cd "${SOURCE_DIRECTORY}" &&
patch -p0 < "${SPELL_DIRECTORY}/config.patch" &&
-patch -p1 < "${SPELL_DIRECTORY}/cve-2019-10149.patch" &&
-patch -p0 < "${SPELL_DIRECTORY}/cve-2019-13917.patch" &&
-patch -p0 < "${SPELL_DIRECTORY}/cve-2019-15846.patch" &&
sed -i "/SYSTEM_ALIASES_FILE/ s'SYSTEM_ALIASES_FILE'/etc/aliases'" \
src/configure.default
diff --git a/mail/exim/cve-2019-10149.patch b/mail/exim/cve-2019-10149.patch
deleted file mode 100644
index d958e29..0000000
--- a/mail/exim/cve-2019-10149.patch
+++ /dev/null
@@ -1,106 +0,0 @@
-From d740d2111f189760593a303124ff6b9b1f83453d Mon Sep 17 00:00:00 2001
-From: Jeremy Harris <jgh146exb AT wizmail.org>
-Date: Mon, 27 May 2019 21:57:31 +0100
-Subject: [PATCH] Fix CVE-2019-10149
-
----
- doc/ChangeLog | 2 ++
- doc/cve-2019-10149 | 36 ++++++++++++++++++++++++++++++++++++
- src/deliver.c | 22 ++++++++++++++--------
- 3 files changed, 52 insertions(+), 8 deletions(-)
- create mode 100644 doc/doc-txt/cve-2019-10149
-
-diff --git a/doc/ChangeLog b/doc/ChangeLog
-index 751b1d5..d9b8969 100644
---- a/doc/ChangeLog
-+++ b/doc/ChangeLog
-@@ -85,6 +85,8 @@ JH/41 Fix the loop reading a message header line to check
for integer overflow,
- JH/42 Bug 2366: Fix the behaviour of the dkim_verify_signers option. It had
- been totally disabled for all of 4.91. Discovery and fix by "Mad
Alex".
-
-+JH/43 Fix CVE-2019-10149
-+
-
- Exim version 4.91
- -----------------
-diff --git a/doc/cve-2019-10149 b/doc/cve-2019-10149
-new file mode 100644
-index 0000000..4a9d3fb
---- /dev/null
-+++ b/doc/cve-2019-10149
-@@ -0,0 +1,36 @@
-+CVE-2019-10149 Exim 4.87 to 4.91
-+================================
-+
-+We received a report of a possible remote exploit. Currently there is no
-+evidence of an active use of this exploit.
-+
-+A patch exists already, is being tested, and backported to all
-+versions we released since (and including) 4.87.
-+
-+The severity depends on your configuration. It depends on how close to
-+the standard configuration your Exim runtime configuration is. The
-+closer the better.
-+
-+Exim 4.92 is not vulnerable.
-+
-+Next steps:
-+
-+* t0: Distros will get access to our non-public security Git repo
-+ (access is granted based on the SSH keys that are known to us)
-+
-+* t0+7d: Coordinated Release Date: Distros should push the patched
-+ version to their repos. The Exim maintainers will publish
-+ the fixed source to the official and public Git repo.
-+
-+t0 is expected to be 2019-06-04, 10:00 UTC
-+t0+7d is expected to be 2019-06-11, 10:00 UTC
-+
-+
-+Timeline
-+--------
-+
-+* 2019-05-27 Report from Qualys to exim-security list
-+* 2019-05-27 Patch provided by Jeremy Harris
-+* 2019-05-29 CVE-2019-10149 assigned from Qualys via RedHat
-+* 2019-06-03 This announcement
-+* 2019-06-04 10:00 UTC Grant access to the non-public security Git repo
-diff --git a/src/deliver.c b/src/deliver.c
-index 59256ac..45cc072 100644
---- a/src/deliver.c
-+++ b/src/deliver.c
-@@ -6227,17 +6227,23 @@ if (process_recipients != RECIP_IGNORE)
- {
- uschar * save_local = deliver_localpart;
- const uschar * save_domain = deliver_domain;
-+ uschar * addr = new->address, * errmsg = NULL;
-+ int start, end, dom;
-
-- deliver_localpart = expand_string(
-- string_sprintf("${local_part:%s}", new->address));
-- deliver_domain = expand_string(
-- string_sprintf("${domain:%s}", new->address));
-+ if (!parse_extract_address(addr, &errmsg, &start, &end, &dom, TRUE))
-+ log_write(0, LOG_MAIN|LOG_PANIC,
-+ "failed to parse address '%.100s': %s\n", addr, errmsg);
-+ else
-+ {
-+ deliver_localpart =
-+ string_copyn(addr+start, dom ? (dom-1) - start : end - start);
-+ deliver_domain = dom ? CUS string_copyn(addr+dom, end - dom) :
CUS"";
-
-- (void) event_raise(event_action,
-- US"msg:fail:internal", new->message);
-+ event_raise(event_action, US"msg:fail:internal", new->message);
-
-- deliver_localpart = save_local;
-- deliver_domain = save_domain;
-+ deliver_localpart = save_local;
-+ deliver_domain = save_domain;
-+ }
- }
- #endif
- }
---
-1.9.1
-
diff --git a/mail/exim/cve-2019-13917.patch b/mail/exim/cve-2019-13917.patch
deleted file mode 100644
index a0cff22..0000000
--- a/mail/exim/cve-2019-13917.patch
+++ /dev/null
@@ -1,434 +0,0 @@
---- doc/ChangeLog.orig
-+++ doc/ChangeLog
-@@ -6,6 +6,8 @@
-
- JH/43 Fix CVE-2019-10149
-
-+JH/31 Avoid re-expansion in ${sort } expansion. (CVE-2019-13917,
OVE-20190718-0006)
-+
-
- Exim version 4.91
- -----------------
---- doc/cve-2019-13917.orig
-+++ doc/cve-2019-13917
-@@ -0,0 +1,46 @@
-+CVE ID: CVE-2019-13917
-+OVE ID: OVE-20190718-0006
-+Date: 2019-07-18
-+Credits: Jeremy Harris
-+Version(s): 4.85 up to and including 4.92
-+Issue: A local or remote attacker can execute programs with root
-+ privileges - if you've an unusual configuration. See below.
-+
-+Conditions to be vulnerable
-+===========================
-+
-+If your configuration uses the ${sort } expansion for items that can be
-+controlled by an attacker (e.g. $local_part, $domain). The default
-+config, as shipped by the Exim developers, does not contain ${sort }.
-+
-+Details
-+=======
-+
-+The vulnerability is exploitable either remotely or locally and could
-+be used to execute other programs with root privilege. The ${sort }
-+expansion re-evaluates its items.
-+
-+Mitigation
-+==========
-+
-+Do not use ${sort } in your configuration.
-+
-+Fix
-+===
-+
-+Download and build a fixed version:
-+
-+ Tarballs: http://ftp.exim.org/pub/exim/exim4/
-+ Git: https://github.com/Exim/exim.git
-+ - tag exim-4.92.1
-+ - branch exim-4.92+fixes
-+
-+The tagged commit is the officially released version. The +fixes branch
-+isn't officially maintained, but contains useful patches *and* the
-+security fix.
-+
-+If you can't install the above versions, ask your package maintainer for
-+a version containing the backported fix. On request and depending on our
-+resources we will support you in backporting the fix. (Please note,
-+that Exim project officially doesn't support versions prior the current
-+stable version.)
---- src/expand.c.orig
-+++ src/expand.c
-@@ -2106,7 +2106,56 @@ return ret;
-
-
-
-+/************************************************/
-+/* Return offset in ops table, or -1 if not found.
-+Repoint to just after the operator in the string.
-
-+Argument:
-+ ss string representation of operator
-+ opname split-out operator name
-+*/
-+
-+static int
-+identify_operator(const uschar ** ss, uschar ** opname)
-+{
-+const uschar * s = *ss;
-+uschar name[256];
-+
-+/* Numeric comparisons are symbolic */
-+
-+if (*s == '=' || *s == '>' || *s == '<')
-+ {
-+ int p = 0;
-+ name[p++] = *s++;
-+ if (*s == '=')
-+ {
-+ name[p++] = '=';
-+ s++;
-+ }
-+ name[p] = 0;
-+ }
-+
-+/* All other conditions are named */
-+
-+else
-+ s = read_name(name, sizeof(name), s, US"_");
-+*ss = s;
-+
-+/* If we haven't read a name, it means some non-alpha character is first. */
-+
-+if (!name[0])
-+ {
-+ expand_string_message = string_sprintf("condition name expected, "
-+ "but found \"%.16s\"", s);
-+ return -1;
-+ }
-+if (opname)
-+ *opname = string_copy(name);
-+
-+return chop_match(name, cond_table, nelem(cond_table));
-+}
-+
-+
- /*************************************************
- * Read and evaluate a condition *
- *************************************************/
-@@ -2136,6 +2185,7 @@ BOOL sub2_honour_dollar = TRUE;
- int i, rc, cond_type, roffset;
- int_eximarith_t num[2];
- struct stat statbuf;
-+uschar * opname;
- uschar name[256];
- const uschar *sub[10];
-
-@@ -2148,38 +2198,8 @@ for (;;)
- if (*s == '!') { testfor = !testfor; s++; } else break;
- }
-
--/* Numeric comparisons are symbolic */
--
--if (*s == '=' || *s == '>' || *s == '<')
-+switch(cond_type = identify_operator(&s, &opname))
- {
-- int p = 0;
-- name[p++] = *s++;
-- if (*s == '=')
-- {
-- name[p++] = '=';
-- s++;
-- }
-- name[p] = 0;
-- }
--
--/* All other conditions are named */
--
--else s = read_name(name, 256, s, US"_");
--
--/* If we haven't read a name, it means some non-alpha character is first. */
--
--if (name[0] == 0)
-- {
-- expand_string_message = string_sprintf("condition name expected, "
-- "but found \"%.16s\"", s);
-- return NULL;
-- }
--
--/* Find which condition we are dealing with, and switch on it */
--
--cond_type = chop_match(name, cond_table, nelem(cond_table));
--switch(cond_type)
-- {
- /* def: tests for a non-empty variable, or for the existence of a header.
If
- yield == NULL we are in a skipping state, and don't care about the
answer. */
-
-@@ -2495,7 +2515,7 @@ switch(cond_type)
- {
- if (i == 0) goto COND_FAILED_CURLY_START;
- expand_string_message = string_sprintf("missing 2nd string in {} "
-- "after \"%s\"", name);
-+ "after \"%s\"", opname);
- return NULL;
- }
- sub[i] = expand_string_internal(s+1, TRUE, &s, yield == NULL,
-@@ -2507,7 +2527,7 @@ switch(cond_type)
- conditions that compare numbers do not start with a letter. This just
saves
- checking for them individually. */
-
-- if (!isalpha(name[0]) && yield != NULL)
-+ if (!isalpha(opname[0]) && yield != NULL)
- if (sub[i][0] == 0)
- {
- num[i] = 0;
-@@ -2821,7 +2841,7 @@ switch(cond_type)
- uschar *save_iterate_item = iterate_item;
- int (*compare)(const uschar *, const uschar *);
-
-- DEBUG(D_expand) debug_printf_indent("condition: %s item: %s\n",
name, sub[0]);
-+ DEBUG(D_expand) debug_printf_indent("condition: %s item: %s\n",
opname, sub[0]);
-
- tempcond = FALSE;
- compare = cond_type == ECOND_INLISTI
-@@ -2863,14 +2883,14 @@ switch(cond_type)
- if (*s != '{') /* }-for-text-editors
*/
- {
- expand_string_message = string_sprintf("each subcondition "
-- "inside an \"%s{...}\" condition must be in its own {}", name);
-+ "inside an \"%s{...}\" condition must be in its own {}", opname);
- return NULL;
- }
-
- if (!(s = eval_condition(s+1, resetok, subcondptr)))
- {
- expand_string_message = string_sprintf("%s inside \"%s{...}\"
condition",
-- expand_string_message, name);
-+ expand_string_message, opname);
- return NULL;
- }
- while (isspace(*s)) s++;
-@@ -2880,7 +2900,7 @@ switch(cond_type)
- {
- /* {-for-text-editors */
- expand_string_message = string_sprintf("missing } at end of condition
"
-- "inside \"%s\" group", name);
-+ "inside \"%s\" group", opname);
- return NULL;
- }
-
-@@ -2912,7 +2932,7 @@ switch(cond_type)
- int sep = 0;
- uschar *save_iterate_item = iterate_item;
-
-- DEBUG(D_expand) debug_printf_indent("condition: %s\n", name);
-+ DEBUG(D_expand) debug_printf_indent("condition: %s\n", opname);
-
- while (isspace(*s)) s++;
- if (*s++ != '{') goto COND_FAILED_CURLY_START; /* }-for-text-editors
*/
-@@ -2933,7 +2953,7 @@ switch(cond_type)
- if (!(s = eval_condition(sub[1], resetok, NULL)))
- {
- expand_string_message = string_sprintf("%s inside \"%s\" condition",
-- expand_string_message, name);
-+ expand_string_message, opname);
- return NULL;
- }
- while (isspace(*s)) s++;
-@@ -2943,7 +2963,7 @@ switch(cond_type)
- {
- /* {-for-text-editors */
- expand_string_message = string_sprintf("missing } at end of condition
"
-- "inside \"%s\"", name);
-+ "inside \"%s\"", opname);
- return NULL;
- }
-
-@@ -2955,11 +2975,11 @@ switch(cond_type)
- if (!eval_condition(sub[1], resetok, &tempcond))
- {
- expand_string_message = string_sprintf("%s inside \"%s\" condition",
-- expand_string_message, name);
-+ expand_string_message, opname);
- iterate_item = save_iterate_item;
- return NULL;
- }
-- DEBUG(D_expand) debug_printf_indent("%s: condition evaluated to
%s\n", name,
-+ DEBUG(D_expand) debug_printf_indent("%s: condition evaluated to
%s\n", opname,
- tempcond? "true":"false");
-
- if (yield != NULL) *yield = (tempcond == testfor);
-@@ -3052,19 +3072,20 @@ switch(cond_type)
- /* Unknown condition */
-
- default:
-- expand_string_message = string_sprintf("unknown condition \"%s\"", name);
-- return NULL;
-+ if (!expand_string_message || !*expand_string_message)
-+ expand_string_message = string_sprintf("unknown condition \"%s\"",
opname);
-+ return NULL;
- } /* End switch on condition type */
-
- /* Missing braces at start and end of data */
-
- COND_FAILED_CURLY_START:
--expand_string_message = string_sprintf("missing { after \"%s\"", name);
-+expand_string_message = string_sprintf("missing { after \"%s\"", opname);
- return NULL;
-
- COND_FAILED_CURLY_END:
- expand_string_message = string_sprintf("missing } at end of \"%s\"
condition",
-- name);
-+ opname);
- return NULL;
-
- /* A condition requires code that is not compiled */
-@@ -3074,7 +3095,7 @@ return NULL;
- !defined(SUPPORT_CRYPTEQ) || !defined(CYRUS_SASLAUTHD_SOCKET)
- COND_FAILED_NOT_COMPILED:
- expand_string_message = string_sprintf("support for \"%s\" not compiled",
-- name);
-+ opname);
- return NULL;
- #endif
- }
-@@ -3783,6 +3804,57 @@ return x;
-
-
-
-+/************************************************/
-+/* Comparison operation for sort expansion. We need to avoid
-+re-expanding the fields being compared, so need a custom routine.
-+
-+Arguments:
-+ cond_type Comparison operator code
-+ leftarg, rightarg Arguments for comparison
-+
-+Return true iff (leftarg compare rightarg)
-+*/
-+
-+static BOOL
-+sortsbefore(int cond_type, BOOL alpha_cond,
-+ const uschar * leftarg, const uschar * rightarg)
-+{
-+int_eximarith_t l_num, r_num;
-+
-+if (!alpha_cond)
-+ {
-+ l_num = expanded_string_integer(leftarg, FALSE);
-+ if (expand_string_message) return FALSE;
-+ r_num = expanded_string_integer(rightarg, FALSE);
-+ if (expand_string_message) return FALSE;
-+
-+ switch (cond_type)
-+ {
-+ case ECOND_NUM_G: return l_num > r_num;
-+ case ECOND_NUM_GE: return l_num >= r_num;
-+ case ECOND_NUM_L: return l_num < r_num;
-+ case ECOND_NUM_LE: return l_num <= r_num;
-+ default: break;
-+ }
-+ }
-+else
-+ switch (cond_type)
-+ {
-+ case ECOND_STR_LT: return Ustrcmp (leftarg, rightarg) < 0;
-+ case ECOND_STR_LTI: return strcmpic(leftarg, rightarg) < 0;
-+ case ECOND_STR_LE: return Ustrcmp (leftarg, rightarg) <= 0;
-+ case ECOND_STR_LEI: return strcmpic(leftarg, rightarg) <= 0;
-+ case ECOND_STR_GT: return Ustrcmp (leftarg, rightarg) > 0;
-+ case ECOND_STR_GTI: return strcmpic(leftarg, rightarg) > 0;
-+ case ECOND_STR_GE: return Ustrcmp (leftarg, rightarg) >= 0;
-+ case ECOND_STR_GEI: return strcmpic(leftarg, rightarg) >= 0;
-+ default: break;
-+ }
-+return FALSE; /* should not happen */
-+}
-+
-+
-+
- /*************************************************
- * Expand string *
- *************************************************/
-@@ -5909,9 +5981,10 @@ while (*s != 0)
-
- case EITEM_SORT:
- {
-+ int cond_type;
- int sep = 0;
- const uschar *srclist, *cmp, *xtract;
-- uschar *srcitem;
-+ uschar * opname, * srcitem;
- const uschar *dstlist = NULL, *dstkeylist = NULL;
- uschar * tmp;
- uschar *save_iterate_item = iterate_item;
-@@ -5946,6 +6019,25 @@ while (*s != 0)
- goto EXPAND_FAILED_CURLY;
- }
-
-+ if ((cond_type = identify_operator(&cmp, &opname)) == -1)
-+ {
-+ if (!expand_string_message)
-+ expand_string_message = string_sprintf("unknown condition \"%s\"",
s);
-+ goto EXPAND_FAILED;
-+ }
-+ switch(cond_type)
-+ {
-+ case ECOND_NUM_L: case ECOND_NUM_LE:
-+ case ECOND_NUM_G: case ECOND_NUM_GE:
-+ case ECOND_STR_GE: case ECOND_STR_GEI: case ECOND_STR_GT: case
ECOND_STR_GTI:
-+ case ECOND_STR_LE: case ECOND_STR_LEI: case ECOND_STR_LT: case
ECOND_STR_LTI:
-+ break;
-+
-+ default:
-+ expand_string_message = US"comparator not handled for sort";
-+ goto EXPAND_FAILED;
-+ }
-+
- while (isspace(*s)) s++;
- if (*s++ != '{')
- {
-@@ -5973,11 +6065,10 @@ while (*s != 0)
- if (skipping) continue;
-
- while ((srcitem = string_nextinlist(&srclist, &sep, NULL, 0)))
-- {
-- uschar * dstitem;
-+ {
-+ uschar * srcfield, * dstitem;
- gstring * newlist = NULL;
- gstring * newkeylist = NULL;
-- uschar * srcfield;
-
- DEBUG(D_expand) debug_printf_indent("%s: $item = \"%s\"\n", name,
srcitem);
-
-@@ -5998,25 +6089,15 @@ while (*s != 0)
- while ((dstitem = string_nextinlist(&dstlist, &sep, NULL, 0)))
- {
- uschar * dstfield;
-- uschar * expr;
-- BOOL before;
-
- /* field for comparison */
- if (!(dstfield = string_nextinlist(&dstkeylist, &sep, NULL, 0)))
- goto sort_mismatch;
-
-- /* build and run condition string */
-- expr = string_sprintf("%s{%s}{%s}", cmp, srcfield, dstfield);
-+ /* String-comparator names start with a letter; numeric names do
not */
-
-- DEBUG(D_expand) debug_printf_indent("%s: cond = \"%s\"\n", name,
expr);
-- if (!eval_condition(expr, &resetok, &before))
-- {
-- expand_string_message = string_sprintf("comparison in sort: %s",
-- expr);
-- goto EXPAND_FAILED;
-- }
--
-- if (before)
-+ if (sortsbefore(cond_type, isalpha(opname[0]),
-+ srcfield, dstfield))
- {
- /* New-item sorts before this dst-item. Append new-item,
- then dst-item, then remainder of dst list. */
diff --git a/mail/exim/cve-2019-15846.patch b/mail/exim/cve-2019-15846.patch
deleted file mode 100644
index 5c834b4..0000000
--- a/mail/exim/cve-2019-15846.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-$OpenBSD$
-Index: src/string.c
---- src/string.c.orig
-+++ src/string.c
-@@ -223,6 +223,8 @@ interpreted in strings.
- Arguments:
- pp points a pointer to the initiating "\" in the string;
- the pointer gets updated to point to the final character
-+ If the backslash is the last character in the string, it
-+ is not interpreted.
- Returns: the value of the character escape
- */
-
-@@ -235,6 +237,7 @@ const uschar *hex_digits= CUS"0123456789abcdef";
- int ch;
- const uschar *p = *pp;
- ch = *(++p);
-+if (ch == '\0') return **pp;
- if (isdigit(ch) && ch != '8' && ch != '9')
- {
- ch -= '0';
-@@ -1158,8 +1161,8 @@ memcpy(g->s + p, s, count);
- g->ptr = p + count;
- return g;
- }
--
--
-+
-+
- gstring *
- string_cat(gstring *string, const uschar *s)
- {
diff --git a/mail/mailx/HISTORY b/mail/mailx/HISTORY
index 2798562..414072a 100644
--- a/mail/mailx/HISTORY
+++ b/mail/mailx/HISTORY
@@ -1,3 +1,6 @@
+2021-05-10 Vlad Glagolev <stealth AT sourcemage.org>
+ * libressl.patch: updated patch for newer libressl
+
2015-05-25 Thomas Orgis <sobukus AT sourcemage.org>
* DETAILS: remove SOURCEFORGE_URL usage (automated)
diff --git a/mail/mailx/libressl.patch b/mail/mailx/libressl.patch
index 8cca072..cea9377 100644
--- a/mail/mailx/libressl.patch
+++ b/mail/mailx/libressl.patch
@@ -1,22 +1,53 @@
+From: Adam Duskett <aduskett AT gmail.com>
+Date: Fri, 4 Aug 2017 07:22:47 -0400
+Subject: [PATCH] fix libressl support
+
+heirloom-mailx has two small issues when compiling against LibreSSL:
+ - RAND_egd is used (LibreSSL does not support RAND_egd)
+ Solution: "Guard" the code calling RAND_egd
+
+ - SSLv3_client_method function is used (LibreSSL does not support SSLv3)
+ Solution: "Guard" the code with #ifndef OPENSSL_NO_SSL3
+
+Signed-off-by: Adam Duskett <aduskett AT gmail.com>
+---
+ openssl.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/openssl.c b/openssl.c
+index 44fe4e5..c4a1bb7 100644
--- openssl.c.orig
+++ openssl.c
-@@ -56,6 +56,7 @@
- static struct termios otio;
- static sigjmp_buf ssljmp;
-
-+#include <stdint.h>
- #include <openssl/crypto.h>
- #include <openssl/ssl.h>
- #include <openssl/err.h>
-@@ -137,11 +138,6 @@
+@@ -137,11 +137,13 @@ ssl_rand_init(void)
if ((cp = value("ssl-rand-egd")) != NULL) {
cp = expand(cp);
-- if (RAND_egd(cp) == -1) {
-- fprintf(stderr, catgets(catd, CATSET, 245,
-- "entropy daemon at \"%s\" not available\n"),
-- cp);
-- } else
++#ifndef OPENSSL_NO_EGD
+ if (RAND_egd(cp) == -1) {
+ fprintf(stderr, catgets(catd, CATSET, 245,
+ "entropy daemon at \"%s\" not available\n"),
+ cp);
+ } else
++#endif
state = 1;
} else if ((cp = value("ssl-rand-file")) != NULL) {
cp = expand(cp);
+@@ -216,10 +218,15 @@ ssl_select_method(const char *uhp)
+
+ cp = ssl_method_string(uhp);
+ if (cp != NULL) {
++ #ifndef OPENSSL_NO_SSL3
+ if (equal(cp, "ssl3"))
+ method = SSLv3_client_method();
+ else if (equal(cp, "tls1"))
+ method = TLSv1_client_method();
++ #else
++ if (equal(cp, "tls1"))
++ method = TLSv1_client_method();
++ #endif
+ else {
+ fprintf(stderr, catgets(catd, CATSET, 244,
+ "Invalid SSL method \"%s\"\n"), cp);
+--
+2.13.3
+
diff --git a/net/haproxy/BUILD b/net/haproxy/BUILD
index c132432..9ccb266 100755
--- a/net/haproxy/BUILD
+++ b/net/haproxy/BUILD
@@ -1 +1 @@
-make TARGET=linux2628 CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" ${OPTS}
+make TARGET=linux-glibc CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" ${OPTS}
diff --git a/net/haproxy/DETAILS b/net/haproxy/DETAILS
index 810e559..7040ccf 100755
--- a/net/haproxy/DETAILS
+++ b/net/haproxy/DETAILS
@@ -1,9 +1,9 @@
SPELL=haproxy
- VERSION=1.5.17
+ VERSION=2.0.22
BRANCH=`echo ${VERSION}|cut -d. -f1,2`
SOURCE=${SPELL}-${VERSION}.tar.gz
SOURCE_URL[0]=http://www.haproxy.org/download/${BRANCH}/src/${SOURCE}
-
SOURCE_HASH=sha512:4a2738dd0da04f88af9ecf29a3ef740efe0867c7e7a31ff5df0f710d5685f38e7bb29ecaddf03a90c04ace5bfa9b9b7fb9835abcb9253bc158b8957116c1910a
+
SOURCE_HASH=sha512:29a1ee6d77892003ab4d813336d1ea165d91784bcf2124b98ca030e376e7ccc1c1b9f09e9a85ef0cd04f9808b589bfc7b7c19f831dcb55bb41d7777a172112ff
SOURCE_DIRECTORY="${BUILD_DIRECTORY}/${SPELL}-${VERSION}"
DOC_DIRS="doc/design-thoughts doc/internals"
WEB_SITE=http://www.haproxy.org/
diff --git a/net/haproxy/HISTORY b/net/haproxy/HISTORY
index 861c133..7f2b681 100644
--- a/net/haproxy/HISTORY
+++ b/net/haproxy/HISTORY
@@ -1,3 +1,7 @@
+2021-05-10 Vlad Glagolev <stealth AT sourcemage.org>
+ * DETAILS: updated spell to 2.0.22
+ * BUILD: updated target
+
2016-04-17 Vlad Glagolev <stealth AT sourcemage.org>
* DETAILS: updated spell to 1.5.17
diff --git a/net/nsd/DETAILS b/net/nsd/DETAILS
index f1892db..2ccf2a0 100755
--- a/net/nsd/DETAILS
+++ b/net/nsd/DETAILS
@@ -1,9 +1,9 @@
SPELL=nsd
- VERSION=4.1.2
+ VERSION=4.3.6
SECURITY_PATCH=3
SOURCE=$SPELL-$VERSION.tar.gz
SOURCE_URL[0]=http://www.nlnetlabs.nl/downloads/$SPELL/$SOURCE
-
SOURCE_HASH=sha512:d1abbeb4438a34bca57b7e20b0aecad4d0a62d3126a2e70fd01ba2e02dc681de55892d64e33075d7a1be7071f29262b884c00fa2f49d792ad5dcf3932103cc8f
+
SOURCE_HASH=sha512:d87837b483ab37fde5d3eae7dca4c9e2672a718a1f49847db13232358108a5e0d6395c07d3fac72092a949d3c9861cd1dbed3e9bd0342ba6cbe7ca32feba09d0
SOURCE_DIRECTORY="$BUILD_DIRECTORY/$SPELL-$VERSION"
WEB_SITE=http://www.nlnetlabs.nl/projects/nsd/
LICENSE[0]=BSD
diff --git a/net/openntpd/DETAILS b/net/openntpd/DETAILS
index d013835..161c726 100755
--- a/net/openntpd/DETAILS
+++ b/net/openntpd/DETAILS
@@ -1,12 +1,12 @@
SPELL=openntpd
- VERSION=6.2p3
+ VERSION=6.8p1
SOURCE=$SPELL-$VERSION.tar.gz
SOURCE_URL[0]=ftp://ftp.openbsd.org/pub/OpenBSD/OpenNTPD/$SOURCE
SOURCE_URL[1]=http://ftp.eu.openbsd.org/pub/OpenBSD/OpenNTPD/$SOURCE
SOURCE_URL[2]=http://mirror.switch.ch/ftp/pub/OpenBSD/OpenNTPD/$SOURCE
SOURCE_URL[3]=http://mirror.ox.ac.uk/pub/OpenBSD/OpenNTPD/$SOURCE
SOURCE_URL[4]=http://mirror.aarnet.edu.au/pub/OpenBSD/OpenNTPD/$SOURCE
-
SOURCE_HASH=sha512:56a04bfd8b161b365607673ac80086ff53ae943938fa49bf52edbc541432eca30730a46a4af581fe26ce3bbceb144cb25982a38959b7a3f9304c727fe60f9f50
+
SOURCE_HASH=sha512:200056bedb9c757aae1ce5d3f6655175ec058cb479429fe4704955f3a3fa15e8a9cb578ae4898ddb4cfc08c9742bbab6a7c92b5e569f06a148e40c448360b58f
SOURCE_DIRECTORY="$BUILD_DIRECTORY/$SPELL-$VERSION"
WEB_SITE=http://www.openntpd.org/
LICENSE[0]=BSD
diff --git a/net/openntpd/HISTORY b/net/openntpd/HISTORY
index b111c6f..4caa147 100644
--- a/net/openntpd/HISTORY
+++ b/net/openntpd/HISTORY
@@ -1,3 +1,6 @@
+2021-05-10 Vlad Glagolev <stealth AT sourcemage.org>
+ * DETAILS: updated spell to 6.8p1
+
2020-11-21 Ismael Luceno <ismael AT sourcemage.org>
* BUILD: fixed build with binutils 2.35+
diff --git a/net/socat/DETAILS b/net/socat/DETAILS
index d74ae06..6579c46 100755
--- a/net/socat/DETAILS
+++ b/net/socat/DETAILS
@@ -1,7 +1,7 @@
SPELL=socat
- VERSION=1.7.3.4
- SECURITY_PATCH=6
-
SOURCE_HASH=sha512:c5699fd1a703e90927076599d02323b85722d49e86bc2f627b4301a41d3df72c634af629f378425ff201cde78343da5cd0cad1044bf857665176c91357401fdd
+ VERSION=1.7.4.1
+ SECURITY_PATCH=7
+
SOURCE_HASH=sha512:e43c8b23a841aea5ecc3ac324185ee4ada552a8284ec41b99245def2d8b493bca9caea1af6f646f434a7eda67a1dd71e4e037eea65fce0444840236eadb126a6
SOURCE=$SPELL-$VERSION.tar.gz
SOURCE_DIRECTORY="$BUILD_DIRECTORY/$SPELL-$VERSION"
SOURCE_URL[0]=http://www.dest-unreach.org/$SPELL/download/$SOURCE
diff --git a/net/socat/HISTORY b/net/socat/HISTORY
index 02b2e52..10af0bf 100644
--- a/net/socat/HISTORY
+++ b/net/socat/HISTORY
@@ -1,3 +1,6 @@
+2021-05-10 Vlad Glagolev <stealth AT sourcemage.org>
+ * DETAILS: updated spell to 1.7.4.1; SECURITY_PATCH++
+
2020-05-05 Treeve Jelbert <treeve AT sourcemage.org>
* DETAILS: version 1.7.3.4
- [SM-Commit] GIT changes to master grimoire by Vlad Glagolev (751843dec6bdb9af5e20858c28b8a12eeda0c529), Vlad Glagolev, 05/10/2021
Archive powered by MHonArc 2.6.24.