X-Git-Url: https://git.exim.org/users/heiko/exim.git/blobdiff_plain/6d68e1c72d8bd58b005e9d1c8df890e4fe5e6536..8c5d388a6e12d1a8bd4aa565920238f8a921414a:/test/src/client.c?ds=sidebyside diff --git a/test/src/client.c b/test/src/client.c index 72cebbeb4..ac9a965e0 100644 --- a/test/src/client.c +++ b/test/src/client.c @@ -58,11 +58,6 @@ static int sigalrm_seen = 0; /* TLS support can be optionally included, either for OpenSSL or GnuTLS. The latter needs a whole pile of tables. */ -#if !defined(EXIM_HAVE_OPENSSL_TLSEXT) && !defined(DISABLE_OCSP) -# warning "OpenSSL library version too old; define DISABLE_OCSP in Makefile" -# define DISABLE_OCSP -#endif - #ifdef HAVE_OPENSSL # define HAVE_TLS # include @@ -71,6 +66,11 @@ latter needs a whole pile of tables. */ # include # include # include + +# if OPENSSL_VERSION_NUMBER < 0x0090806fL && !defined(DISABLE_OCSP) && !defined(OPENSSL_NO_TLSEXT) +# warning "OpenSSL library version too old; define DISABLE_OCSP in Makefile" +# define DISABLE_OCSP +# endif # ifndef DISABLE_OCSP # include # endif @@ -85,6 +85,9 @@ latter needs a whole pile of tables. */ # define HAVE_OCSP # include # endif +# ifndef GNUTLS_NO_EXTENSIONS +# define GNUTLS_NO_EXTENSIONS 0 +# endif # define DH_BITS 768 @@ -256,12 +259,12 @@ int tls_start(int sock, SSL **ssl, SSL_CTX *ctx) { int rc; -static const unsigned char *sid_ctx = "exim"; +static const unsigned char *sid_ctx = US"exim"; RAND_load_file("client.c", -1); /* Not *very* random! */ *ssl = SSL_new (ctx); -SSL_set_session_id_context(*ssl, sid_ctx, strlen(sid_ctx)); +SSL_set_session_id_context(*ssl, sid_ctx, strlen(CS sid_ctx)); SSL_set_fd (*ssl, sock); SSL_set_connect_state(*ssl); @@ -451,7 +454,7 @@ tls_session_init(void) { gnutls_session session; -gnutls_init(&session, GNUTLS_CLIENT); +gnutls_init(&session, GNUTLS_CLIENT | GNUTLS_NO_EXTENSIONS); gnutls_cipher_set_priority(session, default_cipher_priority); gnutls_compression_set_priority(session, comp_priority); @@ -480,7 +483,14 @@ return session; *************************************************/ const char * const HELP_MESSAGE = "\n\ -Usage: client\n\ +Usage: client\n" +#ifdef HAVE_TLS +"\ + [-tls-on-connect]\n\ + [-ocsp]\n" +#endif +"\ + [-tn] n seconds timeout\n\ \n\ \n\ []\n\ @@ -831,8 +841,9 @@ if (tls_on_connect) while (fgets(CS outbuffer, sizeof(outbuffer), stdin) != NULL) { int n = (int)strlen(CS outbuffer); - while (n > 0 && isspace(outbuffer[n-1])) n--; - outbuffer[n] = 0; + + /* Strip trailing newline */ + if (outbuffer[n-1] == '\n') outbuffer[--n] = 0; /* Expect incoming */