summaryrefslogtreecommitdiffstats
path: root/usr
diff options
context:
space:
mode:
Diffstat (limited to 'usr')
-rw-r--r--usr/local/pkg/openntpd.inc12
-rw-r--r--usr/local/www/carp_status.php6
-rw-r--r--usr/local/www/interfaces_gif_edit.php8
-rw-r--r--usr/local/www/interfaces_gre_edit.php8
-rw-r--r--usr/local/www/services_dnsmasq.php15
-rw-r--r--usr/local/www/services_snmp.php10
-rw-r--r--usr/local/www/services_unbound.php29
-rw-r--r--usr/local/www/system_gateway_groups_edit.php4
-rw-r--r--usr/local/www/widgets/widgets/carp_status.widget.php2
-rwxr-xr-xusr/local/www/xmlrpc.php4
10 files changed, 36 insertions, 62 deletions
diff --git a/usr/local/pkg/openntpd.inc b/usr/local/pkg/openntpd.inc
index dcbb50a..8907493 100644
--- a/usr/local/pkg/openntpd.inc
+++ b/usr/local/pkg/openntpd.inc
@@ -19,14 +19,6 @@ EOD;
write_rcfile($rcfile);
}
-function openntpd_get_iface_ip($iface) {
- $iface = convert_friendly_interface_to_real_interface_name($iface);
- $line = trim(shell_exec("ifconfig " . escapeshellarg($iface) . " | grep inet | grep -v inet6"));
- list($dummy, $ip, $dummy2, $dummy3) = explode(' ', $line);
-
- return $ip;
-}
-
function openntpd_resync() {
global $g, $config;
@@ -37,7 +29,7 @@ function openntpd_resync() {
$conf = '';
$ifaces = explode(',', $settings['interface']);
- $ips = array_map('openntpd_get_iface_ip', $ifaces);
+ $ips = array_map('get_interface_ip', $ifaces);
foreach ($ips as $ip)
$conf .= "listen on $ip\n";
@@ -45,7 +37,7 @@ function openntpd_resync() {
foreach ($servers as $server)
$conf .= "servers $server\n";
- file_put_contents($config_file, $conf);
+ @file_put_contents($config_file, $conf);
}
else {
if (file_exists($config_file))
diff --git a/usr/local/www/carp_status.php b/usr/local/www/carp_status.php
index cbccbc6..db55c3b 100644
--- a/usr/local/www/carp_status.php
+++ b/usr/local/www/carp_status.php
@@ -162,12 +162,8 @@ include("head.inc");
if ($carp['mode'] != "carp")
continue;
$ipaddress = $carp['subnet'];
- $password = $carp['password'];
- $netmask = $carp['subnet_bits'];
$vhid = $carp['vhid'];
- $advskew = $carp['advskew'];
- $advbase = $carp['advbase'];
- $status = get_carp_interface_status("{$carp['interface']}_vip{$carp['vhid']}");
+ $status = get_carp_interface_status("_vhid{$carp['uniqid']}");
echo "<tr>";
$align = "style=\"vertical-align:middle\"";
if($carp_enabled == false) {
diff --git a/usr/local/www/interfaces_gif_edit.php b/usr/local/www/interfaces_gif_edit.php
index a290e97..294c1ca 100644
--- a/usr/local/www/interfaces_gif_edit.php
+++ b/usr/local/www/interfaces_gif_edit.php
@@ -153,13 +153,7 @@ include("head.inc");
<td width="78%" class="vtable">
<select name="if" class="formselect">
<?php
- $portlist = get_configured_interface_with_descr();
- $carplist = get_configured_carp_interface_list();
- foreach ($carplist as $cif => $carpip)
- $portlist[$cif] = $carpip." (".get_vip_descr($carpip).")";
- $aliaslist = get_configured_ip_aliases_list();
- foreach ($aliaslist as $aliasip => $aliasif)
- $portlist[$aliasif.'|'.$aliasip] = $aliasip." (".get_vip_descr($aliasip).")";
+ $portlist = get_possible_listen_ips();
foreach ($portlist as $ifn => $ifinfo) {
echo "<option value=\"{$ifn}\"";
if ($ifn == $pconfig['if'])
diff --git a/usr/local/www/interfaces_gre_edit.php b/usr/local/www/interfaces_gre_edit.php
index b360f17..6a7eeb1 100644
--- a/usr/local/www/interfaces_gre_edit.php
+++ b/usr/local/www/interfaces_gre_edit.php
@@ -147,13 +147,7 @@ include("head.inc");
<td width="78%" class="vtable">
<select name="if" class="formselect">
<?php
- $portlist = get_configured_interface_with_descr();
- $carplist = get_configured_carp_interface_list();
- foreach ($carplist as $cif => $carpip)
- $portlist[$cif] = $carpip." (".get_vip_descr($carpip).")";
- $aliaslist = get_configured_ip_aliases_list();
- foreach ($aliaslist as $aliasip => $aliasif)
- $portlist[$aliasif.'|'.$aliasip] = $aliasip." (".get_vip_descr($aliasip).")";
+ $portlist = get_possible_listen_ips();
foreach ($portlist as $ifn => $ifinfo) {
echo "<option value=\"{$ifn}\"";
if ($ifn == $pconfig['if'])
diff --git a/usr/local/www/services_dnsmasq.php b/usr/local/www/services_dnsmasq.php
index 0361932..273f81d 100644
--- a/usr/local/www/services_dnsmasq.php
+++ b/usr/local/www/services_dnsmasq.php
@@ -270,21 +270,22 @@ function show_advanced_dns() {
<td width="78%" class="vtable">
<?php
$interface_addresses = get_possible_listen_ips(true);
- $size=count($interface_addresses)+1;
?>
<?=gettext("Interface IPs used by the DNS Forwarder for responding to queries from clients. If an interface has both IPv4 and IPv6 IPs, both are used. Queries to other interface IPs not selected below are discarded. The default behavior is to respond to queries on every available IPv4 and IPv6 address.");?>
<br /><br />
- <select id="interface" name="interface[]" multiple="multiple" class="formselect" size="<?php echo $size; ?>">
+ <select id="interface" name="interface[]" multiple="multiple" class="formselect" size="5">
<option value="" <?php if (empty($pconfig['interface']) || empty($pconfig['interface'][0])) echo 'selected="selected"'; ?>>All</option>
- <?php foreach ($interface_addresses as $laddr):
+ <?php foreach ($interface_addresses as $laddr => $ldescr):
$selected = "";
- if (in_array($laddr['value'], $pconfig['interface']))
+ if (in_array($laddr, $pconfig['interface']))
$selected = 'selected="selected"';
?>
- <option value="<?=$laddr['value'];?>" <?=$selected;?>>
- <?=htmlspecialchars($laddr['name']);?>
+ <option value="<?=$laddr;?>" <?=$selected;?>>
+ <?=htmlspecialchars($ldescr);?>
</option>
- <?php endforeach; ?>
+ <?php endforeach;
+ unset($interface_addresses);
+ ?>
</select>
<br /><br />
</td>
diff --git a/usr/local/www/services_snmp.php b/usr/local/www/services_snmp.php
index 3aef6a0..cfdd958 100644
--- a/usr/local/www/services_snmp.php
+++ b/usr/local/www/services_snmp.php
@@ -420,15 +420,17 @@ function enable_change(whichone) {
<select name="bindip" class="formselect">
<option value="">All</option>
<?php $listenips = get_possible_listen_ips();
- foreach ($listenips as $lip):
+ foreach ($listenips as $lip => $ldescr):
$selected = "";
- if ($lip['value'] == $pconfig['bindip'])
+ if ($lip == $pconfig['bindip'])
$selected = "selected=\"selected\"";
?>
- <option value="<?=$lip['value'];?>" <?=$selected;?>>
+ <option value="<?=$ldescr;?>" <?=$selected;?>>
<?=htmlspecialchars($lip['name']);?>
</option>
- <?php endforeach; ?>
+ <?php endforeach;
+ unset($listenips);
+ ?>
</select>
</td>
</tr>
diff --git a/usr/local/www/services_unbound.php b/usr/local/www/services_unbound.php
index 2b943dd..4e307b3 100644
--- a/usr/local/www/services_unbound.php
+++ b/usr/local/www/services_unbound.php
@@ -272,22 +272,21 @@ function show_advanced_dns() {
<tr>
<td width="22%" valign="top" class="vncellreq"><?=gettext("Network Interfaces"); ?></td>
<td width="78%" class="vtable">
- <?php
- $interface_addresses = get_possible_listen_ips(false);
- $size=count($interface_addresses)+1;
- ?>
+ <?php
+ $interface_addresses = get_possible_listen_ips(true);
+ ?>
<?=gettext("Interface IPs used by the DNS Resolver for responding to queries from clients. If an interface has both IPv4 and IPv6 IPs, both are used. Queries to other interface IPs not selected below are discarded. The default behavior is to respond to queries on every available IPv4 and IPv6 address.");?>
<br /><br />
<select id="active_interface" name="active_interface[]" multiple="multiple" size="<?php echo $size; ?>">
<option value="all" <?php if (empty($pconfig['active_interface']) || empty($pconfig['active_interface'][0]) || in_array("all", $pconfig['active_interface'], true)) echo 'selected="selected"'; ?>>All</option>
<?php
- foreach ($interface_addresses as $laddr):
+ foreach ($interface_addresses as $laddr => ldescr):
$selected = "";
- if (in_array($laddr['value'], $pconfig['active_interface']))
+ if (in_array($laddr, $pconfig['active_interface']))
$selected = 'selected="selected"';
?>
- <option value="<?=$laddr['value'];?>" <?=$selected;?>>
- <?=htmlspecialchars($laddr['name']);?>
+ <option value="<?=$laddr;?>" <?=$selected;?>>
+ <?=htmlspecialchars($ldescr);?>
</option>
<?php endforeach; ?>
</select>
@@ -297,10 +296,6 @@ function show_advanced_dns() {
<tr>
<td width="22%" valign="top" class="vncellreq"><?=gettext("Outgoing Network Interfaces"); ?></td>
<td width="78%" class="vtable">
- <?php
- $interface_addresses = get_possible_listen_ips(false);
- $size=count($interface_addresses)+1;
- ?>
<?=gettext("Utilize different network interface(s) that the DNS Resolver will use to send queries to authoritative servers and receive their replies. By default all interfaces are used.");?>
<br /><br />
<select id="outgoing_interface" name="outgoing_interface[]" multiple="multiple" size="<?php echo $size; ?>">
@@ -308,13 +303,15 @@ function show_advanced_dns() {
<?php
foreach ($interface_addresses as $laddr):
$selected = "";
- if (in_array($laddr['value'], $pconfig['outgoing_interface']))
+ if (in_array($laddr, $pconfig['outgoing_interface']))
$selected = 'selected="selected"';
?>
- <option value="<?=$laddr['value'];?>" <?=$selected;?>>
- <?=htmlspecialchars($laddr['name']);?>
+ <option value="<?=$laddr;?>" <?=$selected;?>>
+ <?=htmlspecialchars($ldescr);?>
</option>
- <?php endforeach; ?>
+ <?php endforeach;
+ unset($interface_addresses);
+ ?>
</select>
<br /><br />
</td>
diff --git a/usr/local/www/system_gateway_groups_edit.php b/usr/local/www/system_gateway_groups_edit.php
index 11b4dd5..01dede2 100644
--- a/usr/local/www/system_gateway_groups_edit.php
+++ b/usr/local/www/system_gateway_groups_edit.php
@@ -51,7 +51,6 @@ if (!is_array($config['gateways']['gateway_group']))
$a_gateway_groups = &$config['gateways']['gateway_group'];
$a_gateways = return_gateways_array();
-$carplist = get_configured_carp_interface_list();
$categories = array('down' => gettext("Member Down"),
'downloss' => gettext("Packet Loss"),
@@ -248,6 +247,7 @@ jQuery(function ($) {
<td class="listhdrr">Description</td>
</tr>
<?php
+ $carplist = get_configured_carp_interface_list($interface);
foreach($a_gateways as $gwname => $gateway) {
if(!empty($pconfig['item'])) {
$af = explode("|", $pconfig['item'][0]);
@@ -296,8 +296,6 @@ jQuery(function ($) {
echo "<option value='address' {$selected['address']} >" . gettext("Interface Address") . "</option>\n";
foreach($carplist as $vip => $address) {
echo "<!-- $vip - $address - $interface -->\n";
- if(!preg_match("/^{$interface}_/i", $vip))
- continue;
if(($gateway['ipprotocol'] == "inet") && (!is_ipaddrv4($address)))
continue;
if(($gateway['ipprotocol'] == "inet6") && (!is_ipaddrv6($address)))
diff --git a/usr/local/www/widgets/widgets/carp_status.widget.php b/usr/local/www/widgets/widgets/carp_status.widget.php
index 159440d..8d2e5ed 100644
--- a/usr/local/www/widgets/widgets/carp_status.widget.php
+++ b/usr/local/www/widgets/widgets/carp_status.widget.php
@@ -52,7 +52,7 @@ $carp_enabled = get_carp_status();
$netmask = $carp['subnet_bits'];
$vhid = $carp['vhid'];
$advskew = $carp['advskew'];
- $status = get_carp_interface_status("{$carp['interface']}_vip{$vhid}");
+ $status = get_carp_interface_status("_vip{$carp['uniqid']}");
?>
<tr>
<td class="vncellt" width="35%">
diff --git a/usr/local/www/xmlrpc.php b/usr/local/www/xmlrpc.php
index 2f2d944..49fad44 100755
--- a/usr/local/www/xmlrpc.php
+++ b/usr/local/www/xmlrpc.php
@@ -213,9 +213,9 @@ function restore_config_section_xmlrpc($raw_params) {
foreach ($config['virtualip']['vip'] as $vipindex => $vip) {
if ($vip['mode'] == "carp")
$oldvips["{$vip['interface']}_vip{$vip['vhid']}"] = "{$vip['password']}{$vip['advskew']}{$vip['subnet']}{$vip['subnet_bits']}{$vip['advbase']}";
- else if ($vip['mode'] == "ipalias" && (strstr($vip['interface'], "_vip") || strstr($vip['interface'], "lo0")))
+ else if ($vip['mode'] == "ipalias" && (substr($vip['interface'], 0, 4) == '_vip') || strpos($vip['interface'], "lo0")))
$oldvips[$vip['subnet']] = "{$vip['interface']}{$vip['subnet']}{$vip['subnet_bits']}";
- else if (($vip['mode'] == "ipalias" || $vip['mode'] == 'proxyarp') && !(strstr($vip['interface'], "_vip") || strstr($vip['interface'], "lo0")))
+ else if (($vip['mode'] == "ipalias" || $vip['mode'] == 'proxyarp') && !(substr($vip['interface'], 0, 4) == '_vip') || strpos($vip['interface'], "lo0")))
$vipbackup[] = $vip;
}
}
OpenPOWER on IntegriCloud