diff --git a/src/etc/inc/pfsense-utils.inc b/src/etc/inc/pfsense-utils.inc index 957beb6ab..c7e7d2f2a 100644 --- a/src/etc/inc/pfsense-utils.inc +++ b/src/etc/inc/pfsense-utils.inc @@ -25,38 +25,3 @@ RISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - - - -/* Returns the calculated bit length of the prefix delegation from the WAN interface */ -/* DHCP-PD is variable, calculate from the prefix-len on the WAN interface */ -/* 6rd is variable, calculate from 64 - (v6 prefixlen - (32 - v4 prefixlen)) */ -/* 6to4 is 16 bits, e.g. 65535 */ -function calculate_ipv6_delegation_length($if) { - global $config; - - if(!isset($config['interfaces'][$if]) || !is_array($config['interfaces'][$if])) { - return false; - } elseif (!isset($config['interfaces'][$if]['ipaddrv6'])) { - return 0; - } - - switch($config['interfaces'][$if]['ipaddrv6']) { - case "6to4": - $pdlen = 16; - break; - case "6rd": - $rd6cfg = $config['interfaces'][$if]; - $rd6plen = explode("/", $rd6cfg['prefix-6rd']); - $pdlen = (64 - ($rd6plen[1] + (32 - $rd6cfg['prefix-6rd-v4plen']))); - break; - case "dhcp6": - $dhcp6cfg = $config['interfaces'][$if]; - $pdlen = $dhcp6cfg['dhcp6-ia-pd-len']; - break; - default: - $pdlen = 0; - break; - } - return $pdlen; -} diff --git a/src/etc/inc/util.inc b/src/etc/inc/util.inc index fea15d38b..6798f7dce 100644 --- a/src/etc/inc/util.inc +++ b/src/etc/inc/util.inc @@ -170,6 +170,39 @@ function gen_subnetv6_max($ipaddr, $bits) return (inet_ntop($inet_end)); } +/* Returns the calculated bit length of the prefix delegation from the WAN interface */ +/* DHCP-PD is variable, calculate from the prefix-len on the WAN interface */ +/* 6rd is variable, calculate from 64 - (v6 prefixlen - (32 - v4 prefixlen)) */ +/* 6to4 is 16 bits, e.g. 65535 */ +function calculate_ipv6_delegation_length($if) { + global $config; + + if(!isset($config['interfaces'][$if]) || !is_array($config['interfaces'][$if])) { + return false; + } elseif (!isset($config['interfaces'][$if]['ipaddrv6'])) { + return 0; + } + + switch($config['interfaces'][$if]['ipaddrv6']) { + case "6to4": + $pdlen = 16; + break; + case "6rd": + $rd6cfg = $config['interfaces'][$if]; + $rd6plen = explode("/", $rd6cfg['prefix-6rd']); + $pdlen = (64 - ($rd6plen[1] + (32 - $rd6cfg['prefix-6rd-v4plen']))); + break; + case "dhcp6": + $dhcp6cfg = $config['interfaces'][$if]; + $pdlen = $dhcp6cfg['dhcp6-ia-pd-len']; + break; + default: + $pdlen = 0; + break; + } + return $pdlen; +} + /* returns a subnet mask (long given a bit count) */ function gen_subnet_mask_long($bits) { diff --git a/src/www/diag_logs_settings.php b/src/www/diag_logs_settings.php index 931da05e3..09d807c31 100644 --- a/src/www/diag_logs_settings.php +++ b/src/www/diag_logs_settings.php @@ -34,6 +34,7 @@ require_once("interfaces.inc"); require_once("filter.inc"); require_once("system.inc"); require_once("pfsense-utils.inc"); +require_once("util.inc"); require_once("services.inc"); require_once("plugins.inc"); diff --git a/src/www/diag_logs_template.inc b/src/www/diag_logs_template.inc index 970bdb5db..470dcba62 100644 --- a/src/www/diag_logs_template.inc +++ b/src/www/diag_logs_template.inc @@ -33,7 +33,8 @@ require_once("guiconfig.inc"); require_once("system.inc"); require_once("interfaces.inc"); require_once("plugins.inc"); -require_once 'services.inc'; +require_once("services.inc"); +require_once("util.inc"); /* expects $logfile to point to the system path */ /* expects $logclog to be true or false */ diff --git a/src/www/services_dhcp.php b/src/www/services_dhcp.php index c32584bc3..8d341f11e 100644 --- a/src/www/services_dhcp.php +++ b/src/www/services_dhcp.php @@ -33,6 +33,7 @@ require_once("services.inc"); require_once("system.inc"); require_once("unbound.inc"); require_once("pfsense-utils.inc"); +require_once("util.inc"); require_once("interfaces.inc"); /* diff --git a/src/www/services_dhcpv6.php b/src/www/services_dhcpv6.php index b217ac8c7..b11bb35f9 100644 --- a/src/www/services_dhcpv6.php +++ b/src/www/services_dhcpv6.php @@ -33,6 +33,7 @@ require_once("filter.inc"); require_once("system.inc"); require_once("unbound.inc"); require_once("pfsense-utils.inc"); +require_once("util.inc"); require_once("interfaces.inc"); require_once("services.inc"); diff --git a/src/www/services_dnsmasq.php b/src/www/services_dnsmasq.php index 5c8fc5ab2..17a5744c9 100644 --- a/src/www/services_dnsmasq.php +++ b/src/www/services_dnsmasq.php @@ -33,6 +33,7 @@ require_once("filter.inc"); require_once("services.inc"); require_once("system.inc"); require_once("pfsense-utils.inc"); +require_once("util.inc"); require_once("unbound.inc"); if (empty($config['dnsmasq']['hosts']) || !is_array($config['dnsmasq']['hosts'])) { diff --git a/src/www/services_dnsmasq_domainoverride_edit.php b/src/www/services_dnsmasq_domainoverride_edit.php index 3154bfe27..8bb3ef8f0 100644 --- a/src/www/services_dnsmasq_domainoverride_edit.php +++ b/src/www/services_dnsmasq_domainoverride_edit.php @@ -31,6 +31,7 @@ require_once("guiconfig.inc"); require_once("system.inc"); require_once("services.inc"); require_once("interfaces.inc"); +require_once("util.inc"); require_once("pfsense-utils.inc"); $referer = (isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '/services_dnsmasq.php'); diff --git a/src/www/services_opendns.php b/src/www/services_opendns.php index 676be40b0..725a7b037 100644 --- a/src/www/services_opendns.php +++ b/src/www/services_opendns.php @@ -30,6 +30,7 @@ require_once("guiconfig.inc"); require_once("system.inc"); require_once("pfsense-utils.inc"); +require_once("util.inc"); require_once("services.inc"); require_once("interfaces.inc"); diff --git a/src/www/services_unbound.php b/src/www/services_unbound.php index ca99fdb6b..951031aaf 100644 --- a/src/www/services_unbound.php +++ b/src/www/services_unbound.php @@ -32,6 +32,7 @@ require_once("unbound.inc"); require_once("services.inc"); require_once("system.inc"); require_once("pfsense-utils.inc"); +require_once("util.inc"); require_once("interfaces.inc"); if (empty($config['unbound']) || !is_array($config['unbound'])) { diff --git a/src/www/services_unbound_acls.php b/src/www/services_unbound_acls.php index 8694ad40c..19215a5a0 100644 --- a/src/www/services_unbound_acls.php +++ b/src/www/services_unbound_acls.php @@ -31,6 +31,7 @@ require_once("guiconfig.inc"); require_once("unbound.inc"); require_once("system.inc"); require_once("pfsense-utils.inc"); +require_once("util.inc"); require_once("services.inc"); require_once("interfaces.inc"); diff --git a/src/www/services_unbound_advanced.php b/src/www/services_unbound_advanced.php index 9e84008a7..b7d61432c 100644 --- a/src/www/services_unbound_advanced.php +++ b/src/www/services_unbound_advanced.php @@ -31,6 +31,7 @@ require_once("guiconfig.inc"); require_once("unbound.inc"); require_once("system.inc"); require_once("pfsense-utils.inc"); +require_once("util.inc"); require_once("services.inc"); if(empty($config['unbound']) || !is_array($config['unbound'])) { diff --git a/src/www/services_unbound_overrides.php b/src/www/services_unbound_overrides.php index 4da430b83..cb9a47650 100644 --- a/src/www/services_unbound_overrides.php +++ b/src/www/services_unbound_overrides.php @@ -33,6 +33,7 @@ require_once("unbound.inc"); require_once("services.inc"); require_once("system.inc"); require_once("pfsense-utils.inc"); +require_once("util.inc"); require_once("interfaces.inc"); if (empty($config['unbound']) || !is_array($config['unbound'])) { diff --git a/src/www/status_dhcp_leases.php b/src/www/status_dhcp_leases.php index a65c9968c..3114edafc 100644 --- a/src/www/status_dhcp_leases.php +++ b/src/www/status_dhcp_leases.php @@ -33,6 +33,7 @@ require_once("config.inc"); require_once("services.inc"); require_once("pfsense-utils.inc"); require_once("interfaces.inc"); +require_once("util.inc"); function leasecmp($a, $b) { diff --git a/src/www/status_dhcpv6_leases.php b/src/www/status_dhcpv6_leases.php index 686aa383a..3d62fede9 100644 --- a/src/www/status_dhcpv6_leases.php +++ b/src/www/status_dhcpv6_leases.php @@ -31,6 +31,7 @@ require_once("guiconfig.inc"); require_once("pfsense-utils.inc"); +require_once("util.inc"); require_once("interfaces.inc"); require_once("services.inc"); diff --git a/src/www/system_advanced_admin.php b/src/www/system_advanced_admin.php index d66ad2389..4f0744e67 100644 --- a/src/www/system_advanced_admin.php +++ b/src/www/system_advanced_admin.php @@ -34,6 +34,7 @@ require_once("filter.inc"); require_once("system.inc"); require_once("unbound.inc"); require_once("pfsense-utils.inc"); +require_once("util.inc"); require_once("services.inc"); if ($_SERVER['REQUEST_METHOD'] === 'GET') { diff --git a/src/www/system_advanced_misc.php b/src/www/system_advanced_misc.php index 1dab319f5..2df6f87db 100644 --- a/src/www/system_advanced_misc.php +++ b/src/www/system_advanced_misc.php @@ -35,6 +35,7 @@ require_once("ipsec.inc"); require_once("vslb.inc"); require_once("system.inc"); require_once("pfsense-utils.inc"); +require_once("util.inc"); require_once("services.inc"); require_once("interfaces.inc"); diff --git a/src/www/system_general.php b/src/www/system_general.php index 0c14623b3..28d0d5c0e 100644 --- a/src/www/system_general.php +++ b/src/www/system_general.php @@ -32,6 +32,7 @@ require_once("filter.inc"); require_once("system.inc"); require_once("unbound.inc"); require_once("pfsense-utils.inc"); +require_once("util.inc"); require_once("interfaces.inc"); require_once("services.inc");