From 0556e9d966362fb607956614a35092ec1898549e Mon Sep 17 00:00:00 2001 From: Juan Lang Date: Wed, 22 Oct 2008 15:02:15 -0700 Subject: [PATCH] crypt32: Correct trust error status for cyclic chains. --- dlls/crypt32/chain.c | 6 ++---- dlls/crypt32/tests/chain.c | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/dlls/crypt32/chain.c b/dlls/crypt32/chain.c index 1c113c16ada..cd70d499b16 100644 --- a/dlls/crypt32/chain.c +++ b/dlls/crypt32/chain.c @@ -754,13 +754,11 @@ static void CRYPT_CheckSimpleChain(PCertificateChainEngine engine, if (CRYPT_IsSimpleChainCyclic(chain)) { /* If the chain is cyclic, then the path length constraints - * are violated, because the chain is infinitely long. MS - * misleadingly also sets the not supported name constraint bit, - * whether or not name constraints were present. + * are violated, because the chain is infinitely long. */ pathLengthConstraintViolated = TRUE; chain->TrustStatus.dwErrorStatus |= - CERT_TRUST_HAS_NOT_SUPPORTED_NAME_CONSTRAINT | + CERT_TRUST_IS_PARTIAL_CHAIN | CERT_TRUST_INVALID_BASIC_CONSTRAINTS; } /* FIXME: check valid usages */ diff --git a/dlls/crypt32/tests/chain.c b/dlls/crypt32/tests/chain.c index 530a03db85b..fc9768b8000 100644 --- a/dlls/crypt32/tests/chain.c +++ b/dlls/crypt32/tests/chain.c @@ -1527,7 +1527,7 @@ static ChainCheck chainCheck[] = { TODO_ERROR }, { { sizeof(chain9) / sizeof(chain9[0]), chain9 }, { { CERT_TRUST_IS_NOT_TIME_NESTED, CERT_TRUST_HAS_PREFERRED_ISSUER }, - { CERT_TRUST_HAS_NOT_SUPPORTED_NAME_CONSTRAINT | + { CERT_TRUST_IS_PARTIAL_CHAIN | CERT_TRUST_INVALID_BASIC_CONSTRAINTS | CERT_TRUST_IS_CYCLIC, 0 }, 1, simpleStatus9 }, TODO_INFO }, -- 2.11.4.GIT