summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHeiko Schlittermann (HS12-RIPE) <hs@schlittermann.de>2021-05-09 11:26:03 +0200
committerHeiko Schlittermann (HS12-RIPE) <hs@schlittermann.de>2021-05-09 11:26:03 +0200
commit53b8b89b51a9b3f28b8e476528be0237c628261c (patch)
treee672fe5a7e71ebdfaaaf7cd07f360fdf38d45147
parente8ac8be0a3d56ba0a189fb970c339ac6e84769be (diff)
parente3311bc211d20617d90e75ea8ec7e01e6210483d (diff)
downloadexim4-53b8b89b51a9b3f28b8e476528be0237c628261c.tar.gz
Merge branch 'exim-4.94+fixes' into exim-4.94.2+fixes
-rw-r--r--doc/doc-txt/ChangeLog3
-rw-r--r--src/src/host.c4
-rw-r--r--test/scripts/0000-Basic/00022
-rw-r--r--test/stdout/00022
4 files changed, 7 insertions, 4 deletions
diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog
index ee508faab..9f104b4e6 100644
--- a/doc/doc-txt/ChangeLog
+++ b/doc/doc-txt/ChangeLog
@@ -220,6 +220,9 @@ QS/03 When reading the output from interpreted forward files we do not
QS/04 Always die if requested from internal logging, even is logging is
disabled.
+JH/52 Fix ${ip6norm:} operator. Previously, any trailing line text was dropped,
+ making it unusable in complex expressions.
+
Exim version 4.94
-----------------
diff --git a/src/src/host.c b/src/src/host.c
index dbc7ce20d..ee9d323a7 100644
--- a/src/src/host.c
+++ b/src/src/host.c
@@ -1197,9 +1197,9 @@ for (c = buffer, k = -1, i = 0; i < 8; i++)
c++;
}
-c[-1] = '\0'; /* drop trailing colon */
+*--c = '\0'; /* drop trailing colon */
-/* debug_printf("%s: D k %d <%s> <%s>\n", __FUNCTION__, k, d, d + 2*(k+1)); */
+/* debug_printf("%s: D k %d <%s> <%s>\n", __FUNCTION__, k, buffer, buffer + 2*(k+1)); */
if (k >= 0)
{ /* collapse */
c = d + 2*(k+1);
diff --git a/test/scripts/0000-Basic/0002 b/test/scripts/0000-Basic/0002
index 0a24fe988..7734b7153 100644
--- a/test/scripts/0000-Basic/0002
+++ b/test/scripts/0000-Basic/0002
@@ -258,7 +258,7 @@ ipv6norm: ${ipv6norm:2a00::1}
ipv6norm: ${ipv6norm:2a00:eadf:0000:0000:0000:0000:0001:0000}
ipv6norm: ${ipv6norm:2a00:eadf:0000:0001:0000:0000:0000:0000}
ipv6norm: ${ipv6norm:2a00:0:0:0::}
-ipv6norm: ${ipv6norm:2a00:2:3:4:5:6:7:8}
+ipv6norm: ${ipv6norm:2a00:2:3:4:5:6:7:8}trailing_text
nhash: ${nhash_24:monty} ${nhash_8_63:monty python}
lc/uc: ${lc:The Quick} ${uc: Brown Fox}
length: ${length_10:The quick brown fox} ${l_10:abc}
diff --git a/test/stdout/0002 b/test/stdout/0002
index 2cb01372e..0498c7c7a 100644
--- a/test/stdout/0002
+++ b/test/stdout/0002
@@ -240,7 +240,7 @@ newline tab\134backslash ~tilde\177DEL\200\201.
> ipv6norm: 2a00:eadf::1:0
> ipv6norm: 2a00:eadf:0:1::
> ipv6norm: 2a00::
-> ipv6norm: 2a00:2:3:4:5:6:7:8
+> ipv6norm: 2a00:2:3:4:5:6:7:8trailing_text
> nhash: 19 0/61
> lc/uc: the quick BROWN FOX
> length: The quick abc