DSN: fix null deref when bounce is due to conn-timeout. Bug 1630
[exim.git] / test / src / client.c
index 5b52916ee40a1b0617a07fcf3e0a883661cb9ecc..251f58696a4405eb4ac77d9f77789a1c620f68bd 100644 (file)
@@ -66,7 +66,8 @@ latter needs a whole pile of tables. */
 # include <openssl/ssl.h>
 # include <openssl/err.h>
 # include <openssl/rand.h>
 # include <openssl/ssl.h>
 # include <openssl/err.h>
 # include <openssl/rand.h>
-# if !defined(EXIM_HAVE_OPENSSL_TLSEXT) && !defined(DISABLE_OCSP)
+
+# 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
 #  warning "OpenSSL library version too old; define DISABLE_OCSP in Makefile"
 #  define DISABLE_OCSP
 # endif
@@ -255,12 +256,12 @@ int
 tls_start(int sock, SSL **ssl, SSL_CTX *ctx)
 {
 int rc;
 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);
 
 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);
 
 SSL_set_fd (*ssl, sock);
 SSL_set_connect_state(*ssl);
 
@@ -479,7 +480,14 @@ return session;
 *************************************************/
 
 const char * const HELP_MESSAGE = "\n\
 *************************************************/
 
 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\
           <IP address>\n\
           <port>\n\
           [<outgoing interface>]\n\
           <IP address>\n\
           <port>\n\
           [<outgoing interface>]\n\