diff --git a/plist b/plist index bb852d1c6..a38e5210d 100644 --- a/plist +++ b/plist @@ -84,6 +84,7 @@ /usr/local/etc/rc.carpbackup /usr/local/etc/rc.carpmaster /usr/local/etc/rc.configure_firmware +/usr/local/etc/rc.configure_interface /usr/local/etc/rc.configure_plugins /usr/local/etc/rc.d/captiveportal /usr/local/etc/rc.d/configd @@ -96,7 +97,6 @@ /usr/local/etc/rc.firmware.subr /usr/local/etc/rc.freebsd /usr/local/etc/rc.halt -/usr/local/etc/rc.interfaces_wan_configure /usr/local/etc/rc.ipfw /usr/local/etc/rc.ipfw.flush_all /usr/local/etc/rc.ipfw.postload diff --git a/src/etc/inc/interfaces.inc b/src/etc/inc/interfaces.inc index a3cc549b7..ad7ea167d 100644 --- a/src/etc/inc/interfaces.inc +++ b/src/etc/inc/interfaces.inc @@ -1136,8 +1136,6 @@ function interface_bring_down($interface = "wan", $ifacecfg = false) kill_hostapd($realif); mwexec(kill_wpasupplicant($realif)); } - - return; } function interfaces_ptpid_used($ptpid) @@ -2518,7 +2516,13 @@ function interface_configure($interface = 'wan', $reload = false, $linkupevent = if (!empty($grouptmp)) { array_walk($grouptmp, 'interface_group_add_member'); } + } + if ($verbose) { + echo "done.\n"; + } + + if (!file_exists("/var/run/booting")) { if ($reload) { system_routing_configure($verbose, $interface); ipsec_configure_do($verbose, $interface); @@ -2528,10 +2532,6 @@ function interface_configure($interface = 'wan', $reload = false, $linkupevent = } interfaces_staticarp_configure($interface); - - if ($verbose) { - echo "done.\n"; - } } function interface_track6_configure($interface = 'lan', $lancfg, $linkupevent = false) diff --git a/src/etc/rc.interfaces_wan_configure b/src/etc/rc.configure_interface similarity index 88% rename from src/etc/rc.interfaces_wan_configure rename to src/etc/rc.configure_interface index e5d80e30f..bc7db62ec 100755 --- a/src/etc/rc.interfaces_wan_configure +++ b/src/etc/rc.configure_interface @@ -35,11 +35,6 @@ require_once("system.inc"); require_once("interfaces.inc"); require_once("services.inc"); -if (!empty($argv[1])) { - $argument = str_replace("\n", "", $argv[1]); - if (!empty($config['interfaces'][$argument])) { - interface_configure($argument); - } -} else { - interface_configure("wan"); -} +$argument = isset($argv[1]) ? trim($argv[1]) : 'wan'; + +interface_configure($argument, true, false, true); diff --git a/src/opnsense/service/conf/actions.d/actions_interface.conf b/src/opnsense/service/conf/actions.d/actions_interface.conf index de989e7a5..6a18eed65 100644 --- a/src/opnsense/service/conf/actions.d/actions_interface.conf +++ b/src/opnsense/service/conf/actions.d/actions_interface.conf @@ -1,5 +1,5 @@ [reconfigure] -command:/usr/local/etc/rc.interfaces_wan_configure +command:/usr/local/etc/rc.configure_interface parameters:%s type:script message:Configuring interface %s diff --git a/src/www/status_interfaces.php b/src/www/status_interfaces.php index b9866b3ea..86fe37688 100644 --- a/src/www/status_interfaces.php +++ b/src/www/status_interfaces.php @@ -39,7 +39,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { if (!empty($_POST['status']) && $_POST['status'] == 'up') { interface_bring_down($interface); } else { - interface_configure($interface); + interface_configure($interface, true); } header(url_safe('Location: /status_interfaces.php')); exit;