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