X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/67fff935faa625a5ee69087e7d34bce34ee03d77..f57cb3b57b285e560cadc6a4183162830ab5aafd:/test/src/client.c diff --git a/test/src/client.c b/test/src/client.c index 9190af068..250f7af8b 100644 --- a/test/src/client.c +++ b/test/src/client.c @@ -86,7 +86,7 @@ latter needs a whole pile of tables. */ # include # include # if GNUTLS_VERSION_NUMBER >= 0x030103 -# define HAVE_OCSP +# define HAVE_GNUTLS_OCSP # include # endif # ifndef GNUTLS_NO_EXTENSIONS @@ -211,18 +211,18 @@ len = SSL_get_tlsext_status_ocsp_resp(s, &p); /*BIO_printf(arg, "OCSP response: ");*/ if (!p) { - BIO_printf(arg, "no response received\n"); + BIO_printf(arg, "no OCSP response received\n"); return 1; } if(!(rsp = d2i_OCSP_RESPONSE(NULL, &p, len))) { - BIO_printf(arg, "response parse error\n"); + BIO_printf(arg, "OCSP response parse error\n"); BIO_dump_indent(arg, (char *)p, len, 4); return 0; } if(!(bs = OCSP_response_get1_basic(rsp))) { - BIO_printf(arg, "error parsing response\n"); + BIO_printf(arg, "error parsing OCSP response\n"); return 0; } @@ -240,12 +240,12 @@ when OCSP_NOVERIFY is set. The content from the wire if(OCSP_basic_verify(bs, sk, NULL, OCSP_NOVERIFY) <= 0) { - BIO_printf(arg, "Response Verify Failure\n"); + BIO_printf(arg, "OCSP status response verify failure\n"); ERR_print_errors(arg); ret = 0; } else - BIO_printf(arg, "Response verify OK\n"); + BIO_printf(arg, "OCSP status response: good signature\n"); cert_stack_free(sk); return ret; @@ -711,7 +711,7 @@ nextinput: if (*inptr != 0) goto nextinput; - #ifdef HAVE_TLS +#ifdef HAVE_TLS if (srv->sent_starttls) { if (lineptr[0] == '2') @@ -721,11 +721,11 @@ nextinput: printf("Attempting to start TLS\n"); fflush(stdout); - #ifdef HAVE_OPENSSL +# ifdef HAVE_OPENSSL srv->tls_active = tls_start(srv->sock, &srv->ssl, srv->ctx); - #endif +# endif - #ifdef HAVE_GNUTLS +# ifdef HAVE_GNUTLS { int rc; fd_set rfd; @@ -760,14 +760,20 @@ nextinput: DEBUG { printf("gnutls_record_recv: %d\n", rc); fflush(stdout); } } } - #endif +# endif /*HAVE_GNUTLS*/ if (!srv->tls_active) { printf("Failed to start TLS\n"); fflush(stdout); } - #ifdef HAVE_GNUTLS + +# ifdef HAVE_OPENSSL + else if (ocsp_stapling) + printf("Succeeded in starting TLS (with OCSP)\n"); +# endif + +# ifdef HAVE_GNUTLS else if (ocsp_stapling) { if ((rc= gnutls_certificate_verify_peers2(tls_session, &verify)) < 0) @@ -780,7 +786,7 @@ nextinput: printf("Bad certificate\n"); fflush(stdout); } - #ifdef HAVE_OCSP +# ifdef HAVE_GNUTLS_OCSP else if (gnutls_ocsp_status_request_is_checked(tls_session, 0) == 0) { printf("Failed to verify certificate status\n"); @@ -802,13 +808,20 @@ nextinput: } fflush(stdout); } - #endif + else + { + printf("OCSP status response: good signature\n"); + printf("Succeeded in starting TLS (with OCSP)\n"); + } +# endif /*HAVE_GNUTLS_OCSP*/ } - #endif +# endif /*HAVE_GNUTLS*/ + else printf("Succeeded in starting TLS\n"); } - else printf("Abandoning TLS start attempt\n"); + else + printf("Abandoning TLS start attempt\n"); } srv->sent_starttls = 0; #endif @@ -1234,6 +1247,13 @@ if (rc < 0) exit(85); } +#ifdef TCP_QUICKACK + { + int off = 0; + (void) setsockopt(srv.sock, IPPROTO_TCP, TCP_QUICKACK, US &off, sizeof(off)); + } +#endif + printf("connected\n"); @@ -1282,7 +1302,7 @@ if (certfile != NULL) printf("Certificate file = %s\n", certfile); if (keyfile != NULL) printf("Key file = %s\n", keyfile); tls_init(US certfile, US keyfile); tls_session = tls_session_init(); -#ifdef HAVE_OCSP +#ifdef HAVE_GNUTLS_OCSP if (ocsp_stapling) gnutls_ocsp_status_request_enable_client(tls_session, NULL, 0, NULL); #endif @@ -1328,13 +1348,13 @@ if (tls_on_connect) if (!srv.tls_active) printf("Failed to start TLS\n"); -#if defined(HAVE_GNUTLS) && defined(HAVE_OCSP) +#if defined(HAVE_GNUTLS) && defined(HAVE_GNUTLS_OCSP) else if ( ocsp_stapling && gnutls_ocsp_status_request_is_checked(tls_session, 0) == 0) printf("Failed to verify certificate status\n"); #endif else - printf("Succeeded in starting TLS\n"); + printf("Succeeded in starting TLS%s\n", ocsp_stapling ? " (with OCSP)":""); } #endif