diff options
author | Ermal Luçi <eri@pfsense.org> | 2009-10-01 15:18:17 +0000 |
---|---|---|
committer | Ermal Luçi <eri@pfsense.org> | 2009-10-01 15:19:42 +0000 |
commit | abcb2bed927c18f29b12972f023b253c703132d1 (patch) | |
tree | e06b5f0da200a6694b2d3a5ba79907fb6de06b46 /usr/local/www | |
parent | 6b0c587976d5941bce0b7e569a519f7e7fcbc62a (diff) | |
download | pfsense-abcb2bed927c18f29b12972f023b253c703132d1.zip pfsense-abcb2bed927c18f29b12972f023b253c703132d1.tar.gz |
* Convert carp/vips code to behave the same as other interfaces.
* Make optimizations around it.
* Make sure when we reload teh underlying interface we reload carp too.
* Some fixes around the code.
Reviewed-by: scott@ and billm@
Diffstat (limited to 'usr/local/www')
-rwxr-xr-x | usr/local/www/firewall_virtual_ip.php | 34 | ||||
-rwxr-xr-x | usr/local/www/firewall_virtual_ip_edit.php | 25 | ||||
-rwxr-xr-x | usr/local/www/interfaces.php | 2 | ||||
-rwxr-xr-x | usr/local/www/services_proxyarp.php | 147 | ||||
-rwxr-xr-x | usr/local/www/services_proxyarp_edit.php | 283 | ||||
-rwxr-xr-x | usr/local/www/status_services.php | 7 | ||||
-rwxr-xr-x | usr/local/www/vpn_ipsec.php | 8 | ||||
-rw-r--r-- | usr/local/www/vpn_ipsec_phase1.php | 8 | ||||
-rw-r--r-- | usr/local/www/widgets/widgets/services_status.widget.php | 7 |
9 files changed, 40 insertions, 481 deletions
diff --git a/usr/local/www/firewall_virtual_ip.php b/usr/local/www/firewall_virtual_ip.php index e69ab4a..dd4dd2c 100755 --- a/usr/local/www/firewall_virtual_ip.php +++ b/usr/local/www/firewall_virtual_ip.php @@ -59,17 +59,29 @@ if ($_POST) { $pconfig = $_POST; if ($_POST['apply']) { + + if ($a_vip[$_POST['id']]) { + switch ($a_vip[$_POST['id']]['mode']) { + case "ipalias": + interface_ipalias_configure($a_vip[$_POST['id']]); + break; + case "proxyarp": + services_proxyarp_configure(); + break; + case "carp": + interface_carp_configure($a_vip[$_POST['id']]); + break; + case "carpdev-dhcp": + interface_carpdev_configure($a_vip[$_POST['id']]); + break; + default: + break; + } + } $retval = 0; - $retval = services_proxyarp_configure(); - /* Bring up any configured CARP interfaces */ - reset_carp(); $retval |= filter_configure(); - interfaces_ipalias_configure(); - /* reset carp states */ - reset_carp(); - interfaces_carp_configure(); - $savemsg = get_std_save_message($retval); + clear_subsystem_dirty('vip'); } } @@ -98,7 +110,8 @@ if ($_GET['act'] == "del") { exit; } } -} +} else if ($_GET['changes'] == "mods") + $id = $_GET['id']; $pgtitle = array("Firewall","Virtual IP Addresses"); include("head.inc"); @@ -129,6 +142,9 @@ include("head.inc"); ?> </td></tr> <tr> + <td><input type="hidden" id="id" name="id" value="<? echo $id; ?>"></td> + </tr> + <tr> <td> <div id="mainarea"> <table class="tabcont" width="100%" border="0" cellpadding="0" cellspacing="0"> diff --git a/usr/local/www/firewall_virtual_ip_edit.php b/usr/local/www/firewall_virtual_ip_edit.php index f04f297..efe82fb 100755 --- a/usr/local/www/firewall_virtual_ip_edit.php +++ b/usr/local/www/firewall_virtual_ip_edit.php @@ -119,7 +119,7 @@ if ($_POST) { } } } - + /* make sure new ip is within the subnet of a valid ip * on one of our interfaces (wan, lan optX) */ @@ -135,22 +135,13 @@ if ($_POST) { } if($_POST['password'] == "") $input_errors[] = "You must specify a CARP password that is shared between the two VHID members."; - $can_post = true; - $found = false; - $subnet_ip = return_first_two_octets($_POST['subnet']); - $iflist = get_configured_interface_list_by_realif(false, true); - foreach($iflist as $realif => $if) { - $ww_subnet_ip = get_interface_ip($if); - $ww_subnet_bits = get_interface_subnet($if); - if (ip_in_subnet($_POST['subnet'], gen_subnet($ww_subnet_ip, $ww_subnet_bits) . "/" . $ww_subnet_bits)) - $found = true; - } - if($found == false) { + + $parent_ip = get_interface_ip($_POST['interface']); + $parent_sn = get_interface_subnet($_POST['interface']); + if (!ip_in_subnet($_POST['subnet'], gen_subnet($parent_ip, $parent_sn) . "/" . $parent_sn)) { $cannot_find = $_POST['subnet'] . "/" . $_POST['subnet_bits'] ; - $can_post = false; - } - if($can_post == false) $input_errors[] = "Sorry, we could not locate an interface with a matching subnet for {$cannot_find}. Please add an IP alias in this subnet on this interface."; + } } if (!$input_errors) { @@ -198,7 +189,7 @@ if ($_POST) { if (isset($id) && $a_vip[$id]) { if ($_POST['mode'] == "ipalias") - mwexec("/sbin/ifconfig " . get_real_interface($a_vip[$id]['interface']) . " delete {$a_vip[$id]['subnet']}"); + interface_vip_bring_down($a_vip[$id]); /* modify all virtual IP rules with this address */ for ($i = 0; isset($config['nat']['rule'][$i]); $i++) { if ($config['nat']['rule'][$i]['external-address'] == $a_vip[$id]['subnet']) @@ -212,7 +203,7 @@ if ($_POST) { write_config(); - header("Location: firewall_virtual_ip.php"); + header("Location: firewall_virtual_ip.php?changes=mods&id={$id}"); exit; } } diff --git a/usr/local/www/interfaces.php b/usr/local/www/interfaces.php index 9e5cef0..930e775 100755 --- a/usr/local/www/interfaces.php +++ b/usr/local/www/interfaces.php @@ -239,7 +239,7 @@ if ($_POST['apply']) { unlink_if_exists("{$g['tmp_path']}/config.cache"); clear_subsystem_dirty('interfaces'); interface_configure($if); - reset_carp(); + /* restart snmp so that it binds to correct address */ services_snmpd_configure(); if ($if == "lan") diff --git a/usr/local/www/services_proxyarp.php b/usr/local/www/services_proxyarp.php deleted file mode 100755 index 600aa4d..0000000 --- a/usr/local/www/services_proxyarp.php +++ /dev/null @@ -1,147 +0,0 @@ -<?php -/* $Id$ */ -/* - services_proxyarp.php - part of pfSense - Copyright (C) 2004 Scott Ullrich - - originally part of m0n0wall (http://m0n0.ch/wall) - Copyright (C) 2003-2004 Manuel Kasper <mk@neon1.net>. - All rights reserved. - - 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. -*/ -/* - pfSense_MODULE: proxyarp -*/ - -##|+PRIV -##|*IDENT=page-services-proxyarp -##|*NAME=Services: Proxy ARP page -##|*DESCR=Allow access to the 'Services: Proxy ARP' page. -##|*MATCH=services_proxyarp.php* -##|-PRIV - -require("guiconfig.inc"); - -if (!is_array($config['proxyarp']['proxyarpnet'])) { - $config['proxyarp']['proxyarpnet'] = array(); -} -$a_proxyarp = &$config['proxyarp']['proxyarpnet']; - -if ($_POST) { - $pconfig = $_POST; - - $retval = 0; - $retval = services_proxyarp_configure(); - $savemsg = get_std_save_message($retval); - - if ($retval == 0) - clear_subsystem_dirty('proxyarp'); -} - -if ($_GET['act'] == "del") { - if ($a_proxyarp[$_GET['id']]) { - unset($a_proxyarp[$_GET['id']]); - write_config(); - mark_subsystem_dirty('proxyarp'); - header("Location: services_proxyarp.php"); - exit; - } -} - -$pgtitle = array("Services","Proxy ARP"); -include("head.inc"); - -?> - -<body link="#0000CC" vlink="#0000CC" alink="#0000CC"> -<?php include("fbegin.inc"); ?> -<form action="services_proxyarp.php" method="post"> -<?php if ($savemsg) print_info_box($savemsg); ?> -<?php if (is_subsystem_dirty('proxyarp')): ?><p> -<?php print_info_box_np("The proxy ARP configuration has been changed.<br>You must apply the changes in order for them to take effect.");?><br> -<?php endif; ?> - <table width="100%" border="0" cellpadding="0" cellspacing="0"> - <tr> - <td width="20%" class="listhdrr">Interface</td> - <td width="30%" class="listhdrr">Network</td> - <td width="40%" class="listhdr">Description</td> - <td width="10%" class="list"></td> - </tr> - <?php $i = 0; foreach ($a_proxyarp as $arpent): ?> - <tr> - <td class="listlr" ondblclick="document.location='services_proxyarp_edit.php?id=<?=$i;?>';"> - <?php - if ($arpent['interface']) { - $iflabels = get_configured_interface_with_descr(); - - echo htmlspecialchars($iflabels[$arpent['interface']]); - } else { - echo "WAN"; - } - ?> - </td> - <td class="listr" ondblclick="document.location='services_proxyarp_edit.php?id=<?=$i;?>';"> - <?php if (isset($arpent['network'])) { - list($sa,$sn) = explode("/", $arpent['network']); - if ($sn == 32) - echo $sa; - else - echo $arpent['network']; - } else if (isset($arpent['range'])) - echo $arpent['range']['from'] . "-" . $arpent['range']['to']; - ?> - </td> - <td class="listbg" ondblclick="document.location='services_proxyarp_edit.php?id=<?=$i;?>';"> - <?=htmlspecialchars($arpent['descr']);?> - </td> - <td valign="middle" nowrap class="list"> - <table border="0" cellspacing="0" cellpadding="1"> - <tr> - <td valign="middle"><a href="services_proxyarp_edit.php?id=<?=$i;?>"><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_e.gif" width="17" height="17" border="0"></a></td> - <td valign="middle"><a href="services_proxyarp.php?act=del&id=<?=$i;?>" onclick="return confirm('Do you really want to delete this network?')"><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_x.gif" width="17" height="17" border="0"></a></td> - </tr> - </table> - </td> - </tr> - <?php $i++; endforeach; ?> - <tr> - <td class="list" colspan="3"></td> - <td class="list"> - <table border="0" cellspacing="0" cellpadding="1"> - <tr> - <td valign="middle"><a href="services_proxyarp_edit.php"><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_plus.gif" width="17" height="17" border="0"></a></td> - </tr> - </table> - </td> - </tr> - </table> - </form> - <p class="vexpl"><span class="red"><strong>Notes:<br> - </strong></span> - *Proxy ARP can be used if you need {$g['product_name']} to send ARP replies on an interface for other IP addresses than its own (e.g. for 1:1, advanced outbound or server NAT). It is not necessary on the WAN interface if you have a subnet routed to you or if you use PPPoE/PPTP, and it only works on the WAN interface if it's configured with a static IP address or DHCP.</p> - <br> - *CARP can be a great replacement for proxyarp. - <?php include("fend.inc"); ?> -</body> -</html> diff --git a/usr/local/www/services_proxyarp_edit.php b/usr/local/www/services_proxyarp_edit.php deleted file mode 100755 index 55bc239..0000000 --- a/usr/local/www/services_proxyarp_edit.php +++ /dev/null @@ -1,283 +0,0 @@ -<?php -/* $Id$ */ -/* - services_proxyarp_edit.php - part of m0n0wall (http://m0n0.ch/wall) - - Copyright (C) 2003-2004 Manuel Kasper <mk@neon1.net>. - All rights reserved. - - 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. -*/ -/* - pfSense_MODULE: proxyarp -*/ - -##|+PRIV -##|*IDENT=page-services-proxyarp-edit -##|*NAME=Services: Proxy ARP: Edit page -##|*DESCR=Allow access to the 'Services: Proxy ARP: Edit' page. -##|*MATCH=services_proxyarp_edit.php* -##|-PRIV - -function proxyarpcmp($a, $b) { - if (isset($a['network'])) - list($ast,$asn) = explode("/", $a['network']); - else if (isset($a['range'])) { - $ast = $a['range']['from']; - $asn = 32; - } - if (isset($b['network'])) - list($bst,$bsn) = explode("/", $b['network']); - else if (isset($b['range'])) { - $bst = $b['range']['from']; - $bsn = 32; - } - if (ipcmp($ast, $bst) == 0) - return ($asn - $bsn); - else - return ipcmp($ast, $bst); -} - -function proxyarp_sort() { - global $config; - - usort($config['proxyarp']['proxyarpnet'], "proxyarpcmp"); -} - -require("guiconfig.inc"); - -if (!is_array($config['proxyarp']['proxyarpnet'])) { - $config['proxyarp']['proxyarpnet'] = array(); -} -proxyarp_sort(); -$a_proxyarp = &$config['proxyarp']['proxyarpnet']; - -$id = $_GET['id']; -if (isset($_POST['id'])) - $id = $_POST['id']; - -if (isset($id) && $a_proxyarp[$id]) { - if ($a_proxyarp[$id]['interface']) - $pconfig['interface'] = $a_proxyarp[$id]['interface']; - else - $pconfig['interface'] = "wan"; - if (isset($a_proxyarp[$id]['network'])) - list($pconfig['subnet'], $pconfig['subnet_bits']) = explode("/", $a_proxyarp[$id]['network']); - else if (isset($a_proxyarp[$id]['range'])) { - $pconfig['range_from'] = $a_proxyarp[$id]['range']['from']; - $pconfig['range_to'] = $a_proxyarp[$id]['range']['to']; - } - $pconfig['descr'] = $a_proxyarp[$id]['descr']; -} else { - $pconfig['interface'] = "wan"; - $pconfig['subnet_bits'] = 32; -} - -if ($_POST) { - - unset($input_errors); - $pconfig = $_POST; - - /* input validation */ - if ($_POST['type'] == "single") { - $reqdfields = explode(" ", "subnet"); - $reqdfieldsn = explode(",", "Address"); - $_POST['subnet_bits'] = 32; - } else if ($_POST['type'] == "network") { - $reqdfields = explode(" ", "subnet subnet_bits"); - $reqdfieldsn = explode(",", "Network,Network mask"); - } else if ($_POST['type'] == "range") { - $reqdfields = explode(" ", "range_from range_to"); - $reqdfieldsn = explode(",", "Range start,Range end"); - } - - do_input_validation($_POST, $reqdfields, $reqdfieldsn, &$input_errors); - - if ((($_POST['type'] != "range") && $_POST['subnet'] && !is_ipaddr($_POST['subnet']))) { - $input_errors[] = "A valid address must be specified."; - } - if ((($_POST['type'] == "range") && $_POST['range_from'] && !is_ipaddr($_POST['range_from']))) { - $input_errors[] = "A valid range start must be specified."; - } - if ((($_POST['type'] == "range") && $_POST['range_to'] && !is_ipaddr($_POST['range_to']))) { - $input_errors[] = "A valid range end must be specified."; - } - - /* check for overlaps */ - foreach ($a_proxyarp as $arpent) { - if (isset($id) && ($a_proxyarp[$id]) && ($a_proxyarp[$id] === $arpent)) - continue; - - if (($_POST['type'] == "range") && isset($arpent['range'])) { - if (($_POST['range_from'] == $arpent['range']['from']) && - ($_POST['range_to'] == $arpent['range']['to'])) { - $input_errors[] = "This range already exists."; - break; - } - } else if (isset($arpent['network'])) { - if (($arpent['network'] == "{$_POST['subnet']}/{$_POST['subnet_bits']}")) { - $input_errors[] = "This network already exists."; - break; - } - } - } - - if (!$input_errors) { - $arpent = array(); - $arpent['interface'] = $_POST['interface']; - if ($_POST['type'] == "range") { - $arpent['range']['from'] = $_POST['range_from']; - $arpent['range']['to'] = $_POST['range_to']; - } else - $arpent['network'] = $_POST['subnet'] . "/" . $_POST['subnet_bits']; - $arpent['descr'] = $_POST['descr']; - - proxyarp_sort(); - if (isset($id) && $a_proxyarp[$id]) - $a_proxyarp[$id] = $arpent; - else - $a_proxyarp[] = $arpent; - - mark_subsystem_dirty('proxyarp'); - - write_config(); - - header("Location: services_proxyarp.php"); - exit; - } -} - -$pgtitle = array("Services","Proxy ARP","Edit"); -include("head.inc"); - -?> - -<script language="JavaScript"> -<!-- -function typesel_change() { - switch (document.iform.type.selectedIndex) { - case 0: // single - document.iform.subnet.disabled = 0; - document.iform.subnet_bits.disabled = 1; - document.iform.range_from.disabled = 1; - document.iform.range_to.disabled = 1; - break; - case 1: // network - document.iform.subnet.disabled = 0; - document.iform.subnet_bits.disabled = 0; - document.iform.range_from.disabled = 1; - document.iform.range_to.disabled = 1; - break; - case 2: // range - document.iform.subnet.disabled = 1; - document.iform.subnet_bits.disabled = 1; - document.iform.range_from.disabled = 0; - document.iform.range_to.disabled = 0; - break; - } -} -//--> -</script> - -<body link="#0000CC" vlink="#0000CC" alink="#0000CC"> -<?php include("fbegin.inc"); ?> -<?php if ($input_errors) print_input_errors($input_errors); ?> - <form action="services_proxyarp_edit.php" method="post" name="iform" id="iform"> - <table width="100%" border="0" cellpadding="6" cellspacing="0"> - <tr> - <td width="22%" valign="top" class="vncellreq">Interface</td> - <td width="78%" class="vtable"> - <select name="interface" class="formselect"> - <?php - $interfaces = get_configured_interface_with_descr(); - foreach ($interfaces as $iface => $ifacename): ?> - <option value="<?=$iface;?>" <?php if ($iface == $pconfig['interface']) echo "selected"; ?>> - <?=htmlspecialchars($ifacename);?> - </option> - <?php endforeach; ?> - </select> </td> - </tr> - <tr> - <td valign="top" class="vncellreq">Network</td> - <td class="vtable"> - <table border="0" cellspacing="0" cellpadding="0"> - <tr> - <td>Type: </td> - <td><select name="type" class="formselect" onChange="typesel_change()"> - <option value="single" <?php if (!$pconfig['range_from'] && $pconfig['subnet_bits'] == 32) echo "selected"; ?>> - Single address</option> - <option value="network" <?php if (!$pconfig['range_from'] && $pconfig['subnet_bits'] != 32) echo "selected"; ?>> - Network</option> - <option value="range" <?php if ($pconfig['range_from']) echo "selected"; ?>> - Range</option> - </select></td> - </tr> - <tr> - <td>Address: </td> - <td><input name="subnet" type="text" class="formfld unknown" id="subnet" size="20" value="<?=htmlspecialchars($pconfig['subnet']);?>"> - / - <select name="subnet_bits" class="formselect" id="select"> - <?php for ($i = 31; $i >= 0; $i--): ?> - <option value="<?=$i;?>" <?php if ($i == $pconfig['subnet_bits']) echo "selected"; ?>> - <?=$i;?> - </option> - <?php endfor; ?> - </select> - </td> - </tr> - <tr> - <td>Range: </td> - <td><input name="range_from" type="text" class="formfld unknown" id="range_from" size="20" value="<?=htmlspecialchars($pconfig['range_from']);?>"> -- - <input name="range_to" type="text" class="formfld unknown" id="range_to" size="20" value="<?=htmlspecialchars($pconfig['range_to']);?>"> - </td> - </tr> - </table> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Description</td> - <td width="78%" class="vtable"> - <input name="descr" type="text" class="formfld unknown" id="descr" size="40" value="<?=htmlspecialchars($pconfig['descr']);?>"> - <br> <span class="vexpl">You may enter a description here - for your reference (not parsed).</span></td> - </tr> - <tr> - <td width="22%" valign="top"> </td> - <td width="78%"> - <input name="Submit" type="submit" class="formbtn" value="Save"> <input class="formbtn" type="button" value="Cancel" onclick="history.back()"> - <?php if (isset($id) && $a_proxyarp[$id]): ?> - <input name="id" type="hidden" value="<?=$id;?>"> - <?php endif; ?> - </td> - </tr> - </table> -</form> -<script language="JavaScript"> -<!-- -typesel_change(); -//--> -</script> -<?php include("fend.inc"); ?> -</body> -</html> diff --git a/usr/local/www/status_services.php b/usr/local/www/status_services.php index 108a191..77b5994 100755 --- a/usr/local/www/status_services.php +++ b/usr/local/www/status_services.php @@ -292,13 +292,6 @@ if(isset($config['snmpd']['enable'])) { unset($pconfig); } -if(isset($config['proxyarp']['proxyarpnet'])) { - $pconfig['name'] = "choparp"; - $pconfig['description'] = "Proxy ARP"; - $services[] = $pconfig; - unset($pconfig); -} - if (count($config['igmpproxy']['igmpentry']) > 0) { $pconfig['name'] = "igmpproxy"; $pconfig['descritption'] = "IGMP proxy"; diff --git a/usr/local/www/vpn_ipsec.php b/usr/local/www/vpn_ipsec.php index 8e7ab85..9eb6ac1 100755 --- a/usr/local/www/vpn_ipsec.php +++ b/usr/local/www/vpn_ipsec.php @@ -182,11 +182,9 @@ include("head.inc"); <?php if ($ph1ent['interface']) { $iflabels = get_configured_interface_with_descr(); - $carpips = find_number_of_needed_carp_interfaces(); - for( $j=0; $j<$carpips; $j++ ) { - $carpip = find_interface_ip("carp" . $j); - $iflabels['carp' . $j] = "CARP{$j} ({$carpip})"; - } + $carplist = get_configured_carp_interface_list(); + foreach ($carplist as $cif => $carpip) + $iflabels[$cif] = strtoupper($cif) . " ({$carpip})"; $if = htmlspecialchars($iflabels[$ph1ent['interface']]); } else diff --git a/usr/local/www/vpn_ipsec_phase1.php b/usr/local/www/vpn_ipsec_phase1.php index b1f7a1a..e45948f 100644 --- a/usr/local/www/vpn_ipsec_phase1.php +++ b/usr/local/www/vpn_ipsec_phase1.php @@ -471,11 +471,9 @@ function dpdchkbox_change() { <select name="interface" class="formselect"> <?php $interfaces = get_configured_interface_with_descr(); - $carpips = find_number_of_needed_carp_interfaces(); - for ($i=0; $i<$carpips; $i++) { - $carpip = find_interface_ip("carp" . $i); - $interfaces['carp' . $i] = "CARP{$i} ({$carpip})"; - } + $carplist = get_configured_carp_interface_list(); + foreach ($carplist as $cif => $carpip) + $interfaces[$cif] = strtoupper($cif) . " ({$carpip})"; foreach ($interfaces as $iface => $ifacename): ?> <option value="<?=$iface;?>" <?php if ($iface == $pconfig['interface']) echo "selected"; ?>> diff --git a/usr/local/www/widgets/widgets/services_status.widget.php b/usr/local/www/widgets/widgets/services_status.widget.php index 714d912..ed47fb7 100644 --- a/usr/local/www/widgets/widgets/services_status.widget.php +++ b/usr/local/www/widgets/widgets/services_status.widget.php @@ -102,13 +102,6 @@ if(isset($config['snmpd']['enable'])) { unset($pconfig2); } -if(isset($config['proxyarp']['proxyarpnet'])) { - $pconfig2['name'] = "choparp"; - $pconfig2['description'] = "Proxy Arp"; - $services[] = $pconfig2; - unset($pconfig2); -} - if($config['installedpackages']['miniupnpd']['config'][0]['enable']) { $pconfig2['name'] = "miniupnpd"; $pconfig2['description'] = gettext("UPnP Service"); |