crypt32: Fix more test failures on older crypt32 versions.
authorJuan Lang <juan.lang@gmail.com>
Wed, 11 Nov 2009 20:21:44 +0000 (12:21 -0800)
committerAlexander Morozov <amorozov@etersoft.ru>
Thu, 1 Jul 2010 13:18:11 +0000 (17:18 +0400)
dlls/crypt32/tests/chain.c

index eb1fac092e429e6ada91e3621890216e072baca3..d3d33ac7317fb3fabc6213508cbb6d2ebac4230f 100644 (file)
@@ -2731,9 +2731,14 @@ static ChainCheck chainCheck[] = {
      { CERT_TRUST_IS_UNTRUSTED_ROOT, 0 },
      1, simpleStatus19 },
    0 },
+ /* Older versions of crypt32 do not set
+  * CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT, though they should.  So
+  * ignore it (on Windows) but require it (on Wine.)
+  */
  { { sizeof(chain20) / sizeof(chain20[0]), chain20 },
    { { CERT_TRUST_IS_NOT_TIME_NESTED | CERT_TRUST_IS_NOT_VALID_FOR_USAGE |
-       CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT,
+       CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT |
+       CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT,
        CERT_TRUST_HAS_PREFERRED_ISSUER },
      { CERT_TRUST_IS_UNTRUSTED_ROOT |
        CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT, 0 },
@@ -2749,7 +2754,8 @@ static ChainCheck chainCheck[] = {
    0 },
  { { sizeof(chain22) / sizeof(chain22[0]), chain22 },
    { { CERT_TRUST_IS_NOT_TIME_NESTED | CERT_TRUST_IS_NOT_VALID_FOR_USAGE |
-       CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT,
+       CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT |
+       CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT,
        CERT_TRUST_HAS_PREFERRED_ISSUER },
      { CERT_TRUST_IS_UNTRUSTED_ROOT |
        CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT, 0 },
@@ -2757,7 +2763,8 @@ static ChainCheck chainCheck[] = {
    0 },
  { { sizeof(chain23) / sizeof(chain23[0]), chain23 },
    { { CERT_TRUST_IS_NOT_TIME_NESTED | CERT_TRUST_IS_NOT_VALID_FOR_USAGE |
-       CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT,
+       CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT |
+       CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT,
        CERT_TRUST_HAS_PREFERRED_ISSUER },
      { CERT_TRUST_IS_UNTRUSTED_ROOT |
        CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT, 0 },
@@ -2765,7 +2772,8 @@ static ChainCheck chainCheck[] = {
    0 },
  { { sizeof(chain24) / sizeof(chain24[0]), chain24 },
    { { CERT_TRUST_IS_NOT_TIME_NESTED | CERT_TRUST_IS_NOT_VALID_FOR_USAGE |
-       CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT,
+       CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT |
+       CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT,
        CERT_TRUST_HAS_PREFERRED_ISSUER },
      { CERT_TRUST_IS_UNTRUSTED_ROOT |
        CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT, 0 },
@@ -2773,7 +2781,8 @@ static ChainCheck chainCheck[] = {
    0 },
  { { sizeof(chain25) / sizeof(chain25[0]), chain25 },
    { { CERT_TRUST_IS_NOT_TIME_NESTED | CERT_TRUST_IS_NOT_VALID_FOR_USAGE |
-       CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT,
+       CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT |
+       CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT,
        CERT_TRUST_HAS_PREFERRED_ISSUER },
      { CERT_TRUST_IS_UNTRUSTED_ROOT |
        CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT, 0 },
@@ -2781,7 +2790,8 @@ static ChainCheck chainCheck[] = {
    0 },
  { { sizeof(chain26) / sizeof(chain26[0]), chain26 },
    { { CERT_TRUST_IS_NOT_TIME_NESTED | CERT_TRUST_IS_NOT_VALID_FOR_USAGE |
-       CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT,
+       CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT |
+       CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT,
        CERT_TRUST_HAS_PREFERRED_ISSUER },
      { CERT_TRUST_IS_UNTRUSTED_ROOT |
        CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT, 0 },
@@ -2796,7 +2806,8 @@ static ChainCheck chainCheck[] = {
    0 },
  { { sizeof(chain28) / sizeof(chain28[0]), chain28 },
    { { CERT_TRUST_IS_NOT_TIME_NESTED | CERT_TRUST_IS_NOT_VALID_FOR_USAGE |
-       CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT,
+       CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT |
+       CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT,
        CERT_TRUST_HAS_PREFERRED_ISSUER },
      { CERT_TRUST_IS_UNTRUSTED_ROOT |
        CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT, 0 },