Remove HASH_PREFERRED, usages are replaced with HASH_SHA1, which is required for IKEv2 anyway

This commit is contained in:
Tobias Brunner
2013-10-11 15:13:25 +02:00
parent 3473cbab9c
commit e2c9a03d15
9 changed files with 18 additions and 26 deletions
+1 -1
View File
@@ -655,7 +655,7 @@ receiver_t *receiver_create()
this->initiator_only = lib->settings->get_bool(lib->settings, this->initiator_only = lib->settings->get_bool(lib->settings,
"%s.initiator_only", FALSE, charon->name), "%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) if (!this->hasher)
{ {
DBG1(DBG_NET, "creating cookie hasher failed, no hashers supported"); DBG1(DBG_NET, "creating cookie hasher failed, no hashers supported");
+1 -1
View File
@@ -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) if (this->hasher == NULL)
{ {
DBG1(DBG_MGR, "manager initialization failed, no hasher supported"); DBG1(DBG_MGR, "manager initialization failed, no hasher supported");
+2 -2
View File
@@ -249,9 +249,9 @@ METHOD(crypto_factory_t, create_hasher, hasher_t*,
enumerator = this->hashers->create_enumerator(this->hashers); enumerator = this->hashers->create_enumerator(this->hashers);
while (enumerator->enumerate(enumerator, &entry)) 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, !this->tester->test_hasher(this->tester, algo,
entry->create_hasher, NULL, entry->create_hasher, NULL,
default_plugin_name)) default_plugin_name))
@@ -213,9 +213,6 @@ struct crypto_factory_t {
/** /**
* Register a hasher constructor. * Register a hasher constructor.
* *
* The first added hasher is the preferred hasher returned on
* create_hasher(HASH_PREFERRED).
*
* @param algo algorithm to constructor * @param algo algorithm to constructor
* @param plugin_name plugin that registered this algorithm * @param plugin_name plugin that registered this algorithm
* @param create constructor function for that algorithm * @param create constructor function for that algorithm
@@ -21,7 +21,6 @@
ENUM(hash_algorithm_names, HASH_UNKNOWN, HASH_SHA512, ENUM(hash_algorithm_names, HASH_UNKNOWN, HASH_SHA512,
"HASH_UNKNOWN", "HASH_UNKNOWN",
"HASH_PREFERRED",
"HASH_MD2", "HASH_MD2",
"HASH_MD4", "HASH_MD4",
"HASH_MD5", "HASH_MD5",
@@ -34,7 +33,6 @@ ENUM(hash_algorithm_names, HASH_UNKNOWN, HASH_SHA512,
ENUM(hash_algorithm_short_names, HASH_UNKNOWN, HASH_SHA512, ENUM(hash_algorithm_short_names, HASH_UNKNOWN, HASH_SHA512,
"unknown", "unknown",
"preferred",
"md2", "md2",
"md4", "md4",
"md5", "md5",
@@ -199,7 +197,6 @@ integrity_algorithm_t hasher_algorithm_to_integrity(hash_algorithm_t alg,
} }
break; break;
case HASH_SHA1: case HASH_SHA1:
case HASH_PREFERRED:
switch (length) switch (length)
{ {
case 12: case 12:
+8 -10
View File
@@ -37,16 +37,14 @@ typedef struct hasher_t hasher_t;
enum hash_algorithm_t { enum hash_algorithm_t {
/** not specified hash function */ /** not specified hash function */
HASH_UNKNOWN = 0, HASH_UNKNOWN = 0,
/** preferred hash function, general purpose */ HASH_MD2 = 1,
HASH_PREFERRED = 1, HASH_MD4 = 2,
HASH_MD2 = 2, HASH_MD5 = 3,
HASH_MD4 = 3, HASH_SHA1 = 4,
HASH_MD5 = 4, HASH_SHA224 = 5,
HASH_SHA1 = 5, HASH_SHA256 = 6,
HASH_SHA224 = 6, HASH_SHA384 = 7,
HASH_SHA256 = 7, HASH_SHA512 = 8
HASH_SHA384 = 8,
HASH_SHA512 = 9
}; };
#define HASH_SIZE_MD2 16 #define HASH_SIZE_MD2 16
@@ -47,13 +47,13 @@ static struct {
char *name; char *name;
size_t size; size_t size;
} algs[AF_ALG_HASHER] = { } algs[AF_ALG_HASHER] = {
{HASH_SHA1, "sha1", HASH_SIZE_SHA1 }, {HASH_MD4, "md4", HASH_SIZE_MD4 },
{HASH_MD5, "md5", HASH_SIZE_MD5 }, {HASH_MD5, "md5", HASH_SIZE_MD5 },
{HASH_SHA1, "sha1", HASH_SIZE_SHA1 },
{HASH_SHA224, "sha224", HASH_SIZE_SHA224 }, {HASH_SHA224, "sha224", HASH_SIZE_SHA224 },
{HASH_SHA256, "sha256", HASH_SIZE_SHA256 }, {HASH_SHA256, "sha256", HASH_SIZE_SHA256 },
{HASH_SHA384, "sha384", HASH_SIZE_SHA384 }, {HASH_SHA384, "sha384", HASH_SIZE_SHA384 },
{HASH_SHA512, "sha512", HASH_SIZE_SHA512 }, {HASH_SHA512, "sha512", HASH_SIZE_SHA512 },
{HASH_MD4, "md4", HASH_SIZE_MD4 },
}; };
/** /**
@@ -132,9 +132,9 @@ METHOD(plugin_t, get_features, int,
PLUGIN_PROVIDE(CRYPTER, ENCR_TWOFISH_CBC, 32), PLUGIN_PROVIDE(CRYPTER, ENCR_TWOFISH_CBC, 32),
/* hashers */ /* hashers */
PLUGIN_REGISTER(HASHER, gcrypt_hasher_create), PLUGIN_REGISTER(HASHER, gcrypt_hasher_create),
PLUGIN_PROVIDE(HASHER, HASH_SHA1),
PLUGIN_PROVIDE(HASHER, HASH_MD4), PLUGIN_PROVIDE(HASHER, HASH_MD4),
PLUGIN_PROVIDE(HASHER, HASH_MD5), PLUGIN_PROVIDE(HASHER, HASH_MD5),
PLUGIN_PROVIDE(HASHER, HASH_SHA1),
PLUGIN_PROVIDE(HASHER, HASH_SHA224), PLUGIN_PROVIDE(HASHER, HASH_SHA224),
PLUGIN_PROVIDE(HASHER, HASH_SHA256), PLUGIN_PROVIDE(HASHER, HASH_SHA256),
PLUGIN_PROVIDE(HASHER, HASH_SHA384), PLUGIN_PROVIDE(HASHER, HASH_SHA384),
@@ -298,9 +298,6 @@ METHOD(plugin_t, get_features, int,
PLUGIN_PROVIDE(CRYPTER, ENCR_NULL, 0), PLUGIN_PROVIDE(CRYPTER, ENCR_NULL, 0),
/* hashers */ /* hashers */
PLUGIN_REGISTER(HASHER, openssl_hasher_create), PLUGIN_REGISTER(HASHER, openssl_hasher_create),
#ifndef OPENSSL_NO_SHA1
PLUGIN_PROVIDE(HASHER, HASH_SHA1),
#endif
#ifndef OPENSSL_NO_MD2 #ifndef OPENSSL_NO_MD2
PLUGIN_PROVIDE(HASHER, HASH_MD2), PLUGIN_PROVIDE(HASHER, HASH_MD2),
#endif #endif
@@ -310,6 +307,9 @@ METHOD(plugin_t, get_features, int,
#ifndef OPENSSL_NO_MD5 #ifndef OPENSSL_NO_MD5
PLUGIN_PROVIDE(HASHER, HASH_MD5), PLUGIN_PROVIDE(HASHER, HASH_MD5),
#endif #endif
#ifndef OPENSSL_NO_SHA1
PLUGIN_PROVIDE(HASHER, HASH_SHA1),
#endif
#ifndef OPENSSL_NO_SHA256 #ifndef OPENSSL_NO_SHA256
PLUGIN_PROVIDE(HASHER, HASH_SHA224), PLUGIN_PROVIDE(HASHER, HASH_SHA224),
PLUGIN_PROVIDE(HASHER, HASH_SHA256), PLUGIN_PROVIDE(HASHER, HASH_SHA256),