summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Harris <jgh146exb@wizmail.org>2016-05-21 15:14:15 +0100
committerJeremy Harris <jgh146exb@wizmail.org>2016-05-21 15:14:15 +0100
commit157a7880a444b89c2c67e4076b697435a7e60f6a (patch)
treeda05ab0b30c793b28be3cf4b9d4746aa2e924e09
parentb4b3528b6ffe0a1bd405893052f9ce0788e8d46b (diff)
downloadexim4-157a7880a444b89c2c67e4076b697435a7e60f6a.tar.gz
Testsuite: GnuTLS server TLD startup errors testcase
-rw-r--r--src/src/tls-gnu.c4
l---------test/confs/20341
-rw-r--r--test/log/20344
-rw-r--r--test/scripts/2000-GnuTLS/203434
-rw-r--r--test/stdout/203442
5 files changed, 82 insertions, 3 deletions
diff --git a/src/src/tls-gnu.c b/src/src/tls-gnu.c
index 45ee1017a..c7c6b2674 100644
--- a/src/src/tls-gnu.c
+++ b/src/src/tls-gnu.c
@@ -1826,10 +1826,8 @@ state->fd_out = fileno(smtp_out);
sigalrm_seen = FALSE;
if (smtp_receive_timeout > 0) alarm(smtp_receive_timeout);
do
- {
rc = gnutls_handshake(state->session);
- } while ((rc == GNUTLS_E_AGAIN) ||
- (rc == GNUTLS_E_INTERRUPTED && !sigalrm_seen));
+while (rc == GNUTLS_E_AGAIN || rc == GNUTLS_E_INTERRUPTED && !sigalrm_seen);
alarm(0);
if (rc != GNUTLS_E_SUCCESS)
diff --git a/test/confs/2034 b/test/confs/2034
new file mode 120000
index 000000000..6d0f5c2f1
--- /dev/null
+++ b/test/confs/2034
@@ -0,0 +1 @@
+2006 \ No newline at end of file
diff --git a/test/log/2034 b/test/log/2034
new file mode 100644
index 000000000..f59667e7a
--- /dev/null
+++ b/test/log/2034
@@ -0,0 +1,4 @@
+1999-03-02 09:44:33 exim x.yz daemon started: pid=pppp, no queue runs, listening for SMTP on port 1225
+1999-03-02 09:44:33 TLS error on connection from (rhu.barb) [127.0.0.1] (gnutls_handshake): timed out
+1999-03-02 09:44:33 SMTP command timeout on connection from (rhu.barb) [127.0.0.1]
+1999-03-02 09:44:33 TLS error on connection from (rhu.barb) [127.0.0.1] (gnutls_handshake): An unexpected TLS packet was received.
diff --git a/test/scripts/2000-GnuTLS/2034 b/test/scripts/2000-GnuTLS/2034
new file mode 100644
index 000000000..b03c60d93
--- /dev/null
+++ b/test/scripts/2000-GnuTLS/2034
@@ -0,0 +1,34 @@
+# TLS server: error in TLS session startup
+gnutls
+exim -DSERVER=server -bd -oX PORT_D
+****
+# timeout case
+client 127.0.0.1 PORT_D
+??? 220
+ehlo rhu.barb
+??? 250-
+??? 250-
+??? 250-
+??? 250-
+??? 250-
+??? 250
+starttls
+??? 220
++++ 3
+****
+#
+# bad TLS negotiation case
+client 127.0.0.1 PORT_D
+??? 220
+ehlo rhu.barb
+??? 250-
+??? 250-
+??? 250-
+??? 250-
+??? 250-
+??? 250
+starttls
+??? 220
+bogus
+****
+killdaemon
diff --git a/test/stdout/2034 b/test/stdout/2034
new file mode 100644
index 000000000..94531616d
--- /dev/null
+++ b/test/stdout/2034
@@ -0,0 +1,42 @@
+Connecting to 127.0.0.1 port 1225 ... connected
+??? 220
+<<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+>>> ehlo rhu.barb
+??? 250-
+<<< 250-myhost.test.ex Hello rhu.barb [127.0.0.1]
+??? 250-
+<<< 250-SIZE 52428800
+??? 250-
+<<< 250-8BITMIME
+??? 250-
+<<< 250-PIPELINING
+??? 250-
+<<< 250-STARTTLS
+??? 250
+<<< 250 HELP
+>>> starttls
+??? 220
+<<< 220 TLS go ahead
++++ 3
+End of script
+Connecting to 127.0.0.1 port 1225 ... connected
+??? 220
+<<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+>>> ehlo rhu.barb
+??? 250-
+<<< 250-myhost.test.ex Hello rhu.barb [127.0.0.1]
+??? 250-
+<<< 250-SIZE 52428800
+??? 250-
+<<< 250-8BITMIME
+??? 250-
+<<< 250-PIPELINING
+??? 250-
+<<< 250-STARTTLS
+??? 250
+<<< 250 HELP
+>>> starttls
+??? 220
+<<< 220 TLS go ahead
+>>> bogus
+End of script