summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHeiko Schlittermann (HS12-RIPE) <hs@schlittermann.de>2021-04-30 16:47:26 +0200
committerHeiko Schlittermann (HS12-RIPE) <hs@schlittermann.de>2021-04-30 16:47:26 +0200
commita21b981c16d54222b9876aa68d8dc3c3686791cb (patch)
tree12e0f057436b3d82d1617b82c7962e1fd86ac6ea
parenta0422ffb71d0b2a21f5785afd84a687bab2c597b (diff)
parent919111edac911ba9c15422eafd7c5bf14d416d26 (diff)
downloadexim4-a21b981c16d54222b9876aa68d8dc3c3686791cb.tar.gz
Merge tag 'exim-4.94.2' into exim-4.94.1+taintwarn
Bugfix for previous security release
-rw-r--r--src/src/smtp_in.c5
-rw-r--r--test/log/09001
-rw-r--r--test/scripts/0000-Basic/090036
-rw-r--r--test/stdout/090046
4 files changed, 76 insertions, 12 deletions
diff --git a/src/src/smtp_in.c b/src/src/smtp_in.c
index e57059a51..17d17beb9 100644
--- a/src/src/smtp_in.c
+++ b/src/src/smtp_in.c
@@ -843,6 +843,7 @@ int
bdat_ungetc(int ch)
{
chunking_data_left++;
+bdat_push_receive_functions(); /* we're not done yet, calling push is safe, because it checks the state before pushing anything */
return lwr_receive_ungetc(ch);
}
@@ -2477,7 +2478,7 @@ TCP_SYN_RCV (as of 12.1) so no idea about data-use. */
if (getsockopt(fileno(smtp_out), IPPROTO_TCP, TCP_FASTOPEN, &is_fastopen, &len) == 0)
{
- if (is_fastopen)
+ if (is_fastopen)
{
DEBUG(D_receive)
debug_printf("TFO mode connection (TCP_FASTOPEN getsockopt)\n");
@@ -5859,7 +5860,7 @@ while (done <= 0)
/* If not serializing, do the exec right away. Otherwise, fork down
into another process. */
- if ( !smtp_etrn_serialize
+ if ( !smtp_etrn_serialize
|| (pid = exim_fork(US"etrn-serialised-command")) == 0)
{
DEBUG(D_exec) debug_print_argv(argv);
diff --git a/test/log/0900 b/test/log/0900
index 305aa94e0..00a44eb6f 100644
--- a/test/log/0900
+++ b/test/log/0900
@@ -10,3 +10,4 @@
1999-03-02 09:44:33 10HmbB-0005vi-00 <= someone@some.domain H=(tester) [127.0.0.1] P=esmtp K S=sss for CALLER@test.ex
1999-03-02 09:44:33 H=(tester) [127.0.0.1] F=<someone@some.domain> rejected RCPT <dummy@reject.ex>: relay not permitted
1999-03-02 09:44:33 rejected from <someone@some.domain> H=(tester) [127.0.0.1]: Non-CRLF-terminated header, under CHUNKING: message abandoned
+1999-03-02 09:44:33 10HmbC-0005vi-00 <= someone@some.domain H=(tester) [127.0.0.1] P=esmtp K S=sss for CALLER@test.ex
diff --git a/test/scripts/0000-Basic/0900 b/test/scripts/0000-Basic/0900
index 4503ae0c0..1c0e43552 100644
--- a/test/scripts/0000-Basic/0900
+++ b/test/scripts/0000-Basic/0900
@@ -38,7 +38,7 @@ ehlo tester
??? 250-
??? 250-
??? 250-
-??? 250
+??? 250
mail from:someone@some.domain
??? 250
rcpt to:CALLER@test.ex
@@ -82,7 +82,7 @@ ehlo tester
??? 250-
??? 250-
??? 250-
-??? 250
+??? 250
mail from:someone@some.domain
??? 250
rcpt to:CALLER@test.ex
@@ -105,7 +105,7 @@ ehlo tester
??? 250-
??? 250-
??? 250-
-??? 250
+??? 250
mail from:someone@some.domain
??? 250
rcpt to:CALLER@test.ex
@@ -131,7 +131,7 @@ ehlo tester
??? 250-
??? 250-
??? 250-
-??? 250
+??? 250
mail from:someone@some.domain
??? 250
rcpt to:CALLER@test.ex
@@ -152,7 +152,7 @@ EHLO tester
??? 250-
??? 250-
??? 250-
-??? 250
+??? 250
mail from:someone@some.domain
??? 250
rcpt to:CALLER@test.ex
@@ -240,6 +240,32 @@ quit
??? 221
****
#
+# plain, small message (body w/o lineend)
+client 127.0.0.1 PORT_D
+??? 220
+ehlo tester
+??? 250-
+??? 250-SIZE
+??? 250-8BITMIME
+??? 250-PIPELINING
+??? 250-CHUNKING
+??? 250 HELP
+mail from:someone@some.domain
+??? 250
+rcpt to:CALLER@test.ex
+??? 250
+bdat 98 last
+To: Susan@random.com
+From: Sam@random.com
+Subject: This is a bodyfull test message
+
+>>> 1234567890
+??? 250-
+??? 250
+quit
+??? 221
+****
+#
#
killdaemon
no_msglog_check
diff --git a/test/stdout/0900 b/test/stdout/0900
index 72269fad9..ccd10f0a1 100644
--- a/test/stdout/0900
+++ b/test/stdout/0900
@@ -47,7 +47,7 @@ Connecting to 127.0.0.1 port 1225 ... connected
<<< 250-PIPELINING
??? 250-
<<< 250-CHUNKING
-??? 250
+??? 250
<<< 250 HELP
>>> mail from:someone@some.domain
??? 250
@@ -107,7 +107,7 @@ Connecting to 127.0.0.1 port 1225 ... connected
<<< 250-PIPELINING
??? 250-
<<< 250-CHUNKING
-??? 250
+??? 250
<<< 250 HELP
>>> mail from:someone@some.domain
??? 250
@@ -137,7 +137,7 @@ Connecting to 127.0.0.1 port 1225 ... connected
<<< 250-PIPELINING
??? 250-
<<< 250-CHUNKING
-??? 250
+??? 250
<<< 250 HELP
>>> mail from:someone@some.domain
??? 250
@@ -173,7 +173,7 @@ Connecting to 127.0.0.1 port 1225 ... connected
<<< 250-PIPELINING
??? 250-
<<< 250-CHUNKING
-??? 250
+??? 250
<<< 250 HELP
>>> mail from:someone@some.domain
??? 250
@@ -205,7 +205,7 @@ Connecting to 127.0.0.1 port 1225 ... connected
<<< 250-PIPELINING
??? 250-
<<< 250-CHUNKING
-??? 250
+??? 250
<<< 250 HELP
>>> mail from:someone@some.domain
??? 250
@@ -329,3 +329,39 @@ Connecting to 127.0.0.1 port 1225 ... connected
??? 221
<<< 221 testhost.test.ex closing connection
End of script
+Connecting to 127.0.0.1 port 1225 ... connected
+??? 220
+<<< 220 testhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+>>> ehlo tester
+??? 250-
+<<< 250-testhost.test.ex Hello tester [127.0.0.1]
+??? 250-SIZE
+<<< 250-SIZE 52428800
+??? 250-8BITMIME
+<<< 250-8BITMIME
+??? 250-PIPELINING
+<<< 250-PIPELINING
+??? 250-CHUNKING
+<<< 250-CHUNKING
+??? 250 HELP
+<<< 250 HELP
+>>> mail from:someone@some.domain
+??? 250
+<<< 250 OK
+>>> rcpt to:CALLER@test.ex
+??? 250
+<<< 250 Accepted
+>>> bdat 98 last
+>>> To: Susan@random.com
+>>> From: Sam@random.com
+>>> Subject: This is a bodyfull test message
+>>>
+>>> 1234567890
+??? 250-
+<<< 250- 98 byte chunk, total 100
+??? 250
+<<< 250 OK id=10HmbC-0005vi-00
+>>> quit
+??? 221
+<<< 221 testhost.test.ex closing connection
+End of script