certificates: Use shared destructor for x509_cdp_t
authorTobias Brunner <tobias@strongswan.org>
Thu, 7 Sep 2017 09:45:23 +0000 (11:45 +0200)
committerTobias Brunner <tobias@strongswan.org>
Mon, 18 Sep 2017 08:54:19 +0000 (10:54 +0200)
src/libstrongswan/credentials/certificates/x509.c
src/libstrongswan/credentials/certificates/x509.h
src/libstrongswan/plugins/openssl/openssl_x509.c
src/libstrongswan/plugins/x509/x509_cert.c
src/libstrongswan/plugins/x509/x509_crl.c
src/pki/commands/signcrl.c

index 5eefa0b..d39ba19 100644 (file)
@@ -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);
+}
index 601c034..2c640e2 100644 (file)
@@ -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_ @}*/
index e03a425..c04dbfa 100644 (file)
@@ -189,16 +189,6 @@ struct private_openssl_x509_t {
 };
 
 /**
- * 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.
  */
 static identification_t *general_name2id(GENERAL_NAME *name)
@@ -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));
index 974e687..dea2c70 100644 (file)
@@ -241,16 +241,6 @@ static bool gn_to_string(identification_t *id, char **uri)
 }
 
 /**
- * Destroy a CertificateDistributionPoint
- */
-static void crl_uri_destroy(x509_cdp_t *this)
-{
-       free(this->uri);
-       DESTROY_IF(this->issuer);
-       free(this);
-}
-
-/**
  * Destroy a CertificatePolicy
  */
 static void cert_policy_destroy(x509_cert_policy_t *this)
@@ -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));
index d8913ad..6d18ea5 100644 (file)
@@ -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);
index 25a3aac..4c2e6df 100644 (file)
@@ -109,15 +109,6 @@ static int read_serial(char *file, char *buf, int buflen)
 }
 
 /**
- * Destroy a CDP
- */
-static void cdp_destroy(x509_cdp_t *this)
-{
-       free(this->uri);
-       free(this);
-}
-
-/**
  * Sign a CRL
  */
 static int sign_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);
 }