Skip to content

Commit cab20fb

Browse files
committed
add and use WOLFSSL_PARTIAL_CHAIN as native bitmask macro for compat layer X509_V_FLAG_PARTIAL_CHAIN;
in src/x509_str.c, fix several C++ "invalid conversion" errors in X509StoreFreeObjList() and wolfSSL_X509_STORE_get0_objects().
1 parent 6f0bcac commit cab20fb

File tree

3 files changed

+12
-11
lines changed

3 files changed

+12
-11
lines changed

src/x509_str.c

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -415,8 +415,8 @@ int wolfSSL_X509_verify_cert(WOLFSSL_X509_STORE_CTX* ctx)
415415
* a trusted CA in the CM */
416416
ret = X509StoreVerifyCert(ctx);
417417
if (ret != WOLFSSL_SUCCESS) {
418-
if (((ctx->flags & X509_V_FLAG_PARTIAL_CHAIN) ||
419-
(ctx->store->param->flags & X509_V_FLAG_PARTIAL_CHAIN)) &&
418+
if (((ctx->flags & WOLFSSL_PARTIAL_CHAIN) ||
419+
(ctx->store->param->flags & WOLFSSL_PARTIAL_CHAIN)) &&
420420
(added == 1)) {
421421
wolfSSL_sk_X509_push(ctx->chain, ctx->current_cert);
422422
ret = WOLFSSL_SUCCESS;
@@ -592,8 +592,8 @@ int wolfSSL_X509_STORE_CTX_set_purpose(WOLFSSL_X509_STORE_CTX *ctx,
592592
void wolfSSL_X509_STORE_CTX_set_flags(WOLFSSL_X509_STORE_CTX *ctx,
593593
unsigned long flags)
594594
{
595-
if ((ctx != NULL) && (flags & X509_V_FLAG_PARTIAL_CHAIN)){
596-
ctx->flags |= X509_V_FLAG_PARTIAL_CHAIN;
595+
if ((ctx != NULL) && (flags & WOLFSSL_PARTIAL_CHAIN)){
596+
ctx->flags |= WOLFSSL_PARTIAL_CHAIN;
597597
}
598598
}
599599

@@ -1059,9 +1059,9 @@ static void X509StoreFreeObjList(WOLFSSL_X509_STORE* store,
10591059
i = wolfSSL_sk_X509_OBJECT_num(objs) - 1;
10601060
while (cnt > 0 && i > 0) {
10611061
/* The inner X509 is owned by somebody else, NULL out the reference */
1062-
obj = wolfSSL_sk_X509_OBJECT_value(objs, i);
1062+
obj = (WOLFSSL_X509_OBJECT *)wolfSSL_sk_X509_OBJECT_value(objs, i);
10631063
if (obj != NULL) {
1064-
obj->type = 0;
1064+
obj->type = (WOLFSSL_X509_LOOKUP_TYPE)0;
10651065
obj->data.ptr = NULL;
10661066
}
10671067
cnt--;
@@ -1363,8 +1363,8 @@ int wolfSSL_X509_STORE_set_flags(WOLFSSL_X509_STORE* store, unsigned long flag)
13631363
ret = wolfSSL_CertManagerDisableCRL(store->cm);
13641364
}
13651365
#endif
1366-
if (flag & X509_V_FLAG_PARTIAL_CHAIN) {
1367-
store->param->flags |= X509_V_FLAG_PARTIAL_CHAIN;
1366+
if (flag & WOLFSSL_PARTIAL_CHAIN) {
1367+
store->param->flags |= WOLFSSL_PARTIAL_CHAIN;
13681368
}
13691369
return ret;
13701370
}
@@ -1753,7 +1753,7 @@ WOLF_STACK_OF(WOLFSSL_X509_OBJECT)* wolfSSL_X509_STORE_get0_objects(
17531753
/* Do not modify stack until after we guarantee success to
17541754
* simplify cleanup logic handling cert merging above */
17551755
for (i = 0; i < wolfSSL_sk_X509_num(cert_stack); i++) {
1756-
x509 = wolfSSL_sk_value(cert_stack, i);
1756+
x509 = (WOLFSSL_X509 *)wolfSSL_sk_value(cert_stack, i);
17571757
obj = wolfSSL_X509_OBJECT_new();
17581758
if (obj == NULL) {
17591759
WOLFSSL_MSG("wolfSSL_X509_OBJECT_new error");

wolfssl/openssl/ssl.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -643,8 +643,8 @@ typedef WOLFSSL_X509_NAME_ENTRY X509_NAME_ENTRY;
643643
#define X509_V_FLAG_CRL_CHECK WOLFSSL_CRL_CHECK
644644
#define X509_V_FLAG_CRL_CHECK_ALL WOLFSSL_CRL_CHECKALL
645645

646-
#define X509_V_FLAG_PARTIAL_CHAIN 0x80000
647-
#define X509_V_FLAG_TRUSTED_FIRST 0
646+
#define X509_V_FLAG_PARTIAL_CHAIN WOLFSSL_PARTIAL_CHAIN
647+
#define X509_V_FLAG_TRUSTED_FIRST 0 /* dummy value needed for gRPC port */
648648

649649
#define X509_V_FLAG_USE_CHECK_TIME WOLFSSL_USE_CHECK_TIME
650650
#define X509_V_FLAG_NO_CHECK_TIME WOLFSSL_NO_CHECK_TIME

wolfssl/ssl.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -616,6 +616,7 @@ struct WOLFSSL_X509_STORE {
616616
#if defined(OPENSSL_EXTRA) || defined(WOLFSSL_WPAS_SMALL)
617617
#define WOLFSSL_USE_CHECK_TIME 0x2
618618
#define WOLFSSL_NO_CHECK_TIME 0x200000
619+
#define WOLFSSL_PARTIAL_CHAIN 0x80000
619620
#define WOLFSSL_HOST_NAME_MAX 256
620621

621622
#define WOLFSSL_VPARAM_DEFAULT 0x1

0 commit comments

Comments
 (0)