aboutsummaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorMatt Caswell <matt@openssl.org>2017-02-27 20:55:04 +0000
committerMatt Caswell <matt@openssl.org>2017-03-02 17:44:16 +0000
commitade1e88806461df5516525a8f36e707820167e01 (patch)
treef76fa1687d67887090a90d431297d87130e97c9f /apps
parent3eaa4170956dc7ca2a0c9fc9414dc42cac7b426e (diff)
downloadopenssl-ade1e88806461df5516525a8f36e707820167e01.tar.gz
Updates to s_server and s_client for the latest early_data API changes
Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/2737)
Diffstat (limited to 'apps')
-rw-r--r--apps/s_client.c4
-rw-r--r--apps/s_server.c28
2 files changed, 20 insertions, 12 deletions
diff --git a/apps/s_client.c b/apps/s_client.c
index c11a634ac9..fdfd90bf1e 100644
--- a/apps/s_client.c
+++ b/apps/s_client.c
@@ -2375,9 +2375,7 @@ int s_client_main(int argc, char **argv)
if (!BIO_read_ex(edfile, cbuf, BUFSIZZ, &readbytes))
finish = 1;
- while (finish ? !SSL_write_early_finish(con)
- : !SSL_write_early(con, cbuf, readbytes,
- &writtenbytes)) {
+ while (!SSL_write_early(con, cbuf, readbytes, &writtenbytes)) {
switch (SSL_get_error(con, 0)) {
case SSL_ERROR_WANT_WRITE:
case SSL_ERROR_WANT_ASYNC:
diff --git a/apps/s_server.c b/apps/s_server.c
index 6e5c945e71..8d157642d5 100644
--- a/apps/s_server.c
+++ b/apps/s_server.c
@@ -104,6 +104,7 @@ static void free_sessions(void);
#ifndef OPENSSL_NO_DH
static DH *load_dh_param(const char *dhfile);
#endif
+static void print_connection_info(SSL *con);
/* static int load_CA(SSL_CTX *ctx, char *file);*/
@@ -2244,6 +2245,8 @@ static int sv_body(int s, int stype, unsigned char *context)
BIO_printf(bio_s_out, "No early data received\n");
else
BIO_printf(bio_s_out, "\nEnd of early data\n");
+ if (SSL_is_init_finished(con))
+ print_connection_info(con);
}
if (fileno_stdin() > s)
@@ -2571,15 +2574,7 @@ static void close_accept_socket(void)
static int init_ssl_connection(SSL *con)
{
int i;
- const char *str;
- X509 *peer;
long verify_err;
- char buf[BUFSIZ];
-#if !defined(OPENSSL_NO_NEXTPROTONEG)
- const unsigned char *next_proto_neg;
- unsigned next_proto_neg_len;
-#endif
- unsigned char *exportedkeymat;
int retry = 0;
#ifndef OPENSSL_NO_DTLS
@@ -2673,6 +2668,22 @@ static int init_ssl_connection(SSL *con)
return (0);
}
+ print_connection_info(con);
+ return 1;
+}
+
+static void print_connection_info(SSL *con)
+{
+ const char *str;
+ X509 *peer;
+ char buf[BUFSIZ];
+#if !defined(OPENSSL_NO_NEXTPROTONEG)
+ const unsigned char *next_proto_neg;
+ unsigned next_proto_neg_len;
+#endif
+ unsigned char *exportedkeymat;
+ int i;
+
if (s_brief)
print_ssl_summary(con);
@@ -2743,7 +2754,6 @@ static int init_ssl_connection(SSL *con)
}
(void)BIO_flush(bio_s_out);
- return (1);
}
#ifndef OPENSSL_NO_DH