aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Brunner <tobias@strongswan.org>2013-10-03 10:14:49 +0200
committerTobias Brunner <tobias@strongswan.org>2013-10-11 15:13:25 +0200
commite2c9a03d15144293d3e7559a3d7d22d3776f4eb3 (patch)
tree74f8a736642807e28bc2bf13e21adef4e14dde43
parent3473cbab9c67953b99c0ee2cf02d88a7e98d7265 (diff)
downloadstrongswan-e2c9a03d15144293d3e7559a3d7d22d3776f4eb3.tar.bz2
strongswan-e2c9a03d15144293d3e7559a3d7d22d3776f4eb3.tar.xz
Remove HASH_PREFERRED, usages are replaced with HASH_SHA1, which is required for IKEv2 anyway
-rw-r--r--src/libcharon/network/receiver.c2
-rw-r--r--src/libcharon/sa/ike_sa_manager.c2
-rw-r--r--src/libstrongswan/crypto/crypto_factory.c4
-rw-r--r--src/libstrongswan/crypto/crypto_factory.h3
-rw-r--r--src/libstrongswan/crypto/hashers/hasher.c3
-rw-r--r--src/libstrongswan/crypto/hashers/hasher.h18
-rw-r--r--src/libstrongswan/plugins/af_alg/af_alg_hasher.c4
-rw-r--r--src/libstrongswan/plugins/gcrypt/gcrypt_plugin.c2
-rw-r--r--src/libstrongswan/plugins/openssl/openssl_plugin.c6
9 files changed, 18 insertions, 26 deletions
diff --git a/src/libcharon/network/receiver.c b/src/libcharon/network/receiver.c
index b8eb8419d..2209f1997 100644
--- a/src/libcharon/network/receiver.c
+++ b/src/libcharon/network/receiver.c
@@ -655,7 +655,7 @@ receiver_t *receiver_create()
this->initiator_only = lib->settings->get_bool(lib->settings,
"%s.initiator_only", FALSE, charon->name),
- this->hasher = lib->crypto->create_hasher(lib->crypto, HASH_PREFERRED);
+ this->hasher = lib->crypto->create_hasher(lib->crypto, HASH_SHA1);
if (!this->hasher)
{
DBG1(DBG_NET, "creating cookie hasher failed, no hashers supported");
diff --git a/src/libcharon/sa/ike_sa_manager.c b/src/libcharon/sa/ike_sa_manager.c
index 7f165957b..5768803aa 100644
--- a/src/libcharon/sa/ike_sa_manager.c
+++ b/src/libcharon/sa/ike_sa_manager.c
@@ -2133,7 +2133,7 @@ ike_sa_manager_t *ike_sa_manager_create()
},
);
- this->hasher = lib->crypto->create_hasher(lib->crypto, HASH_PREFERRED);
+ this->hasher = lib->crypto->create_hasher(lib->crypto, HASH_SHA1);
if (this->hasher == NULL)
{
DBG1(DBG_MGR, "manager initialization failed, no hasher supported");
diff --git a/src/libstrongswan/crypto/crypto_factory.c b/src/libstrongswan/crypto/crypto_factory.c
index b89198003..e2b60f66f 100644
--- a/src/libstrongswan/crypto/crypto_factory.c
+++ b/src/libstrongswan/crypto/crypto_factory.c
@@ -249,9 +249,9 @@ METHOD(crypto_factory_t, create_hasher, hasher_t*,
enumerator = this->hashers->create_enumerator(this->hashers);
while (enumerator->enumerate(enumerator, &entry))
{
- if (algo == HASH_PREFERRED || entry->algo == algo)
+ if (entry->algo == algo)
{
- if (this->test_on_create && algo != HASH_PREFERRED &&
+ if (this->test_on_create &&
!this->tester->test_hasher(this->tester, algo,
entry->create_hasher, NULL,
default_plugin_name))
diff --git a/src/libstrongswan/crypto/crypto_factory.h b/src/libstrongswan/crypto/crypto_factory.h
index 256ecec63..281dc256f 100644
--- a/src/libstrongswan/crypto/crypto_factory.h
+++ b/src/libstrongswan/crypto/crypto_factory.h
@@ -213,9 +213,6 @@ struct crypto_factory_t {
/**
* Register a hasher constructor.
*
- * The first added hasher is the preferred hasher returned on
- * create_hasher(HASH_PREFERRED).
- *
* @param algo algorithm to constructor
* @param plugin_name plugin that registered this algorithm
* @param create constructor function for that algorithm
diff --git a/src/libstrongswan/crypto/hashers/hasher.c b/src/libstrongswan/crypto/hashers/hasher.c
index 679bb324e..13cbb5a59 100644
--- a/src/libstrongswan/crypto/hashers/hasher.c
+++ b/src/libstrongswan/crypto/hashers/hasher.c
@@ -21,7 +21,6 @@
ENUM(hash_algorithm_names, HASH_UNKNOWN, HASH_SHA512,
"HASH_UNKNOWN",
- "HASH_PREFERRED",
"HASH_MD2",
"HASH_MD4",
"HASH_MD5",
@@ -34,7 +33,6 @@ ENUM(hash_algorithm_names, HASH_UNKNOWN, HASH_SHA512,
ENUM(hash_algorithm_short_names, HASH_UNKNOWN, HASH_SHA512,
"unknown",
- "preferred",
"md2",
"md4",
"md5",
@@ -199,7 +197,6 @@ integrity_algorithm_t hasher_algorithm_to_integrity(hash_algorithm_t alg,
}
break;
case HASH_SHA1:
- case HASH_PREFERRED:
switch (length)
{
case 12:
diff --git a/src/libstrongswan/crypto/hashers/hasher.h b/src/libstrongswan/crypto/hashers/hasher.h
index 4e46fca10..37ef0b6ab 100644
--- a/src/libstrongswan/crypto/hashers/hasher.h
+++ b/src/libstrongswan/crypto/hashers/hasher.h
@@ -37,16 +37,14 @@ typedef struct hasher_t hasher_t;
enum hash_algorithm_t {
/** not specified hash function */
HASH_UNKNOWN = 0,
- /** preferred hash function, general purpose */
- HASH_PREFERRED = 1,
- HASH_MD2 = 2,
- HASH_MD4 = 3,
- HASH_MD5 = 4,
- HASH_SHA1 = 5,
- HASH_SHA224 = 6,
- HASH_SHA256 = 7,
- HASH_SHA384 = 8,
- HASH_SHA512 = 9
+ HASH_MD2 = 1,
+ HASH_MD4 = 2,
+ HASH_MD5 = 3,
+ HASH_SHA1 = 4,
+ HASH_SHA224 = 5,
+ HASH_SHA256 = 6,
+ HASH_SHA384 = 7,
+ HASH_SHA512 = 8
};
#define HASH_SIZE_MD2 16
diff --git a/src/libstrongswan/plugins/af_alg/af_alg_hasher.c b/src/libstrongswan/plugins/af_alg/af_alg_hasher.c
index 47a6e5e0e..611975533 100644
--- a/src/libstrongswan/plugins/af_alg/af_alg_hasher.c
+++ b/src/libstrongswan/plugins/af_alg/af_alg_hasher.c
@@ -47,13 +47,13 @@ static struct {
char *name;
size_t size;
} algs[AF_ALG_HASHER] = {
- {HASH_SHA1, "sha1", HASH_SIZE_SHA1 },
+ {HASH_MD4, "md4", HASH_SIZE_MD4 },
{HASH_MD5, "md5", HASH_SIZE_MD5 },
+ {HASH_SHA1, "sha1", HASH_SIZE_SHA1 },
{HASH_SHA224, "sha224", HASH_SIZE_SHA224 },
{HASH_SHA256, "sha256", HASH_SIZE_SHA256 },
{HASH_SHA384, "sha384", HASH_SIZE_SHA384 },
{HASH_SHA512, "sha512", HASH_SIZE_SHA512 },
- {HASH_MD4, "md4", HASH_SIZE_MD4 },
};
/**
diff --git a/src/libstrongswan/plugins/gcrypt/gcrypt_plugin.c b/src/libstrongswan/plugins/gcrypt/gcrypt_plugin.c
index 78d75a238..160db042b 100644
--- a/src/libstrongswan/plugins/gcrypt/gcrypt_plugin.c
+++ b/src/libstrongswan/plugins/gcrypt/gcrypt_plugin.c
@@ -132,9 +132,9 @@ METHOD(plugin_t, get_features, int,
PLUGIN_PROVIDE(CRYPTER, ENCR_TWOFISH_CBC, 32),
/* hashers */
PLUGIN_REGISTER(HASHER, gcrypt_hasher_create),
- PLUGIN_PROVIDE(HASHER, HASH_SHA1),
PLUGIN_PROVIDE(HASHER, HASH_MD4),
PLUGIN_PROVIDE(HASHER, HASH_MD5),
+ PLUGIN_PROVIDE(HASHER, HASH_SHA1),
PLUGIN_PROVIDE(HASHER, HASH_SHA224),
PLUGIN_PROVIDE(HASHER, HASH_SHA256),
PLUGIN_PROVIDE(HASHER, HASH_SHA384),
diff --git a/src/libstrongswan/plugins/openssl/openssl_plugin.c b/src/libstrongswan/plugins/openssl/openssl_plugin.c
index b6d699de2..ba4ebcd4c 100644
--- a/src/libstrongswan/plugins/openssl/openssl_plugin.c
+++ b/src/libstrongswan/plugins/openssl/openssl_plugin.c
@@ -298,9 +298,6 @@ METHOD(plugin_t, get_features, int,
PLUGIN_PROVIDE(CRYPTER, ENCR_NULL, 0),
/* hashers */
PLUGIN_REGISTER(HASHER, openssl_hasher_create),
-#ifndef OPENSSL_NO_SHA1
- PLUGIN_PROVIDE(HASHER, HASH_SHA1),
-#endif
#ifndef OPENSSL_NO_MD2
PLUGIN_PROVIDE(HASHER, HASH_MD2),
#endif
@@ -310,6 +307,9 @@ METHOD(plugin_t, get_features, int,
#ifndef OPENSSL_NO_MD5
PLUGIN_PROVIDE(HASHER, HASH_MD5),
#endif
+#ifndef OPENSSL_NO_SHA1
+ PLUGIN_PROVIDE(HASHER, HASH_SHA1),
+#endif
#ifndef OPENSSL_NO_SHA256
PLUGIN_PROVIDE(HASHER, HASH_SHA224),
PLUGIN_PROVIDE(HASHER, HASH_SHA256),