X-Git-Url: https://git.exim.org/users/jgh/exim.git/blobdiff_plain/e265af1fe6fe0260965aab6fbb18481046cbcf42..de11307f4085222c29051e5b8149ea3340707f26:/test/src/client.c diff --git a/test/src/client.c b/test/src/client.c index 50897a155..cd2194af1 100644 --- a/test/src/client.c +++ b/test/src/client.c @@ -58,7 +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. */ - #ifdef HAVE_OPENSSL # define HAVE_TLS # include @@ -67,7 +66,14 @@ latter needs a whole pile of tables. */ # include # 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 #endif @@ -188,6 +194,7 @@ setup_verify(BIO *bp, char *CAfile, char *CApath) } +#ifndef DISABLE_OCSP static int tls_client_stapling_cb(SSL *s, void *arg) { @@ -238,6 +245,7 @@ else X509_STORE_free(store); return ret; } +#endif /************************************************* @@ -248,21 +256,23 @@ 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); +#ifndef DISABLE_OCSP if (ocsp_stapling) { SSL_CTX_set_tlsext_status_cb(ctx, tls_client_stapling_cb); SSL_CTX_set_tlsext_status_arg(ctx, BIO_new_fp(stdout, BIO_NOCLOSE)); SSL_set_tlsext_status_type(*ssl, TLSEXT_STATUSTYPE_ocsp); } +#endif signal(SIGALRM, sigalrm_handler_flag); sigalrm_seen = 0;