aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorReto Guadagnini <rguadagn@hsr.ch>2012-07-05 12:17:49 +0200
committerTobias Brunner <tobias@strongswan.org>2013-02-19 12:25:00 +0100
commit95650c0836beac729b159259c83c03750d3e6a62 (patch)
tree3b5f2df99d2af09490c5c920d9abd273bc5f5140
parent932717fbde194bba61a0cbea304fb7c0ded0368d (diff)
downloadstrongswan-95650c0836beac729b159259c83c03750d3e6a62.tar.bz2
strongswan-95650c0836beac729b159259c83c03750d3e6a62.tar.xz
ipseckey: Report IPSECKEYs with invalid DNSSEC security state
-rw-r--r--src/libcharon/plugins/ipseckey/ipseckey_cred.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/libcharon/plugins/ipseckey/ipseckey_cred.c b/src/libcharon/plugins/ipseckey/ipseckey_cred.c
index 9c4bc5950..53f30fedf 100644
--- a/src/libcharon/plugins/ipseckey/ipseckey_cred.c
+++ b/src/libcharon/plugins/ipseckey/ipseckey_cred.c
@@ -172,8 +172,7 @@ METHOD(credential_set_t, create_cert_enumerator, enumerator_t*,
}
if (!response->has_data(response) ||
- !response->query_name_exist(response) ||
- !(response->get_security_state(response) == SECURE) )
+ !response->query_name_exist(response))
{
DBG1(DBG_CFG, "ipseckey_cred: Unable to retrieve IPSECKEY RRs "
"for the domain %s from the DNS", fqdn);
@@ -181,6 +180,17 @@ METHOD(credential_set_t, create_cert_enumerator, enumerator_t*,
free(fqdn);
return enumerator_create_empty();
}
+
+ if (!(response->get_security_state(response) == SECURE))
+ {
+ DBG1(DBG_CFG, "ipseckey_cred: DNSSEC security state of the "
+ "IPSECKEY RRs of the domain %s is not SECURE "
+ "as required", fqdn);
+ response->destroy(response);
+ free(fqdn);
+ return enumerator_create_empty();
+ }
+
free(fqdn);
/** Determine the validity period of the retrieved IPSECKEYs