| Index: nss/lib/certhigh/certvfy.c
|
| ===================================================================
|
| --- nss/lib/certhigh/certvfy.c (revision 256695)
|
| +++ nss/lib/certhigh/certvfy.c (working copy)
|
| @@ -549,7 +549,18 @@
|
| PORT_SetError (SEC_ERROR_PATH_LEN_CONSTRAINT_INVALID);
|
| LOG_ERROR_OR_EXIT(log, issuerCert, count+1, pathLengthLimit);
|
| }
|
| -
|
| +
|
| + /* make sure that the entire chain is within the name space of the
|
| + * current issuer certificate.
|
| + */
|
| + rv = CERT_CompareNameSpace(issuerCert, namesList, certsList,
|
| + arena, &badCert);
|
| + if (rv != SECSuccess || badCert != NULL) {
|
| + PORT_SetError(SEC_ERROR_CERT_NOT_IN_NAME_SPACE);
|
| + LOG_ERROR_OR_EXIT(log, badCert, count + 1, 0);
|
| + goto loser;
|
| + }
|
| +
|
| /* XXX - the error logging may need to go down into CRL stuff at some
|
| * point
|
| */
|
| @@ -671,16 +682,6 @@
|
| }
|
| }
|
|
|
| - /* make sure that the entire chain is within the name space of the
|
| - ** current issuer certificate.
|
| - */
|
| - rv = CERT_CompareNameSpace(issuerCert, namesList, certsList,
|
| - arena, &badCert);
|
| - if (rv != SECSuccess || badCert != NULL) {
|
| - PORT_SetError(SEC_ERROR_CERT_NOT_IN_NAME_SPACE);
|
| - LOG_ERROR_OR_EXIT(log, badCert, count + 1, 0);
|
| - goto loser;
|
| - }
|
| /* make sure that the issuer is not self signed. If it is, then
|
| * stop here to prevent looping.
|
| */
|
|
|