Skip to content

Commit bd90bb2

Browse files
committed
Guard DH_set0_pqg test with OPENSSL_ALL/VERSION_NUMBER to match pk.c availability.
1 parent f82532c commit bd90bb2

1 file changed

Lines changed: 19 additions & 19 deletions

File tree

tests/api.c

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -13315,35 +13315,35 @@ static int test_wolfSSL_tmp_dh_regression(void)
1331513315
!defined(NO_FILESYSTEM) && !defined(NO_RSA) && !defined(NO_TLS) && \
1331613316
!defined(NO_WOLFSSL_SERVER)
1331713317
SSL_CTX* ctx = NULL;
13318-
DH* dh = NULL;
13319-
WOLFSSL_BIGNUM* p_bn = NULL;
1332013318

1332113319
ExpectNotNull(ctx = SSL_CTX_new(wolfSSLv23_server_method()));
1332213320
ExpectTrue(SSL_CTX_use_certificate_file(ctx, svrCertFile,
1332313321
WOLFSSL_FILETYPE_PEM));
1332413322
ExpectTrue(SSL_CTX_use_PrivateKey_file(ctx, svrKeyFile,
1332513323
WOLFSSL_FILETYPE_PEM));
1332613324

13327-
/* Test single-operand failure: DH with p but no g.
13328-
* Old (pSz < 0) && (gSz < 0) would have missed this since only g fails.
13329-
* Fixed (pSz <= 0) || (gSz <= 0) catches it. */
13330-
ExpectNotNull(dh = wolfSSL_DH_new());
13331-
ExpectNotNull(p_bn = wolfSSL_BN_new());
13332-
ExpectIntEQ(wolfSSL_BN_set_word(p_bn, 0xFFFF), 1);
13333-
if (dh != NULL && p_bn != NULL) {
13334-
/* g is NULL on a new DH so set0_pqg fails, p_bn not transferred */
13335-
if (wolfSSL_DH_set0_pqg(dh, p_bn, NULL, NULL) == 1) {
13336-
p_bn = NULL; /* ownership transferred only on success */
13325+
#if defined(OPENSSL_ALL) || \
13326+
(defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER >= 0x10100000L)
13327+
{
13328+
/* Test single-operand failure: DH with p but no g. */
13329+
DH* dh = NULL;
13330+
WOLFSSL_BIGNUM* p_bn = NULL;
13331+
13332+
ExpectNotNull(dh = wolfSSL_DH_new());
13333+
ExpectNotNull(p_bn = wolfSSL_BN_new());
13334+
ExpectIntEQ(wolfSSL_BN_set_word(p_bn, 0xFFFF), 1);
13335+
if (dh != NULL && p_bn != NULL) {
13336+
if (wolfSSL_DH_set0_pqg(dh, p_bn, NULL, NULL) == 1) {
13337+
p_bn = NULL; /* ownership transferred on success */
13338+
}
1333713339
}
13340+
ExpectIntEQ((int)SSL_CTX_set_tmp_dh(ctx, dh), WOLFSSL_FATAL_ERROR);
13341+
DH_free(dh);
13342+
wolfSSL_BN_free(p_bn);
1333813343
}
13339-
ExpectIntEQ((int)SSL_CTX_set_tmp_dh(ctx, dh), WOLFSSL_FATAL_ERROR);
13340-
DH_free(dh);
13341-
dh = NULL;
13342-
wolfSSL_BN_free(p_bn);
13343-
p_bn = NULL;
13344+
#endif
1334413345

13345-
/* Test ASN1/DER path through wolfSSL_CTX_SetTmpDH_buffer.
13346-
* Old code had cast-away-const + zero-size AllocDer bug. */
13346+
/* Test ASN1/DER path through wolfSSL_CTX_SetTmpDH_buffer. */
1334713347
{
1334813348
byte derBuf[4096];
1334913349
XFILE f = XBADFILE;

0 commit comments

Comments
 (0)