Code cleanups and gui enhancements

This commit is contained in:
Jos Schellevis 2015-01-21 12:40:34 +00:00
parent d24b90a91c
commit 21aea24595
19 changed files with 925 additions and 1175 deletions

View File

@ -940,7 +940,7 @@ function display_top_tabs(& $tab_array, $no_drop_down = false) {
// then show a select item dropdown menubox.
if($tabcharcount > $tab_array_char_limit) {
echo "<h2>".gettext("Currently viewing: ")."</h2>";
echo "<select class=\"selectpicker\" name=\"TabSelect\" onchange=\"tabs_will_go(this)\" data-live-search=\"true\" data-style=\"btn-primary\">\n";
echo "<select class=\"selectpicker\" name=\"TabSelect\" onchange=\"tabs_will_go(this)\" data-live-search=\"true\" data-style=\"btn-default\">\n";
foreach ($tab_array as $ta) {
if($ta[1]=="true")
$selected = " selected=\"selected\"";

View File

@ -27,7 +27,7 @@ $pagetitle = gentitle( $pgtitle );
<link href="/themes/<?=$g['theme'];?>/build/css/main.css" media="screen, projection" rel="stylesheet">
<!-- Stylesheet for fancy select/dropdown -->
<link rel="stylesheet" type="text/css" href="/themes/<?=$g['theme'];?>/build/css/bootstrap-select.min.css">
<link rel="stylesheet" type="text/css" href="/themes/<?=$g['theme'];?>/build/css/bootstrap-select.css">
<!-- Favicon -->
<link href="/themes/<?=$g['theme'];?>/assets/images/favicon.png" rel="shortcut icon">
@ -80,6 +80,11 @@ $pagetitle = gentitle( $pgtitle );
(function ($) {
$("input").attr("autocomplete","off");
})(jQuery);
jQuery(function () {
jQuery('[data-toggle="tooltip"]').tooltip()
})
//]]>
</script>
<? endif; ?>

View File

@ -341,7 +341,7 @@ include("head.inc");
</td>
<td>
<?php if ($multiwan): ?>
<select name='<?=$fldname;?>'>
<select name='<?=$fldname;?>' class='selectpicker' data-style='btn-default'>
<?php
$gwname = "none";
$dnsgw = "dns{$dnscounter}gw";
@ -412,7 +412,7 @@ include("head.inc");
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Time zone"); ?></td>
<td width="78%" class="vtable">
<select name="timezone" id="timezone">
<select name="timezone" id="timezone" class="selectpicker" data-style="btn-default" data-live-search="true">
<?php foreach ($timezonelist as $value): ?>
<?php if(strstr($value, "GMT")) continue; ?>
<option value="<?=htmlspecialchars($value);?>" <?php if ($value == $pconfig['timezone']) echo "selected=\"selected\""; ?>>
@ -454,7 +454,7 @@ include("head.inc");
<tr>
<td width="22%" valign="top" class="vncell"><?php echo gettext("Language");?></td>
<td width="78%" class="vtable">
<select name="language">
<select name="language" class="selectpicker" data-style="btn-default" data-width="auto">
<?php
foreach(get_locale_list() as $lcode => $ldesc) {
$selected = ' selected="selected"';
@ -483,7 +483,7 @@ include("head.inc");
<tr>
<td width="22%" valign="top" class="vncell">&nbsp;</td>
<td width="78%" class="vtable">
<select name="theme">
<select name="theme" class="selectpicker" data-style="btn-default" data-width="auto">
<?php
$files = return_dir_as_array("/usr/local/www/themes/");
foreach($files as $f):

View File

@ -291,19 +291,15 @@ include("head.inc");
<div class="row">
<?php
if ($input_errors) print_input_errors($input_errors);
if ($savemsg) print_info_box($savemsg);
if ($input_errors) print_input_errors($input_errors);
if ($savemsg) print_info_box($savemsg);
?>
<section class="col-xs-12">
<? include('system_advanced_tabs.php'); ?>
<div class="content-box tab-content">
<form action="system_advanced_admin.php" method="post" name="iform" id="iform">
<div class="table-responsive">
<form action="system_advanced_admin.php" method="post" name="iform" id="iform">
<table width="100%" border="0" cellpadding="6" cellspacing="0" summary="main area" class="table table-striped">
<thead>
<tr>
@ -338,7 +334,7 @@ include("head.inc");
<tr id="ssl_opts">
<td width="22%" valign="top" class="vncell"><?=gettext("SSL Certificate"); ?></td>
<td width="78%" class="vtable">
<select name="ssl-certref" id="ssl-certref" class="formselect">
<select name="ssl-certref" id="ssl-certref" class="formselect selectpicker" data-style="btn-default">
<?php
foreach($a_cert as $cert):
$selected = "";
@ -485,16 +481,11 @@ include("head.inc");
"More information on BEAST is available from <a target='_blank' href='https://en.wikipedia.org/wiki/Transport_Layer_Security#BEAST_attack'>Wikipedia</a>."); ?>
</td>
</tr>
</tbody>
</table>
<table width="100%" border="0" cellpadding="6" cellspacing="0" summary="main area" class="table table-striped">
<thead>
<tr>
<th colspan="2" valign="top" class="listtopic"><?=gettext("Secure Shell"); ?></th>
</tr>
</thead>
<tbody>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Secure Shell Server"); ?></td>
<td width="78%" class="vtable">
@ -526,25 +517,18 @@ include("head.inc");
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("SSH port"); ?></td>
<td width="78%" class="vtable">
<input name="sshport" type="text" id="sshport" value="<?php echo $pconfig['sshport']; ?>" />
<br />
<span class="vexpl"><?=gettext("Note: Leave this blank for the default of 22."); ?></span>
<input name="sshport" type="text" class="form-control" id="sshport" value="<?php echo $pconfig['sshport']; ?>"/>
<?=gettext("Leave this blank for the default of 22."); ?>
</td>
</tr>
<tr>
<td colspan="2" class="list" height="12">&nbsp;</td>
</tr>
</tbody>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="table table-striped">
<thead>
<tr>
<th colspan="2" valign="top" class="listtopic"><?=gettext("Serial Communications"); ?></th>
</tr>
</thead>
<tbody>
<?php if (!$g['enableserial_force'] && ($g['platform'] == "pfSense" || $g['platform'] == "cdrom" || file_exists("/etc/nano_use_vga.txt"))): ?>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Serial Terminal"); ?></td>
@ -558,7 +542,7 @@ include("head.inc");
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Serial Speed")?></td>
<td width="78%" class="vtable">
<select name="serialspeed" id="serialspeed" class="formselect">
<select name="serialspeed" id="serialspeed" class="formselect selectpicker">
<option value="115200" <?php if ($pconfig['serialspeed'] == "115200") echo "selected=\"selected\"";?>>115200</option>
<option value="57600" <?php if ($pconfig['serialspeed'] == "57600") echo "selected=\"selected\"";?>>57600</option>
<option value="38400" <?php if ($pconfig['serialspeed'] == "38400") echo "selected=\"selected\"";?>>38400</option>
@ -573,7 +557,7 @@ include("head.inc");
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Primary Console")?></td>
<td width="78%" class="vtable">
<select name="primaryconsole" id="primaryconsole" class="formselect">
<select name="primaryconsole" id="primaryconsole" class="formselect selectpicker">
<option value="serial" <?php if ($pconfig['primaryconsole'] == "serial") echo "selected=\"selected\"";?>>Serial Console</option>
<option value="video" <?php if ($pconfig['primaryconsole'] == "video") echo "selected=\"selected\"";?>>VGA Console</option>
</select>
@ -581,17 +565,9 @@ include("head.inc");
</td>
</tr>
<?php endif; ?>
</tbody>
</table>
<table width="100%" border="0" cellpadding="6" cellspacing="0" summary="main area" class="table table-striped __nomb">
<thead>
<tr>
<tr>
<th colspan="2" valign="top" class="listtopic"><?=gettext("Console Options"); ?></th>
</tr>
</thead>
<tbody>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Console menu"); ?></td>
@ -611,24 +587,18 @@ include("head.inc");
</tr>
</tbody>
</table>
</div>
</form>
</form>
</div>
</section>
</div>
</div>
</section>
<script type="text/javascript">
//<![CDATA[
prot_change();
//]]>
</script>
<script type="text/javascript">
//<![CDATA[
prot_change();
//]]>
</script>
<?php
if ($restart_webgui)

View File

@ -226,17 +226,17 @@ include("head.inc");
<script type="text/javascript">
//<![CDATA[
var descs=new Array(5);
descs[0]="<?=gettext("as the name says, it's the normal optimization algorithm");?>";
descs[1]="<?=gettext("used for high latency links, such as satellite links. Expires idle connections later than default");?>";
descs[2]="<?=gettext("expires idle connections quicker. More efficient use of CPU and memory but can drop legitimate idle connections");?>";
descs[3]="<?=gettext("tries to avoid dropping any legitimate idle connections at the expense of increased memory usage and CPU utilization.");?>";
var descs=new Array(5);
descs[0]="<?=gettext("as the name says, it is the normal optimization algorithm");?>";
descs[1]="<?=gettext("used for high latency links, such as satellite links. Expires idle connections later than default");?>";
descs[2]="<?=gettext("expires idle connections quicker. More efficient use of CPU and memory but can drop legitimate idle connections");?>";
descs[3]="<?=gettext("tries to avoid dropping any legitimate idle connections at the expense of increased memory usage and CPU utilization.");?>";
function update_description(itemnum) {
function update_description(itemnum) {
document.iform.info.value=descs[itemnum];
}
//]]>
}
//]]>
</script>
<!-- row -->
@ -252,316 +252,288 @@ include("head.inc");
<? include('system_advanced_tabs.php'); ?>
<div class="content-box tab-content">
<div class="content-box tab-content">
<form action="system_advanced_firewall.php" method="post" name="iform" id="iform">
<form action="system_advanced_firewall.php" method="post" name="iform" id="iform">
<div class="table-responsive">
<table width="100%" border="0" cellpadding="6" cellspacing="0" summary="main area" class="table table-striped ">
<thead>
<tr>
<th colspan="2" valign="top" class="listtopic"><?=gettext("Firewall Advanced");?></th>
</tr>
</thead>
<tbody>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("IP Do-Not-Fragment compatibility");?></td>
<td width="78%" class="vtable">
<input name="scrubnodf" type="checkbox" id="scrubnodf" value="yes" <?php if (isset($config['system']['scrubnodf'])) echo "checked=\"checked\""; ?> />
<strong><?=gettext("Clear invalid DF bits instead of dropping the packets");?></strong><br />
<?=gettext("This allows for communications with hosts that generate fragmented " .
"packets with the don't fragment (DF) bit set. Linux NFS is known to " .
"do this. This will cause the filter to not drop such packets but " .
"instead clear the don't fragment bit.");?>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("IP Random id generation");?></td>
<td width="78%" class="vtable">
<input name="scrubrnid" type="checkbox" id="scrubrnid" value="yes" <?php if (isset($config['system']['scrubrnid'])) echo "checked=\"checked\""; ?> />
<strong><?=gettext("Insert a stronger id into IP header of packets passing through the filter.");?></strong><br />
<?=gettext("Replaces the IP identification field of packets with random values to " .
"compensate for operating systems that use predictable values. " .
"This option only applies to packets that are not fragmented after the " .
"optional packet reassembly.");?>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Firewall Optimization Options");?></td>
<td width="78%" class="vtable">
<select onchange="update_description(this.selectedIndex);" name="optimization" id="optimization">
<option value="normal"<?php if($config['system']['optimization']=="normal") echo " selected=\"selected\""; ?>><?=gettext("normal");?></option>
<option value="high-latency"<?php if($config['system']['optimization']=="high-latency") echo " selected=\"selected\""; ?>><?=gettext("high-latency");?></option>
<option value="aggressive"<?php if($config['system']['optimization']=="aggressive") echo " selected=\"selected\""; ?>><?=gettext("aggressive");?></option>
<option value="conservative"<?php if($config['system']['optimization']=="conservative") echo " selected=\"selected\""; ?>><?=gettext("conservative");?></option>
</select>
<br />
<textarea readonly="readonly" cols="60" rows="2" id="info" name="info" style="padding:5px; border:1px dashed #990000; background-color: #ffffff; color: #000000; font-size: 8pt;"></textarea>
<script type="text/javascript">
//<![CDATA[
update_description(document.iform.optimization.selectedIndex);
//]]>
</script>
<br />
<?=gettext("Select the type of state table optimization to use");?>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Disable Firewall");?></td>
<td width="78%" class="vtable">
<input name="disablefilter" type="checkbox" id="disablefilter" value="yes" <?php if (isset($config['system']['disablefilter'])) echo "checked=\"checked\""; ?> />
<strong><?=gettext("Disable all packet filtering.");?></strong>
<br />
<span class="vexpl"><?php printf(gettext("Note: This converts %s into a routing only platform!"), $g['product_name']);?><br />
<?=gettext("Note: This will also turn off NAT!");?>
<br /><?=gettext("If you only want to disable NAT, and not firewall rules, visit the");?> <a href="firewall_nat_out.php"><?=gettext("Outbound NAT");?></a> <?=gettext("page");?>.
</span>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Disable Firewall Scrub");?></td>
<td width="78%" class="vtable">
<input name="disablescrub" type="checkbox" id="disablescrub" value="yes" <?php if (isset($config['system']['disablescrub'])) echo "checked=\"checked\""; ?> />
<strong><?=gettext("Disables the PF scrubbing option which can sometimes interfere with NFS and PPTP traffic.");?></strong>
<br />
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Firewall Adaptive Timeouts");?></td>
<td width="78%" class="vtable">
<strong><?=gettext("Timeouts for states can be scaled adaptively as the number of state table entries grows.");?></strong>
<br />
<input name="adaptivestart" type="text" id="adaptivestart" value="<?php echo $pconfig['adaptivestart']; ?>" />
<br /><?=gettext("When the number of state entries exceeds this value, adaptive scaling begins. All timeout values are scaled linearly with factor (adaptive.end - number of states) / (adaptive.end - adaptive.start).");?>
<br />
<input name="adaptiveend" type="text" id="adaptiveend" value="<?php echo $pconfig['adaptiveend']; ?>" />
<br /><?=gettext("When reaching this number of state entries, all timeout values become zero, effectively purging all state entries immediately. This value is used to define the scale factor, it should not actually be reached (set a lower state limit, see below).");?>
<br />
<span class="vexpl"><?=gettext("Note: Leave this blank for the default(0).");?></span>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Firewall Maximum States");?></td>
<td width="78%" class="vtable">
<input name="maximumstates" type="text" id="maximumstates" value="<?php echo $pconfig['maximumstates']; ?>" />
<br />
<strong><?=gettext("Maximum number of connections to hold in the firewall state table.");?></strong>
<br />
<span class="vexpl"><?=gettext("Note: Leave this blank for the default. On your system the default size is:");?> <?= pfsense_default_state_size() ?></span>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Firewall Maximum Table Entries");?></td>
<td width="78%" class="vtable">
<input name="maximumtableentries" type="text" id="maximumtableentries" value="<?php echo $pconfig['maximumtableentries']; ?>" />
<br />
<strong><?=gettext("Maximum number of table entries for systems such as aliases, sshlockout, snort, etc, combined.");?></strong>
<br />
<span class="vexpl">
<?=gettext("Note: Leave this blank for the default.");?>
<?php if (empty($pconfig['maximumtableentries'])): ?>
<?= gettext("On your system the default size is:");?> <?= pfsense_default_table_entries_size(); ?>
<?php endif; ?>
</span>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Static route filtering");?></td>
<td width="78%" class="vtable">
<input name="bypassstaticroutes" type="checkbox" id="bypassstaticroutes" value="yes" <?php if ($pconfig['bypassstaticroutes']) echo "checked=\"checked\""; ?> />
<strong><?=gettext("Bypass firewall rules for traffic on the same interface");?></strong>
<br />
<?=gettext("This option only applies if you have defined one or more static routes. If it is enabled, traffic that enters and " .
"leaves through the same interface will not be checked by the firewall. This may be desirable in some situations where " .
"multiple subnets are connected to the same interface.");?>
<br />
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell">Disable Auto-added VPN rules</td>
<td width="78%" class="vtable">
<input name="disablevpnrules" type="checkbox" id="disablevpnrules" value="yes" <?php if (isset($config['system']['disablevpnrules'])) echo "checked=\"checked\""; ?> />
<strong><?=gettext("Disable all auto-added VPN rules.");?></strong>
<br />
<span class="vexpl"><?=gettext("Note: This disables automatically added rules for IPsec, PPTP.");?>
</span>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell">Disable reply-to</td>
<td width="78%" class="vtable">
<input name="disablereplyto" type="checkbox" id="disablereplyto" value="yes" <?php if ($pconfig['disablereplyto']) echo "checked=\"checked\""; ?> />
<strong><?=gettext("Disable reply-to on WAN rules");?></strong>
<br />
<?=gettext("With Multi-WAN you generally want to ensure traffic leaves the same interface it arrives on, hence reply-to is added automatically by default. " .
"When using bridging, you must disable this behavior if the WAN gateway IP is different from the gateway IP of the hosts behind the bridged interface.");?>
<br />
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell">Disable Negate rules</td>
<td width="78%" class="vtable">
<input name="disablenegate" type="checkbox" id="disablenegate" value="yes" <?php if ($pconfig['disablenegate']) echo "checked=\"checked\""; ?> />
<strong><?=gettext("Disable Negate rule on policy routing rules");?></strong>
<br />
<?=gettext("With Multi-WAN you generally want to ensure traffic reaches directly connected networks and VPN networks when using policy routing. You can disable this for special purposes but it requires manually creating rules for these networks");?>
<br />
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Aliases Hostnames Resolve Interval");?></td>
<td width="78%" class="vtable">
<input name="aliasesresolveinterval" type="text" id="aliasesresolveinterval" value="<?php echo $pconfig['aliasesresolveinterval']; ?>" />
<br />
<strong><?=gettext("Interval, in seconds, that will be used to resolve hostnames configured on aliases.");?></strong>
<br />
<span class="vexpl"><?=gettext("Note: Leave this blank for the default (300s).");?></span>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Check certificate of aliases URLs");?></td>
<td width="78%" class="vtable">
<input name="checkaliasesurlcert" type="checkbox" id="checkaliasesurlcert" value="yes" <?php if ($pconfig['checkaliasesurlcert']) echo "checked=\"checked\""; ?> />
<strong><?=gettext("Verify HTTPS certificates when downloading alias URLs");?></strong>
<br />
<?=gettext("Make sure the certificate is valid for all HTTPS addresses on aliases. If it's not valid or is revoked, do not download it.");?>
<br />
</td>
</tr>
</tbody>
</table>
<table width="100%" border="0" cellpadding="6" cellspacing="0" summary="main area" class="table table-striped ">
<table width="100%" border="0" cellpadding="6" cellspacing="0" summary="main area" class="table table-striped ">
<thead>
<tr>
<th colspan="2" valign="top" class="listtopic"><?=gettext("Firewall Advanced");?></th>
</tr>
</thead>
<tbody>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("IP Do-Not-Fragment compatibility");?></td>
<td width="78%" class="vtable">
<input name="scrubnodf" type="checkbox" id="scrubnodf" value="yes" <?php if (isset($config['system']['scrubnodf'])) echo "checked=\"checked\""; ?> />
<strong><?=gettext("Clear invalid DF bits instead of dropping the packets");?></strong><br />
<?=gettext("This allows for communications with hosts that generate fragmented " .
"packets with the don't fragment (DF) bit set. Linux NFS is known to " .
"do this. This will cause the filter to not drop such packets but " .
"instead clear the don't fragment bit.");?>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("IP Random id generation");?></td>
<td width="78%" class="vtable">
<input name="scrubrnid" type="checkbox" id="scrubrnid" value="yes" <?php if (isset($config['system']['scrubrnid'])) echo "checked=\"checked\""; ?> />
<strong><?=gettext("Insert a stronger id into IP header of packets passing through the filter.");?></strong><br />
<?=gettext("Replaces the IP identification field of packets with random values to " .
"compensate for operating systems that use predictable values. " .
"This option only applies to packets that are not fragmented after the " .
"optional packet reassembly.");?>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Firewall Optimization Options");?></td>
<td width="78%" class="vtable">
<select onchange="update_description(this.selectedIndex);" name="optimization" id="optimization" class="selectpicker" data-style="btn-default">
<option value="normal"<?php if($config['system']['optimization']=="normal") echo " selected=\"selected\""; ?>><?=gettext("normal");?></option>
<option value="high-latency"<?php if($config['system']['optimization']=="high-latency") echo " selected=\"selected\""; ?>><?=gettext("high-latency");?></option>
<option value="aggressive"<?php if($config['system']['optimization']=="aggressive") echo " selected=\"selected\""; ?>><?=gettext("aggressive");?></option>
<option value="conservative"<?php if($config['system']['optimization']=="conservative") echo " selected=\"selected\""; ?>><?=gettext("conservative");?></option>
</select>
<br />
<textarea readonly="readonly" cols="60" rows="2" id="info" name="info"></textarea>
<script type="text/javascript">
//<![CDATA[
update_description(document.iform.optimization.selectedIndex);
//]]>
</script>
<br />
<?=gettext("Select the type of state table optimization to use");?>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Disable Firewall");?></td>
<td width="78%" class="vtable">
<input name="disablefilter" type="checkbox" id="disablefilter" value="yes" <?php if (isset($config['system']['disablefilter'])) echo "checked=\"checked\""; ?> />
<strong><?=gettext("Disable all packet filtering.");?></strong>
<br />
<span class="vexpl"><?php printf(gettext("Note: This converts %s into a routing only platform!"), $g['product_name']);?><br />
<?=gettext("Note: This will also turn off NAT!");?>
<br /><?=gettext("If you only want to disable NAT, and not firewall rules, visit the");?> <a href="firewall_nat_out.php"><?=gettext("Outbound NAT");?></a> <?=gettext("page");?>.
</span>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Disable Firewall Scrub");?></td>
<td width="78%" class="vtable">
<input name="disablescrub" type="checkbox" id="disablescrub" value="yes" <?php if (isset($config['system']['disablescrub'])) echo "checked=\"checked\""; ?> />
<strong><?=gettext("Disables the PF scrubbing option which can sometimes interfere with NFS and PPTP traffic.");?></strong>
<br />
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Firewall Adaptive Timeouts");?></td>
<td width="78%" class="vtable">
<strong><?=gettext("Timeouts for states can be scaled adaptively as the number of state table entries grows.");?></strong>
<br />
<input name="adaptivestart" type="text" id="adaptivestart" value="<?php echo $pconfig['adaptivestart']; ?>" />
<br /><?=gettext("When the number of state entries exceeds this value, adaptive scaling begins. All timeout values are scaled linearly with factor (adaptive.end - number of states) / (adaptive.end - adaptive.start).");?>
<br />
<input name="adaptiveend" type="text" id="adaptiveend" value="<?php echo $pconfig['adaptiveend']; ?>" />
<br /><?=gettext("When reaching this number of state entries, all timeout values become zero, effectively purging all state entries immediately. This value is used to define the scale factor, it should not actually be reached (set a lower state limit, see below).");?>
<br />
<span class="vexpl"><?=gettext("Note: Leave this blank for the default(0).");?></span>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Firewall Maximum States");?></td>
<td width="78%" class="vtable">
<input name="maximumstates" type="text" id="maximumstates" value="<?php echo $pconfig['maximumstates']; ?>" />
<br />
<strong><?=gettext("Maximum number of connections to hold in the firewall state table.");?></strong>
<br />
<span class="vexpl"><?=gettext("Note: Leave this blank for the default. On your system the default size is:");?> <?= pfsense_default_state_size() ?></span>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Firewall Maximum Table Entries");?></td>
<td width="78%" class="vtable">
<input name="maximumtableentries" type="text" id="maximumtableentries" value="<?php echo $pconfig['maximumtableentries']; ?>" />
<br />
<strong><?=gettext("Maximum number of table entries for systems such as aliases, sshlockout, snort, etc, combined.");?></strong>
<br />
<span class="vexpl">
<?=gettext("Note: Leave this blank for the default.");?>
<?php if (empty($pconfig['maximumtableentries'])): ?>
<?= gettext("On your system the default size is:");?> <?= pfsense_default_table_entries_size(); ?>
<?php endif; ?>
</span>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Static route filtering");?></td>
<td width="78%" class="vtable">
<input name="bypassstaticroutes" type="checkbox" id="bypassstaticroutes" value="yes" <?php if ($pconfig['bypassstaticroutes']) echo "checked=\"checked\""; ?> />
<strong><?=gettext("Bypass firewall rules for traffic on the same interface");?></strong>
<br />
<?=gettext("This option only applies if you have defined one or more static routes. If it is enabled, traffic that enters and " .
"leaves through the same interface will not be checked by the firewall. This may be desirable in some situations where " .
"multiple subnets are connected to the same interface.");?>
<br />
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell">Disable Auto-added VPN rules</td>
<td width="78%" class="vtable">
<input name="disablevpnrules" type="checkbox" id="disablevpnrules" value="yes" <?php if (isset($config['system']['disablevpnrules'])) echo "checked=\"checked\""; ?> />
<strong><?=gettext("Disable all auto-added VPN rules.");?></strong>
<br />
<span class="vexpl"><?=gettext("Note: This disables automatically added rules for IPsec, PPTP.");?>
</span>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell">Disable reply-to</td>
<td width="78%" class="vtable">
<input name="disablereplyto" type="checkbox" id="disablereplyto" value="yes" <?php if ($pconfig['disablereplyto']) echo "checked=\"checked\""; ?> />
<strong><?=gettext("Disable reply-to on WAN rules");?></strong>
<br />
<?=gettext("With Multi-WAN you generally want to ensure traffic leaves the same interface it arrives on, hence reply-to is added automatically by default. " .
"When using bridging, you must disable this behavior if the WAN gateway IP is different from the gateway IP of the hosts behind the bridged interface.");?>
<br />
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell">Disable Negate rules</td>
<td width="78%" class="vtable">
<input name="disablenegate" type="checkbox" id="disablenegate" value="yes" <?php if ($pconfig['disablenegate']) echo "checked=\"checked\""; ?> />
<strong><?=gettext("Disable Negate rule on policy routing rules");?></strong>
<br />
<?=gettext("With Multi-WAN you generally want to ensure traffic reaches directly connected networks and VPN networks when using policy routing. You can disable this for special purposes but it requires manually creating rules for these networks");?>
<br />
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Aliases Hostnames Resolve Interval");?></td>
<td width="78%" class="vtable">
<input name="aliasesresolveinterval" type="text" id="aliasesresolveinterval" value="<?php echo $pconfig['aliasesresolveinterval']; ?>" />
<br />
<strong><?=gettext("Interval, in seconds, that will be used to resolve hostnames configured on aliases.");?></strong>
<br />
<span class="vexpl"><?=gettext("Note: Leave this blank for the default (300s).");?></span>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Check certificate of aliases URLs");?></td>
<td width="78%" class="vtable">
<input name="checkaliasesurlcert" type="checkbox" id="checkaliasesurlcert" value="yes" <?php if ($pconfig['checkaliasesurlcert']) echo "checked=\"checked\""; ?> />
<strong><?=gettext("Verify HTTPS certificates when downloading alias URLs");?></strong>
<br />
<?=gettext("Make sure the certificate is valid for all HTTPS addresses on aliases. If it's not valid or is revoked, do not download it.");?>
<br />
</td>
</tr>
<tr>
<th colspan="2" valign="top" class="listtopic"><?=gettext("Bogon Networks");?></th>
</tr>
</thead>
<tbody>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Update Frequency");?></td>
<td width="78%" class="vtable">
<select name="bogonsinterval" class="formselect">
<option value="monthly" <?php if (empty($pconfig['bogonsinterval']) || $pconfig['bogonsinterval'] == 'monthly') echo "selected=\"selected\""; ?>><?=gettext("Monthly"); ?></option>
<option value="weekly" <?php if ($pconfig['bogonsinterval'] == 'weekly') echo "selected=\"selected\""; ?>><?=gettext("Weekly"); ?></option>
<option value="daily" <?php if ($pconfig['bogonsinterval'] == 'daily') echo "selected=\"selected\""; ?>><?=gettext("Daily"); ?></option>
</select>
<br />
<?=gettext("The frequency of updating the lists of IP addresses that are reserved (but not RFC 1918) or not yet assigned by IANA.");?>
</td>
</tr>
</tbody>
</table>
<?php if(count($config['interfaces']) > 1): ?>
<table width="100%" border="0" cellpadding="6" cellspacing="0" summary="main area" class="table table-striped">
<thead>
<tr>
<th colspan="2" valign="top" class="listtopic"><?=gettext("Network Address Translation");?></th>
<td width="22%" valign="top" class="vncell"><?=gettext("Update Frequency");?></td>
<td width="78%" class="vtable">
<select name="bogonsinterval" class="formselect selectpicker" data-style="btn-default">
<option value="monthly" <?php if (empty($pconfig['bogonsinterval']) || $pconfig['bogonsinterval'] == 'monthly') echo "selected=\"selected\""; ?>><?=gettext("Monthly"); ?></option>
<option value="weekly" <?php if ($pconfig['bogonsinterval'] == 'weekly') echo "selected=\"selected\""; ?>><?=gettext("Weekly"); ?></option>
<option value="daily" <?php if ($pconfig['bogonsinterval'] == 'daily') echo "selected=\"selected\""; ?>><?=gettext("Daily"); ?></option>
</select>
<br />
<?=gettext("The frequency of updating the lists of IP addresses that are reserved (but not RFC 1918) or not yet assigned by IANA.");?>
</td>
</tr>
</thead>
<tbody>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("NAT Reflection mode for port forwards");?></td>
<td width="78%" class="vtable">
<select name="natreflection" class="formselect">
<option value="disable" <?php if (isset($config['system']['disablenatreflection'])) echo "selected=\"selected\""; ?>><?=gettext("Disable"); ?></option>
<option value="proxy" <?php if (!isset($config['system']['disablenatreflection']) && !isset($config['system']['enablenatreflectionpurenat'])) echo "selected=\"selected\""; ?>><?=gettext("Enable (NAT + Proxy)"); ?></option>
<option value="purenat" <?php if (!isset($config['system']['disablenatreflection']) && isset($config['system']['enablenatreflectionpurenat'])) echo "selected=\"selected\""; ?>><?=gettext("Enable (Pure NAT)"); ?></option>
</select>
<br />
<strong><?=gettext("When enabled, this automatically creates additional NAT redirect rules for access to port forwards on your external IP addresses from within your internal networks.");?></strong>
<br /><br />
<?=gettext("The NAT + proxy mode uses a helper program to send packets to the target of the port forward. It is useful in setups where the interface and/or gateway IP used for communication with the target cannot be accurately determined at the time the rules are loaded. Reflection rules are not created for ranges larger than 500 ports and will not be used for more than 1000 ports total between all port forwards. Only TCP and UDP protocols are supported.");?>
<br /><br />
<?=gettext("The pure NAT mode uses a set of NAT rules to direct packets to the target of the port forward. It has better scalability, but it must be possible to accurately determine the interface and gateway IP used for communication with the target at the time the rules are loaded. There are no inherent limits to the number of ports other than the limits of the protocols. All protocols available for port forwards are supported.");?>
<br /><br />
<?=gettext("Individual rules may be configured to override this system setting on a per-rule basis.");?>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Reflection Timeout");?></td>
<td width="78%" class="vtable">
<input name="reflectiontimeout" id="reflectiontimeout" value="<?php echo $config['system']['reflectiontimeout']; ?>" /><br />
<strong><?=gettext("Enter value for Reflection timeout in seconds.");?></strong>
<br /><br />
<?=gettext("Note: Only applies to Reflection on port forwards in NAT + proxy mode.");?>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Enable NAT Reflection for 1:1 NAT");?></td>
<td width="78%" class="vtable">
<input name="enablebinatreflection" type="checkbox" id="enablebinatreflection" value="yes" <?php if (isset($config['system']['enablebinatreflection'])) echo "checked=\"checked\""; ?> />
<strong><?=gettext("Enables the automatic creation of additional NAT redirect rules for access to 1:1 mappings of your external IP addresses from within your internal networks.");?></strong>
<br /><br />
<?=gettext("Note: Reflection on 1:1 mappings is only for the inbound component of the 1:1 mappings. This functions the same as the pure NAT mode for port forwards. For more details, refer to the pure NAT mode description above.");?>
<br /><br />
<?=gettext("Individual rules may be configured to override this system setting on a per-rule basis.");?>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Enable automatic outbound NAT for Reflection");?></td>
<td width="78%" class="vtable">
<input name="enablenatreflectionhelper" type="checkbox" id="enablenatreflectionhelper" value="yes" <?php if (isset($config['system']['enablenatreflectionhelper'])) echo "checked=\"checked\""; ?> />
<strong><?=gettext("Automatically create outbound NAT rules which assist inbound NAT rules that direct traffic back out to the same subnet it originated from.");?></strong>
<br />
<?=gettext("Required for full functionality of the pure NAT mode of NAT Reflection for port forwards or NAT Reflection for 1:1 NAT.");?>
<br /><br />
<?=gettext("Note: This only works for assigned interfaces. Other interfaces require manually creating the outbound NAT rules that direct the reply packets back through the router.");?>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("TFTP Proxy");?></td>
<td width="78%" class="vtable">
<select name="tftpinterface[]" multiple="multiple" class="formselect" size="3">
<?php
$ifdescs = get_configured_interface_with_descr();
$rowIndex = 0;
foreach ($ifdescs as $ifent => $ifdesc):
$rowIndex++;
?>
<option value="<?=$ifent;?>" <?php if (in_array($ifent, $pconfig['tftpinterface'])) echo "selected=\"selected\""; ?>><?=gettext($ifdesc);?></option>
<?php endforeach;
if ($rowIndex == 0)
echo "<option></option>";
?>
</select>
<strong><?=gettext("Choose the interfaces where you want TFTP proxy helper to be enabled.");?></strong>
</td>
</tr>
</tbody>
</table>
<?php endif; ?>
<?php if(count($config['interfaces']) > 1): ?>
<table width="100%" border="0" cellpadding="6" cellspacing="0" summary="main area" class="table table-striped __nomb">
<tr>
<td width="22%" valign="top">&nbsp;</td>
<td width="78%"><input name="Submit" type="submit" class="btn btn-primary" value="<?=gettext("Save");?>" /></td>
</tr>
</table>
<tr>
<th colspan="2" valign="top" class="listtopic"><?=gettext("Network Address Translation");?></th>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("NAT Reflection mode for port forwards");?></td>
<td width="78%" class="vtable">
<select name="natreflection" class="formselect selectpicker" data-style="btn-default">
<option value="disable" <?php if (isset($config['system']['disablenatreflection'])) echo "selected=\"selected\""; ?>><?=gettext("Disable"); ?></option>
<option value="proxy" <?php if (!isset($config['system']['disablenatreflection']) && !isset($config['system']['enablenatreflectionpurenat'])) echo "selected=\"selected\""; ?>><?=gettext("Enable (NAT + Proxy)"); ?></option>
<option value="purenat" <?php if (!isset($config['system']['disablenatreflection']) && isset($config['system']['enablenatreflectionpurenat'])) echo "selected=\"selected\""; ?>><?=gettext("Enable (Pure NAT)"); ?></option>
</select>
<br />
<strong><?=gettext("When enabled, this automatically creates additional NAT redirect rules for access to port forwards on your external IP addresses from within your internal networks.");?></strong>
<br /><br />
<?=gettext("The NAT + proxy mode uses a helper program to send packets to the target of the port forward. It is useful in setups where the interface and/or gateway IP used for communication with the target cannot be accurately determined at the time the rules are loaded. Reflection rules are not created for ranges larger than 500 ports and will not be used for more than 1000 ports total between all port forwards. Only TCP and UDP protocols are supported.");?>
<br /><br />
<?=gettext("The pure NAT mode uses a set of NAT rules to direct packets to the target of the port forward. It has better scalability, but it must be possible to accurately determine the interface and gateway IP used for communication with the target at the time the rules are loaded. There are no inherent limits to the number of ports other than the limits of the protocols. All protocols available for port forwards are supported.");?>
<br /><br />
<?=gettext("Individual rules may be configured to override this system setting on a per-rule basis.");?>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Reflection Timeout");?></td>
<td width="78%" class="vtable">
<input name="reflectiontimeout" id="reflectiontimeout" type="text" value="<?php echo $config['system']['reflectiontimeout']; ?>" /><br />
<strong><?=gettext("Enter value for Reflection timeout in seconds.");?></strong>
<br /><br />
<?=gettext("Note: Only applies to Reflection on port forwards in NAT + proxy mode.");?>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Enable NAT Reflection for 1:1 NAT");?></td>
<td width="78%" class="vtable">
<input name="enablebinatreflection" type="checkbox" id="enablebinatreflection" value="yes" <?php if (isset($config['system']['enablebinatreflection'])) echo "checked=\"checked\""; ?> />
<strong><?=gettext("Enables the automatic creation of additional NAT redirect rules for access to 1:1 mappings of your external IP addresses from within your internal networks.");?></strong>
<br /><br />
<?=gettext("Note: Reflection on 1:1 mappings is only for the inbound component of the 1:1 mappings. This functions the same as the pure NAT mode for port forwards. For more details, refer to the pure NAT mode description above.");?>
<br /><br />
<?=gettext("Individual rules may be configured to override this system setting on a per-rule basis.");?>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Enable automatic outbound NAT for Reflection");?></td>
<td width="78%" class="vtable">
<input name="enablenatreflectionhelper" type="checkbox" id="enablenatreflectionhelper" value="yes" <?php if (isset($config['system']['enablenatreflectionhelper'])) echo "checked=\"checked\""; ?> />
<strong><?=gettext("Automatically create outbound NAT rules which assist inbound NAT rules that direct traffic back out to the same subnet it originated from.");?></strong>
<br />
<?=gettext("Required for full functionality of the pure NAT mode of NAT Reflection for port forwards or NAT Reflection for 1:1 NAT.");?>
<br /><br />
<?=gettext("Note: This only works for assigned interfaces. Other interfaces require manually creating the outbound NAT rules that direct the reply packets back through the router.");?>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("TFTP Proxy");?></td>
<td width="78%" class="vtable">
<select name="tftpinterface[]" multiple="multiple" class="formselect selectpicker" data-style="btn-default" data-width="auto">
<?php
$ifdescs = get_configured_interface_with_descr();
$rowIndex = 0;
foreach ($ifdescs as $ifent => $ifdesc):
$rowIndex++;
?>
<option value="<?=$ifent;?>" <?php if (in_array($ifent, $pconfig['tftpinterface'])) echo "selected=\"selected\""; ?>><?=gettext($ifdesc);?></option>
<?php endforeach;
if ($rowIndex == 0)
echo "<option></option>";
?>
</select>
<strong><?=gettext("Choose the interfaces where you want TFTP proxy helper to be enabled.");?></strong>
</td>
</tr>
<?php endif; ?>
<tr>
<td width="22%" valign="top">&nbsp;</td>
<td width="78%"><input name="Submit" type="submit" class="btn btn-primary" value="<?=gettext("Save");?>" /></td>
</tr>
</tbody>
</table>
</form>
</div>
</section>
</div>
</form>
</div>
</section>
</div>
</div>
</div>
</section>
<?php include("foot.inc"); ?>

View File

@ -245,11 +245,15 @@ include("head.inc");
jQuery('#use_mfs_var_size').attr('disabled',false);
jQuery('#rrdbackup').attr('disabled',false);
jQuery('#dhcpbackup').attr('disabled',false);
jQuery('#rrdbackup').selectpicker('refresh');
jQuery('#dhcpbackup').selectpicker('refresh');
} else {
jQuery('#use_mfs_tmp_size').attr('disabled','true');
jQuery('#use_mfs_var_size').attr('disabled','true');
jQuery('#rrdbackup').attr('disabled','true');
jQuery('#dhcpbackup').attr('disabled','true');
jQuery('#rrdbackup').selectpicker('refresh');
jQuery('#dhcpbackup').selectpicker('refresh');
}
}
//]]>
@ -258,24 +262,16 @@ include("head.inc");
<!-- row -->
<section class="page-content-main">
<div class="container-fluid">
<div class="row">
<?php
if ($input_errors) print_input_errors($input_errors);
if ($savemsg) print_info_box($savemsg);
if ($input_errors) print_input_errors($input_errors);
if ($savemsg) print_info_box($savemsg);
?>
<section class="col-xs-12">
<? include('system_advanced_tabs.php'); ?>
<div class="content-box tab-content">
<form action="system_advanced_misc.php" method="post" name="iform" id="iform">
<div class="table-responsive">
<form action="system_advanced_misc.php" method="post" name="iform" id="iform">
<table width="100%" border="0" cellpadding="6" cellspacing="0" summary="main area" class="table table-striped">
<thead>
<tr>
<th colspan="2" valign="top" class="listtopic"><?=gettext("Proxy support"); ?></th>
@ -283,404 +279,327 @@ include("head.inc");
</thead>
<tbody>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Proxy URL"); ?></td>
<td width="78%" class="vtable">
<input name="proxyurl" id="proxyurl" value="<?php if ($pconfig['proxyurl'] <> "") echo $pconfig['proxyurl']; ?>" class="formfld unknown" />
<br />
<?php printf(gettext("Proxy url for allowing %s to use this proxy to connect outside."),$g['product']); ?>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Proxy Port"); ?></td>
<td width="78%" class="vtable">
<input name="proxyport" id="proxyport" value="<?php if ($pconfig['proxyport'] <> "") echo $pconfig['proxyport']; ?>" class="formfld unknown" />
<br />
<?php printf(gettext("Proxy port to use when %s connects to the proxy URL configured above. Default is 8080 for http protocol or 443 for ssl."),$g['product']); ?>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Proxy Username"); ?></td>
<td width="78%" class="vtable">
<input name="proxyuser" id="proxyuser" value="<?php if ($pconfig['proxyuser'] <> "") echo $pconfig['proxyuser']; ?>" class="formfld unknown" />
<br />
<?php printf(gettext("Proxy username for allowing %s to use this proxy to connect outside"),$g['product']); ?>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Proxy Pass"); ?></td>
<td width="78%" class="vtable">
<input type="password" name="proxypass" id="proxypass" value="<?php if ($pconfig['proxypass'] <> "") echo $pconfig['proxypass']; ?>" class="formfld unknown" />
<br />
<?php printf(gettext("Proxy password for allowing %s to use this proxy to connect outside"),$g['product']); ?>
</td>
</tr>
</tbody>
</table>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Proxy URL"); ?></td>
<td width="78%" class="vtable">
<input name="proxyurl" id="proxyurl" type="text" value="<?php if ($pconfig['proxyurl'] <> "") echo $pconfig['proxyurl']; ?>" class="formfld unknown" />
<br />
<?php printf(gettext("Proxy url for allowing %s to use this proxy to connect outside."),$g['product']); ?>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Proxy Port"); ?></td>
<td width="78%" class="vtable">
<input name="proxyport" id="proxyport" type="text" value="<?php if ($pconfig['proxyport'] <> "") echo $pconfig['proxyport']; ?>" class="formfld unknown" />
<br />
<?php printf(gettext("Proxy port to use when %s connects to the proxy URL configured above. Default is 8080 for http protocol or 443 for ssl."),$g['product']); ?>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Proxy Username"); ?></td>
<td width="78%" class="vtable">
<input name="proxyuser" id="proxyuser" type="text" value="<?php if ($pconfig['proxyuser'] <> "") echo $pconfig['proxyuser']; ?>" class="formfld unknown" />
<br />
<?php printf(gettext("Proxy username for allowing %s to use this proxy to connect outside"),$g['product']); ?>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Proxy Pass"); ?></td>
<td width="78%" class="vtable">
<input type="password" name="proxypass" id="proxypass" value="<?php if ($pconfig['proxypass'] <> "") echo $pconfig['proxypass']; ?>" class="formfld unknown" />
<br />
<?php printf(gettext("Proxy password for allowing %s to use this proxy to connect outside"),$g['product']); ?>
</td>
</tr>
<table class="table table-striped table-sort">
<thead>
<tr>
<th colspan="2" class="listtopic"><?=gettext("Load Balancing"); ?></th>
</tr>
</thead>
<tbody>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Load Balancing"); ?></td>
<td width="78%" class="vtable">
<input name="lb_use_sticky" type="checkbox" id="lb_use_sticky" value="yes" <?php if ($pconfig['lb_use_sticky']) echo "checked=\"checked\""; ?> onclick="sticky_checked(this)" />
<strong><?=gettext("Use sticky connections"); ?></strong><br />
<?=gettext("Successive connections will be redirected to the servers " .
"in a round-robin manner with connections from the same " .
"source being sent to the same web server. This 'sticky " .
"connection' will exist as long as there are states that " .
"refer to this connection. Once the states expire, so will " .
"the sticky connection. Further connections from that host " .
"will be redirected to the next web server in the round " .
"robin. Changing this option will restart the Load Balancing service."); ?>
<br />
<input name="srctrack" id="srctrack" value="<?php if ($pconfig['srctrack'] <> "") echo $pconfig['srctrack']; else "1400"; ?>" class="formfld unknown" <?php if ($pconfig['lb_use_sticky'] == false) echo "disabled=\"disabled\""; ?> />
<br />
<?=gettext("Set the source tracking timeout for sticky connections. " .
"By default this is 0, so source tracking is removed as soon as the state expires. " .
"Setting this timeout higher will cause the source/destination relationship to persist for longer periods of time."); ?>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Load Balancing"); ?></td>
<td width="78%" class="vtable">
<input name="gw_switch_default" type="checkbox" id="gw_switch_default" value="yes" <?php if ($pconfig['gw_switch_default']) echo "checked=\"checked\""; ?> />
<strong><?=gettext("Allow default gateway switching"); ?></strong><br />
<?=gettext("If the link where the default gateway resides fails " .
"switch the default gateway to another available one."); ?>
</td>
</tr>
</tbody>
</table>
<table width="100%" border="0" cellpadding="6" cellspacing="0" summary="main area" class="table table-striped">
<thead>
<tr>
<th colspan="2" valign="top" class="listtopic"><?=gettext("Power savings"); ?></th>
</tr>
</thead>
<tbody>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("PowerD"); ?></td>
<td width="78%" class="vtable">
<input name="powerd_enable" type="checkbox" id="powerd_enable" value="yes" <?php if ($pconfig['powerd_enable']) echo "checked=\"checked\""; ?> />
<strong><?=gettext("Use PowerD"); ?></strong><br />
<br />
<?=gettext("On AC Power Mode"); ?>&nbsp;:&nbsp;
<select name="powerd_ac_mode" id="powerd_ac_mode">
<option value="hadp"<?php if($pconfig['powerd_ac_mode']=="hadp") echo " selected=\"selected\""; ?>><?=gettext("Hiadaptive");?></option>
<option value="adp"<?php if($pconfig['powerd_ac_mode']=="adp") echo " selected=\"selected\""; ?>><?=gettext("Adaptive");?></option>
<option value="min"<?php if($pconfig['powerd_ac_mode']=="min") echo " selected=\"selected\""; ?>><?=gettext("Minimum");?></option>
<option value="max"<?php if($pconfig['powerd_ac_mode']=="max") echo " selected=\"selected\""; ?>><?=gettext("Maximum");?></option>
</select>
&nbsp;&nbsp;
<?=gettext("On Battery Power Mode"); ?>&nbsp;:&nbsp;
<select name="powerd_battery_mode" id="powerd_battery_mode">
<option value="hadp"<?php if($pconfig['powerd_battery_mode']=="hadp") echo " selected=\"selected\""; ?>><?=gettext("Hiadaptive");?></option>
<option value="adp"<?php if($pconfig['powerd_battery_mode']=="adp") echo " selected=\"selected\""; ?>><?=gettext("Adaptive");?></option>
<option value="min"<?php if($pconfig['powerd_battery_mode']=="min") echo " selected=\"selected\""; ?>><?=gettext("Minimum");?></option>
<option value="max"<?php if($pconfig['powerd_battery_mode']=="max") echo " selected=\"selected\""; ?>><?=gettext("Maximum");?></option>
</select>
<br /><br />
<?=gettext("The powerd utility monitors the system state and sets various power control " .
"options accordingly. It offers four modes (maximum, minimum, adaptive " .
"and hiadaptive) that can be individually selected while on AC power or batteries. " .
"The modes maximum, minimum, adaptive and hiadaptive may be abbreviated max, " .
"min, adp, hadp. Maximum mode chooses the highest performance values. Minimum " .
"mode selects the lowest performance values to get the most power savings. " .
"Adaptive mode attempts to strike a balance by degrading performance when " .
"the system appears idle and increasing it when the system is busy. It " .
"offers a good balance between a small performance loss for greatly " .
"increased power savings. Hiadaptive mode is alike adaptive mode, but " .
"tuned for systems where performance and interactivity are more important " .
"than power consumption. It raises frequency faster, drops slower and " .
"keeps twice lower CPU load."); ?>
</td>
</tr>
</tbody>
</table>
<table width="100%" border="0" cellpadding="6" cellspacing="0" summary="main area" class="table table-striped">
<thead>
<tr>
<th colspan="2" valign="top" class="listtopic"><?=gettext("Cryptographic Hardware Acceleration"); ?></th>
</tr>
</thead>
<tbody>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Cryptographic Hardware"); ?></td>
<td width="78%" class="vtable">
<select name="crypto_hardware" id="crypto_hardware">
<option value=""><?php echo gettext("None"); ?></option>
<?php foreach ($crypto_modules as $cryptomod_name => $cryptomod_descr): ?>
<option value="<?php echo $cryptomod_name; ?>" <?php if ($pconfig['crypto_hardware'] == $cryptomod_name) echo " selected=\"selected\""; ?>><?php echo "{$cryptomod_descr} ({$cryptomod_name})"; ?></option>
<tr>
<th colspan="2" class="listtopic"><?=gettext("Load Balancing"); ?></th>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Load Balancing"); ?></td>
<td width="78%" class="vtable">
<input name="lb_use_sticky" type="checkbox" id="lb_use_sticky" value="yes" <?php if ($pconfig['lb_use_sticky']) echo "checked=\"checked\""; ?> onclick="sticky_checked(this)" />
<strong><?=gettext("Use sticky connections"); ?></strong><br />
<?=gettext("Successive connections will be redirected to the servers " .
"in a round-robin manner with connections from the same " .
"source being sent to the same web server. This 'sticky " .
"connection' will exist as long as there are states that " .
"refer to this connection. Once the states expire, so will " .
"the sticky connection. Further connections from that host " .
"will be redirected to the next web server in the round " .
"robin. Changing this option will restart the Load Balancing service."); ?>
<br />
<input name="srctrack" id="srctrack" type="text" value="<?php if ($pconfig['srctrack'] <> "") echo $pconfig['srctrack']; else "1400"; ?>" class="formfld unknown" <?php if ($pconfig['lb_use_sticky'] == false) echo "disabled=\"disabled\""; ?> />
<br />
<?=gettext("Set the source tracking timeout for sticky connections. " .
"By default this is 0, so source tracking is removed as soon as the state expires. " .
"Setting this timeout higher will cause the source/destination relationship to persist for longer periods of time."); ?>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Load Balancing"); ?></td>
<td width="78%" class="vtable">
<input name="gw_switch_default" type="checkbox" id="gw_switch_default" value="yes" <?php if ($pconfig['gw_switch_default']) echo "checked=\"checked\""; ?> />
<strong><?=gettext("Allow default gateway switching"); ?></strong><br />
<?=gettext("If the link where the default gateway resides fails " .
"switch the default gateway to another available one."); ?>
</td>
</tr>
<tr>
<th colspan="2" valign="top" class="listtopic"><?=gettext("Power savings"); ?></th>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("PowerD"); ?></td>
<td width="78%" class="vtable">
<input name="powerd_enable" type="checkbox" id="powerd_enable" value="yes" <?php if ($pconfig['powerd_enable']) echo "checked=\"checked\""; ?> />
<strong><?=gettext("Use PowerD"); ?></strong><br />
<br />
<?=gettext("On AC Power Mode"); ?>&nbsp;:&nbsp;
<select name="powerd_ac_mode" id="powerd_ac_mode" class="selectpicker" data-style="btn-default" data-width="auto">
<option value="hadp"<?php if($pconfig['powerd_ac_mode']=="hadp") echo " selected=\"selected\""; ?>><?=gettext("Hiadaptive");?></option>
<option value="adp"<?php if($pconfig['powerd_ac_mode']=="adp") echo " selected=\"selected\""; ?>><?=gettext("Adaptive");?></option>
<option value="min"<?php if($pconfig['powerd_ac_mode']=="min") echo " selected=\"selected\""; ?>><?=gettext("Minimum");?></option>
<option value="max"<?php if($pconfig['powerd_ac_mode']=="max") echo " selected=\"selected\""; ?>><?=gettext("Maximum");?></option>
</select>
&nbsp;&nbsp;
<?=gettext("On Battery Power Mode"); ?>&nbsp;:&nbsp;
<select name="powerd_battery_mode" id="powerd_battery_mode" class="selectpicker" data-style="btn-default" data-width="auto">
<option value="hadp"<?php if($pconfig['powerd_battery_mode']=="hadp") echo " selected=\"selected\""; ?>><?=gettext("Hiadaptive");?></option>
<option value="adp"<?php if($pconfig['powerd_battery_mode']=="adp") echo " selected=\"selected\""; ?>><?=gettext("Adaptive");?></option>
<option value="min"<?php if($pconfig['powerd_battery_mode']=="min") echo " selected=\"selected\""; ?>><?=gettext("Minimum");?></option>
<option value="max"<?php if($pconfig['powerd_battery_mode']=="max") echo " selected=\"selected\""; ?>><?=gettext("Maximum");?></option>
</select>
<br /><br />
<?=gettext("The powerd utility monitors the system state and sets various power control " .
"options accordingly. It offers four modes (maximum, minimum, adaptive " .
"and hiadaptive) that can be individually selected while on AC power or batteries. " .
"The modes maximum, minimum, adaptive and hiadaptive may be abbreviated max, " .
"min, adp, hadp. Maximum mode chooses the highest performance values. Minimum " .
"mode selects the lowest performance values to get the most power savings. " .
"Adaptive mode attempts to strike a balance by degrading performance when " .
"the system appears idle and increasing it when the system is busy. It " .
"offers a good balance between a small performance loss for greatly " .
"increased power savings. Hiadaptive mode is alike adaptive mode, but " .
"tuned for systems where performance and interactivity are more important " .
"than power consumption. It raises frequency faster, drops slower and " .
"keeps twice lower CPU load."); ?>
</td>
</tr>
<tr>
<th colspan="2" valign="top" class="listtopic"><?=gettext("Cryptographic Hardware Acceleration"); ?></th>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Cryptographic Hardware"); ?></td>
<td width="78%" class="vtable">
<select name="crypto_hardware" id="crypto_hardware" class="selectpicker" data-style="btn-default">
<option value=""><?php echo gettext("None"); ?></option>
<?php foreach ($crypto_modules as $cryptomod_name => $cryptomod_descr): ?>
<option value="<?php echo $cryptomod_name; ?>" <?php if ($pconfig['crypto_hardware'] == $cryptomod_name) echo " selected=\"selected\""; ?>><?php echo "{$cryptomod_descr} ({$cryptomod_name})"; ?></option>
<?php endforeach; ?>
</select>
<br />
<?=gettext("A cryptographic accelerator module will use hardware support to speed up some " .
"cryptographic functions on systems which have the chip. Do not enable this " .
"option if you have a Hifn cryptographic acceleration card, as this will take " .
"precedence and the Hifn card will not be used. Acceleration should be automatic " .
"for IPsec when using a cipher supported by your chip, such as AES-128. OpenVPN " .
"should be set for AES-128-CBC and have cryptodev enabled for hardware " .
"acceleration."); ?>
<br /><br />
<?=gettext("If you do not have a crypto chip in your system, this option will have no " .
"effect. To unload the selected module, set this option to 'none' and then reboot."); ?>
</td>
</tr>
<tr>
<th colspan="2" valign="top" class="listtopic"><?=gettext("Thermal Sensors"); ?></th>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Thermal Sensors"); ?></td>
<td width="78%" class="vtable">
<select name="thermal_hardware" id="thermal_hardware" class="selectpicker" data-style="btn-default">
<option value=""><?php echo gettext("None/ACPI"); ?></option>
<?php foreach ($thermal_hardware_modules as $themalmod_name => $themalmod_descr): ?>
<option value="<?php echo $themalmod_name; ?>" <?php if ($pconfig['thermal_hardware'] == $themalmod_name) echo " selected=\"selected\""; ?>><?php echo "{$themalmod_descr} ({$themalmod_name})"; ?></option>
<?php endforeach; ?>
</select>
<br />
<?=gettext("A cryptographic accelerator module will use hardware support to speed up some " .
"cryptographic functions on systems which have the chip. Do not enable this " .
"option if you have a Hifn cryptographic acceleration card, as this will take " .
"precedence and the Hifn card will not be used. Acceleration should be automatic " .
"for IPsec when using a cipher supported by your chip, such as AES-128. OpenVPN " .
"should be set for AES-128-CBC and have cryptodev enabled for hardware " .
"acceleration."); ?>
<?=gettext("If you have a supported CPU, selecting a themal sensor will load the appropriate " .
"driver to read its temperature. Setting this to 'None' will attempt to read the " .
"temperature from an ACPI-compliant motherboard sensor instead, if one is present."); ?>
<br /><br />
<?=gettext("If you do not have a crypto chip in your system, this option will have no " .
"effect. To unload the selected module, set this option to 'none' and then reboot."); ?>
</td>
</tr>
</tbody>
</table>
<?=gettext("If you do not have a supported thermal sensor chip in your system, this option will have no " .
"effect. To unload the selected module, set this option to 'none' and then reboot."); ?>
</td>
</tr>
<tr>
<th colspan="2" valign="top" class="listtopic"><?=gettext("IP Security"); ?></th>
</tr>
<tr>
<td width="22%" valign="top" class="vncell">&nbsp;</td>
<td width="78%" class="vtable">
<?=gettext("These settings have moved to <a href=\"vpn_ipsec_settings.php\">VPN &gt; IPsec on the Advanced Settings tab</a>."); ?>
</td>
</tr>
<tr>
<th colspan="2" valign="top" class="listtopic"><?=gettext("Schedules"); ?></th>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Schedule States"); ?></td>
<td width="78%" class="vtable">
<input name="schedule_states" type="checkbox" id="schedule_states" value="yes" <?php if ($pconfig['schedule_states']) echo "checked=\"checked\""; ?> />
<br />
<?=gettext("By default schedules clear the states of existing connections when the expiration time has come. ".
"This option overrides that behavior by not clearing states for existing connections."); ?>
</td>
</tr>
<tr>
<th colspan="2" valign="top" class="listtopic"><?=gettext("Gateway Monitoring"); ?></th>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("State Killing on Gateway Failure"); ?></td>
<td width="78%" class="vtable">
<input name="kill_states" type="checkbox" id="kill_states" value="yes" <?php if ($pconfig['kill_states']) echo "checked=\"checked\""; ?> />
<br />
<?=gettext("The monitoring process will flush states for a gateway that goes down if this box is not checked. Check this box to disable this behavior."); ?>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Skip rules when gateway is down"); ?></td>
<td width="78%" class="vtable">
<input name="skip_rules_gw_down" type="checkbox" id="skip_rules_gw_down" value="yes" <?php if ($pconfig['skip_rules_gw_down']) echo "checked=\"checked\""; ?> />
<br />
<?=gettext("By default, when a rule has a specific gateway set, and this gateway is down, ".
"rule is created and traffic is sent to default gateway.This option overrides that behavior ".
"and the rule is not created when gateway is down"); ?>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Enable debugging messages of gateway monitoring daemon"); ?></td>
<td width="78%" class="vtable">
<input name="apinger_debug" type="checkbox" id="apinger_debug" value="yes" <?php if ($pconfig['apinger_debug']) echo "checked=\"checked\""; ?> />
<br />
<?=gettext("By default, gateway monitoring does not log its error messages, ".
"by toggling this setting the daemon would enable logging its messages to syslog."); ?>
</td>
</tr>
<tr>
<td colspan="2" valign="top" class="listtopic"><?=gettext("RAM Disk Settings (Reboot to Apply Changes)"); ?></td>
</tr>
<?php if ($g['platform'] == "pfSense"): ?>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Use RAM Disks"); ?></td>
<td width="78%" class="vtable">
<input name="use_mfs_tmpvar" type="checkbox" id="use_mfs_tmpvar" value="yes" <?php if ($pconfig['use_mfs_tmpvar']) echo "checked=\"checked\""; ?> onclick="tmpvar_checked(this)" />
<strong><?=gettext("Use memory file system for /tmp and /var"); ?></strong><br />
<?=gettext("Set this if you wish to use /tmp and /var as RAM disks (memory file system disks) on a full install " .
"rather than use the hard disk. Setting this will cause the data in /tmp and /var to be lost at reboot, including log data. RRD and DHCP Leases will be retained."); ?>
</td>
</tr>
<?php endif; ?>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("/tmp RAM Disk Size"); ?></td>
<td width="78%" class="vtable">
<input name="use_mfs_tmp_size" id="use_mfs_tmp_size" type="text" value="<?php if ($pconfig['use_mfs_tmp_size'] <> "") echo $pconfig['use_mfs_tmp_size']; ?>" class="formfld unknown" <?php if (($g['platform'] == "pfSense") && ($pconfig['use_mfs_tmpvar'] == false)) echo "disabled=\"disabled\""; ?> /> MB
<br />
<?=gettext("Set the size, in MB, for the /tmp RAM disk. " .
"Leave blank for 40MB. Do not set lower than 40."); ?>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("/var RAM Disk Size"); ?></td>
<td width="78%" class="vtable">
<input name="use_mfs_var_size" id="use_mfs_var_size" type="text" value="<?php if ($pconfig['use_mfs_var_size'] <> "") echo $pconfig['use_mfs_var_size']; ?>" class="formfld unknown" <?php if (($g['platform'] == "pfSense") && ($pconfig['use_mfs_tmpvar'] == false)) echo "disabled=\"disabled\""; ?> /> MB
<br />
<?=gettext("Set the size, in MB, for the /var RAM disk. " .
"Leave blank for 60MB. Do not set lower than 60."); ?>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Periodic RRD Backup");?></td>
<td width="78%" class="vtable">
<?=gettext("Frequency:");?>
<select name="rrdbackup" class="selectpicker" data-style="btn-default" id="rrdbackup" <?php if (($g['platform'] == "pfSense") && ($pconfig['use_mfs_tmpvar'] == false)) echo "disabled=\"disabled\""; ?> >
<option value='0' <?php if (!isset($config['system']['rrdbackup']) || ($config['system']['rrdbackup'] == 0)) echo "selected='selected'"; ?>><?=gettext("Disable"); ?></option>
<?php for ($x=1; $x<=24; $x++) { ?>
<option value='<?= $x ?>' <?php if ($config['system']['rrdbackup'] == $x) echo "selected='selected'"; ?>><?= $x ?> <?=gettext("hour"); ?><?php if ($x>1) echo "s"; ?></option>
<?php } ?>
</select>
<br />
<?=gettext("This will periodically backup the RRD data so it can be restored automatically on the next boot. Keep in mind that the more frequent the backup, the more writes will happen to your media.");?>
<br />
<br />
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Periodic DHCP Leases Backup");?></td>
<td width="78%" class="vtable">
<?=gettext("Frequency:");?>
<select name="dhcpbackup" class="selectpicker" data-style="btn-default" id="dhcpbackup" <?php if (($g['platform'] == "pfSense") && ($pconfig['use_mfs_tmpvar'] == false)) echo "disabled=\"disabled\""; ?> >
<option value='0' <?php if (!isset($config['system']['dhcpbackup']) || ($config['system']['dhcpbackup'] == 0)) echo "selected='selected'"; ?>><?=gettext("Disable"); ?></option>
<?php for ($x=1; $x<=24; $x++) { ?>
<option value='<?= $x ?>' <?php if ($config['system']['dhcpbackup'] == $x) echo "selected='selected'"; ?>><?= $x ?> <?=gettext("hour"); ?><?php if ($x>1) echo "s"; ?></option>
<?php } ?>
</select>
<br />
<?=gettext("This will periodically backup the DHCP leases data so it can be restored automatically on the next boot. Keep in mind that the more frequent the backup, the more writes will happen to your media.");?>
<br />
<br />
</td>
</tr>
<table width="100%" border="0" cellpadding="6" cellspacing="0" summary="main area" class="table table-striped">
<thead>
<tr>
<th colspan="2" valign="top" class="listtopic"><?=gettext("Thermal Sensors"); ?></th>
</tr>
</thead>
<tbody>
<?php if($g['platform'] == "pfSenseDISABLED"): ?>
<tr>
<th colspan="2" valign="top" class="listtopic"><?=gettext("Hardware Settings"); ?></th>
</tr>
</thead>
<tbody>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Thermal Sensors"); ?></td>
<td width="78%" class="vtable">
<select name="thermal_hardware" id="thermal_hardware">
<option value=""><?php echo gettext("None/ACPI"); ?></option>
<?php foreach ($thermal_hardware_modules as $themalmod_name => $themalmod_descr): ?>
<option value="<?php echo $themalmod_name; ?>" <?php if ($pconfig['thermal_hardware'] == $themalmod_name) echo " selected=\"selected\""; ?>><?php echo "{$themalmod_descr} ({$themalmod_name})"; ?></option>
<?php endforeach; ?>
</select>
<br />
<?=gettext("If you have a supported CPU, selecting a themal sensor will load the appropriate " .
"driver to read its temperature. Setting this to 'None' will attempt to read the " .
"temperature from an ACPI-compliant motherboard sensor instead, if one is present."); ?>
<br /><br />
<?=gettext("If you do not have a supported thermal sensor chip in your system, this option will have no " .
"effect. To unload the selected module, set this option to 'none' and then reboot."); ?>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Hard disk standby time "); ?></td>
<td width="78%" class="vtable">
<select name="harddiskstandby" class="formselect selectpicker" data-style="btn-default">
<?php
## Values from ATA-2 http://www.t13.org/project/d0948r3-ATA-2.pdf (Page 66)
$sbvals = explode(" ", "0.5,6 1,12 2,24 3,36 4,48 5,60 7.5,90 10,120 15,180 20,240 30,241 60,242");
?>
<option value="" <?php if(!$pconfig['harddiskstandby']) echo('selected="selected"');?>><?=gettext("Always on"); ?></option>
<?php
foreach ($sbvals as $sbval):
list($min,$val) = explode(",", $sbval);
?>
<option value="<?=$val;?>" <?php if($pconfig['harddiskstandby'] == $val) echo('selected="selected"');?>><?=$min;?> <?=gettext("minutes"); ?></option>
<?php endforeach; ?>
</select>
<br />
<?=gettext("Puts the hard disk into standby mode when the selected amount of time after the last ".
"access has elapsed."); ?> <em><?=gettext("Do not set this for CF cards."); ?></em>
</td>
</tr>
<?php endif; ?>
<tr>
<th colspan="2" valign="top" class="listtopic"><?=gettext("Package settings"); ?></th>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Package signature"); ?></td>
<td width="78%" class="vtable">
<input name="pkg_nochecksig" type="checkbox" id="pkg_nochecksig" value="yes" <?php if ($pconfig['pkg_nochecksig']) echo "checked=\"checked\""; ?> />
<strong><?=gettext("Do NOT check package signature"); ?></strong><br />
<?=gettext("Enable this option to allow OPNsense to install any package without checking its signature."); ?>
</td>
</tr>
<tr>
<td width="22%" valign="top">&nbsp;</td>
<td width="78%">
<input name="Submit" type="submit" class="btn btn-primary" value="<?=gettext("Save");?>" />
</td>
</tr>
</tbody>
</table>
<table width="100%" border="0" cellpadding="6" cellspacing="0" summary="main area" class="table table-striped">
<thead>
<tr>
<th colspan="2" valign="top" class="listtopic"><?=gettext("IP Security"); ?></th>
</tr>
</thead>
<tbody>
<tr>
<td width="22%" valign="top" class="vncell">&nbsp;</td>
<td width="78%" class="vtable">
<?=gettext("These settings have moved to <a href=\"vpn_ipsec_settings.php\">VPN &gt; IPsec on the Advanced Settings tab</a>."); ?>
</td>
</tr>
</tbody>
</table>
<table width="100%" border="0" cellpadding="6" cellspacing="0" summary="main area" class="table table-striped">
<thead>
<tr>
<th colspan="2" valign="top" class="listtopic"><?=gettext("Schedules"); ?></th>
</tr>
</thead>
<tbody>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Schedule States"); ?></td>
<td width="78%" class="vtable">
<input name="schedule_states" type="checkbox" id="schedule_states" value="yes" <?php if ($pconfig['schedule_states']) echo "checked=\"checked\""; ?> />
<br />
<?=gettext("By default schedules clear the states of existing connections when the expiration time has come. ".
"This option overrides that behavior by not clearing states for existing connections."); ?>
</td>
</tr>
</tbody>
</table>
<table width="100%" border="0" cellpadding="6" cellspacing="0" summary="main area" class="table table-striped">
<thead>
<tr>
<th colspan="2" valign="top" class="listtopic"><?=gettext("Gateway Monitoring"); ?></th>
</tr>
</thead>
<tbody>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("State Killing on Gateway Failure"); ?></td>
<td width="78%" class="vtable">
<input name="kill_states" type="checkbox" id="kill_states" value="yes" <?php if ($pconfig['kill_states']) echo "checked=\"checked\""; ?> />
<br />
<?=gettext("The monitoring process will flush states for a gateway that goes down if this box is not checked. Check this box to disable this behavior."); ?>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Skip rules when gateway is down"); ?></td>
<td width="78%" class="vtable">
<input name="skip_rules_gw_down" type="checkbox" id="skip_rules_gw_down" value="yes" <?php if ($pconfig['skip_rules_gw_down']) echo "checked=\"checked\""; ?> />
<br />
<?=gettext("By default, when a rule has a specific gateway set, and this gateway is down, ".
"rule is created and traffic is sent to default gateway.This option overrides that behavior ".
"and the rule is not created when gateway is down"); ?>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Enable debugging messages of gateway monitoring daemon"); ?></td>
<td width="78%" class="vtable">
<input name="apinger_debug" type="checkbox" id="apinger_debug" value="yes" <?php if ($pconfig['apinger_debug']) echo "checked=\"checked\""; ?> />
<br />
<?=gettext("By default, gateway monitoring does not log its error messages, ".
"by toggling this setting the daemon would enable logging its messages to syslog."); ?>
</td>
</tr>
<tr>
<td colspan="2" valign="top" class="listtopic"><?=gettext("RAM Disk Settings (Reboot to Apply Changes)"); ?></td>
</tr>
<?php if ($g['platform'] == "pfSense"): ?>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Use RAM Disks"); ?></td>
<td width="78%" class="vtable">
<input name="use_mfs_tmpvar" type="checkbox" id="use_mfs_tmpvar" value="yes" <?php if ($pconfig['use_mfs_tmpvar']) echo "checked=\"checked\""; ?> onclick="tmpvar_checked(this)" />
<strong><?=gettext("Use memory file system for /tmp and /var"); ?></strong><br />
<?=gettext("Set this if you wish to use /tmp and /var as RAM disks (memory file system disks) on a full install " .
"rather than use the hard disk. Setting this will cause the data in /tmp and /var to be lost at reboot, including log data. RRD and DHCP Leases will be retained."); ?>
</td>
</tr>
<?php endif; ?>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("/tmp RAM Disk Size"); ?></td>
<td width="78%" class="vtable">
<input name="use_mfs_tmp_size" id="use_mfs_tmp_size" value="<?php if ($pconfig['use_mfs_tmp_size'] <> "") echo $pconfig['use_mfs_tmp_size']; ?>" class="formfld unknown" <?php if (($g['platform'] == "pfSense") && ($pconfig['use_mfs_tmpvar'] == false)) echo "disabled=\"disabled\""; ?> /> MB
<br />
<?=gettext("Set the size, in MB, for the /tmp RAM disk. " .
"Leave blank for 40MB. Do not set lower than 40."); ?>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("/var RAM Disk Size"); ?></td>
<td width="78%" class="vtable">
<input name="use_mfs_var_size" id="use_mfs_var_size" value="<?php if ($pconfig['use_mfs_var_size'] <> "") echo $pconfig['use_mfs_var_size']; ?>" class="formfld unknown" <?php if (($g['platform'] == "pfSense") && ($pconfig['use_mfs_tmpvar'] == false)) echo "disabled=\"disabled\""; ?> /> MB
<br />
<?=gettext("Set the size, in MB, for the /var RAM disk. " .
"Leave blank for 60MB. Do not set lower than 60."); ?>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Periodic RRD Backup");?></td>
<td width="78%" class="vtable">
<?=gettext("Frequency:");?>
<select name="rrdbackup" id="rrdbackup" <?php if (($g['platform'] == "pfSense") && ($pconfig['use_mfs_tmpvar'] == false)) echo "disabled=\"disabled\""; ?> >
<option value='0' <?php if (!isset($config['system']['rrdbackup']) || ($config['system']['rrdbackup'] == 0)) echo "selected='selected'"; ?>><?=gettext("Disable"); ?></option>
<?php for ($x=1; $x<=24; $x++) { ?>
<option value='<?= $x ?>' <?php if ($config['system']['rrdbackup'] == $x) echo "selected='selected'"; ?>><?= $x ?> <?=gettext("hour"); ?><?php if ($x>1) echo "s"; ?></option>
<?php } ?>
</select>
<br />
<?=gettext("This will periodically backup the RRD data so it can be restored automatically on the next boot. Keep in mind that the more frequent the backup, the more writes will happen to your media.");?>
<br />
<br />
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Periodic DHCP Leases Backup");?></td>
<td width="78%" class="vtable">
<?=gettext("Frequency:");?>
<select name="dhcpbackup" id="dhcpbackup" <?php if (($g['platform'] == "pfSense") && ($pconfig['use_mfs_tmpvar'] == false)) echo "disabled=\"disabled\""; ?> >
<option value='0' <?php if (!isset($config['system']['dhcpbackup']) || ($config['system']['dhcpbackup'] == 0)) echo "selected='selected'"; ?>><?=gettext("Disable"); ?></option>
<?php for ($x=1; $x<=24; $x++) { ?>
<option value='<?= $x ?>' <?php if ($config['system']['dhcpbackup'] == $x) echo "selected='selected'"; ?>><?= $x ?> <?=gettext("hour"); ?><?php if ($x>1) echo "s"; ?></option>
<?php } ?>
</select>
<br />
<?=gettext("This will periodically backup the DHCP leases data so it can be restored automatically on the next boot. Keep in mind that the more frequent the backup, the more writes will happen to your media.");?>
<br />
<br />
</td>
</tr>
</tbody>
</table>
<?php if($g['platform'] == "pfSenseDISABLED"): ?>
<table width="100%" border="0" cellpadding="6" cellspacing="0" summary="main area" class="table table-striped">
<thead>
<tr>
<th colspan="2" valign="top" class="listtopic"><?=gettext("Hardware Settings"); ?></th>
</tr>
</thead>
<tbody>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Hard disk standby time "); ?></td>
<td width="78%" class="vtable">
<select name="harddiskstandby" class="formselect">
<?php
## Values from ATA-2 http://www.t13.org/project/d0948r3-ATA-2.pdf (Page 66)
$sbvals = explode(" ", "0.5,6 1,12 2,24 3,36 4,48 5,60 7.5,90 10,120 15,180 20,240 30,241 60,242");
?>
<option value="" <?php if(!$pconfig['harddiskstandby']) echo('selected="selected"');?>><?=gettext("Always on"); ?></option>
<?php
foreach ($sbvals as $sbval):
list($min,$val) = explode(",", $sbval);
?>
<option value="<?=$val;?>" <?php if($pconfig['harddiskstandby'] == $val) echo('selected="selected"');?>><?=$min;?> <?=gettext("minutes"); ?></option>
<?php endforeach; ?>
</select>
<br />
<?=gettext("Puts the hard disk into standby mode when the selected amount of time after the last ".
"access has elapsed."); ?> <em><?=gettext("Do not set this for CF cards."); ?></em>
</td>
</tr>
</tbody>
</table>
<?php endif; ?>
<table width="100%" border="0" cellpadding="6" cellspacing="0" summary="main area" class="table table-striped">
<thead>
<tr>
<th colspan="2" valign="top" class="listtopic"><?=gettext("Package settings"); ?></th>
</tr>
</thead>
<tbody>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Package signature"); ?></td>
<td width="78%" class="vtable">
<input name="pkg_nochecksig" type="checkbox" id="pkg_nochecksig" value="yes" <?php if ($pconfig['pkg_nochecksig']) echo "checked=\"checked\""; ?> />
<strong><?=gettext("Do NOT check package signature"); ?></strong><br />
<?=gettext("Enable this option to allow OPNsense to install any package without checking its signature."); ?>
</td>
</tr>
<tr>
<td width="22%" valign="top">&nbsp;</td>
<td width="78%">
<input name="Submit" type="submit" class="btn btn-primary" value="<?=gettext("Save");?>" />
</td>
</tr>
</tbody>
</table>
</div>
</form>
</form>
</div>
</section>
</div>
</div>
</section>

View File

@ -165,172 +165,126 @@ include("head.inc");
<!-- row -->
<section class="page-content-main">
<div class="container-fluid">
<div class="row">
<?php
if ($input_errors) print_input_errors($input_errors);
if ($savemsg) print_info_box($savemsg);
if ($input_errors) print_input_errors($input_errors);
if ($savemsg) print_info_box($savemsg);
?>
<section class="col-xs-12">
<? include('system_advanced_tabs.php'); ?>
<div class="content-box tab-content">
<form action="system_advanced_network.php" method="post" name="iform" id="iform">
<div class="table-responsive">
<table width="100%" border="0" cellpadding="6" cellspacing="0" summary="main area" class="table table-striped">
<thead>
<tr>
<th colspan="2" valign="top" class="listtopic"><?=gettext("IPv6 Options"); ?></th>
</tr>
</thead>
<tbody>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Allow IPv6"); ?></td>
<td width="78%" class="vtable">
<input name="ipv6allow" type="checkbox" id="ipv6allow" value="yes" <?php if ($pconfig['ipv6allow']) echo "checked=\"checked\""; ?> onclick="enable_change(false)" />
<strong><?=gettext("Allow IPv6"); ?></strong><br />
<?=gettext("All IPv6 traffic will be blocked by the firewall unless this box is checked."); ?><br />
<?=gettext("NOTE: This does not disable any IPv6 features on the firewall, it only blocks traffic."); ?><br />
<br />
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("IPv6 over IPv4 Tunneling"); ?></td>
<td width="78%" class="vtable">
<input name="ipv6nat_enable" type="checkbox" id="ipv6nat_enable" value="yes" <?php if ($pconfig['ipv6nat_enable']) echo "checked=\"checked\""; ?> onclick="enable_change(false)" />
<strong><?=gettext("Enable IPv4 NAT encapsulation of IPv6 packets"); ?></strong><br />
<?=gettext("This provides an RFC 2893 compatibility mechanism ".
"that can be used to tunneling IPv6 packets over IPv4 ".
"routing infrastructures. If enabled, don't forget to ".
"add a firewall rule to permit IPv6 packets."); ?><br />
<br />
<?=gettext("IP address"); ?>&nbsp;:&nbsp;
<input name="ipv6nat_ipaddr" type="text" class="formfld unknown" id="ipv6nat_ipaddr" size="20" value="<?=htmlspecialchars($pconfig['ipv6nat_ipaddr']);?>" />
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Prefer IPv4 over IPv6"); ?></td>
<td width="78%" class="vtable">
<input name="prefer_ipv4" type="checkbox" id="prefer_ipv4" value="yes" <?php if ($pconfig['prefer_ipv4']) echo "checked=\"checked\""; ?> />
<strong><?=gettext("Prefer to use IPv4 even if IPv6 is available"); ?></strong><br />
<?=gettext("By default, if a hostname resolves IPv6 and IPv4 addresses ".
"IPv6 will be used, if you check this option, IPv4 will be " .
"used instead of IPv6."); ?><br />
</td>
</tr>
</tbody>
</table>
<form action="system_advanced_network.php" method="post" name="iform" id="iform">
<table width="100%" border="0" cellpadding="6" cellspacing="0" summary="main area" class="table table-striped">
<thead>
<tr>
<th colspan="2" valign="top" class="listtopic"><?=gettext("Network Interfaces"); ?></th>
<th colspan="2" valign="top" class="listtopic"><?=gettext("IPv6 Options"); ?></th>
</tr>
</thead>
<tbody>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Device polling"); ?></td>
<td width="78%" class="vtable">
<input name="polling_enable" type="checkbox" id="polling_enable" value="yes" <?php if ($pconfig['polling_enable']) echo "checked=\"checked\""; ?> />
<strong><?=gettext("Enable device polling"); ?></strong><br />
<?php printf(gettext("Device polling is a technique that lets the system periodically poll network devices for new data instead of relying on interrupts. This prevents your webConfigurator, SSH, etc. from being inaccessible due to interrupt floods when under extreme load. Generally this is not recommended. Not all NICs support polling; see the %s homepage for a list of supported cards."), $g['product_name']); ?>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Hardware Checksum Offloading"); ?></td>
<td width="78%" class="vtable">
<input name="disablechecksumoffloading" type="checkbox" id="disablechecksumoffloading" value="yes" <?php if (isset($config['system']['disablechecksumoffloading'])) echo "checked=\"checked\""; ?> />
<strong><?=gettext("Disable hardware checksum offload"); ?></strong><br />
<?=gettext("Checking this option will disable hardware checksum offloading. Checksum offloading is broken in some hardware, particularly some Realtek cards. Rarely, drivers may have problems with checksum offloading and some specific NICs."); ?>
<br />
<span class="red"><strong><?=gettext("Note:");?>&nbsp;</strong></span>
<?=gettext("This will take effect after you reboot the machine or re-configure each interface.");?>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Hardware TCP Segmentation Offloading"); ?></td>
<td width="78%" class="vtable">
<input name="disablesegmentationoffloading" type="checkbox" id="disablesegmentationoffloading" value="yes" <?php if (isset($config['system']['disablesegmentationoffloading'])) echo "checked=\"checked\""; ?> />
<strong><?=gettext("Disable hardware TCP segmentation offload"); ?></strong><br />
<?=gettext("Checking this option will disable hardware TCP segmentation offloading (TSO, TSO4, TSO6). This offloading is broken in some hardware drivers, and may impact performance with some specific NICs."); ?>
<br />
<span class="red"><strong><?=gettext("Note:");?>&nbsp;</strong></span>
<?=gettext("This will take effect after you reboot the machine or re-configure each interface.");?>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Hardware Large Receive Offloading"); ?></td>
<td width="78%" class="vtable">
<input name="disablelargereceiveoffloading" type="checkbox" id="disablelargereceiveoffloading" value="yes" <?php if (isset($config['system']['disablelargereceiveoffloading'])) echo "checked=\"checked\""; ?> />
<strong><?=gettext("Disable hardware large receive offload"); ?></strong><br />
<?=gettext("Checking this option will disable hardware large receive offloading (LRO). This offloading is broken in some hardware drivers, and may impact performance with some specific NICs."); ?>
<br />
<span class="red"><strong><?=gettext("Note:");?>&nbsp;</strong></span>
<?=gettext("This will take effect after you reboot the machine or re-configure each interface.");?>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("ARP Handling"); ?></td>
<td width="78%" class="vtable">
<input name="sharednet" type="checkbox" id="sharednet" value="yes" <?php if (isset($pconfig['sharednet'])) echo "checked=\"checked\""; ?> />
<strong><?=gettext("Suppress ARP messages"); ?></strong><br />
<?=gettext("This option will suppress ARP log messages when multiple interfaces reside on the same broadcast domain"); ?>
</td>
</tr>
<?php
/*
$version = get_freebsd_version();
if($version == "8"):
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Allow IPv6"); ?></td>
<td width="78%" class="vtable">
<input name="ipv6allow" type="checkbox" id="ipv6allow" value="yes" <?php if ($pconfig['ipv6allow']) echo "checked=\"checked\""; ?> onclick="enable_change(false)" />
<strong><?=gettext("Allow IPv6"); ?></strong><br />
<?=gettext("All IPv6 traffic will be blocked by the firewall unless this box is checked."); ?><br />
<?=gettext("NOTE: This does not disable any IPv6 features on the firewall, it only blocks traffic."); ?><br />
<br />
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("IPv6 over IPv4 Tunneling"); ?></td>
<td width="78%" class="vtable">
<input name="ipv6nat_enable" type="checkbox" id="ipv6nat_enable" value="yes" <?php if ($pconfig['ipv6nat_enable']) echo "checked=\"checked\""; ?> onclick="enable_change(false)" />
<strong><?=gettext("Enable IPv4 NAT encapsulation of IPv6 packets"); ?></strong><br />
<?=gettext("This provides an RFC 2893 compatibility mechanism ".
"that can be used to tunneling IPv6 packets over IPv4 ".
"routing infrastructures. If enabled, don't forget to ".
"add a firewall rule to permit IPv6 packets."); ?><br />
<br />
<?=gettext("IP address"); ?>&nbsp;:&nbsp;
<input name="ipv6nat_ipaddr" type="text" class="formfld unknown" id="ipv6nat_ipaddr" size="20" value="<?=htmlspecialchars($pconfig['ipv6nat_ipaddr']);?>" />
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Prefer IPv4 over IPv6"); ?></td>
<td width="78%" class="vtable">
<input name="prefer_ipv4" type="checkbox" id="prefer_ipv4" value="yes" <?php if ($pconfig['prefer_ipv4']) echo "checked=\"checked\""; ?> />
<strong><?=gettext("Prefer to use IPv4 even if IPv6 is available"); ?></strong><br />
<?=gettext("By default, if a hostname resolves IPv6 and IPv4 addresses ".
"IPv6 will be used, if you check this option, IPv4 will be " .
"used instead of IPv6."); ?><br />
</td>
</tr>
<tr>
<th colspan="2" valign="top" class="listtopic"><?=gettext("Network Interfaces"); ?></th>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Device polling"); ?></td>
<td width="78%" class="vtable">
<input name="polling_enable" type="checkbox" id="polling_enable" value="yes" <?php if ($pconfig['polling_enable']) echo "checked=\"checked\""; ?> />
<strong><?=gettext("Enable device polling"); ?></strong><br />
<?php printf(gettext("Device polling is a technique that lets the system periodically poll network devices for new data instead of relying on interrupts. This prevents your webConfigurator, SSH, etc. from being inaccessible due to interrupt floods when under extreme load. Generally this is not recommended. Not all NICs support polling; see the %s homepage for a list of supported cards."), $g['product_name']); ?>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Hardware Checksum Offloading"); ?></td>
<td width="78%" class="vtable">
<input name="disablechecksumoffloading" type="checkbox" id="disablechecksumoffloading" value="yes" <?php if (isset($config['system']['disablechecksumoffloading'])) echo "checked=\"checked\""; ?> />
<strong><?=gettext("Disable hardware checksum offload"); ?></strong><br />
<?=gettext("Checking this option will disable hardware checksum offloading. Checksum offloading is broken in some hardware, particularly some Realtek cards. Rarely, drivers may have problems with checksum offloading and some specific NICs."); ?>
<br />
<span class="red"><strong><?=gettext("Note:");?>&nbsp;</strong></span>
<?=gettext("This will take effect after you reboot the machine or re-configure each interface.");?>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Hardware TCP Segmentation Offloading"); ?></td>
<td width="78%" class="vtable">
<input name="disablesegmentationoffloading" type="checkbox" id="disablesegmentationoffloading" value="yes" <?php if (isset($config['system']['disablesegmentationoffloading'])) echo "checked=\"checked\""; ?> />
<strong><?=gettext("Disable hardware TCP segmentation offload"); ?></strong><br />
<?=gettext("Checking this option will disable hardware TCP segmentation offloading (TSO, TSO4, TSO6). This offloading is broken in some hardware drivers, and may impact performance with some specific NICs."); ?>
<br />
<span class="red"><strong><?=gettext("Note:");?>&nbsp;</strong></span>
<?=gettext("This will take effect after you reboot the machine or re-configure each interface.");?>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Hardware Large Receive Offloading"); ?></td>
<td width="78%" class="vtable">
<input name="disablelargereceiveoffloading" type="checkbox" id="disablelargereceiveoffloading" value="yes" <?php if (isset($config['system']['disablelargereceiveoffloading'])) echo "checked=\"checked\""; ?> />
<strong><?=gettext("Disable hardware large receive offload"); ?></strong><br />
<?=gettext("Checking this option will disable hardware large receive offloading (LRO). This offloading is broken in some hardware drivers, and may impact performance with some specific NICs."); ?>
<br />
<span class="red"><strong><?=gettext("Note:");?>&nbsp;</strong></span>
<?=gettext("This will take effect after you reboot the machine or re-configure each interface.");?>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("ARP Handling"); ?></td>
<td width="78%" class="vtable">
<input name="sharednet" type="checkbox" id="sharednet" value="yes" <?php if (isset($pconfig['sharednet'])) echo "checked=\"checked\""; ?> />
<strong><?=gettext("Suppress ARP messages"); ?></strong><br />
<?=gettext("This option will suppress ARP log messages when multiple interfaces reside on the same broadcast domain"); ?>
</td>
</tr>
<tr>
<td colspan="2" class="list" height="12">&nbsp;</td>
<td width="22%" valign="top">&nbsp;</td>
<td width="78%"><input name="Submit" type="submit" class="btn btn-primary" value="<?=gettext("Save");?>" /></td>
</tr>
<tr>
<td colspan="2" valign="top" class="listtopic">Flowtable support</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell">Enable Flowtable</td>
<td width="78%" class="vtable">
<input name="flowtable" type="checkbox" id="polling_enable" value="yes" <?php if ($pconfig['flowtable']) echo "checked=\"checked\""; ?> />
<strong>Enable flowtable support</strong><br />
Enables infrastructure for caching flows as a means of accelerating L3 and L2 lookups
as well as providing stateful load balancing when used with RADIX_MPATH.<br />
</td>
</tr>
<?php endif; ?>
*/
?>
</tbody>
</table>
<table width="100%" border="0" cellpadding="6" cellspacing="0" summary="main area" class="table">
<tr>
<td width="22%" valign="top">&nbsp;</td>
<td width="78%"><input name="Submit" type="submit" class="btn btn-primary" value="<?=gettext("Save");?>" /></td>
</tr>
</table>
</tbody>
</table>
</form>
</div>
</form>
</div>
</section>
</div>
</section>
</div>
</div>
</section>
<script type="text/javascript">
//<![CDATA[
enable_change(false);
//]]>
</script>
<script type="text/javascript">
//<![CDATA[
enable_change(false);
//]]>
</script>
<?php include("foot.inc"); ?>

View File

@ -159,26 +159,21 @@ include("head.inc");
<!-- row -->
<section class="page-content-main">
<div class="container-fluid">
<div class="row">
<form action="system_advanced_notifications.php" method="post">
<?php
if ($input_errors) print_input_errors($input_errors);
if ($savemsg) print_info_box($savemsg);
?>
</form>
</form>
<section class="col-xs-12">
<? include('system_advanced_tabs.php'); ?>
<div class="content-box tab-content">
<form action="system_advanced_notifications.php" method="post" name="iform">
<div class="table-responsive">
<table width="100%" border="0" cellpadding="6" cellspacing="0" summary="main area" class="table table-striped">
<!-- GROWL -->
@ -197,21 +192,21 @@ include("head.inc");
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Registration Name"); ?></td>
<td width="78%" class="vtable">
<input name='name' value='<?php echo $pconfig['name']; ?>' /><br />
<input name='name' type='text' value='<?php echo $pconfig['name']; ?>' /><br />
<?=gettext("Enter the name to register with the Growl server (default: PHP-Growl)."); ?>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Notification Name"); ?></td>
<td width="78%" class="vtable">
<input name='notification_name' value='<?php echo $pconfig['notification_name']; ?>' /><br />
<input name='notification_name' type='text' value='<?php echo $pconfig['notification_name']; ?>' /><br />
<?=sprintf(gettext("Enter a name for the Growl notifications (default: %s growl alert)."), $g['product_name']); ?>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("IP Address"); ?></td>
<td width="78%" class="vtable">
<input name='ipaddress' value='<?php echo $pconfig['ipaddress']; ?>' /><br />
<input name='ipaddress' type='text' value='<?php echo $pconfig['ipaddress']; ?>' /><br />
<?=gettext("This is the IP address that you would like to send growl notifications to."); ?>
</td>
</tr>
@ -227,20 +222,14 @@ include("head.inc");
&nbsp;
</td>
<td>
<input type='submit' id='test_growl' name='test_growl' value='<?=gettext("Test Growl"); ?>' class="btn btn-default" />
<input type='submit' id='test_growl' name='test_growl' value='<?=gettext("Test Growl"); ?>' class="btn btn-primary" />
<br /><?= gettext("NOTE: A test notification will be sent even if the service is marked as disabled.") ?>
</td>
</tr>
</table>
<table width="100%" border="0" cellpadding="6" cellspacing="0" summary="main area" class="table table-striped">
<!-- SMTP -->
<thead>
<tr>
<th colspan="2" valign="top" class="listtopic"><?=gettext("SMTP E-Mail"); ?></th>
</tr>
</thead>
<tbody>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Disable SMTP Notifications"); ?></td>
<td width="78%" class="vtable">
@ -251,14 +240,14 @@ include("head.inc");
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("E-Mail server"); ?></td>
<td width="78%" class="vtable">
<input name='smtpipaddress' value='<?php echo $pconfig['smtpipaddress']; ?>' /><br />
<input name='smtpipaddress' type='text' value='<?php echo $pconfig['smtpipaddress']; ?>' /><br />
<?=gettext("This is the FQDN or IP address of the SMTP E-Mail server to which notifications will be sent."); ?>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("SMTP Port of E-Mail server"); ?></td>
<td width="78%" class="vtable">
<input name='smtpport' value='<?php echo $pconfig['smtpport']; ?>' /><br />
<input name='smtpport' type='text' value='<?php echo $pconfig['smtpport']; ?>' /><br />
<?=gettext("This is the port of the SMTP E-Mail server, typically 25, 587 (submission) or 465 (smtps)"); ?>
</td>
</tr>
@ -302,25 +291,17 @@ include("head.inc");
&nbsp;
</td>
<td>
<input type='submit' id='test_smtp' name='test_smtp' value='<?=gettext("Test SMTP"); ?>' class="btn btn-default" />
<input type='submit' id='test_smtp' name='test_smtp' value='<?=gettext("Test SMTP"); ?>' class="btn btn-primary" />
<br /><?= gettext("NOTE: A test message will be sent even if the service is marked as disabled.") ?>
</td>
</tr>
<tr>
<td colspan="2" class="list" height="12">&nbsp;</td>
</tr>
</tbody>
</table>
<table width="100%" border="0" cellpadding="6" cellspacing="0" summary="main area" class="table table-striped">
<!-- System Sounds -->
<thead>
<tr>
<th colspan="2" valign="top" class="listtopic"><?=gettext("System Sounds"); ?></th>
</tr>
</thead>
<tbody>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Startup/Shutdown Sound"); ?></td>
<td width="78%" class="vtable">
@ -343,9 +324,6 @@ include("head.inc");
</tr>
</tbody>
</table>
</div>
</form>
</div>
</section>

View File

@ -122,131 +122,116 @@ include("head.inc");
<!-- row -->
<section class="page-content-main">
<div class="container-fluid">
<div class="row">
<form action="system_advanced_sysctl.php" method="post">
<?php
if ($input_errors) print_input_errors($input_errors);
if ($savemsg) print_info_box($savemsg);
if (is_subsystem_dirty('sysctl') && ($act != "edit" ))
print_info_box_np(gettext("The firewall tunables have changed. You must apply the configuration to take affect."));
?>
</form>
<section class="col-xs-12">
<? include('system_advanced_tabs.php'); ?>
<div class="content-box tab-content">
<div class="table-responsive">
<?php if ($act != "edit" ): ?>
<table width="100%" border="0" cellpadding="6" cellspacing="0" summary="main area" class="table table-striped">
<thead>
<tr>
<th width="20%"><?=gettext("Tunable Name"); ?></th>
<th width="60%"><?=gettext("Description"); ?></th>
<th width="20%" colspan="2"><?=gettext("Value"); ?></th>
</tr>
</thead>
<tbody>
<?php $i = 0; foreach ($config['sysctl']['item'] as $tunable): ?>
<tr>
<td class="listlr" ondblclick="document.location='system_advanced_sysctl.php?act=edit&amp;id=<?=$i;?>';">
<?php echo $tunable['tunable']; ?>
</td>
<td class="listr" align="left" ondblclick="document.location='system_advanced_sysctl.php?act=edit&amp;id=<?=$i;?>';">
<?php echo $tunable['descr']; ?>
</td>
<td class="listr" align="left" ondblclick="document.location='system_advanced_sysctl.php?act=edit&amp;id=<?=$i;?>';">
<?php echo $tunable['value']; ?>
<?php
if($tunable['value'] == "default")
echo "(" . get_default_sysctl_value($tunable['tunable']) . ")";
?>
</td>
<td class="list nowrap">
<table border="0" cellspacing="0" cellpadding="1" summary="edit delete">
<tr>
<td valign="middle">
<a href="system_advanced_sysctl.php?act=edit&amp;id=<?=$i;?>" class="btn btn-default btn-xs">
<span class="glyphicon glyphicon-pencil"></span>
</a>
</td>
<td valign="middle">
<a href="system_advanced_sysctl.php?act=del&amp;id=<?=$i;?>" onclick="return confirm('<?=gettext("Do you really want to delete this entry?"); ?>')" class="btn btn-default btn-xs">
<span class="glyphicon glyphicon-remove"></span>
</a>
</td>
</tr>
</table>
</td>
</tr>
<?php $i++; endforeach; ?>
<tr>
<td colspan="4">
<a href="system_advanced_sysctl.php?act=edit" class="btn btn-primary pull-right">
<span class="glyphicon glyphicon-plus"></span>
</a>
</td>
</tr>
</tbody>
</table>
<?php else: ?>
<form action="system_advanced_sysctl.php" method="post" name="iform" id="iform">
<table width="100%" border="0" cellpadding="6" cellspacing="0" summary="edit system tunable" class="table table-striped">
<thead>
<tr>
<th colspan="2" valign="top" class="listtopic"><?=gettext("Edit system tunable"); ?></th>
</tr>
</thead>
<tbody>
<tr>
<td width="22%" valign="top" class="vncellreq"><?=gettext("Tunable"); ?></td>
<td width="78%" class="vtable">
<input size="65" name="tunable" value="<?php echo $pconfig['tunable']; ?>" />
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncellreq"><?=gettext("Description"); ?></td>
<td width="78%" class="vtable">
<textarea name="descr"><?php echo $pconfig['descr']; ?></textarea>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncellreq"><?=gettext("Value"); ?></td>
<td width="78%" class="vtable">
<input size="65" name="value" value="<?php echo $pconfig['value']; ?>" />
</td>
</tr>
<tr>
<td width="22%" valign="top">&nbsp;</td>
<td width="78%">
<input id="submit" name="Submit" type="submit" class="btn btn-primary" value="<?=gettext("Save"); ?>" />
<input type="button" class="btn btn-default" value="<?=gettext("Cancel");?>" onclick="window.location.href='<?=$referer;?>'" />
<?php if (isset($id) && $a_tunable[$id]): ?>
<input name="id" type="hidden" value="<?=htmlspecialchars($id);?>" />
<?php endif; ?>
</td>
</tr>
</tbody>
</table>
<?php
if ($input_errors) print_input_errors($input_errors);
if ($savemsg) print_info_box($savemsg);
if (is_subsystem_dirty('sysctl') && ($act != "edit" ))
print_info_box_np(gettext("The firewall tunables have changed. You must apply the configuration to take affect."));
?>
</form>
<?php endif; ?>
</div>
<section class="col-xs-12">
<? include('system_advanced_tabs.php'); ?>
<div class="content-box tab-content">
<?php if ($act != "edit" ): ?>
<table width="100%" border="0" cellpadding="6" cellspacing="0" summary="main area" class="table table-striped">
<thead>
<tr>
<th width="20%"><?=gettext("Tunable Name"); ?></th>
<th width="60%"><?=gettext("Description"); ?></th>
<th width="20%" colspan="2"><?=gettext("Value"); ?></th>
</tr>
</thead>
<tbody>
<?php $i = 0; foreach ($config['sysctl']['item'] as $tunable): ?>
<tr>
<td class="listlr" ondblclick="document.location='system_advanced_sysctl.php?act=edit&amp;id=<?=$i;?>';">
<?php echo $tunable['tunable']; ?>
</td>
<td class="listr" align="left" ondblclick="document.location='system_advanced_sysctl.php?act=edit&amp;id=<?=$i;?>';">
<?php echo $tunable['descr']; ?>
</td>
<td class="listr" align="left" ondblclick="document.location='system_advanced_sysctl.php?act=edit&amp;id=<?=$i;?>';">
<?php echo $tunable['value']; ?>
<?php
if($tunable['value'] == "default")
echo "(" . get_default_sysctl_value($tunable['tunable']) . ")";
?>
</td>
<td class="list nowrap">
<table border="0" cellspacing="0" cellpadding="1" summary="edit delete">
<tr>
<td valign="middle">
<a href="system_advanced_sysctl.php?act=edit&amp;id=<?=$i;?>" class="btn btn-default btn-xs">
<span data-toggle="tooltip" data-placement="left" title="<?=gettext("Edit Tunable"); ?>" class="glyphicon glyphicon-pencil"></span>
</a>
</td>
<td valign="middle">
<a href="system_advanced_sysctl.php?act=del&amp;id=<?=$i;?>" onclick="return confirm('<?=gettext("Do you really want to delete this entry?"); ?>')" class="btn btn-default btn-xs">
<span data-toggle="tooltip" data-placement="left" title="<?=gettext("Delete Tunable"); ?>" class="glyphicon glyphicon-remove"></span>
</a>
</td>
</tr>
</table>
</td>
</tr>
<?php $i++; endforeach; ?>
<tr>
<td colspan="4">
<a href="system_advanced_sysctl.php?act=edit" class="btn btn-primary pull-right">
<span class="glyphicon glyphicon-plus"></span>
</a>
</td>
</tr>
</tbody>
</table>
<?php else: ?>
<form action="system_advanced_sysctl.php" method="post" name="iform" id="iform">
<table width="100%" border="0" cellpadding="6" cellspacing="0" summary="edit system tunable" class="table table-striped">
<thead>
<tr>
<th colspan="2" valign="top" class="listtopic"><?=gettext("Edit system tunable"); ?></th>
</tr>
</thead>
<tbody>
<tr>
<td width="22%" valign="top" class="vncellreq"><?=gettext("Tunable"); ?></td>
<td width="78%" class="vtable">
<input size="65" name="tunable" type="text" value="<?php echo $pconfig['tunable']; ?>" />
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncellreq"><?=gettext("Description"); ?></td>
<td width="78%" class="vtable">
<textarea name="descr"><?php echo $pconfig['descr']; ?></textarea>
</td>
</tr>
<tr>
<td width="22%" valign="top" class="vncellreq"><?=gettext("Value"); ?></td>
<td width="78%" class="vtable">
<input size="65" name="value" type="text" value="<?php echo $pconfig['value']; ?>" />
</td>
</tr>
<tr>
<td width="22%" valign="top">&nbsp;</td>
<td width="78%">
<input id="submit" name="Submit" type="submit" class="btn btn-primary" value="<?=gettext("Save"); ?>" />
<input type="button" class="btn btn-default" value="<?=gettext("Cancel");?>" onclick="window.location.href='<?=$referer;?>'" />
<?php if (isset($id) && $a_tunable[$id]): ?>
<input name="id" type="hidden" value="<?=htmlspecialchars($id);?>" />
<?php endif; ?>
</td>
</tr>
</tbody>
</table>
</form>
<?php endif; ?>
</div>
</section>
</div>

View File

@ -381,7 +381,7 @@ function method_change() {
<tr>
<td width="22%" valign="top" class="vncellreq"><?=gettext("Method");?></td>
<td width="78%" class="vtable">
<select name='method' id='method' class="formselect" onchange='method_change()'>
<select name='method' id='method' class="formselect selectpicker" data-style="btn-default" onchange='method_change()'>
<?php
foreach($ca_methods as $method => $desc):
$selected = "";
@ -662,12 +662,12 @@ function method_change() {
</table>
</td>
<td valign="middle" class="list nowrap">
<a href="system_camanager.php?act=edit&amp;id=<?=$i;?>" title="<?=gettext("edit CA");?>" alt="<?=gettext("edit CA");?>" class="btn btn-default btn-xs"><span class="glyphicon glyphicon-pencil"></span></a>
<a href="system_camanager.php?act=exp&amp;id=<?=$i;?>" title="<?=gettext("export CA cert");?>" alt="<?=gettext("export CA cert");?>" class="btn btn-default btn-xs"><span class="glyphicon glyphicon-download"></span></a>
<a href="system_camanager.php?act=edit&amp;id=<?=$i;?>" data-toggle="tooltip" data-placement="left" title="<?=gettext("edit CA");?>" alt="<?=gettext("edit CA");?>" class="btn btn-default btn-xs"><span class="glyphicon glyphicon-pencil"></span></a>
<a href="system_camanager.php?act=exp&amp;id=<?=$i;?>" data-toggle="tooltip" data-placement="left" title="<?=gettext("export CA cert");?>" alt="<?=gettext("export CA cert");?>" class="btn btn-default btn-xs"><span class="glyphicon glyphicon-download"></span></a>
<?php if ($ca['prv']): ?>
<a href="system_camanager.php?act=expkey&amp;id=<?=$i;?>" title="<?=gettext("export CA private key");?>" class="btn btn-default btn-xs"><span class="glyphicon glyphicon-download"></span></a>
<a href="system_camanager.php?act=expkey&amp;id=<?=$i;?>" data-toggle="tooltip" data-placement="left" title="<?=gettext("export CA private key");?>" class="btn btn-default btn-xs"><span class="glyphicon glyphicon-download"></span></a>
<?php endif; ?>
<a href="system_camanager.php?act=del&amp;id=<?=$i;?>" onclick="return confirm('<?=gettext("Do you really want to delete this Certificate Authority and its CRLs, and unreference any associated certificates?");?>')" title="<?=gettext("delete ca");?>" class="btn btn-default btn-xs"><span class="glyphicon glyphicon-remove"></span></a>
<a href="system_camanager.php?act=del&amp;id=<?=$i;?>" data-toggle="tooltip" data-placement="left" onclick="return confirm('<?=gettext("Do you really want to delete this Certificate Authority and its CRLs, and unreference any associated certificates?");?>')" title="<?=gettext("delete ca");?>" class="btn btn-default btn-xs"><span class="glyphicon glyphicon-remove"></span></a>
</td>
</tr>
<?php

View File

@ -1151,17 +1151,17 @@ function internalca_change() {
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
<a href="system_certmanager.php?act=exp&amp;id=<?=$i;?>" class="btn btn-default btn-xs" title="<?=gettext("export ca");?>">
<a href="system_certmanager.php?act=exp&amp;id=<?=$i;?>" class="btn btn-default btn-xs" data-toggle="tooltip" data-placement="left" title="<?=gettext("export ca");?>">
<span class="glyphicon glyphicon-download"></span>
</a>
</td>
<td>
<a href="system_certmanager.php?act=key&amp;id=<?=$i;?>" class="btn btn-default btn-xs" title="<?=gettext("export key");?>">
<a href="system_certmanager.php?act=key&amp;id=<?=$i;?>" class="btn btn-default btn-xs" data-toggle="tooltip" data-placement="left" title="<?=gettext("export key");?>">
<span class="glyphicon glyphicon-download"></span>
</a>
</td>
<td>
<a href="system_certmanager.php?act=p12&amp;id=<?=$i;?>" class="btn btn-default btn-xs" title="<?=gettext("export ca cert+user cert+user cert key in .p12 format");?>">
<a href="system_certmanager.php?act=p12&amp;id=<?=$i;?>" class="btn btn-default btn-xs" data-toggle="tooltip" data-placement="left" title="<?=gettext("export ca cert+user cert+user cert key in .p12 format");?>">
<span class="glyphicon glyphicon-download"></span>
</a>
</td>

View File

@ -567,9 +567,9 @@ include("head.inc");
</td>
<td class="list">
<?php if ($cainternal == "YES"): ?>
<a href="system_crlmanager.php?act=new&amp;caref=<?php echo $ca['refid']; ?>" title="<?php printf(gettext("Add or Import CRL for %s"),$ca['descr']);?>" class="btn btn-default btn-xs"><span class="glyphicon glyphicon-plus"></span></a>
<a href="system_crlmanager.php?act=new&amp;caref=<?php echo $ca['refid']; ?>" data-toggle="tooltip" data-placement="left" title="<?php printf(gettext("Add or Import CRL for %s"),$ca['descr']);?>" class="btn btn-default btn-xs"><span class="glyphicon glyphicon-plus"></span></a>
<?php else: ?>
<a href="system_crlmanager.php?act=new&amp;caref=<?php echo $ca['refid']; ?>&amp;importonly=yes" title="<?php printf(gettext("Import CRL for %s"),$ca['descr']);?>" class="btn btn-default btn-xs"><span class="glyphicon glyphicon-plus"></span></a>
<a href="system_crlmanager.php?act=new&amp;caref=<?php echo $ca['refid']; ?>&amp;importonly=yes" data-toggle="tooltip" data-placement="left" title="<?php printf(gettext("Import CRL for %s"),$ca['descr']);?>" class="btn btn-default btn-xs"><span class="glyphicon glyphicon-plus"></span></a>
<?php endif; ?>
</td>
</tr>
@ -587,21 +587,21 @@ include("head.inc");
<td class="listr"><?php echo ($internal) ? count($tmpcrl['cert']) : "Unknown (imported)"; ?></td>
<td class="listr"><?php echo ($inuse) ? "YES" : "NO"; ?></td>
<td valign="middle" class="list nowrap">
<a href="system_crlmanager.php?act=exp&amp;id=<?=$tmpcrl['refid'];?>" class="btn btn-default">
<span class="glyphicon glyphicon-export" title="<?=gettext("Export CRL") . " " . htmlspecialchars($tmpcrl['descr']);?>"></span>
<a href="system_crlmanager.php?act=exp&amp;id=<?=$tmpcrl['refid'];?>" class="btn btn-default btn-xs">
<span class="glyphicon glyphicon-export" data-toggle="tooltip" data-placement="left" title="<?=gettext("Export CRL") . " " . htmlspecialchars($tmpcrl['descr']);?>"></span>
</a>
<?php if ($internal): ?>
<a href="system_crlmanager.php?act=edit&amp;id=<?=$tmpcrl['refid'];?>" class="btn btn-default">
<span class="glyphicon glyphicon-edit" title="<?=gettext("Edit CRL") . " " . htmlspecialchars($tmpcrl['descr']);?>"></span>
<a href="system_crlmanager.php?act=edit&amp;id=<?=$tmpcrl['refid'];?>" class="btn btn-default btn-xs">
<span class="glyphicon glyphicon-edit" data-toggle="tooltip" data-placement="left" title="<?=gettext("Edit CRL") . " " . htmlspecialchars($tmpcrl['descr']);?>"></span>
</a>
<?php else: ?>
<a href="system_crlmanager.php?act=editimported&amp;id=<?=$tmpcrl['refid'];?>" class="btn btn-default">
<span class="glyphicon glyphicon-edit" title="<?=gettext("Edit CRL") . " " . htmlspecialchars($tmpcrl['descr']);?>"></span>
<a href="system_crlmanager.php?act=editimported&amp;id=<?=$tmpcrl['refid'];?>" class="btn btn-default btn-xs">
<span class="glyphicon glyphicon-edit" data-toggle="tooltip" data-placement="left" title="<?=gettext("Edit CRL") . " " . htmlspecialchars($tmpcrl['descr']);?>"></span>
</a>
<?php endif; ?>
<?php if (!$inuse): ?>
<a href="system_crlmanager.php?act=del&amp;id=<?=$tmpcrl['refid'];?>" onclick="return confirm('<?=gettext("Do you really want to delete this Certificate Revocation List?") . ' (' . htmlspecialchars($tmpcrl['descr']) . ')';?>')" class="btn btn-default">
<span class="glyphicon glyphicon-remove" title="<?=gettext("Delete CRL") . " " . htmlspecialchars($tmpcrl['descr']);?>"></span>
<a href="system_crlmanager.php?act=del&amp;id=<?=$tmpcrl['refid'];?>" onclick="return confirm('<?=gettext("Do you really want to delete this Certificate Revocation List?") . ' (' . htmlspecialchars($tmpcrl['descr']) . ')';?>')" class="btn btn-default btn-xs">
<span class="glyphicon glyphicon-remove" data-toggle="tooltip" data-placement="left" title="<?=gettext("Delete CRL") . " " . htmlspecialchars($tmpcrl['descr']);?>"></span>
</a>
<?php endif; ?>
</td>

View File

@ -117,31 +117,36 @@ include("head.inc");
<td width="22%" class="vncell">Synchronize States</td>
<td class="vtable">
<input id='pfsyncenabled' type='checkbox' name='pfsyncenabled' value='on' <?php if ($pconfig['pfsyncenabled'] === "on") echo "checked='checked'"; ?> />
<br />
pfsync transfers state insertion, update, and deletion messages between firewalls. Each firewall sends these messages out via multicast on a specified interface, using the PFSYNC protocol (IP Protocol 240). It also listens on that interface for similar messages from other firewalls, and imports them into the local state table.<p>This setting should be enabled on all members of a failover group.</p><p>NOTE: Clicking save will force a configuration sync if it is enabled! (see Configuration Synchronization Settings below)</p>
pfsync transfers state insertion, update, and deletion messages between firewalls.<br/>
Each firewall sends these messages out via multicast on a specified interface, using the PFSYNC protocol <a href="http://www.openbsd.org/faq/pf/carp.html" target="_blank">(IP Protocol 240)</a>.
<br/>It also listens on that interface for similar messages from other firewalls, and imports them into the local state table.
<br/>This setting should be enabled on all members of a failover group.
<div class="well well-sm" ><b>Clicking save will force a configuration sync if it is enabled! (see Configuration Synchronization Settings below)</b></div>
</td>
</tr>
<tr valign="top">
<td width="22%" class="vncell">Synchronize Interface</td>
<td class="vtable">
<select id='pfsyncinterface' name="pfsyncinterface">
<select id='pfsyncinterface' name="pfsyncinterface" class="selectpicker" data-style="btn-default" data-live-search="true" data-width="auto">
<?php foreach ($ifaces as $ifname => $iface) { ?>
<?php $selected = ($pconfig['pfsyncinterface'] === $ifname) ? 'selected="selected"' : ''; ?>
<option value="<?= htmlentities($ifname); ?>" <?= $selected ?>><?= htmlentities($iface); ?></option>
<?php } ?>
</select>
<br />
If Synchronize States is enabled, it will utilize this interface for communication.<br />
<b>NOTE:</b> We recommend setting this to a interface other than LAN! A dedicated interface works the best.<br />
<b>NOTE:</b> You must define a IP on each machine participating in this failover group.<br />
<b>NOTE:</b> You must have an IP assigned to the interface on any participating sync nodes.
If Synchronize States is enabled, it will utilize this interface for communication.<br/><br/>
<div class="well">
<lu>
<li>We recommend setting this to a interface other than LAN! A dedicated interface works the best.</li>
<li>You must define a IP on each machine participating in this failover group.</li>
<li>You must have an IP assigned to the interface on any participating sync nodes.</li>
</lu>
</div>
</td>
</tr>
<tr valign="top">
<td width="22%" class="vncell">pfsync Synchronize Peer IP</td>
<td class="vtable">
<input id='pfsyncpeerip' name='pfsyncpeerip' class='formfld unknown' value='<?= htmlentities($pconfig['pfsyncpeerip']); ?>' />
<br />
<input id='pfsyncpeerip' name='pfsyncpeerip' type='text' class='formfld unknown' value='<?= htmlentities($pconfig['pfsyncpeerip']); ?>' />
Setting this option will force pfsync to synchronize its state table to this IP address. The default is directed multicast.
</td>
</tr>
@ -162,185 +167,170 @@ include("head.inc");
<tr valign="top">
<td width="22%" class="vncell">Synchronize Config to IP</td>
<td class="vtable">
<input id='synchronizetoip' name='synchronizetoip' class='formfld unknown' value='<?= htmlentities($pconfig['synchronizetoip']); ?>' />
<br />
<input id='synchronizetoip' name='synchronizetoip' type='text' class='formfld unknown' value='<?= htmlentities($pconfig['synchronizetoip']); ?>' />
Enter the IP address of the firewall to which the selected configuration sections should be synchronized.<br />
<br />
NOTE: XMLRPC sync is currently only supported over connections using the same protocol and port as this system - make sure the remote system's port and protocol are set accordingly!<br />
<br />
NOTE: <b>Do not use the Synchronize Config to IP and password option on backup cluster members!</b>
<div class="well">
<lu>
<li>XMLRPC sync is currently only supported over connections using the same protocol and port as this system - make sure the remote system's port and protocol are set accordingly!</li>
<li><b>Do not use the Synchronize Config to IP and password option on backup cluster members!</b></li>
</lu>
</div>
</td>
</tr>
<tr valign="top">
<td width="22%" class="vncell">Remote System Username</td>
<td class="vtable">
<input id='username' name='username' class='formfld unknown' value='<?= htmlentities($pconfig['username']); ?>' />
<input id='username' name='username' type='text' class='formfld unknown' value='<?= htmlentities($pconfig['username']); ?>' />
<br />
Enter the webConfigurator username of the system entered above for synchronizing your configuration.<br />
<br />
NOTE: <b>Do not use the Synchronize Config to IP and username option on backup cluster members!</b>
<div class="well well-sm">
<b>Do not use the Synchronize Config to IP and username option on backup cluster members!</b>
</div>
</td>
</tr>
<tr valign="top">
<td width="22%" class="vncell">Remote System Password</td>
<td class="vtable">
<input id='password' type='password' name='password' class='formfld pwd' value='<?= htmlentities($pconfig['password']); ?>' />
<input id='password' type='password' name='password' class='formfld pwd' value='<?= htmlentities($pconfig['password']); ?>' />
<br />
Enter the webConfigurator password of the system entered above for synchronizing your configuration.<br />
<br />
NOTE: <b>Do not use the Synchronize Config to IP and password option on backup cluster members!</b>
<div class="well well-sm">
<b>Do not use the Synchronize Config to IP and password option on backup cluster members!</b>
</div>
</td>
</tr>
<tr valign="top">
<td width="22%" class="vncell">Synchronize Users and Groups</td>
<td class="vtable">
<input id='synchronizeusers' type='checkbox' name='synchronizeusers' value='on' <?php if ($pconfig['synchronizeusers'] === "on") echo "checked='checked'"; ?> />
<br />
When this option is enabled, this system will automatically sync the users and groups over to the other HA host when changes are made.
Automatically sync the users and groups over to the other HA host when changes are made.
</td>
</tr>
<tr valign="top">
<td width="22%" class="vncell">Synchronize Auth Servers</td>
<td class="vtable">
<input id='synchronizeauthservers' type='checkbox' name='synchronizeauthservers' value='on' <?php if ($pconfig['synchronizeauthservers'] === "on") echo "checked='checked'"; ?> />
<br />
When this option is enabled, this system will automatically sync the authentication servers (e.g. LDAP, RADIUS) over to the other HA host when changes are made.
Automatically sync the authentication servers (e.g. LDAP, RADIUS) over to the other HA host when changes are made.
</td>
</tr>
<tr valign="top">
<td width="22%" class="vncell">Synchronize Certificates</td>
<td class="vtable">
<input id='synchronizecerts' type='checkbox' name='synchronizecerts' value='on' <?php if ($pconfig['synchronizecerts'] === "on") echo "checked='checked'"; ?> />
<br />
When this option is enabled, this system will automatically sync the Certificate Authorities, Certificates, and Certificate Revocation Lists over to the other HA host when changes are made.
Automatically sync the Certificate Authorities, Certificates, and Certificate Revocation Lists over to the other HA host when changes are made.
</td>
</tr>
<tr valign="top">
<td width="22%" class="vncell">Synchronize rules</td>
<td class="vtable">
<input id='synchronizerules' type='checkbox' name='synchronizerules' value='on' <?php if ($pconfig['synchronizerules'] === "on") echo "checked='checked'"; ?> />
<br />
When this option is enabled, this system will automatically sync the firewall rules to the other HA host when changes are made.
Automatically sync the firewall rules to the other HA host when changes are made.
</td>
</tr>
<tr valign="top">
<td width="22%" class="vncell">Synchronize Firewall Schedules</td>
<td class="vtable">
<input id='synchronizeschedules' type='checkbox' name='synchronizeschedules' value='on' <?php if ($pconfig['synchronizeschedules'] === "on") echo "checked='checked'"; ?> />
<br />
When this option is enabled, this system will automatically sync the firewall schedules to the other HA host when changes are made.
Automatically sync the firewall schedules to the other HA host when changes are made.
</td>
</tr>
<tr valign="top">
<td width="22%" class="vncell">Synchronize aliases</td>
<td class="vtable">
<input id='synchronizealiases' type='checkbox' name='synchronizealiases' value='on' <?php if ($pconfig['synchronizealiases'] === "on") echo "checked='checked'"; ?> />
<br />
When this option is enabled, this system will automatically sync the aliases over to the other HA host when changes are made.
Automatically sync the aliases over to the other HA host when changes are made.
</td>
</tr>
<tr valign="top">
<td width="22%" class="vncell">Synchronize NAT</td>
<td class="vtable">
<input id='synchronizenat' type='checkbox' name='synchronizenat' value='on' <?php if ($pconfig['synchronizenat'] === "on") echo "checked='checked'"; ?> />
<br />
When this option is enabled, this system will automatically sync the NAT rules over to the other HA host when changes are made.
Automatically sync the NAT rules over to the other HA host when changes are made.
</td>
</tr>
<tr valign="top">
<td width="22%" class="vncell">Synchronize IPsec</td>
<td class="vtable">
<input id='synchronizeipsec' type='checkbox' name='synchronizeipsec' value='on' <?php if ($pconfig['synchronizeipsec'] === "on") echo "checked='checked'"; ?> />
<br />
When this option is enabled, this system will automatically sync the IPsec configuration to the other HA host when changes are made.
Automatically sync the IPsec configuration to the other HA host when changes are made.
</td>
</tr>
<tr valign="top">
<td width="22%" class="vncell">Synchronize OpenVPN</td>
<td class="vtable">
<input id='synchronizeopenvpn' type='checkbox' name='synchronizeopenvpn' value='on' <?php if ($pconfig['synchronizeopenvpn'] === "on") echo "checked='checked'"; ?> />
<br />
When this option is enabled, this system will automatically sync the OpenVPN configuration to the other HA host when changes are made. Using this option implies "Synchronize Certificates" as they are required for OpenVPN.
Automatically sync the OpenVPN configuration to the other HA host when changes are made.
<div class="well well-sm"><b>Using this option implies "Synchronize Certificates" as they are required for OpenVPN.</b></div>
</td>
</tr>
<tr valign="top">
<td width="22%" class="vncell">Synchronize DHCPD</td>
<td class="vtable">
<input id='synchronizedhcpd' type='checkbox' name='synchronizedhcpd' value='on' <?php if ($pconfig['synchronizedhcpd'] === "on") echo "checked='checked'"; ?> />
<br />
When this option is enabled, this system will automatically sync the DHCP Server settings over to the other HA host when changes are made. This only applies to DHCP for IPv4.
Automatically sync the DHCP Server settings over to the other HA host when changes are made. This only applies to DHCP for IPv4.
</td>
</tr>
<tr valign="top">
<td width="22%" class="vncell">Synchronize Wake on LAN</td>
<td class="vtable">
<input id='synchronizewol' type='checkbox' name='synchronizewol' value='on' <?php if ($pconfig['synchronizewol'] === "on") echo "checked='checked'"; ?> />
<br />
When this option is enabled, this system will automatically sync the WoL configuration to the other HA host when changes are made.
Automatically sync the WoL configuration to the other HA host when changes are made.
</td>
</tr>
<tr valign="top">
<td width="22%" class="vncell">Synchronize Static Routes</td>
<td class="vtable">
<input id='synchronizestaticroutes' type='checkbox' name='synchronizestaticroutes' value='on' <?php if ($pconfig['synchronizestaticroutes'] === "on") echo "checked='checked'"; ?> />
<br />
When this option is enabled, this system will automatically sync the Static Route configuration to the other HA host when changes are made.
Automatically sync the Static Route configuration to the other HA host when changes are made.
</td>
</tr>
<tr valign="top">
<td width="22%" class="vncell">Synchronize Load Balancer</td>
<td class="vtable">
<input id='synchronizelb' type='checkbox' name='synchronizelb' value='on' <?php if ($pconfig['synchronizelb'] === "on") echo "checked='checked'"; ?> />
<br />
When this option is enabled, this system will automatically sync the Load Balancer configuration to the other HA host when changes are made.
Automatically sync the Load Balancer configuration to the other HA host when changes are made.
</td>
</tr>
<tr valign="top">
<td width="22%" class="vncell">Synchronize Virtual IPs</td>
<td class="vtable">
<input id='synchronizevirtualip' type='checkbox' name='synchronizevirtualip' value='on' <?php if ($pconfig['synchronizevirtualip'] === "on") echo "checked='checked'"; ?> />
<br />
When this option is enabled, this system will automatically sync the CARP Virtual IPs to the other HA host when changes are made.
Automatically sync the CARP Virtual IPs to the other HA host when changes are made.
</td>
</tr>
<tr valign="top">
<td width="22%" class="vncell">Synchronize traffic shaper(queues)</td>
<td class="vtable">
<input id='synchronizetrafficshaper' type='checkbox' name='synchronizetrafficshaper' value='on' <?php if ($pconfig['synchronizetrafficshaper'] === "on") echo "checked='checked'"; ?> />
<br />
When this option is enabled, this system will automatically sync the traffic shaper configuration for queues to the other HA host when changes are made.
Automatically sync the traffic shaper configuration for queues to the other HA host when changes are made.
</td>
</tr>
<tr valign="top">
<td width="22%" class="vncell">Synchronize traffic shaper(limiter)</td>
<td class="vtable">
<input id='synchronizetrafficshaperlimiter' type='checkbox' name='synchronizetrafficshaperlimiter' value='on' <?php if ($pconfig['synchronizetrafficshaperlimiter'] === "on") echo "checked='checked'"; ?> />
<br />
When this option is enabled, this system will automatically sync the traffic shaper configuration for limiters to the other HA host when changes are made.
Automatically sync the traffic shaper configuration for limiters to the other HA host when changes are made.
</td>
</tr>
<tr valign="top">
<td width="22%" class="vncell">Synchronize traffic shaper(layer7)</td>
<td class="vtable">
<input id='synchronizetrafficshaperlayer7' type='checkbox' name='synchronizetrafficshaperlayer7' value='on' <?php if ($pconfig['synchronizetrafficshaperlayer7'] === "on") echo "checked='checked'"; ?> />
<br />
When this option is enabled, this system will automatically sync the traffic shaper configuration for layer7 to the other HA host when changes are made.
Automatically sync the traffic shaper configuration for layer7 to the other HA host when changes are made.
</td>
</tr>
<tr valign="top">
<td width="22%" class="vncell">Synchronize DNS Forwarder</td>
<td class="vtable">
<input id='synchronizednsforwarder' type='checkbox' name='synchronizednsforwarder' value='on' <?php if ($pconfig['synchronizednsforwarder'] === "on") echo "checked='checked'"; ?> />
<br />
When this option is enabled, this system will automatically sync the DNS Forwarder configuration to the other HA host when changes are made.
Automatically sync the DNS Forwarder configuration to the other HA host when changes are made.
</td>
</tr>
<tr valign="top">
<td width="22%" class="vncell">Synchronize Captive Portal</td>
<td class="vtable">
<input id='synchronizecaptiveportal' type='checkbox' name='synchronizecaptiveportal' value='on' <?php if ($pconfig['synchronizecaptiveportal'] === "on") echo "checked='checked'"; ?> />
<br />
When this option is enabled, this system will automatically sync the Captive Portal configuration to the other HA host when changes are made.
Automatically sync the Captive Portal configuration to the other HA host when changes are made.
</td>
</tr>
<tr>

View File

@ -2,6 +2,6 @@
@color-blue-hover: rgba(100, 177, 216, 0.4);
@color-grey-arrow: rgba(204, 204, 204, 0.2);
@width-default: 220px; // 3 960px-grid columns
@width-default: 348px; // 3 960px-grid columns
@zindex-select-dropdown: 1035; // must be lower than a modal background (1040) but higher than the fixed navbar (1030)

View File

@ -149,8 +149,8 @@ $table-border-color: #eee !default;
$btn-font-weight: normal !default;
$btn-default-color: #757575 !default;
$btn-default-bg: #F7F7F7 !default;
$btn-default-color: #444 !default;
$btn-default-bg: #FFFFFF !default;
$btn-default-border: #e5e5e5 !default;
$btn-primary-color: #fff !default;

View File

@ -1,10 +1,3 @@
/*!
* Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select)
*
* Copyright 2013-2014 bootstrap-select
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
*/
.bootstrap-select {
/*width: 220px\9; IE8 and below*/
width: 220px \0;
@ -24,7 +17,7 @@
width: auto !important;
}
.bootstrap-select:not([class*="col-"]):not([class*="form-control"]):not(.input-group-btn) {
width: 220px;
width: 348px;
}
.bootstrap-select .btn:focus {
outline: thin dotted #333333 !important;
@ -94,9 +87,7 @@
.bootstrap-select.btn-group .dropdown-menu {
min-width: 100%;
z-index: 1035;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
box-sizing: border-box;
}
.bootstrap-select.btn-group .dropdown-menu.inner {
position: static;
@ -104,8 +95,7 @@
padding: 0;
margin: 0;
border-radius: 0;
-webkit-box-shadow: none;
box-shadow: none;
box-shadow: none;
}
.bootstrap-select.btn-group .dropdown-menu li {
position: relative;
@ -143,13 +133,10 @@
padding: 3px 5px;
background: #f5f5f5;
border: 1px solid #e3e3e3;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
pointer-events: none;
opacity: 0.9;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
box-sizing: border-box;
}
.bootstrap-select.btn-group .no-results {
padding: 3px;
@ -231,9 +218,7 @@
.bs-actionsbox {
float: left;
width: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
box-sizing: border-box;
}
.bs-actionsbox .btn-group button {
width: 50%;
@ -254,4 +239,3 @@
height: 100% !important;
opacity: 0;
}
/*# sourceMappingURL=bootstrap-select.css.map */

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -2783,27 +2783,27 @@ select[multiple].input-lg,
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
color: #757575;
background-color: #F7F7F7;
color: #444;
background-color: #FFFFFF;
border-color: #e5e5e5; }
.btn:hover, .btn:focus, .btn:active, .btn.active, .open > .btn.dropdown-toggle {
color: #757575;
background-color: #dedede;
color: #444;
background-color: #e6e6e6;
border-color: #c6c6c6; }
.btn:active, .btn.active, .open > .btn.dropdown-toggle {
background-image: none; }
.btn.disabled, .btn.disabled:hover, .btn.disabled:focus, .btn.disabled:active, .btn.disabled.active, .btn[disabled], .btn[disabled]:hover, .btn[disabled]:focus, .btn[disabled]:active, .btn[disabled].active, fieldset[disabled] .btn, fieldset[disabled] .btn:hover, fieldset[disabled] .btn:focus, fieldset[disabled] .btn:active, fieldset[disabled] .btn.active {
background-color: #F7F7F7;
background-color: #FFFFFF;
border-color: #e5e5e5; }
.btn .badge {
color: #F7F7F7;
background-color: #757575; }
color: #FFFFFF;
background-color: #444; }
.btn:focus, .btn:active:focus, .btn.active:focus {
outline: thin dotted;
outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px; }
.btn:hover, .btn:focus {
color: #757575;
color: #444;
text-decoration: none; }
.btn:active, .btn.active {
outline: 0;
@ -2819,21 +2819,21 @@ select[multiple].input-lg,
box-shadow: none; }
.btn-default {
color: #757575;
background-color: #F7F7F7;
color: #444;
background-color: #FFFFFF;
border-color: #e5e5e5; }
.btn-default:hover, .btn-default:focus, .btn-default:active, .btn-default.active, .open > .btn-default.dropdown-toggle {
color: #757575;
background-color: #dedede;
color: #444;
background-color: #e6e6e6;
border-color: #c6c6c6; }
.btn-default:active, .btn-default.active, .open > .btn-default.dropdown-toggle {
background-image: none; }
.btn-default.disabled, .btn-default.disabled:hover, .btn-default.disabled:focus, .btn-default.disabled:active, .btn-default.disabled.active, .btn-default[disabled], .btn-default[disabled]:hover, .btn-default[disabled]:focus, .btn-default[disabled]:active, .btn-default[disabled].active, fieldset[disabled] .btn-default, fieldset[disabled] .btn-default:hover, fieldset[disabled] .btn-default:focus, fieldset[disabled] .btn-default:active, fieldset[disabled] .btn-default.active {
background-color: #F7F7F7;
background-color: #FFFFFF;
border-color: #e5e5e5; }
.btn-default .badge {
color: #F7F7F7;
background-color: #757575; }
color: #FFFFFF;
background-color: #444; }
.btn-primary {
color: #fff;