diff options
author | Reto Guadagnini <rguadagn@hsr.ch> | 2012-06-08 17:15:09 +0200 |
---|---|---|
committer | Tobias Brunner <tobias@strongswan.org> | 2013-02-19 12:25:00 +0100 |
commit | 932717fbde194bba61a0cbea304fb7c0ded0368d (patch) | |
tree | 9065ba8c4facf29d5580d48e0814c8c9d4104288 | |
parent | a77bbc3b8c37dc8513ce79531012e65c6daf247a (diff) | |
download | strongswan-932717fbde194bba61a0cbea304fb7c0ded0368d.tar.bz2 strongswan-932717fbde194bba61a0cbea304fb7c0ded0368d.tar.xz |
ipseckey: Added "enable" option for the IPSECKEY plugin to strongswan.conf
-rw-r--r-- | man/strongswan.conf.5.in | 3 | ||||
-rw-r--r-- | src/libcharon/plugins/ipseckey/ipseckey_plugin.c | 19 |
2 files changed, 19 insertions, 3 deletions
diff --git a/man/strongswan.conf.5.in b/man/strongswan.conf.5.in index feffcfb53..b3902e211 100644 --- a/man/strongswan.conf.5.in +++ b/man/strongswan.conf.5.in @@ -569,6 +569,9 @@ Request peer authentication based on a client certificate .BR charon.plugins.ha.segment_count " [1]" .TP +.BR charon.plugins.ipseckey.enable " [no]" +Enable the fetching of IPSECKEY RRs from the DNS +.TP .BR charon.plugins.led.activity_led .TP diff --git a/src/libcharon/plugins/ipseckey/ipseckey_plugin.c b/src/libcharon/plugins/ipseckey/ipseckey_plugin.c index 563c36633..6f0f10507 100644 --- a/src/libcharon/plugins/ipseckey/ipseckey_plugin.c +++ b/src/libcharon/plugins/ipseckey/ipseckey_plugin.c @@ -40,6 +40,11 @@ struct private_ipseckey_plugin_t { * credential set */ ipseckey_cred_t *cred; + + /** + * IPSECKEY based authentication enabled + */ + bool enabled; }; METHOD(plugin_t, get_name, char*, @@ -51,7 +56,10 @@ METHOD(plugin_t, get_name, char*, METHOD(plugin_t, destroy, void, private_ipseckey_plugin_t *this) { - lib->credmgr->remove_set(lib->credmgr, &this->cred->set); + if (this->enabled) + { + lib->credmgr->remove_set(lib->credmgr, &this->cred->set); + } this->res->destroy(this->res); DESTROY_IF(this->cred); free(this); @@ -73,6 +81,8 @@ plugin_t *ipseckey_plugin_create() }, }, .res = lib->resolver->create(lib->resolver), + .enabled = lib->settings->get_bool(lib->settings, + "charon.plugins.ipseckey.enable", FALSE), ); if (!this->res) @@ -83,8 +93,11 @@ plugin_t *ipseckey_plugin_create() return NULL; } - this->cred = ipseckey_cred_create(this->res); - lib->credmgr->add_set(lib->credmgr, &this->cred->set); + if (this->enabled) + { + this->cred = ipseckey_cred_create(this->res); + lib->credmgr->add_set(lib->credmgr, &this->cred->set); + } return &this->public.plugin; } |