Provide a more information early_data message in s_server
authorMatt Caswell <matt@openssl.org>
Tue, 14 Nov 2017 14:21:13 +0000 (14:21 +0000)
committerMatt Caswell <matt@openssl.org>
Tue, 21 Nov 2017 17:46:22 +0000 (17:46 +0000)
s_server reported early_data not being sent and early_data being
rejected in the same way, i.e. "No early data received". This is
slightly misleading so this commit provides a different error message
if the early data is rejected.

Reviewed-by: Ben Kaduk <kaduk@mit.edu>
(Merged from https://github.com/openssl/openssl/pull/4738)

apps/s_server.c

index 86fed6f5939191069c36f1052bf5870edc69bcdf..5095bab4d3c8ebb2e3ecdd831f0f3dc255f547da 100644 (file)
@@ -2340,10 +2340,14 @@ static int sv_body(int s, int stype, int prot, unsigned char *context)
                 (void)BIO_flush(bio_s_out);
             }
         }
-        if (write_header)
-            BIO_printf(bio_s_out, "No early data received\n");
-        else
+        if (write_header) {
+            if (SSL_get_early_data_status(con) == SSL_EARLY_DATA_NOT_SENT)
+                BIO_printf(bio_s_out, "No early data received\n");
+            else
+                BIO_printf(bio_s_out, "Early data was rejected\n");
+        } else {
             BIO_printf(bio_s_out, "\nEnd of early data\n");
+        }
         if (SSL_is_init_finished(con))
             print_connection_info(con);
     }