aboutsummaryrefslogtreecommitdiffstats
path: root/src/libipsec
diff options
context:
space:
mode:
authorTobias Brunner <tobias@strongswan.org>2013-08-12 12:20:09 +0200
committerTobias Brunner <tobias@strongswan.org>2013-08-12 12:21:57 +0200
commit3f29ff82c39932d0a06c006c68e092a946a1c57b (patch)
tree8c90dfe4092d6c78659dd3fe6afbf514e7f7188c /src/libipsec
parent11f468533f9917128d747abe889e75cf554cd6ba (diff)
downloadstrongswan-3f29ff82c39932d0a06c006c68e092a946a1c57b.tar.bz2
strongswan-3f29ff82c39932d0a06c006c68e092a946a1c57b.tar.xz
libipsec: Don't limit traditional algorithms to AES and SHA1/2
Closes #377.
Diffstat (limited to 'src/libipsec')
-rw-r--r--src/libipsec/esp_context.c32
1 files changed, 7 insertions, 25 deletions
diff --git a/src/libipsec/esp_context.c b/src/libipsec/esp_context.c
index bbcb62add..481b793e6 100644
--- a/src/libipsec/esp_context.c
+++ b/src/libipsec/esp_context.c
@@ -224,7 +224,7 @@ static bool create_aead(private_esp_context_t *this, int alg,
if (!this->aead)
{
DBG1(DBG_ESP, "failed to create ESP context: unsupported AEAD "
- "algorithm");
+ "algorithm %N", encryption_algorithm_names, alg);
return FALSE;
}
if (!this->aead->set_key(this->aead, key))
@@ -241,22 +241,14 @@ static bool create_aead(private_esp_context_t *this, int alg,
static bool create_traditional(private_esp_context_t *this, int enc_alg,
chunk_t enc_key, int int_alg, chunk_t int_key)
{
- crypter_t *crypter = NULL;
- signer_t *signer = NULL;
+ crypter_t *crypter;
+ signer_t *signer;
- switch (enc_alg)
- {
- case ENCR_AES_CBC:
- crypter = lib->crypto->create_crypter(lib->crypto, enc_alg,
- enc_key.len);
- break;
- default:
- break;
- }
+ crypter = lib->crypto->create_crypter(lib->crypto, enc_alg, enc_key.len);
if (!crypter)
{
DBG1(DBG_ESP, "failed to create ESP context: unsupported encryption "
- "algorithm");
+ "algorithm %N", encryption_algorithm_names, enc_alg);
goto failed;
}
if (!crypter->set_key(crypter, enc_key))
@@ -266,21 +258,11 @@ static bool create_traditional(private_esp_context_t *this, int enc_alg,
goto failed;
}
- switch (int_alg)
- {
- case AUTH_HMAC_SHA1_96:
- case AUTH_HMAC_SHA2_256_128:
- case AUTH_HMAC_SHA2_384_192:
- case AUTH_HMAC_SHA2_512_256:
- signer = lib->crypto->create_signer(lib->crypto, int_alg);
- break;
- default:
- break;
- }
+ signer = lib->crypto->create_signer(lib->crypto, int_alg);
if (!signer)
{
DBG1(DBG_ESP, "failed to create ESP context: unsupported integrity "
- "algorithm");
+ "algorithm %N", integrity_algorithm_names, int_alg);
goto failed;
}
if (!signer->set_key(signer, int_key))