X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=apps%2Fs_client.c;h=f0c2280d2ec326e94fd980a0a677a7248e19eb20;hb=54a29df0ec79db2e38c8b3a58a276fa47ae80199;hp=ffe2d70d88e287bef5ddbe24d86fdeacebf67a5f;hpb=d91f8c3ce895df86e7245ed80f1a3240c3a979f8;p=oweals%2Fopenssl.git diff --git a/apps/s_client.c b/apps/s_client.c index ffe2d70d88..f0c2280d2e 100644 --- a/apps/s_client.c +++ b/apps/s_client.c @@ -64,12 +64,16 @@ #define APPS_WIN16 #endif #include "apps.h" -#include "x509.h" -#include "ssl.h" -#include "err.h" -#include "pem.h" +#include +#include +#include +#include #include "s_apps.h" +#if defined(NO_RSA) && !defined(NO_SSL2) +#define NO_SSL2 +#endif + #undef PROG #define PROG s_client_main @@ -92,18 +96,12 @@ static int c_Pause=0; static int c_debug=0; static int c_showcerts=0; -#ifndef NOPROTO static void sc_usage(void); static void print_stuff(BIO *berr,SSL *con,int full); -#else -static void sc_usage(); -static void print_stuff(); -#endif - static BIO *bio_c_out=NULL; static int c_quiet=0; -static void sc_usage() +static void sc_usage(void) { BIO_printf(bio_err,"usage: s_client args\n"); BIO_printf(bio_err,"\n"); @@ -137,9 +135,7 @@ static void sc_usage() } -int MAIN(argc, argv) -int argc; -char **argv; +int MAIN(int argc, char **argv) { int off=0; SSL *con=NULL,*con2=NULL; @@ -657,10 +653,7 @@ end: } -static void print_stuff(bio,s,full) -BIO *bio; -SSL *s; -int full; +static void print_stuff(BIO *bio, SSL *s, int full) { X509 *peer=NULL; char *p; @@ -727,6 +720,11 @@ int full; p=SSL_get_shared_ciphers(s,buf,BUFSIZ); if (p != NULL) { + /* This works only for SSL 2. In later protocol + * versions, the client does not know what other + * ciphers (in addition to the one to be used + * in the current connection) the server supports. */ + BIO_printf(bio,"---\nCiphers common between both SSL endpoints:\n"); j=i=0; while (*p)