summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorErmal <eri@pfsense.org>2013-01-30 18:43:47 +0000
committerErmal <eri@pfsense.org>2013-01-30 18:43:47 +0000
commit9cd6b950231ce5cbbaa1a93a46ea7d28e9839cbc (patch)
tree78331e4e8ee858a15b3b9763fe2e4e625e80ae25
parente2a282a0b9f7ee1636e1c2ec15e767a2f5b43fb6 (diff)
downloadpfsense-9cd6b950231ce5cbbaa1a93a46ea7d28e9839cbc.zip
pfsense-9cd6b950231ce5cbbaa1a93a46ea7d28e9839cbc.tar.gz
Do more strict checks. Also silence some more log_error under debug. Also do some sanity checks on rc.newwanipv6 before doing any operation
-rw-r--r--etc/inc/interfaces.inc6
-rwxr-xr-xetc/rc.newwanipv632
-rwxr-xr-xusr/local/www/interfaces.php2
3 files changed, 21 insertions, 19 deletions
diff --git a/etc/inc/interfaces.inc b/etc/inc/interfaces.inc
index a666387..96525b0 100644
--- a/etc/inc/interfaces.inc
+++ b/etc/inc/interfaces.inc
@@ -2671,7 +2671,8 @@ function interface_configure($interface = "wan", $reloadall = false, $linkupeven
$realhwif = $realhwif_array[0];
/* Disable Accepting router advertisements unless specifically requested */
- log_error("Deny router advertisements for interface {$interface}");
+ if ($g['debug'])
+ log_error("Deny router advertisements for interface {$interface}");
mwexec("/sbin/ifconfig " . escapeshellarg($realif) . " inet6 -accept_rtadv");
if (!$g['booting'] && !(substr($realif, 0, 4) == "ovpn")) {
@@ -3088,7 +3089,8 @@ function interface_track6_dhcp6_configure($interface = "lan") {
$dhcp6lanarr[7] = 1;
$dhcp6lan = Net_IPv6::compress(implode(":", $dhcp6lanarr));
$lanif = get_real_interface($interface);
- log_error("dhcp6 {$interface} with ipv6 address {$dhcp6lan} based on {$lancfg['track6-interface']}");
+ if ($g['debug'])
+ log_error("dhcp6 {$interface} with ipv6 address {$dhcp6lan} based on {$lancfg['track6-interface']}");
mwexec("/sbin/ifconfig {$lanif} inet6 {$dhcp6lan} prefixlen 64");
}
diff --git a/etc/rc.newwanipv6 b/etc/rc.newwanipv6
index 853194e..c2266ae 100755
--- a/etc/rc.newwanipv6
+++ b/etc/rc.newwanipv6
@@ -64,6 +64,9 @@ $argument = str_replace("\n", "", $argv[1]);
log_error("rc.newwanipv6: Informational is starting {$argument}.");
+/* wait for the dhcp6c process to configure the LAN interface */
+sleep(5);
+
if(empty($argument)) {
$interface = "wan";
$interface_real = get_real_interface($interface);
@@ -72,10 +75,22 @@ if(empty($argument)) {
$interface_real = $argument;
$interface = convert_real_interface_to_friendly_interface_name($interface_real);
$curwanipv6 = find_interface_ipv6($interface_real, true);
- if($curwanipv6 == "")
+ if (empty($curwanipv6))
$curwanipv6 = get_interface_ipv6($interface);
}
+if (empty($interface)) {
+ filter_configure();
+ // restart_packages();
+ exit;
+}
+
+if(empty($curwanipv6) || !is_ipaddrv6($curwanipv6)) {
+ log_error("rc.newwanipv6: Failed to update {$interface} IPv6, restarting...");
+ // send_event("interface reconfigure {$interface}");
+ exit;
+}
+
$name_servers = explode(" ", $_ENV['new_domain_name_servers']);
$valid_ns = array();
foreach($name_servers as $ns) {
@@ -91,18 +106,6 @@ if(!empty($_ENV['new_domain_name']))
log_error("rc.newwanipv6: on (IP address: {$curwanipv6}) (interface: {$interface}) (real interface: {$interface_real}).");
-if($curwanipv6 == "" || !is_ipaddrv6($curwanipv6)) {
- log_error("rc.newwanipv6: Failed to update {$interface} IPv6, restarting...");
- // send_event("interface reconfigure {$interface}");
- exit;
-}
-
-if (empty($interface)) {
- filter_configure();
- // restart_packages();
- exit;
-}
-
$oldipv6 = "";
if (file_exists("{$g['vardb_path']}/{$interface}_cacheipv6"))
$oldipv6 = file_get_contents("{$g['vardb_path']}/{$interface}_cacheipv6");
@@ -158,9 +161,6 @@ services_dnsupdate_process($interface);
/* signal dyndns update */
services_dyndns_configure($interface);
-/* wait for the dhcp6c process to configure the LAN interface */
-sleep(5);
-
/* reconfigure IPsec tunnels */
vpn_ipsec_force_reload();
diff --git a/usr/local/www/interfaces.php b/usr/local/www/interfaces.php
index ee45bfb..5508c8b 100755
--- a/usr/local/www/interfaces.php
+++ b/usr/local/www/interfaces.php
@@ -213,7 +213,7 @@ switch($wancfg['ipaddrv6']) {
break;
case "dhcp6":
$pconfig['dhcp6-duid'] = $wancfg['dhcp6-duid'];
- if($wancfg['dhcp6-ia-pd-len'] == "")
+ if(empty($wancfg['dhcp6-ia-pd-len']))
$wancfg['dhcp6-ia-pd-len'] = "none";
$pconfig['dhcp6-ia-pd-len'] = $wancfg['dhcp6-ia-pd-len'];
$pconfig['type6'] = "dhcp6";
OpenPOWER on IntegriCloud