diff --git a/src/etc/inc/interfaces.inc b/src/etc/inc/interfaces.inc
index 3b32818c3..5c09084bc 100644
--- a/src/etc/inc/interfaces.inc
+++ b/src/etc/inc/interfaces.inc
@@ -2535,7 +2535,7 @@ function interface_configure($verbose = false, $interface = 'wan', $reload = fal
if (!file_exists("/var/run/booting")) {
if ($reload) {
system_routing_configure($verbose, $interface);
- ipsec_configure_do($verbose, $interface);
+ plugins_configure('ipsec', $verbose, array($interface));
plugins_configure('dns', $verbose);
services_dhcpd_configure($verbose);
/* XXX move these up the call stack */
diff --git a/src/etc/inc/plugins.inc.d/ipsec.inc b/src/etc/inc/plugins.inc.d/ipsec.inc
index f35747348..6b6db5f17 100644
--- a/src/etc/inc/plugins.inc.d/ipsec.inc
+++ b/src/etc/inc/plugins.inc.d/ipsec.inc
@@ -113,6 +113,7 @@ $p2_protos = array(
function ipsec_configure()
{
return array(
+ 'ipsec' => array('ipsec_configure_do:2'),
'vpn' => array('ipsec_configure_do:2'),
);
}
diff --git a/src/etc/inc/services.inc b/src/etc/inc/services.inc
index 69472f86f..e240f9e00 100644
--- a/src/etc/inc/services.inc
+++ b/src/etc/inc/services.inc
@@ -43,7 +43,6 @@
* as plugins, but the things listed below are viable
* targets in the future:
*/
-require_once('plugins.inc.d/ipsec.inc');
require_once('plugins.inc.d/openvpn.inc');
function generate_ipv6_from_mac($mac)
diff --git a/src/etc/inc/xmlrpc/legacy.inc b/src/etc/inc/xmlrpc/legacy.inc
index 7586a7994..f84c80f41 100644
--- a/src/etc/inc/xmlrpc/legacy.inc
+++ b/src/etc/inc/xmlrpc/legacy.inc
@@ -259,7 +259,7 @@ function restore_config_section_xmlrpc($new_config)
}
if (isset($old_config['ipsec']['enable']) !== isset($config['ipsec']['enable'])) {
- ipsec_configure_do();
+ plugins_configure('ipsec');
}
unset($old_config);
diff --git a/src/www/diag_ipsec.php b/src/www/diag_ipsec.php
index 91baa8880..a4c8d5648 100644
--- a/src/www/diag_ipsec.php
+++ b/src/www/diag_ipsec.php
@@ -31,6 +31,7 @@
require_once("guiconfig.inc");
require_once("services.inc");
+require_once("plugins.inc.d/ipsec.inc");
/**
* search config for phase 1 description
diff --git a/src/www/diag_ipsec_sad.php b/src/www/diag_ipsec_sad.php
index 9a18bf323..e614c7da6 100644
--- a/src/www/diag_ipsec_sad.php
+++ b/src/www/diag_ipsec_sad.php
@@ -29,9 +29,9 @@
*/
require_once("guiconfig.inc");
-require_once("plugins.inc.d/ipsec.inc");
require_once("services.inc");
require_once("interfaces.inc");
+require_once("plugins.inc.d/ipsec.inc");
$service_hook = 'strongswan';
@@ -39,8 +39,8 @@ include("head.inc");
$sad = ipsec_dump_sad();
legacy_html_escape_form_data($sad);
-?>
+?>
diff --git a/src/www/diag_ipsec_spd.php b/src/www/diag_ipsec_spd.php
index a2d085d9d..24a769d13 100644
--- a/src/www/diag_ipsec_spd.php
+++ b/src/www/diag_ipsec_spd.php
@@ -29,9 +29,9 @@
*/
require_once("guiconfig.inc");
-require_once("plugins.inc.d/ipsec.inc");
require_once("services.inc");
require_once("interfaces.inc");
+require_once("plugins.inc.d/ipsec.inc");
$service_hook = 'strongswan';
diff --git a/src/www/vpn_ipsec.php b/src/www/vpn_ipsec.php
index 5e968ce88..90bd8be72 100644
--- a/src/www/vpn_ipsec.php
+++ b/src/www/vpn_ipsec.php
@@ -31,9 +31,9 @@
require_once("guiconfig.inc");
require_once("system.inc");
require_once("filter.inc");
-require_once("plugins.inc.d/ipsec.inc");
require_once("services.inc");
require_once("interfaces.inc");
+require_once("plugins.inc.d/ipsec.inc");
/*
* Return phase2 idinfo in text format
diff --git a/src/www/vpn_ipsec_keys.php b/src/www/vpn_ipsec_keys.php
index 6cf1bc4fe..14692f2c9 100644
--- a/src/www/vpn_ipsec_keys.php
+++ b/src/www/vpn_ipsec_keys.php
@@ -28,10 +28,10 @@
*/
require_once("guiconfig.inc");
-require_once("plugins.inc.d/ipsec.inc");
require_once("filter.inc");
require_once("services.inc");
require_once("interfaces.inc");
+require_once("plugins.inc.d/ipsec.inc");
config_read_array('ipsec', 'mobilekey');
ipsec_mobilekey_sort();
diff --git a/src/www/vpn_ipsec_phase1.php b/src/www/vpn_ipsec_phase1.php
index 0b5d1a3be..31dfcff5a 100644
--- a/src/www/vpn_ipsec_phase1.php
+++ b/src/www/vpn_ipsec_phase1.php
@@ -32,9 +32,9 @@
require_once("guiconfig.inc");
require_once("system.inc");
require_once("filter.inc");
-require_once("plugins.inc.d/ipsec.inc");
require_once("services.inc");
require_once("interfaces.inc");
+require_once("plugins.inc.d/ipsec.inc");
/*
* ikeid management functions
diff --git a/src/www/vpn_ipsec_phase2.php b/src/www/vpn_ipsec_phase2.php
index 062ee7b94..7a2a00037 100644
--- a/src/www/vpn_ipsec_phase2.php
+++ b/src/www/vpn_ipsec_phase2.php
@@ -30,8 +30,8 @@
require_once("guiconfig.inc");
require_once("interfaces.inc");
-require_once("plugins.inc.d/ipsec.inc");
require_once("services.inc");
+require_once("plugins.inc.d/ipsec.inc");
/**
* combine ealgos and keylen_* tags
diff --git a/src/www/vpn_ipsec_settings.php b/src/www/vpn_ipsec_settings.php
index a45961d91..e90471891 100644
--- a/src/www/vpn_ipsec_settings.php
+++ b/src/www/vpn_ipsec_settings.php
@@ -29,9 +29,9 @@
require_once("guiconfig.inc");
require_once("filter.inc");
-require_once("plugins.inc.d/ipsec.inc");
require_once("services.inc");
require_once("interfaces.inc");
+require_once("plugins.inc.d/ipsec.inc");
config_read_array('ipsec');