diff options
Diffstat (limited to 'src/libstrongswan/crypto/crl.c')
-rwxr-xr-x | src/libstrongswan/crypto/crl.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/libstrongswan/crypto/crl.c b/src/libstrongswan/crypto/crl.c index f1c21c74b..ea8e5bfdc 100755 --- a/src/libstrongswan/crypto/crl.c +++ b/src/libstrongswan/crypto/crl.c @@ -385,16 +385,15 @@ static bool verify(const private_crl_t *this, const rsa_public_key_t *signer) static void get_status(const private_crl_t *this, certinfo_t *certinfo) { chunk_t serialNumber = certinfo->get_serialNumber(certinfo); - iterator_t *iterator = this->revokedCertificates->create_iterator(this->revokedCertificates, TRUE); - + iterator_t *iterator; + revokedCert_t *revokedCert; + certinfo->set_nextUpdate(certinfo, this->nextUpdate); certinfo->set_status(certinfo, CERT_GOOD); - - while (iterator->has_next(iterator)) + + iterator = this->revokedCertificates->create_iterator(this->revokedCertificates, TRUE); + while (iterator->iterate(iterator, (void**)&revokedCert)) { - revokedCert_t *revokedCert; - - iterator->current(iterator, (void**)&revokedCert); if (chunk_equals(serialNumber, revokedCert->userCertificate)) { certinfo->set_status(certinfo, CERT_REVOKED); |