aboutsummaryrefslogtreecommitdiffstats
path: root/src/libstrongswan/plugins/af_alg/af_alg_plugin.c
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2010-11-05 15:55:53 +0000
committerMartin Willi <martin@revosec.ch>2010-12-20 09:52:02 +0100
commit6f08911321893eda57cea0067e3d89981c7a8b8c (patch)
tree2e95b8d4f1e1726e5b264c2138b0a99bcb3bf507 /src/libstrongswan/plugins/af_alg/af_alg_plugin.c
parentfd67d39e93cbfda4fc823e3df922d05af6274b6f (diff)
downloadstrongswan-6f08911321893eda57cea0067e3d89981c7a8b8c.tar.bz2
strongswan-6f08911321893eda57cea0067e3d89981c7a8b8c.tar.xz
Implemented hasher based on AF_ALG
Diffstat (limited to 'src/libstrongswan/plugins/af_alg/af_alg_plugin.c')
-rw-r--r--src/libstrongswan/plugins/af_alg/af_alg_plugin.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/libstrongswan/plugins/af_alg/af_alg_plugin.c b/src/libstrongswan/plugins/af_alg/af_alg_plugin.c
index 89807b9bf..6e2bf4047 100644
--- a/src/libstrongswan/plugins/af_alg/af_alg_plugin.c
+++ b/src/libstrongswan/plugins/af_alg/af_alg_plugin.c
@@ -17,6 +17,8 @@
#include <library.h>
+#include "af_alg_hasher.h"
+
typedef struct private_af_alg_plugin_t private_af_alg_plugin_t;
/**
@@ -33,6 +35,9 @@ struct private_af_alg_plugin_t {
METHOD(plugin_t, destroy, void,
private_af_alg_plugin_t *this)
{
+ lib->crypto->remove_hasher(lib->crypto,
+ (hasher_constructor_t)af_alg_hasher_create);
+
free(this);
}
@@ -51,5 +56,20 @@ plugin_t *af_alg_plugin_create()
},
);
+ lib->crypto->add_hasher(lib->crypto, HASH_SHA1,
+ (hasher_constructor_t)af_alg_hasher_create);
+ lib->crypto->add_hasher(lib->crypto, HASH_SHA224,
+ (hasher_constructor_t)af_alg_hasher_create);
+ lib->crypto->add_hasher(lib->crypto, HASH_SHA256,
+ (hasher_constructor_t)af_alg_hasher_create);
+ lib->crypto->add_hasher(lib->crypto, HASH_SHA384,
+ (hasher_constructor_t)af_alg_hasher_create);
+ lib->crypto->add_hasher(lib->crypto, HASH_SHA512,
+ (hasher_constructor_t)af_alg_hasher_create);
+ lib->crypto->add_hasher(lib->crypto, HASH_MD5,
+ (hasher_constructor_t)af_alg_hasher_create);
+ lib->crypto->add_hasher(lib->crypto, HASH_MD4,
+ (hasher_constructor_t)af_alg_hasher_create);
+
return &this->public.plugin;
}