From d4fdd1e590775f0c2b7dbf8f51a91b1c15542441 Mon Sep 17 00:00:00 2001 From: David Garske Date: Mon, 18 May 2020 11:53:31 -0700 Subject: [PATCH] Fix for TLS v1.3 test PSK callback to support cipher list. Add support for `GetCipherSuiteFromName` to accept a name ending with colon. --- examples/client/client.c | 2 +- src/internal.c | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/examples/client/client.c b/examples/client/client.c index 8fea2b0f9..96a126c86 100644 --- a/examples/client/client.c +++ b/examples/client/client.c @@ -2080,7 +2080,7 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args) #ifndef NO_PSK if (usePsk) { - done += 1; /* don't perform exernal tests if PSK is enabled */ + done += 1; /* don't perform external tests if PSK is enabled */ } #endif diff --git a/src/internal.c b/src/internal.c index ab5ba26e7..10e62f2a9 100644 --- a/src/internal.c +++ b/src/internal.c @@ -18723,7 +18723,15 @@ int GetCipherSuiteFromName(const char* name, byte* cipherSuite0, { int ret = BAD_FUNC_ARG; int i; - unsigned long len = (unsigned long)XSTRLEN(name); + unsigned long len; + const char* nameDelim; + + /* Support trailing : */ + nameDelim = XSTRSTR(name, ":"); + if (nameDelim) + len = (unsigned long)(nameDelim - name); + else + len = (unsigned long)XSTRLEN(name); for (i = 0; i < GetCipherNamesSize(); i++) { if (XSTRNCMP(name, cipher_names[i].name, len) == 0) {