From ba36c24fc1986806d839e4cc5eba988c40bc18c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mois=C3=A9s=20Guimar=C3=A3es?= Date: Tue, 10 Jun 2014 15:25:49 -0300 Subject: [PATCH] fix on TLSX_SNI_GetFromBuffer - undo last fix and return 0 when there is no SNI extension. Now the return is the same when there is no extensions at all. --- src/tls.c | 4 +--- tests/api.c | 10 ++-------- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/src/tls.c b/src/tls.c index 45de6a8ef..7fe94ac2b 100644 --- a/src/tls.c +++ b/src/tls.c @@ -1047,9 +1047,7 @@ int TLSX_SNI_GetFromBuffer(const byte* clientHello, word32 helloSz, len16 -= min(2 * OPAQUE16_LEN + extLen, len16); } - *inOutSz = 0; - - return len16 ? BUFFER_ERROR : SSL_SUCCESS; + return len16 ? BUFFER_ERROR : 0; } #endif diff --git a/tests/api.c b/tests/api.c index a0a6f781b..a5acfeaa3 100644 --- a/tests/api.c +++ b/tests/api.c @@ -388,17 +388,11 @@ static void test_CyaSSL_SNI_GetFromBuffer(void) byte result[32] = {0}; word32 length = 32; - AssertIntEQ(SSL_SUCCESS, CyaSSL_SNI_GetFromBuffer(buffer3, sizeof(buffer3), + AssertIntEQ(0, CyaSSL_SNI_GetFromBuffer(buffer3, sizeof(buffer3), 0, result, &length)); - AssertIntEQ(XSTRLEN(""), length); - length = 32; - - AssertIntEQ(SSL_SUCCESS, CyaSSL_SNI_GetFromBuffer(buffer2, sizeof(buffer2), + AssertIntEQ(0, CyaSSL_SNI_GetFromBuffer(buffer2, sizeof(buffer2), 1, result, &length)); - AssertIntEQ(XSTRLEN(""), length); - - length = 32; AssertIntEQ(-228, CyaSSL_SNI_GetFromBuffer(buffer, sizeof(buffer), 0, result, &length));