Add -prexit command to s_client and patch some BIO functions so it doesn't crash. Document s_client.
diff --git a/apps/s_client.c b/apps/s_client.c index 60a8728..f09fae5 100644 --- a/apps/s_client.c +++ b/apps/s_client.c
@@ -176,6 +176,7 @@ int write_tty,read_tty,write_ssl,read_ssl,tty_on,ssl_pending; SSL_CTX *ctx=NULL; int ret=1,in_init=1,i,nbio_test=0; + int prexit = 0; SSL_METHOD *meth=NULL; BIO *sbio; #ifdef WINDOWS @@ -245,6 +246,8 @@ if (--argc < 1) goto bad; cert_file= *(++argv); } + else if (strcmp(*argv,"-prexit") == 0) + prexit=1; else if (strcmp(*argv,"-crlf") == 0) crlf=1; else if (strcmp(*argv,"-quiet") == 0) @@ -735,6 +738,7 @@ SHUTDOWN(SSL_get_fd(con)); ret=0; end: + if(prexit) print_stuff(bio_c_out,con,1); if (con != NULL) SSL_free(con); if (con2 != NULL) SSL_free(con2); if (ctx != NULL) SSL_CTX_free(ctx);