ignoring unkown crl/ocsp uris

This commit is contained in:
Martin Willi
2007-07-04 12:00:33 +00:00
parent 1b8da84913
commit fa1bd44f23
2 changed files with 17 additions and 5 deletions
@@ -455,18 +455,24 @@ static void add_uris(ca_info_t *issuer, x509_t *cert)
iterator = cert->create_crluri_iterator(cert); iterator = cert->create_crluri_iterator(cert);
while (iterator->iterate(iterator, (void**)&uri)) while (iterator->iterate(iterator, (void**)&uri))
{
if (uri->get_type(uri) == ID_DER_ASN1_GN_URI)
{ {
issuer->add_crluri(issuer, uri->get_encoding(uri)); issuer->add_crluri(issuer, uri->get_encoding(uri));
} }
}
iterator->destroy(iterator); iterator->destroy(iterator);
/* add any ocsp access points to the issuer ca info record */ /* add any ocsp access points to the issuer ca info record */
iterator = cert->create_ocspuri_iterator(cert); iterator = cert->create_ocspuri_iterator(cert);
while (iterator->iterate(iterator, (void**)&uri)) while (iterator->iterate(iterator, (void**)&uri))
{
if (uri->get_type(uri) == ID_DER_ASN1_GN_URI)
{ {
issuer->add_ocspuri(issuer, uri->get_encoding(uri)); issuer->add_ocspuri(issuer, uri->get_encoding(uri));
} }
}
iterator->destroy(iterator); iterator->destroy(iterator);
} }
+7 -1
View File
@@ -345,7 +345,7 @@ static void add_crluri(private_ca_info_t *this, chunk_t uri)
strncasecmp(uri.ptr, "file", 4) != 0 && strncasecmp(uri.ptr, "file", 4) != 0 &&
strncasecmp(uri.ptr, "ftp", 3) != 0)) strncasecmp(uri.ptr, "ftp", 3) != 0))
{ {
DBG1(" invalid crl uri '%#B'", uri); DBG1(" invalid crl uri '%#B'", &uri);
return; return;
} }
else else
@@ -398,9 +398,12 @@ void add_info (private_ca_info_t *this, const private_ca_info_t *that)
iterator_t *iterator = that->crluris->create_iterator(that->crluris, TRUE); iterator_t *iterator = that->crluris->create_iterator(that->crluris, TRUE);
while (iterator->iterate(iterator, (void**)&uri)) while (iterator->iterate(iterator, (void**)&uri))
{
if (uri->get_type(uri) == ID_DER_ASN1_GN_URI)
{ {
add_crluri(this, uri->get_encoding(uri)); add_crluri(this, uri->get_encoding(uri));
} }
}
iterator->destroy(iterator); iterator->destroy(iterator);
} }
@@ -410,9 +413,12 @@ void add_info (private_ca_info_t *this, const private_ca_info_t *that)
iterator_t *iterator = that->ocspuris->create_iterator(that->ocspuris, TRUE); iterator_t *iterator = that->ocspuris->create_iterator(that->ocspuris, TRUE);
while (iterator->iterate(iterator, (void**)&uri)) while (iterator->iterate(iterator, (void**)&uri))
{
if (uri->get_type(uri) == ID_DER_ASN1_GN_URI)
{ {
add_ocspuri(this, uri->get_encoding(uri)); add_ocspuri(this, uri->get_encoding(uri));
} }
}
iterator->destroy(iterator); iterator->destroy(iterator);
} }
} }