CB_FAIL_IF
CB_FAIL_IF((x->ex_flags & EXFLAG_INVALID_POLICY) != 0,
CB_FAIL_IF(i == 0, ctx, x, depth, X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD);
CB_FAIL_IF(i > 0, ctx, x, depth, X509_V_ERR_CERT_NOT_YET_VALID);
CB_FAIL_IF(i == 0, ctx, x, depth, X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD);
CB_FAIL_IF(i < 0, ctx, x, depth, X509_V_ERR_CERT_HAS_EXPIRED);
CB_FAIL_IF(1, ctx, xi, 0,
CB_FAIL_IF(ret != X509_V_OK, ctx, xi, issuer_depth, ret);
CB_FAIL_IF(1, ctx, xi, issuer_depth,
CB_FAIL_IF(X509_verify(xs, pkey) <= 0,
CB_FAIL_IF(i > 0 && !check_cert_key_level(ctx, cert),
CB_FAIL_IF(i < num - 1 && !check_sig_level(ctx, cert),
CB_FAIL_IF(err != X509_V_OK, ctx, NULL, ctx->error_depth, err);
CB_FAIL_IF(err != X509_V_OK, ctx, cert, 0, err);
CB_FAIL_IF(!check_cert_key_level(ctx, ctx->cert),
CB_FAIL_IF(num > max_depth,
CB_FAIL_IF(DANETLS_ENABLED(dane)
CB_FAIL_IF((ctx->param->flags & X509_V_FLAG_IGNORE_CRITICAL) == 0
CB_FAIL_IF(!allow_proxy_certs && (x->ex_flags & EXFLAG_PROXY) != 0,
CB_FAIL_IF((ctx->param->flags & X509_V_FLAG_X509_STRICT) != 0
CB_FAIL_IF(ret != 0, ctx, x, i, X509_V_ERR_INVALID_NON_CA);
CB_FAIL_IF(ret == 0
CB_FAIL_IF(ret < 0, ctx, x, i, X509_V_ERR_UNSPECIFIED);
CB_FAIL_IF(ret == 0, ctx, x, i, X509_V_ERR_EC_KEY_EXPLICIT_PARAMS);
CB_FAIL_IF((x->ex_flags & EXFLAG_CA) == 0,
CB_FAIL_IF((x->ex_kusage & KU_KEY_CERT_SIGN) == 0, ctx,
CB_FAIL_IF((x->ex_flags & EXFLAG_CA) != 0
CB_FAIL_IF((x->ex_flags & EXFLAG_KUSAGE) == 0,
CB_FAIL_IF((x->ex_kusage & KU_KEY_CERT_SIGN) != 0, ctx, x, i,
CB_FAIL_IF(X509_NAME_entry_count(X509_get_issuer_name(x)) == 0,
CB_FAIL_IF(((x->ex_flags & EXFLAG_CA) != 0
CB_FAIL_IF(X509_NAME_entry_count(X509_get_subject_name(x)) == 0
CB_FAIL_IF(x->altname != NULL
CB_FAIL_IF(X509_ALGOR_cmp(&x->sig_alg, &x->cert_info.signature) != 0,
CB_FAIL_IF(x->akid != NULL
CB_FAIL_IF(x->skid != NULL
CB_FAIL_IF(i + 1 < num /*
CB_FAIL_IF((x->ex_flags & EXFLAG_CA) != 0 && x->skid == NULL,
CB_FAIL_IF(sk_X509_EXTENSION_num(X509_get0_extensions(x)) > 0,
CB_FAIL_IF(i > 1 && x->ex_pathlen != -1
CB_FAIL_IF(proxy_path_length > x->ex_pcpathlen,
CB_FAIL_IF(err != X509_V_OK, ctx, x, i, err);
CB_FAIL_IF(1, ctx, x, i, rv);