diff options
Diffstat (limited to 'src/libstrongswan/credentials/sets')
-rw-r--r-- | src/libstrongswan/credentials/sets/auth_cfg_wrapper.c | 39 | ||||
-rw-r--r-- | src/libstrongswan/credentials/sets/cert_cache.c | 52 | ||||
-rw-r--r-- | src/libstrongswan/credentials/sets/ocsp_response_wrapper.c | 40 |
3 files changed, 63 insertions, 68 deletions
diff --git a/src/libstrongswan/credentials/sets/auth_cfg_wrapper.c b/src/libstrongswan/credentials/sets/auth_cfg_wrapper.c index 225fabe31..2cef23328 100644 --- a/src/libstrongswan/credentials/sets/auth_cfg_wrapper.c +++ b/src/libstrongswan/credentials/sets/auth_cfg_wrapper.c @@ -172,12 +172,9 @@ static void wrapper_enumerator_destroy(wrapper_enumerator_t *this) free(this); } -/** - * implementation of auth_cfg_wrapper_t.set.create_cert_enumerator - */ -static enumerator_t *create_enumerator(private_auth_cfg_wrapper_t *this, - certificate_type_t cert, key_type_t key, - identification_t *id, bool trusted) +METHOD(credential_set_t, create_enumerator, enumerator_t*, + private_auth_cfg_wrapper_t *this, certificate_type_t cert, key_type_t key, + identification_t *id, bool trusted) { wrapper_enumerator_t *enumerator; @@ -196,10 +193,8 @@ static enumerator_t *create_enumerator(private_auth_cfg_wrapper_t *this, return &enumerator->public; } -/** - * Implementation of auth_cfg_wrapper_t.destroy - */ -static void destroy(private_auth_cfg_wrapper_t *this) +METHOD(auth_cfg_wrapper_t, destroy, void, + private_auth_cfg_wrapper_t *this) { free(this); } @@ -209,16 +204,20 @@ static void destroy(private_auth_cfg_wrapper_t *this) */ auth_cfg_wrapper_t *auth_cfg_wrapper_create(auth_cfg_t *auth) { - private_auth_cfg_wrapper_t *this = malloc_thing(private_auth_cfg_wrapper_t); - - this->public.set.create_private_enumerator = (void*)return_null; - this->public.set.create_cert_enumerator = (void*)create_enumerator; - this->public.set.create_shared_enumerator = (void*)return_null; - this->public.set.create_cdp_enumerator = (void*)return_null; - this->public.set.cache_cert = (void*)nop; - this->public.destroy = (void(*)(auth_cfg_wrapper_t*))destroy; - - this->auth = auth; + private_auth_cfg_wrapper_t *this; + + INIT(this, + .public = { + .set = { + .create_cert_enumerator = _create_enumerator, + .create_shared_enumerator = (void*)return_null, + .create_cdp_enumerator = (void*)return_null, + .cache_cert = (void*)nop, + }, + .destroy = _destroy, + }, + .auth = auth, + ); return &this->public; } diff --git a/src/libstrongswan/credentials/sets/cert_cache.c b/src/libstrongswan/credentials/sets/cert_cache.c index 7161ac9ac..968c3e31e 100644 --- a/src/libstrongswan/credentials/sets/cert_cache.c +++ b/src/libstrongswan/credentials/sets/cert_cache.c @@ -132,11 +132,8 @@ static void cache(private_cert_cache_t *this, } } -/** - * Implementation of cert_cache_t.issued_by. - */ -static bool issued_by(private_cert_cache_t *this, - certificate_t *subject, certificate_t *issuer) +METHOD(cert_cache_t, issued_by, bool, + private_cert_cache_t *this, certificate_t *subject, certificate_t *issuer) { relation_t *found = NULL, *current; int i; @@ -270,12 +267,9 @@ static void cert_enumerator_destroy(cert_enumerator_t *this) free(this); } -/** - * implementation of credential_set_t.create_cert_enumerator - */ -static enumerator_t *create_enumerator(private_cert_cache_t *this, - certificate_type_t cert, key_type_t key, - identification_t *id, bool trusted) +METHOD(credential_set_t, create_enumerator, enumerator_t*, + private_cert_cache_t *this, certificate_type_t cert, key_type_t key, + identification_t *id, bool trusted) { cert_enumerator_t *enumerator; @@ -296,10 +290,8 @@ static enumerator_t *create_enumerator(private_cert_cache_t *this, return &enumerator->public; } -/** - * Implementation of cert_cache_t.flush. - */ -static void flush(private_cert_cache_t *this, certificate_type_t type) +METHOD(cert_cache_t, flush, void, + private_cert_cache_t *this, certificate_type_t type) { relation_t *rel; int i; @@ -339,10 +331,8 @@ static void flush(private_cert_cache_t *this, certificate_type_t type) } } -/** - * Implementation of cert_cache_t.destroy - */ -static void destroy(private_cert_cache_t *this) +METHOD(cert_cache_t, destroy, void, + private_cert_cache_t *this) { relation_t *rel; int i; @@ -368,15 +358,20 @@ cert_cache_t *cert_cache_create() private_cert_cache_t *this; int i; - this = malloc_thing(private_cert_cache_t); - this->public.set.create_private_enumerator = (void*)return_null; - this->public.set.create_cert_enumerator = (void*)create_enumerator; - this->public.set.create_shared_enumerator = (void*)return_null; - this->public.set.create_cdp_enumerator = (void*)return_null; - this->public.set.cache_cert = (void*)nop; - this->public.issued_by = (bool(*)(cert_cache_t*, certificate_t *subject, certificate_t *issuer))issued_by; - this->public.flush = (void(*)(cert_cache_t*, certificate_type_t type))flush; - this->public.destroy = (void(*)(cert_cache_t*))destroy; + INIT(this, + .public = { + .set = { + .create_cert_enumerator = _create_enumerator, + .create_private_enumerator = (void*)return_null, + .create_shared_enumerator = (void*)return_null, + .create_cdp_enumerator = (void*)return_null, + .cache_cert = (void*)nop, + }, + .issued_by = _issued_by, + .flush = _flush, + .destroy = _destroy, + }, + ); for (i = 0; i < CACHE_SIZE; i++) { @@ -385,5 +380,6 @@ cert_cache_t *cert_cache_create() this->relations[i].hits = 0; this->relations[i].lock = rwlock_create(RWLOCK_TYPE_DEFAULT); } + return &this->public; } diff --git a/src/libstrongswan/credentials/sets/ocsp_response_wrapper.c b/src/libstrongswan/credentials/sets/ocsp_response_wrapper.c index 4786495da..151d69216 100644 --- a/src/libstrongswan/credentials/sets/ocsp_response_wrapper.c +++ b/src/libstrongswan/credentials/sets/ocsp_response_wrapper.c @@ -94,12 +94,9 @@ static void enumerator_destroy(wrapper_enumerator_t *this) free(this); } -/** - * implementation of ocsp_response_wrapper_t.set.create_cert_enumerator - */ -static enumerator_t *create_enumerator(private_ocsp_response_wrapper_t *this, - certificate_type_t cert, key_type_t key, - identification_t *id, bool trusted) +METHOD(credential_set_t, create_enumerator, enumerator_t*, + private_ocsp_response_wrapper_t *this,certificate_type_t cert, + key_type_t key, identification_t *id, bool trusted) { wrapper_enumerator_t *enumerator; @@ -118,10 +115,8 @@ static enumerator_t *create_enumerator(private_ocsp_response_wrapper_t *this, return &enumerator->public; } -/** - * Implementation of ocsp_response_wrapper_t.destroy - */ -static void destroy(private_ocsp_response_wrapper_t *this) +METHOD(ocsp_response_wrapper_t, destroy, void, + private_ocsp_response_wrapper_t *this) { free(this); } @@ -131,16 +126,21 @@ static void destroy(private_ocsp_response_wrapper_t *this) */ ocsp_response_wrapper_t *ocsp_response_wrapper_create(ocsp_response_t *response) { - private_ocsp_response_wrapper_t *this = malloc_thing(private_ocsp_response_wrapper_t); - - this->public.set.create_private_enumerator = (void*)return_null; - this->public.set.create_cert_enumerator = (void*)create_enumerator; - this->public.set.create_shared_enumerator = (void*)return_null; - this->public.set.create_cdp_enumerator = (void*)return_null; - this->public.set.cache_cert = (void*)nop; - this->public.destroy = (void(*)(ocsp_response_wrapper_t*))destroy; - - this->response = response; + private_ocsp_response_wrapper_t *this; + + INIT(this, + .public = { + .set = { + .create_cert_enumerator = _create_enumerator, + .create_private_enumerator = (void*)return_null, + .create_shared_enumerator = (void*)return_null, + .create_cdp_enumerator = (void*)return_null, + .cache_cert = (void*)nop, + }, + .destroy = _destroy, + }, + .response = response, + ); return &this->public; } |