summaryrefslogtreecommitdiff
path: root/src/libcharon/plugins/coupling/coupling_validator.c
diff options
context:
space:
mode:
authorYves-Alexis Perez <corsac@debian.org>2014-07-11 07:23:31 +0200
committerYves-Alexis Perez <corsac@debian.org>2014-07-11 07:23:31 +0200
commit113920a63557a9497e6fb8d7efd60e2fcde1df09 (patch)
tree7ea97040bf40a91ae0523ca9d580edad42c77917 /src/libcharon/plugins/coupling/coupling_validator.c
parentb6869973db5f522dc9e2c20155ffd6e32152f197 (diff)
parent81c63b0eed39432878f78727f60a1e7499645199 (diff)
downloadvyos-strongswan-113920a63557a9497e6fb8d7efd60e2fcde1df09.tar.gz
vyos-strongswan-113920a63557a9497e6fb8d7efd60e2fcde1df09.zip
Merge tag 'upstream/5.2.0'
Upstream version 5.2.0
Diffstat (limited to 'src/libcharon/plugins/coupling/coupling_validator.c')
-rw-r--r--src/libcharon/plugins/coupling/coupling_validator.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/libcharon/plugins/coupling/coupling_validator.c b/src/libcharon/plugins/coupling/coupling_validator.c
index fc35462e3..0686e0f31 100644
--- a/src/libcharon/plugins/coupling/coupling_validator.c
+++ b/src/libcharon/plugins/coupling/coupling_validator.c
@@ -202,6 +202,7 @@ METHOD(coupling_validator_t, destroy, void,
coupling_validator_t *coupling_validator_create()
{
private_coupling_validator_t *this;
+ hash_algorithm_t alg;
char *path, *hash;
INIT(this,
@@ -219,8 +220,13 @@ coupling_validator_t *coupling_validator_create()
hash = lib->settings->get_str(lib->settings,
"%s.plugins.coupling.hash", "sha1", lib->ns);
- this->hasher = lib->crypto->create_hasher(lib->crypto,
- enum_from_name(hash_algorithm_short_names, hash));
+ if (!enum_from_name(hash_algorithm_short_names, hash, &alg))
+ {
+ DBG1(DBG_CFG, "unknown coupling hash algorithm: %s", hash);
+ destroy(this);
+ return NULL;
+ }
+ this->hasher = lib->crypto->create_hasher(lib->crypto, alg);
if (!this->hasher)
{
DBG1(DBG_CFG, "unsupported coupling hash algorithm: %s", hash);