Skip to content

Commit c99567c

Browse files
authored
Merge pull request #10596 from SparkiDev/regression_fixes_24
Regression testing fixes
2 parents f8f1e93 + 0796519 commit c99567c

36 files changed

Lines changed: 539 additions & 303 deletions

configure.ac

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12316,7 +12316,7 @@ AM_CONDITIONAL([BUILD_MLDSA],[test "x$ENABLED_MLDSA" != "xno" || test "x$ENABLED
1231612316
AM_CONDITIONAL([BUILD_ECCSI],[test "x$ENABLED_ECCSI" = "xyes" || test "x$ENABLED_USERSETTINGS" = "xyes"])
1231712317
AM_CONDITIONAL([BUILD_SAKKE],[test "x$ENABLED_SAKKE" = "xyes" || test "x$ENABLED_USERSETTINGS" = "xyes"])
1231812318
AM_CONDITIONAL([BUILD_MEMORY],[test "x$ENABLED_MEMORY" = "xyes" || test "x$ENABLED_USERSETTINGS" = "xyes"])
12319-
AM_CONDITIONAL([BUILD_MEMUSE],[test "x$ENABLED_ENTROPY_MEMUSE" = "xyes" || test "x$ENABLED_USERSETTINGS" = "xyes"])
12319+
AM_CONDITIONAL([BUILD_MEMUSE],[test "x$ENABLED_ENTROPY_MEMUSE" != "xno" || test "x$ENABLED_USERSETTINGS" = "xyes"])
1232012320
AM_CONDITIONAL([BUILD_RNG_BANK],[test "$ENABLED_RNG_BANK" = "yes" || test "$ENABLED_USERSETTINGS" = "yes"])
1232112321
AM_CONDITIONAL([BUILD_RSA],[test "x$ENABLED_RSA" = "xyes" || test "x$ENABLED_USERSETTINGS" = "xyes"])
1232212322
AM_CONDITIONAL([BUILD_DH],[test "x$ENABLED_DH" != "xno" || test "x$ENABLED_USERSETTINGS" = "xyes"])

src/internal.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7329,6 +7329,9 @@ int SetSSL_CTX(WOLFSSL* ssl, WOLFSSL_CTX* ctx, int writeDup)
73297329
#endif
73307330
#else
73317331
if (ctx->privateKey != NULL) {
7332+
if (ssl->buffers.key != NULL) {
7333+
FreeDer(&ssl->buffers.key);
7334+
}
73327335
ret = AllocCopyDer(&ssl->buffers.key, ctx->privateKey->buffer,
73337336
ctx->privateKey->length, ctx->privateKey->type,
73347337
ctx->privateKey->heap);

src/ssl.c

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3294,7 +3294,8 @@ int wolfSSL_UseSupportedCurve(WOLFSSL* ssl, word16 name)
32943294
#if defined(NO_TLS)
32953295
return WOLFSSL_FAILURE;
32963296
#else
3297-
return TLSX_UseSupportedCurve(&ssl->extensions, name, ssl->heap);
3297+
return TLSX_UseSupportedCurve(&ssl->extensions, name, ssl->heap,
3298+
ssl->options.side);
32983299
#endif /* NO_TLS */
32993300
}
33003301

@@ -3308,7 +3309,8 @@ int wolfSSL_CTX_UseSupportedCurve(WOLFSSL_CTX* ctx, word16 name)
33083309
#if defined(NO_TLS)
33093310
return WOLFSSL_FAILURE;
33103311
#else
3311-
return TLSX_UseSupportedCurve(&ctx->extensions, name, ctx->heap);
3312+
return TLSX_UseSupportedCurve(&ctx->extensions, name, ctx->heap,
3313+
ctx->method->side);
33123314
#endif /* NO_TLS */
33133315
}
33143316

@@ -16068,6 +16070,9 @@ WOLFSSL_CTX* wolfSSL_set_SSL_CTX(WOLFSSL* ssl, WOLFSSL_CTX* ctx)
1606816070
#endif
1606916071
#else
1607016072
if (ctx->privateKey != NULL) {
16073+
if (ssl->buffers.key != NULL && ssl->buffers.weOwnKey) {
16074+
FreeDer(&ssl->buffers.key);
16075+
}
1607116076
ret = AllocCopyDer(&ssl->buffers.key, ctx->privateKey->buffer,
1607216077
ctx->privateKey->length, ctx->privateKey->type,
1607316078
ctx->privateKey->heap);

src/ssl_asn1.c

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3760,8 +3760,6 @@ int wolfSSL_ASN1_GENERALIZEDTIME_print(WOLFSSL_BIO* bio,
37603760
* ASN1_TIME APIs
37613761
******************************************************************************/
37623762

3763-
#ifndef NO_ASN_TIME
3764-
37653763
#ifdef OPENSSL_EXTRA
37663764
/* Allocate a new ASN.1 TIME object.
37673765
*
@@ -3811,6 +3809,7 @@ WOLFSSL_ASN1_TIME *wolfSSL_ASN1_TIME_set(WOLFSSL_ASN1_TIME *a, time_t t)
38113809
}
38123810
#endif /* !NO_WOLFSSL_STUB */
38133811

3812+
#ifndef NO_ASN_TIME
38143813
/* Convert time to Unix time (GMT).
38153814
*
38163815
* @param [in] sec Second in minute. 0-59.
@@ -4005,6 +4004,7 @@ WOLFSSL_ASN1_TIME* wolfSSL_ASN1_TIME_adj(WOLFSSL_ASN1_TIME* a, time_t t,
40054004
return ret;
40064005
}
40074006
#endif /* !USER_TIME && !TIME_OVERRIDES */
4007+
#endif /* !NO_ASN_TIME */
40084008

40094009
/* Get the length of the ASN.1 TIME data.
40104010
*
@@ -4048,6 +4048,7 @@ unsigned char* wolfSSL_ASN1_TIME_get_data(const WOLFSSL_ASN1_TIME *t)
40484048
return data;
40494049
}
40504050

4051+
#ifndef NO_ASN_TIME
40514052
/* Check format of string in ASN.1 TIME object.
40524053
*
40534054
* @param [in] a ASN.1 TIME object.
@@ -4069,6 +4070,7 @@ int wolfSSL_ASN1_TIME_check(const WOLFSSL_ASN1_TIME* a)
40694070

40704071
return ret;
40714072
}
4073+
#endif /* !NO_ASN_TIME */
40724074

40734075
/* Set the time as a string into ASN.1 TIME object.
40744076
*
@@ -4112,6 +4114,7 @@ int wolfSSL_ASN1_TIME_set_string(WOLFSSL_ASN1_TIME *t, const char *str)
41124114
return ret;
41134115
}
41144116

4117+
#ifndef NO_ASN_TIME
41154118
int wolfSSL_ASN1_TIME_set_string_X509(WOLFSSL_ASN1_TIME *t, const char *str)
41164119
{
41174120
int ret = WOLFSSL_SUCCESS;
@@ -4126,6 +4129,7 @@ int wolfSSL_ASN1_TIME_set_string_X509(WOLFSSL_ASN1_TIME *t, const char *str)
41264129
ret = wolfSSL_ASN1_TIME_check(t);
41274130
return ret;
41284131
}
4132+
#endif /* !NO_ASN_TIME */
41294133

41304134
/* Convert ASN.1 TIME object to ASN.1 GENERALIZED TIME object.
41314135
*
@@ -4199,7 +4203,7 @@ WOLFSSL_ASN1_TIME* wolfSSL_ASN1_TIME_to_generalizedtime(WOLFSSL_ASN1_TIME *t,
41994203
return ret;
42004204
}
42014205

4202-
#if !defined(USER_TIME) && !defined(TIME_OVERRIDES)
4206+
#if !defined(NO_ASN_TIME) && !defined(USER_TIME) && !defined(TIME_OVERRIDES)
42034207
WOLFSSL_ASN1_TIME* wolfSSL_ASN1_UTCTIME_set(WOLFSSL_ASN1_TIME *s, time_t t)
42044208
{
42054209
WOLFSSL_ASN1_TIME* ret = s;
@@ -4228,7 +4232,8 @@ WOLFSSL_ASN1_TIME* wolfSSL_ASN1_UTCTIME_set(WOLFSSL_ASN1_TIME *s, time_t t)
42284232
#endif /* !USER_TIME && !TIME_OVERRIDES */
42294233
#endif /* OPENSSL_EXTRA */
42304234

4231-
#if defined(WOLFSSL_MYSQL_COMPATIBLE) || defined(OPENSSL_EXTRA)
4235+
#if !defined(NO_ASN_TIME) && \
4236+
(defined(WOLFSSL_MYSQL_COMPATIBLE) || defined(OPENSSL_EXTRA))
42324237
/* Get string from ASN.1 TIME object.
42334238
*
42344239
* Not an OpenSSL compatibility API.
@@ -4607,9 +4612,9 @@ int wolfSSL_ASN1_TIME_print(WOLFSSL_BIO* bio, const WOLFSSL_ASN1_TIME* asnTime)
46074612
}
46084613
#endif /* !NO_BIO */
46094614

4610-
#endif /* WOLFSSL_MYSQL_COMPATIBLE || OPENSSL_EXTRA */
4615+
#endif /* !NO_ASN_TIME && (WOLFSSL_MYSQL_COMPATIBLE || OPENSSL_EXTRA) */
46114616

4612-
#ifdef OPENSSL_EXTRA
4617+
#if !defined(NO_ASN_TIME) && defined(OPENSSL_EXTRA)
46134618

46144619
#ifndef NO_BIO
46154620
/* Print the ASN.1 UTC TIME object as a string to BIO.
@@ -4647,9 +4652,7 @@ int wolfSSL_ASN1_UTCTIME_print(WOLFSSL_BIO* bio, const WOLFSSL_ASN1_UTCTIME* a)
46474652
}
46484653
#endif /* !NO_BIO */
46494654

4650-
#endif /* OPENSSL_EXTRA */
4651-
4652-
#endif /* !NO_ASN_TIME */
4655+
#endif /* !NO_ASN_TIME && OPENSSL_EXTRA */
46534656

46544657
/*******************************************************************************
46554658
* ASN1_TYPE APIs

0 commit comments

Comments
 (0)