summaryrefslogtreecommitdiff
path: root/src/libstrongswan/crypto/crypto_tester.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libstrongswan/crypto/crypto_tester.c')
-rw-r--r--src/libstrongswan/crypto/crypto_tester.c211
1 files changed, 211 insertions, 0 deletions
diff --git a/src/libstrongswan/crypto/crypto_tester.c b/src/libstrongswan/crypto/crypto_tester.c
index d17485ff2..d4a8728e2 100644
--- a/src/libstrongswan/crypto/crypto_tester.c
+++ b/src/libstrongswan/crypto/crypto_tester.c
@@ -165,7 +165,11 @@ static u_int bench_crypter(private_crypto_tester_t *this,
METHOD(crypto_tester_t, test_crypter, bool,
private_crypto_tester_t *this, encryption_algorithm_t alg, size_t key_size,
+<<<<<<< HEAD
crypter_constructor_t create, u_int *speed)
+=======
+ crypter_constructor_t create, u_int *speed, const char *plugin_name)
+>>>>>>> upstream/4.5.1
{
enumerator_t *enumerator;
crypter_test_vector_t *vector;
@@ -188,7 +192,15 @@ METHOD(crypto_tester_t, test_crypter, bool,
}
crypter = create(alg, vector->key_size);
if (!crypter)
+<<<<<<< HEAD
{ /* key size not supported... */
+=======
+ {
+ DBG1(DBG_LIB, "%N[%s]: %u bit key size not supported",
+ encryption_algorithm_names, alg, plugin_name,
+ BITS_PER_BYTE * vector->key_size);
+ failed = TRUE;
+>>>>>>> upstream/4.5.1
continue;
}
@@ -231,24 +243,46 @@ METHOD(crypto_tester_t, test_crypter, bool,
crypter->destroy(crypter);
if (failed)
{
+<<<<<<< HEAD
DBG1(DBG_LIB, "disabled %N: %s test vector failed",
encryption_algorithm_names, alg, get_name(vector));
+=======
+ DBG1(DBG_LIB, "disabled %N[%s]: %s test vector failed",
+ encryption_algorithm_names, alg, plugin_name, get_name(vector));
+>>>>>>> upstream/4.5.1
break;
}
}
enumerator->destroy(enumerator);
if (!tested)
{
+<<<<<<< HEAD
DBG1(DBG_LIB, "%s %N: no test vectors found",
this->required ? "disabled" : "enabled ",
encryption_algorithm_names, alg);
return !this->required;
+=======
+ if (failed)
+ {
+ DBG1(DBG_LIB,"disable %N[%s]: no key size supported",
+ encryption_algorithm_names, alg, plugin_name);
+ return FALSE;
+ }
+ else
+ {
+ DBG1(DBG_LIB, "%s %N[%s]: no test vectors found",
+ this->required ? "disabled" : "enabled ",
+ encryption_algorithm_names, alg, plugin_name);
+ return !this->required;
+ }
+>>>>>>> upstream/4.5.1
}
if (!failed)
{
if (speed)
{
*speed = bench_crypter(this, alg, create);
+<<<<<<< HEAD
DBG1(DBG_LIB, "enabled %N: passed %u test vectors, %d points",
encryption_algorithm_names, alg, tested, *speed);
}
@@ -256,6 +290,15 @@ METHOD(crypto_tester_t, test_crypter, bool,
{
DBG1(DBG_LIB, "enabled %N: passed %u test vectors",
encryption_algorithm_names, alg, tested);
+=======
+ DBG1(DBG_LIB, "enabled %N[%s]: passed %u test vectors, %d points",
+ encryption_algorithm_names, alg, tested, plugin_name, *speed);
+ }
+ else
+ {
+ DBG1(DBG_LIB, "enabled %N[%s]: passed %u test vectors",
+ encryption_algorithm_names, alg, plugin_name, tested);
+>>>>>>> upstream/4.5.1
}
}
return !failed;
@@ -311,7 +354,11 @@ static u_int bench_aead(private_crypto_tester_t *this,
METHOD(crypto_tester_t, test_aead, bool,
private_crypto_tester_t *this, encryption_algorithm_t alg, size_t key_size,
+<<<<<<< HEAD
aead_constructor_t create, u_int *speed)
+=======
+ aead_constructor_t create, u_int *speed, const char *plugin_name)
+>>>>>>> upstream/4.5.1
{
enumerator_t *enumerator;
aead_test_vector_t *vector;
@@ -335,7 +382,15 @@ METHOD(crypto_tester_t, test_aead, bool,
}
aead = create(alg, vector->key_size);
if (!aead)
+<<<<<<< HEAD
{ /* key size not supported... */
+=======
+ {
+ DBG1(DBG_LIB, "%N[%s]: %u bit key size not supported",
+ encryption_algorithm_names, alg, plugin_name,
+ BITS_PER_BYTE * vector->key_size);
+ failed = TRUE;
+>>>>>>> upstream/4.5.1
continue;
}
@@ -388,24 +443,46 @@ METHOD(crypto_tester_t, test_aead, bool,
aead->destroy(aead);
if (failed)
{
+<<<<<<< HEAD
DBG1(DBG_LIB, "disabled %N: %s test vector failed",
encryption_algorithm_names, alg, get_name(vector));
+=======
+ DBG1(DBG_LIB, "disabled %N[%s]: %s test vector failed",
+ encryption_algorithm_names, alg, plugin_name, get_name(vector));
+>>>>>>> upstream/4.5.1
break;
}
}
enumerator->destroy(enumerator);
if (!tested)
{
+<<<<<<< HEAD
DBG1(DBG_LIB, "%s %N: no test vectors found",
this->required ? "disabled" : "enabled ",
encryption_algorithm_names, alg);
return !this->required;
+=======
+ if (failed)
+ {
+ DBG1(DBG_LIB,"disable %N[%s]: no key size supported",
+ encryption_algorithm_names, alg, plugin_name);
+ return FALSE;
+ }
+ else
+ {
+ DBG1(DBG_LIB, "%s %N[%s]: no test vectors found",
+ this->required ? "disabled" : "enabled ",
+ encryption_algorithm_names, alg, plugin_name);
+ return !this->required;
+ }
+>>>>>>> upstream/4.5.1
}
if (!failed)
{
if (speed)
{
*speed = bench_aead(this, alg, create);
+<<<<<<< HEAD
DBG1(DBG_LIB, "enabled %N: passed %u test vectors, %d points",
encryption_algorithm_names, alg, tested, *speed);
}
@@ -413,6 +490,15 @@ METHOD(crypto_tester_t, test_aead, bool,
{
DBG1(DBG_LIB, "enabled %N: passed %u test vectors",
encryption_algorithm_names, alg, tested);
+=======
+ DBG1(DBG_LIB, "enabled %N[%s]: passed %u test vectors, %d points",
+ encryption_algorithm_names, alg, plugin_name, tested, *speed);
+ }
+ else
+ {
+ DBG1(DBG_LIB, "enabled %N[%s]: passed %u test vectors",
+ encryption_algorithm_names, alg, plugin_name, tested);
+>>>>>>> upstream/4.5.1
}
}
return !failed;
@@ -460,7 +546,11 @@ static u_int bench_signer(private_crypto_tester_t *this,
METHOD(crypto_tester_t, test_signer, bool,
private_crypto_tester_t *this, integrity_algorithm_t alg,
+<<<<<<< HEAD
signer_constructor_t create, u_int *speed)
+=======
+ signer_constructor_t create, u_int *speed, const char *plugin_name)
+>>>>>>> upstream/4.5.1
{
enumerator_t *enumerator;
signer_test_vector_t *vector;
@@ -482,8 +572,13 @@ METHOD(crypto_tester_t, test_signer, bool,
signer = create(alg);
if (!signer)
{
+<<<<<<< HEAD
DBG1(DBG_LIB, "disabled %N: creating instance failed",
integrity_algorithm_names, alg);
+=======
+ DBG1(DBG_LIB, "disabled %N[%s]: creating instance failed",
+ integrity_algorithm_names, alg, plugin_name);
+>>>>>>> upstream/4.5.1
failed = TRUE;
break;
}
@@ -538,17 +633,28 @@ METHOD(crypto_tester_t, test_signer, bool,
signer->destroy(signer);
if (failed)
{
+<<<<<<< HEAD
DBG1(DBG_LIB, "disabled %N: %s test vector failed",
integrity_algorithm_names, alg, get_name(vector));
+=======
+ DBG1(DBG_LIB, "disabled %N[%s]: %s test vector failed",
+ integrity_algorithm_names, alg, plugin_name, get_name(vector));
+>>>>>>> upstream/4.5.1
break;
}
}
enumerator->destroy(enumerator);
if (!tested)
{
+<<<<<<< HEAD
DBG1(DBG_LIB, "%s %N: no test vectors found",
this->required ? "disabled" : "enabled ",
integrity_algorithm_names, alg);
+=======
+ DBG1(DBG_LIB, "%s %N[%s]: no test vectors found",
+ this->required ? "disabled" : "enabled ",
+ integrity_algorithm_names, alg, plugin_name);
+>>>>>>> upstream/4.5.1
return !this->required;
}
if (!failed)
@@ -556,6 +662,7 @@ METHOD(crypto_tester_t, test_signer, bool,
if (speed)
{
*speed = bench_signer(this, alg, create);
+<<<<<<< HEAD
DBG1(DBG_LIB, "enabled %N: passed %u test vectors, %d points",
integrity_algorithm_names, alg, tested, *speed);
}
@@ -563,6 +670,15 @@ METHOD(crypto_tester_t, test_signer, bool,
{
DBG1(DBG_LIB, "enabled %N: passed %u test vectors",
integrity_algorithm_names, alg, tested);
+=======
+ DBG1(DBG_LIB, "enabled %N[%s]: passed %u test vectors, %d points",
+ integrity_algorithm_names, alg, plugin_name, tested, *speed);
+ }
+ else
+ {
+ DBG1(DBG_LIB, "enabled %N[%s]: passed %u test vectors",
+ integrity_algorithm_names, alg, plugin_name, tested);
+>>>>>>> upstream/4.5.1
}
}
return !failed;
@@ -604,7 +720,11 @@ static u_int bench_hasher(private_crypto_tester_t *this,
METHOD(crypto_tester_t, test_hasher, bool,
private_crypto_tester_t *this, hash_algorithm_t alg,
+<<<<<<< HEAD
hasher_constructor_t create, u_int *speed)
+=======
+ hasher_constructor_t create, u_int *speed, const char *plugin_name)
+>>>>>>> upstream/4.5.1
{
enumerator_t *enumerator;
hasher_test_vector_t *vector;
@@ -626,8 +746,13 @@ METHOD(crypto_tester_t, test_hasher, bool,
hasher = create(alg);
if (!hasher)
{
+<<<<<<< HEAD
DBG1(DBG_LIB, "disabled %N: creating instance failed",
hash_algorithm_names, alg);
+=======
+ DBG1(DBG_LIB, "disabled %N[%s]: creating instance failed",
+ hash_algorithm_names, alg, plugin_name);
+>>>>>>> upstream/4.5.1
failed = TRUE;
break;
}
@@ -669,17 +794,28 @@ METHOD(crypto_tester_t, test_hasher, bool,
hasher->destroy(hasher);
if (failed)
{
+<<<<<<< HEAD
DBG1(DBG_LIB, "disabled %N: %s test vector failed",
hash_algorithm_names, alg, get_name(vector));
+=======
+ DBG1(DBG_LIB, "disabled %N[%s]: %s test vector failed",
+ hash_algorithm_names, alg, plugin_name, get_name(vector));
+>>>>>>> upstream/4.5.1
break;
}
}
enumerator->destroy(enumerator);
if (!tested)
{
+<<<<<<< HEAD
DBG1(DBG_LIB, "%s %N: no test vectors found",
this->required ? "disabled" : "enabled ",
hash_algorithm_names, alg);
+=======
+ DBG1(DBG_LIB, "%s %N[%s]: no test vectors found",
+ this->required ? "disabled" : "enabled ",
+ hash_algorithm_names, alg, plugin_name);
+>>>>>>> upstream/4.5.1
return !this->required;
}
if (!failed)
@@ -687,6 +823,7 @@ METHOD(crypto_tester_t, test_hasher, bool,
if (speed)
{
*speed = bench_hasher(this, alg, create);
+<<<<<<< HEAD
DBG1(DBG_LIB, "enabled %N: passed %u test vectors, %d points",
hash_algorithm_names, alg, tested, *speed);
}
@@ -694,6 +831,15 @@ METHOD(crypto_tester_t, test_hasher, bool,
{
DBG1(DBG_LIB, "enabled %N: passed %u test vectors",
hash_algorithm_names, alg, tested);
+=======
+ DBG1(DBG_LIB, "enabled %N[%s]: passed %u test vectors, %d points",
+ hash_algorithm_names, alg, plugin_name, tested, *speed);
+ }
+ else
+ {
+ DBG1(DBG_LIB, "enabled %N[%s]: passed %u test vectors",
+ hash_algorithm_names, alg, plugin_name, tested);
+>>>>>>> upstream/4.5.1
}
}
return !failed;
@@ -735,7 +881,11 @@ static u_int bench_prf(private_crypto_tester_t *this,
METHOD(crypto_tester_t, test_prf, bool,
private_crypto_tester_t *this, pseudo_random_function_t alg,
+<<<<<<< HEAD
prf_constructor_t create, u_int *speed)
+=======
+ prf_constructor_t create, u_int *speed, const char *plugin_name)
+>>>>>>> upstream/4.5.1
{
enumerator_t *enumerator;
prf_test_vector_t *vector;
@@ -757,8 +907,13 @@ METHOD(crypto_tester_t, test_prf, bool,
prf = create(alg);
if (!prf)
{
+<<<<<<< HEAD
DBG1(DBG_LIB, "disabled %N: creating instance failed",
pseudo_random_function_names, alg);
+=======
+ DBG1(DBG_LIB, "disabled %N[%s]: creating instance failed",
+ pseudo_random_function_names, alg, plugin_name);
+>>>>>>> upstream/4.5.1
failed = TRUE;
break;
}
@@ -811,17 +966,28 @@ METHOD(crypto_tester_t, test_prf, bool,
prf->destroy(prf);
if (failed)
{
+<<<<<<< HEAD
DBG1(DBG_LIB, "disabled %N: %s test vector failed",
pseudo_random_function_names, alg, get_name(vector));
+=======
+ DBG1(DBG_LIB, "disabled %N[%s]: %s test vector failed",
+ pseudo_random_function_names, alg, plugin_name, get_name(vector));
+>>>>>>> upstream/4.5.1
break;
}
}
enumerator->destroy(enumerator);
if (!tested)
{
+<<<<<<< HEAD
DBG1(DBG_LIB, "%s %N: no test vectors found",
this->required ? "disabled" : "enabled ",
pseudo_random_function_names, alg);
+=======
+ DBG1(DBG_LIB, "%s %N[%s]: no test vectors found",
+ this->required ? "disabled" : "enabled ",
+ pseudo_random_function_names, alg, plugin_name);
+>>>>>>> upstream/4.5.1
return !this->required;
}
if (!failed)
@@ -829,6 +995,7 @@ METHOD(crypto_tester_t, test_prf, bool,
if (speed)
{
*speed = bench_prf(this, alg, create);
+<<<<<<< HEAD
DBG1(DBG_LIB, "enabled %N: passed %u test vectors, %d points",
pseudo_random_function_names, alg, tested, *speed);
}
@@ -836,6 +1003,15 @@ METHOD(crypto_tester_t, test_prf, bool,
{
DBG1(DBG_LIB, "enabled %N: passed %u test vectors",
pseudo_random_function_names, alg, tested);
+=======
+ DBG1(DBG_LIB, "enabled %N[%s]: passed %u test vectors, %d points",
+ pseudo_random_function_names, alg, plugin_name, tested, *speed);
+ }
+ else
+ {
+ DBG1(DBG_LIB, "enabled %N[%s]: passed %u test vectors",
+ pseudo_random_function_names, alg, plugin_name, tested);
+>>>>>>> upstream/4.5.1
}
}
return !failed;
@@ -874,7 +1050,11 @@ static u_int bench_rng(private_crypto_tester_t *this,
METHOD(crypto_tester_t, test_rng, bool,
private_crypto_tester_t *this, rng_quality_t quality,
+<<<<<<< HEAD
rng_constructor_t create, u_int *speed)
+=======
+ rng_constructor_t create, u_int *speed, const char *plugin_name)
+>>>>>>> upstream/4.5.1
{
enumerator_t *enumerator;
rng_test_vector_t *vector;
@@ -883,8 +1063,13 @@ METHOD(crypto_tester_t, test_rng, bool,
if (!this->rng_true && quality == RNG_TRUE)
{
+<<<<<<< HEAD
DBG1(DBG_LIB, "enabled %N: skipping test (disabled by config)",
rng_quality_names, quality);
+=======
+ DBG1(DBG_LIB, "enabled %N[%s]: skipping test (disabled by config)",
+ rng_quality_names, quality, plugin_name);
+>>>>>>> upstream/4.5.1
return TRUE;
}
@@ -903,8 +1088,13 @@ METHOD(crypto_tester_t, test_rng, bool,
rng = create(quality);
if (!rng)
{
+<<<<<<< HEAD
DBG1(DBG_LIB, "disabled %N: creating instance failed",
rng_quality_names, quality);
+=======
+ DBG1(DBG_LIB, "disabled %N[%s]: creating instance failed",
+ rng_quality_names, quality, plugin_name);
+>>>>>>> upstream/4.5.1
failed = TRUE;
break;
}
@@ -933,17 +1123,28 @@ METHOD(crypto_tester_t, test_rng, bool,
rng->destroy(rng);
if (failed)
{
+<<<<<<< HEAD
DBG1(DBG_LIB, "disabled %N: %s test vector failed",
rng_quality_names, quality, get_name(vector));
+=======
+ DBG1(DBG_LIB, "disabled %N[%s]: %s test vector failed",
+ rng_quality_names, quality, plugin_name, get_name(vector));
+>>>>>>> upstream/4.5.1
break;
}
}
enumerator->destroy(enumerator);
if (!tested)
{
+<<<<<<< HEAD
DBG1(DBG_LIB, "%s %N: no test vectors found",
this->required ? ", disabled" : "enabled ",
rng_quality_names, quality);
+=======
+ DBG1(DBG_LIB, "%s %N[%s]: no test vectors found",
+ this->required ? ", disabled" : "enabled ",
+ rng_quality_names, quality, plugin_name);
+>>>>>>> upstream/4.5.1
return !this->required;
}
if (!failed)
@@ -951,6 +1152,7 @@ METHOD(crypto_tester_t, test_rng, bool,
if (speed)
{
*speed = bench_rng(this, quality, create);
+<<<<<<< HEAD
DBG1(DBG_LIB, "enabled %N: passed %u test vectors, %d points",
rng_quality_names, quality, tested, *speed);
}
@@ -958,6 +1160,15 @@ METHOD(crypto_tester_t, test_rng, bool,
{
DBG1(DBG_LIB, "enabled %N: passed %u test vectors",
rng_quality_names, quality, tested);
+=======
+ DBG1(DBG_LIB, "enabled %N[%s]: passed %u test vectors, %d points",
+ rng_quality_names, quality, plugin_name, tested, *speed);
+ }
+ else
+ {
+ DBG1(DBG_LIB, "enabled %N[%s]: passed %u test vectors",
+ rng_quality_names, quality, plugin_name, tested);
+>>>>>>> upstream/4.5.1
}
}
return !failed;