diff --git a/LICENSE b/LICENSE index c165420f4..bc3f22718 100644 --- a/LICENSE +++ b/LICENSE @@ -40,7 +40,6 @@ Copyright (c) 2005-2006 Paul Taylor Copyright (c) 2005-2006 Peter Allgeyer Copyright (c) 2004 Peter Curran Copyright (c) 2012 PiBa-NL -Copyright (c) 2013 Renato Botelho Copyright (c) 2018 René Muhr Copyright (c) 2015 S. Linke Copyright (c) 2007 Sam Wenham diff --git a/plist b/plist index 1a10d884d..69d63fe45 100644 --- a/plist +++ b/plist @@ -86,7 +86,6 @@ /usr/local/etc/rc.ipfw /usr/local/etc/rc.ipfw.flush_all /usr/local/etc/rc.ipfw.postload -/usr/local/etc/rc.kill_states /usr/local/etc/rc.linkup /usr/local/etc/rc.loader /usr/local/etc/rc.loader.d/00-banner diff --git a/src/etc/rc.kill_states b/src/etc/rc.kill_states deleted file mode 100755 index 781dc044e..000000000 --- a/src/etc/rc.kill_states +++ /dev/null @@ -1,90 +0,0 @@ -#!/usr/local/bin/php - - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY - * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, - * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -require_once("config.inc"); -require_once("interfaces.inc"); -require_once("util.inc"); - -// Do not process while booting -if (file_exists('/var/run/booting')) { - exit; -} - -/* Interface address to cleanup states */ -$interface = str_replace("\n", '', $argv[1]); - -/* IP address to cleanup states */ -$local_ip = str_replace("\n", '', $argv[2]); - -if (empty($interface) || !does_interface_exist($interface)) { - log_error("rc.kill_states: Invalid interface '{$interface}'"); - exit; -} - -if (!empty($local_ip)) { - list($local_ip, $subnet_bits) = explode('/', $local_ip); - - if (empty($subnet_bits)) { - $subnet_bits = '32'; - } - - if (!is_ipaddr($local_ip)) { - log_error("rc.kill_states: Invalid IP address '{$local_ip}'"); - exit; - } -} - -if (!isset($config['system']['kill_states'])) { - if (!empty($local_ip)) { - log_error("rc.kill_states: Removing states for IP {$local_ip}/{$subnet_bits}"); - $nat_states = exec_command("/sbin/pfctl -i {$interface} -ss | " . - "/usr/bin/egrep '\-> +{$local_ip}:[0-9]+ +\->'"); - - $cleared_states = array(); - foreach(explode("\n", $nat_states) as $nat_state) { - if (preg_match_all('/([\d\.]+):[\d]+[\s->]+/i', $nat_state, $matches, PREG_SET_ORDER) != 3) - continue; - - $src = $matches[0][1]; - $dst = $matches[2][1]; - - if (empty($src) || empty($dst) || in_array("{$src},{$dst}", $cleared_states)) { - continue; - } - - $cleared_states[] = "{$src},{$dst}"; - mwexec("/sbin/pfctl -k {$src} -k {$dst}", true); - } - - mwexec("/sbin/pfctl -k 0.0.0.0/0 -k {$local_ip}/{$subnet_bits}", true); - mwexec("/sbin/pfctl -k {$local_ip}/{$subnet_bits}", true); - mwexec("/sbin/pfctl -K {$local_ip}/{$subnet_bits}", true); - } - log_error("rc.kill_states: Removing states for interface {$interface}"); - mwexec("/sbin/pfctl -i {$interface} -Fs", true); -} diff --git a/src/opnsense/scripts/interfaces/ppp-linkdown.sh b/src/opnsense/scripts/interfaces/ppp-linkdown.sh index e3211f881..0d546ff98 100755 --- a/src/opnsense/scripts/interfaces/ppp-linkdown.sh +++ b/src/opnsense/scripts/interfaces/ppp-linkdown.sh @@ -7,8 +7,6 @@ GW= DEFAULTGW=$(route -n get -${AF} default | grep gateway: | awk '{print $2}') -/usr/local/etc/rc.kill_states ${IF} ${IP} - ngctl shutdown ${IF}: if [ "${AF}" = "inet" ]; then