From c920e6dd30fc90a8cc25e10b9c67f8ae169d4120 Mon Sep 17 00:00:00 2001 From: kaleb-himes Date: Sun, 7 Feb 2016 08:27:01 -0700 Subject: [PATCH 1/2] Avoid unnecessary assignments in client example --- examples/client/client.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/examples/client/client.c b/examples/client/client.c index b8238ba1d..39226b9f0 100644 --- a/examples/client/client.c +++ b/examples/client/client.c @@ -745,12 +745,12 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args) /* www.globalsign.com does not respond to ipv6 ocsp requests */ #if defined(TEST_IPV6) && defined(HAVE_OCSP) - done = 1; + if (!done) done = 1; #endif /* www.globalsign.com has limited supported cipher suites */ #if defined(NO_AES) && defined(HAVE_OCSP) - done = 1; + if (!done) done = 1; #endif /* www.globalsign.com only supports static RSA or ECDHE with AES */ @@ -758,33 +758,36 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args) * as some users will most likely be on 32-bit systems where ECC * is not enabled by default */ #if defined(HAVE_OCSP) && !defined(HAVE_ECC) - done = 1; + if (!done) done = 1; #endif #ifndef NO_PSK - done = 1; + if (!done) done = 1; #endif #ifdef NO_SHA - done = 1; /* external cert chain most likely has SHA */ + if (!done) done = 1; /* external cert chain most likely has SHA */ #endif #if !defined(HAVE_ECC) && !defined(WOLFSSL_STATIC_RSA) if (!XSTRNCMP(domain, "www.google.com", 14) || !XSTRNCMP(domain, "www.wolfssl.com", 15)) { - done = 1; /* google/wolfssl need ECDHE or static RSA */ + /* google/wolfssl need ECDHE or static RSA */ + if (!done) done = 1; } #endif #if !defined(WOLFSSL_SHA384) if (!XSTRNCMP(domain, "www.wolfssl.com", 15)) { - done = 1; /* wolfssl need sha384 for cert chain verify */ + /* wolfssl need sha384 for cert chain verify */ + if (!done) done = 1; } #endif #if !defined(HAVE_AESGCM) && defined(NO_AES) && \ !(defined(HAVE_CHACHA) && defined(HAVE_POLY1305)) - done = 1; /* need at least on of these for external tests */ + /* need at least on of these for external tests */ + if (!done) done = 1; #endif if (done) { From 2af9fb91b3e105d7ad7dbb7f1b0f10ac88ec5dbd Mon Sep 17 00:00:00 2001 From: David Garske Date: Mon, 8 Feb 2016 19:54:22 -0800 Subject: [PATCH 2/2] Use += approach to detect "done" in example client for external tests. Cleaner and code is smaller to accomplish same thing. --- examples/client/client.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/examples/client/client.c b/examples/client/client.c index 39226b9f0..f0aba4a76 100644 --- a/examples/client/client.c +++ b/examples/client/client.c @@ -737,20 +737,19 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args) if (externalTest) { /* detect build cases that wouldn't allow test against wolfssl.com */ int done = 0; - (void)done; #ifdef NO_RSA - done = 1; + done += 1; #endif /* www.globalsign.com does not respond to ipv6 ocsp requests */ #if defined(TEST_IPV6) && defined(HAVE_OCSP) - if (!done) done = 1; + done += 1; #endif /* www.globalsign.com has limited supported cipher suites */ #if defined(NO_AES) && defined(HAVE_OCSP) - if (!done) done = 1; + done += 1; #endif /* www.globalsign.com only supports static RSA or ECDHE with AES */ @@ -758,36 +757,36 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args) * as some users will most likely be on 32-bit systems where ECC * is not enabled by default */ #if defined(HAVE_OCSP) && !defined(HAVE_ECC) - if (!done) done = 1; + done += 1; #endif #ifndef NO_PSK - if (!done) done = 1; + done += 1; #endif #ifdef NO_SHA - if (!done) done = 1; /* external cert chain most likely has SHA */ + done += 1; /* external cert chain most likely has SHA */ #endif #if !defined(HAVE_ECC) && !defined(WOLFSSL_STATIC_RSA) if (!XSTRNCMP(domain, "www.google.com", 14) || !XSTRNCMP(domain, "www.wolfssl.com", 15)) { /* google/wolfssl need ECDHE or static RSA */ - if (!done) done = 1; + done += 1; } #endif #if !defined(WOLFSSL_SHA384) if (!XSTRNCMP(domain, "www.wolfssl.com", 15)) { /* wolfssl need sha384 for cert chain verify */ - if (!done) done = 1; + done += 1; } #endif #if !defined(HAVE_AESGCM) && defined(NO_AES) && \ !(defined(HAVE_CHACHA) && defined(HAVE_POLY1305)) /* need at least on of these for external tests */ - if (!done) done = 1; + done += 1; #endif if (done) {