Juan Lang : crypt32: Correct trust error status for cyclic chains.
Alexandre Julliard
julliard at winehq.org
Thu Oct 23 08:38:08 CDT 2008
Module: wine
Branch: master
Commit: 0556e9d966362fb607956614a35092ec1898549e
URL: http://source.winehq.org/git/wine.git/?a=commit;h=0556e9d966362fb607956614a35092ec1898549e
Author: Juan Lang <juan.lang at gmail.com>
Date: Wed Oct 22 15:02:15 2008 -0700
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 1c113c1..cd70d49 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 530a03d..fc9768b 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 },
More information about the wine-cvs
mailing list