From b30cbe1570f735a4e3716fcd5d7fb14cd34f76bc Mon Sep 17 00:00:00 2001 From: Franco Fichtner Date: Tue, 27 Feb 2018 18:13:13 +0000 Subject: [PATCH] system: reorder routing calls for #1821 In order for default gateway switching to work we need to call routing first, then set up gateways, lastly invoke filter reload which currently chains the gateway swtich code. While here, remove deprecation notes. --- src/etc/inc/filter.inc | 1 - src/etc/inc/system.inc | 2 -- src/etc/inc/xmlrpc/legacy.inc | 2 +- src/etc/rc.routing_configure | 2 +- src/www/interfaces.php | 4 +--- src/www/system_advanced_firewall.php | 2 +- src/www/system_gateway_groups.php | 13 ++++--------- src/www/system_gateways.php | 10 +++------- 8 files changed, 11 insertions(+), 25 deletions(-) diff --git a/src/etc/inc/filter.inc b/src/etc/inc/filter.inc index cc6a08317..33592b5ee 100644 --- a/src/etc/inc/filter.inc +++ b/src/etc/inc/filter.inc @@ -323,7 +323,6 @@ function filter_configure_sync($verbose = false) flush(); } - /* XXX deprectated feature, only called on reconfigure */ if (isset($config['system']['gw_switch_default'])) { $gateways_status = return_gateways_status(true); $gateways_arr = return_gateways_array(); diff --git a/src/etc/inc/system.inc b/src/etc/inc/system.inc index 3f8be722d..86d1a5fcb 100644 --- a/src/etc/inc/system.inc +++ b/src/etc/inc/system.inc @@ -554,8 +554,6 @@ function system_routing_configure($interface = '', $verbose = false) if ($verbose) { echo "done.\n"; } - - return 0; } diff --git a/src/etc/inc/xmlrpc/legacy.inc b/src/etc/inc/xmlrpc/legacy.inc index 69f7ced10..53e1ab3ac 100644 --- a/src/etc/inc/xmlrpc/legacy.inc +++ b/src/etc/inc/xmlrpc/legacy.inc @@ -127,9 +127,9 @@ function filter_configure_xmlrpc() require_once("services.inc"); require_once("rrd.inc"); - filter_configure(); system_routing_configure(); setup_gateways_monitor(); + filter_configure(); system_hosts_generate(); local_sync_accounts(); plugins_configure('dns'); diff --git a/src/etc/rc.routing_configure b/src/etc/rc.routing_configure index c7793096b..20d2681ff 100755 --- a/src/etc/rc.routing_configure +++ b/src/etc/rc.routing_configure @@ -43,5 +43,5 @@ foreach (glob("/tmp/delete_route_*.todo") as $filename) { } system_routing_configure('', true); -filter_configure_sync(true); setup_gateways_monitor(true); +filter_configure_sync(true); diff --git a/src/www/interfaces.php b/src/www/interfaces.php index 756c07fbf..68c95b30b 100644 --- a/src/www/interfaces.php +++ b/src/www/interfaces.php @@ -525,12 +525,10 @@ if ($_SERVER['REQUEST_METHOD'] === 'GET') { plugins_configure('newwanip'); /* sync filter configuration */ + system_routing_configure(); setup_gateways_monitor(); filter_configure(); rrd_configure(); - if (is_subsystem_dirty('staticroutes') && (system_routing_configure() == 0)) { - clear_subsystem_dirty('staticroutes'); - } } @unlink('/tmp/.interfaces.apply'); header(url_safe('Location: /interfaces.php?if=%s', array($if))); diff --git a/src/www/system_advanced_firewall.php b/src/www/system_advanced_firewall.php index fdc3cd4e6..18d6ec41c 100644 --- a/src/www/system_advanced_firewall.php +++ b/src/www/system_advanced_firewall.php @@ -368,7 +368,7 @@ include("head.inc"); />
diff --git a/src/www/system_gateway_groups.php b/src/www/system_gateway_groups.php index 3591b8912..3cb0d5ad8 100644 --- a/src/www/system_gateway_groups.php +++ b/src/www/system_gateway_groups.php @@ -52,20 +52,14 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { exit; } } elseif (isset($_POST['apply'])) { - $retval = 0; - $retval = system_routing_configure(); + system_routing_configure(); + clear_subsystem_dirty('staticroutes'); + setup_gateways_monitor(); configd_run('dyndns reload'); configd_run('rfc2136 reload'); configd_run('filter reload'); - /* reconfigure our gateway monitor */ - setup_gateways_monitor(); - - if ($retval == 0) { - clear_subsystem_dirty('staticroutes'); - } - foreach ($a_gateway_groups as $gateway_group) { $gw_subsystem = 'gwgroup.' . $gateway_group['name']; if (is_subsystem_dirty($gw_subsystem)) { @@ -73,6 +67,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { clear_subsystem_dirty($gw_subsystem); } } + header(url_safe('Location: /system_gateway_groups.php')); exit; } diff --git a/src/www/system_gateways.php b/src/www/system_gateways.php index 7d7d3c4f2..6eebd44f6 100644 --- a/src/www/system_gateways.php +++ b/src/www/system_gateways.php @@ -129,14 +129,10 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { } if (isset($pconfig['apply'])) { // apply changes, reconfigure - $retval = 0; - $retval = system_routing_configure(); - filter_configure(); - /* reconfigure our gateway monitor */ + system_routing_configure(); + clear_subsystem_dirty('staticroutes'); setup_gateways_monitor(); - if ($retval == 0) { - clear_subsystem_dirty('staticroutes'); - } + filter_configure(); header(url_safe('Location: /system_gateways.php?displaysave=true')); exit; } elseif (isset($id) && isset($pconfig['act']) && $pconfig['act'] == "del") {