diff options
author | Martin Willi <martin@revosec.ch> | 2011-04-11 18:54:18 +0200 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2011-04-15 10:07:12 +0200 |
commit | 787b5884aaf873fb9fda2b0d8b7c3d54e38ae7a5 (patch) | |
tree | f8c05bcf7572117763fd50eaf315a13c2e6261d2 /src/libstrongswan/plugins/gcm/gcm_plugin.c | |
parent | 6e2791715b7534b601ff5d5163d63d88ad7a8a5e (diff) | |
download | strongswan-787b5884aaf873fb9fda2b0d8b7c3d54e38ae7a5.tar.bz2 strongswan-787b5884aaf873fb9fda2b0d8b7c3d54e38ae7a5.tar.xz |
Added a get_name() function to plugin_t, create_plugin_enumerator enumerates over plugin_t
Diffstat (limited to 'src/libstrongswan/plugins/gcm/gcm_plugin.c')
-rw-r--r-- | src/libstrongswan/plugins/gcm/gcm_plugin.c | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/src/libstrongswan/plugins/gcm/gcm_plugin.c b/src/libstrongswan/plugins/gcm/gcm_plugin.c index a438fb073..c86ea1f03 100644 --- a/src/libstrongswan/plugins/gcm/gcm_plugin.c +++ b/src/libstrongswan/plugins/gcm/gcm_plugin.c @@ -19,8 +19,6 @@ #include "gcm_aead.h" -static const char *plugin_name = "gcm"; - typedef struct private_gcm_plugin_t private_gcm_plugin_t; /** @@ -34,6 +32,12 @@ struct private_gcm_plugin_t { gcm_plugin_t public; }; +METHOD(plugin_t, get_name, char*, + private_gcm_plugin_t *this) +{ + return "gcm"; +} + METHOD(plugin_t, destroy, void, private_gcm_plugin_t *this) { @@ -52,18 +56,23 @@ plugin_t *gcm_plugin_create() crypter_t *crypter; INIT(this, - .public.plugin.destroy = _destroy, + .public = { + .plugin = { + .get_name = _get_name, + .destroy = _destroy, + }, + }, ); crypter = lib->crypto->create_crypter(lib->crypto, ENCR_AES_CBC, 0); if (crypter) { crypter->destroy(crypter); - lib->crypto->add_aead(lib->crypto, ENCR_AES_GCM_ICV8, plugin_name, + lib->crypto->add_aead(lib->crypto, ENCR_AES_GCM_ICV8, get_name(this), (aead_constructor_t)gcm_aead_create); - lib->crypto->add_aead(lib->crypto, ENCR_AES_GCM_ICV12, plugin_name, + lib->crypto->add_aead(lib->crypto, ENCR_AES_GCM_ICV12, get_name(this), (aead_constructor_t)gcm_aead_create); - lib->crypto->add_aead(lib->crypto, ENCR_AES_GCM_ICV16, plugin_name, + lib->crypto->add_aead(lib->crypto, ENCR_AES_GCM_ICV16, get_name(this), (aead_constructor_t)gcm_aead_create); } |