certificates: Use shared destructor for x509_cdp_t
This commit is contained in:
@@ -25,3 +25,12 @@ ENUM_NEXT(x509_flag_names, X509_ANY, X509_ANY, X509_OCSP_SIGNER,
|
||||
"ANY");
|
||||
ENUM_END(x509_flag_names, X509_ANY);
|
||||
|
||||
/*
|
||||
* Described in header
|
||||
*/
|
||||
void x509_cdp_destroy(x509_cdp_t *this)
|
||||
{
|
||||
free(this->uri);
|
||||
DESTROY_IF(this->issuer);
|
||||
free(this);
|
||||
}
|
||||
|
||||
@@ -210,8 +210,11 @@ struct x509_t {
|
||||
* @return enumerator over x509_policy_mapping
|
||||
*/
|
||||
enumerator_t* (*create_policy_mapping_enumerator)(x509_t *this);
|
||||
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* Destroy an x509_cdp_t instance.
|
||||
*/
|
||||
void x509_cdp_destroy(x509_cdp_t *this);
|
||||
|
||||
#endif /** X509_H_ @}*/
|
||||
|
||||
@@ -188,16 +188,6 @@ struct private_openssl_x509_t {
|
||||
refcount_t ref;
|
||||
};
|
||||
|
||||
/**
|
||||
* Destroy a CRL URI struct
|
||||
*/
|
||||
static void crl_uri_destroy(x509_cdp_t *this)
|
||||
{
|
||||
free(this->uri);
|
||||
DESTROY_IF(this->issuer);
|
||||
free(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert a GeneralName to an identification_t.
|
||||
*/
|
||||
@@ -549,7 +539,8 @@ METHOD(certificate_t, destroy, void,
|
||||
offsetof(identification_t, destroy));
|
||||
this->issuerAltNames->destroy_offset(this->issuerAltNames,
|
||||
offsetof(identification_t, destroy));
|
||||
this->crl_uris->destroy_function(this->crl_uris, (void*)crl_uri_destroy);
|
||||
this->crl_uris->destroy_function(this->crl_uris,
|
||||
(void*)x509_cdp_destroy);
|
||||
this->ocsp_uris->destroy_function(this->ocsp_uris, free);
|
||||
this->ipAddrBlocks->destroy_offset(this->ipAddrBlocks,
|
||||
offsetof(traffic_selector_t, destroy));
|
||||
|
||||
@@ -240,16 +240,6 @@ static bool gn_to_string(identification_t *id, char **uri)
|
||||
return len > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Destroy a CertificateDistributionPoint
|
||||
*/
|
||||
static void crl_uri_destroy(x509_cdp_t *this)
|
||||
{
|
||||
free(this->uri);
|
||||
DESTROY_IF(this->issuer);
|
||||
free(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Destroy a CertificatePolicy
|
||||
*/
|
||||
@@ -1920,7 +1910,8 @@ METHOD(certificate_t, destroy, void,
|
||||
{
|
||||
this->subjectAltNames->destroy_offset(this->subjectAltNames,
|
||||
offsetof(identification_t, destroy));
|
||||
this->crl_uris->destroy_function(this->crl_uris, (void*)crl_uri_destroy);
|
||||
this->crl_uris->destroy_function(this->crl_uris,
|
||||
(void*)x509_cdp_destroy);
|
||||
this->ocsp_uris->destroy_function(this->ocsp_uris, free);
|
||||
this->ipAddrBlocks->destroy_offset(this->ipAddrBlocks,
|
||||
offsetof(traffic_selector_t, destroy));
|
||||
|
||||
@@ -585,23 +585,14 @@ static void revoked_destroy(revoked_t *revoked)
|
||||
free(revoked);
|
||||
}
|
||||
|
||||
/**
|
||||
* Destroy a CDP entry
|
||||
*/
|
||||
static void cdp_destroy(x509_cdp_t *this)
|
||||
{
|
||||
free(this->uri);
|
||||
DESTROY_IF(this->issuer);
|
||||
free(this);
|
||||
}
|
||||
|
||||
METHOD(certificate_t, destroy, void,
|
||||
private_x509_crl_t *this)
|
||||
{
|
||||
if (ref_put(&this->ref))
|
||||
{
|
||||
this->revoked->destroy_function(this->revoked, (void*)revoked_destroy);
|
||||
this->crl_uris->destroy_function(this->crl_uris, (void*)cdp_destroy);
|
||||
this->crl_uris->destroy_function(this->crl_uris,
|
||||
(void*)x509_cdp_destroy);
|
||||
DESTROY_IF(this->issuer);
|
||||
free(this->authKeyIdentifier.ptr);
|
||||
free(this->encoding.ptr);
|
||||
|
||||
@@ -108,15 +108,6 @@ static int read_serial(char *file, char *buf, int buflen)
|
||||
return serial.len;
|
||||
}
|
||||
|
||||
/**
|
||||
* Destroy a CDP
|
||||
*/
|
||||
static void cdp_destroy(x509_cdp_t *this)
|
||||
{
|
||||
free(this->uri);
|
||||
free(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sign a CRL
|
||||
*/
|
||||
@@ -439,7 +430,7 @@ error:
|
||||
free(encoding.ptr);
|
||||
free(baseCrlNumber.ptr);
|
||||
list->destroy_function(list, (void*)revoked_destroy);
|
||||
cdps->destroy_function(cdps, (void*)cdp_destroy);
|
||||
cdps->destroy_function(cdps, (void*)x509_cdp_destroy);
|
||||
if (error)
|
||||
{
|
||||
fprintf(stderr, "%s\n", error);
|
||||
@@ -449,7 +440,7 @@ error:
|
||||
|
||||
usage:
|
||||
list->destroy_function(list, (void*)revoked_destroy);
|
||||
cdps->destroy_function(cdps, (void*)cdp_destroy);
|
||||
cdps->destroy_function(cdps, (void*)x509_cdp_destroy);
|
||||
return command_usage(error);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user