diff options
author | Tobias Brunner <tobias@strongswan.org> | 2013-10-03 10:14:49 +0200 |
---|---|---|
committer | Tobias Brunner <tobias@strongswan.org> | 2013-10-11 15:13:25 +0200 |
commit | e2c9a03d15144293d3e7559a3d7d22d3776f4eb3 (patch) | |
tree | 74f8a736642807e28bc2bf13e21adef4e14dde43 | |
parent | 3473cbab9c67953b99c0ee2cf02d88a7e98d7265 (diff) | |
download | strongswan-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.c | 2 | ||||
-rw-r--r-- | src/libcharon/sa/ike_sa_manager.c | 2 | ||||
-rw-r--r-- | src/libstrongswan/crypto/crypto_factory.c | 4 | ||||
-rw-r--r-- | src/libstrongswan/crypto/crypto_factory.h | 3 | ||||
-rw-r--r-- | src/libstrongswan/crypto/hashers/hasher.c | 3 | ||||
-rw-r--r-- | src/libstrongswan/crypto/hashers/hasher.h | 18 | ||||
-rw-r--r-- | src/libstrongswan/plugins/af_alg/af_alg_hasher.c | 4 | ||||
-rw-r--r-- | src/libstrongswan/plugins/gcrypt/gcrypt_plugin.c | 2 | ||||
-rw-r--r-- | src/libstrongswan/plugins/openssl/openssl_plugin.c | 6 |
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), |