Project

General

Profile

Download (32 KB) Statistics
| Branch: | Tag: | Revision:
1 df81417f Matthew Grooms
<?php
2
/* $Id$ */
3
/*
4
	system_advanced_misc.php
5
	part of pfSense
6 dd447bde Jim Thompson
	Copyright (C) 2005-2007 Scott Ullrich
7 29aef6c4 Jim Thompson
	Copyright (C) 2008 Shrew Soft Inc
8 ce77a9c4 Phil Davis
	Copyright (C) 2013-2015 Electric Sheep Fencing, LP
9 df81417f Matthew Grooms
10
	originally part of m0n0wall (http://m0n0.ch/wall)
11
	Copyright (C) 2003-2004 Manuel Kasper <mk@neon1.net>.
12
	All rights reserved.
13
14
	Redistribution and use in source and binary forms, with or without
15
	modification, are permitted provided that the following conditions are met:
16
17
	1. Redistributions of source code must retain the above copyright notice,
18
	   this list of conditions and the following disclaimer.
19
20
	2. Redistributions in binary form must reproduce the above copyright
21
	   notice, this list of conditions and the following disclaimer in the
22
	   documentation and/or other materials provided with the distribution.
23
24
	THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
25
	INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
26
	AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
27
	AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
28
	OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
29
	SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
30
	INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
31
	CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
32
	ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
33
	POSSIBILITY OF SUCH DAMAGE.
34
*/
35 1d333258 Scott Ullrich
/*
36
	pfSense_MODULE:	system
37
*/
38 df81417f Matthew Grooms
39
##|+PRIV
40
##|*IDENT=page-system-advanced-misc
41
##|*NAME=System: Advanced: Miscellaneous page
42
##|*DESCR=Allow access to the 'System: Advanced: Miscellaneous' page.
43 7997ed44 Renato Botelho
##|*MATCH=system_advanced_misc.php*
44 df81417f Matthew Grooms
##|-PRIV
45
46
require("guiconfig.inc");
47 7a927e67 Scott Ullrich
require_once("functions.inc");
48
require_once("filter.inc");
49
require_once("shaper.inc");
50 7b2fdac4 jim-p
require_once("vpn.inc");
51 6fbe0168 jim-p
require_once("vslb.inc");
52 df81417f Matthew Grooms
53 42c07003 Ermal
$pconfig['proxyurl'] = $config['system']['proxyurl'];
54
$pconfig['proxyport'] = $config['system']['proxyport'];
55
$pconfig['proxyuser'] = $config['system']['proxyuser'];
56
$pconfig['proxypass'] = $config['system']['proxypass'];
57 df81417f Matthew Grooms
$pconfig['harddiskstandby'] = $config['system']['harddiskstandby'];
58
$pconfig['lb_use_sticky'] = isset($config['system']['lb_use_sticky']);
59 45736415 jim-p
$pconfig['srctrack'] = $config['system']['srctrack'];
60 f4645d7f Ermal
$pconfig['gw_switch_default'] = isset($config['system']['gw_switch_default']);
61 8e9fa41d Scott Ullrich
$pconfig['powerd_enable'] = isset($config['system']['powerd_enable']);
62 7530177c jim-p
$pconfig['crypto_hardware'] = $config['system']['crypto_hardware'];
63 f60156f6 jim-p
$pconfig['thermal_hardware'] = $config['system']['thermal_hardware'];
64 f204df7d Ermal Lu?i
$pconfig['schedule_states'] = isset($config['system']['schedule_states']);
65 b0cf10bf Ermal
$pconfig['kill_states'] = isset($config['system']['kill_states']);
66 a1f735b3 Renato Botelho
$pconfig['skip_rules_gw_down'] = isset($config['system']['skip_rules_gw_down']);
67 a99547e4 Ermal
$pconfig['apinger_debug'] = isset($config['system']['apinger_debug']);
68 e92e83d4 jim-p
$pconfig['use_mfs_tmpvar'] = isset($config['system']['use_mfs_tmpvar']);
69
$pconfig['use_mfs_tmp_size'] = $config['system']['use_mfs_tmp_size'];
70
$pconfig['use_mfs_var_size'] = $config['system']['use_mfs_var_size'];
71 51623673 jim-p
$pconfig['pkg_nochecksig'] = isset($config['system']['pkg_nochecksig']);
72 df81417f Matthew Grooms
73 a358eec2 N0YB
$pconfig['powerd_ac_mode'] = "hadp";
74
if (!empty($config['system']['powerd_ac_mode']))
75
	$pconfig['powerd_ac_mode'] = $config['system']['powerd_ac_mode'];
76
77
$pconfig['powerd_battery_mode'] = "hadp";
78
if (!empty($config['system']['powerd_battery_mode']))
79
	$pconfig['powerd_battery_mode'] = $config['system']['powerd_battery_mode'];
80 53c210dd Cristian Feldman
81 3d77cc35 Steven Selph
$pconfig['powerd_normal_mode'] = "hadp";
82
if (!empty($config['system']['powerd_normal_mode']))
83
	$pconfig['powerd_normal_mode'] = $config['system']['powerd_normal_mode'];
84
85 7530177c jim-p
$crypto_modules = array('glxsb' => gettext("AMD Geode LX Security Block"),
86 43669934 Phil Davis
			'aesni' => gettext("AES-NI CPU-based Acceleration"));
87 7530177c jim-p
88 f60156f6 jim-p
$thermal_hardware_modules = array(	'coretemp' => gettext("Intel Core* CPU on-die thermal sensor"),
89
					'amdtemp' => gettext("AMD K8, K10 and K11 CPU on-die thermal sensor"));
90
91 df81417f Matthew Grooms
if ($_POST) {
92
93 4f537e93 Renato Botelho
	unset($input_errors);
94
	$pconfig = $_POST;
95 df81417f Matthew Grooms
96
	ob_flush();
97
	flush();
98
99 7530177c jim-p
	if (!empty($_POST['crypto_hardware']) && !array_key_exists($_POST['crypto_hardware'], $crypto_modules))
100
		$input_errors[] = gettext("Please select a valid Cryptographic Accelerator.");
101
102 f60156f6 jim-p
	if (!empty($_POST['thermal_hardware']) && !array_key_exists($_POST['thermal_hardware'], $thermal_hardware_modules))
103
		$input_errors[] = gettext("Please select a valid Thermal Hardware Sensor.");
104
105 427831ac Chris Buechler
	if (!empty($_POST['use_mfs_tmp_size']) && (!is_numeric($_POST['use_mfs_tmp_size']) || ($_POST['use_mfs_tmp_size'] < 40)))
106 efc0e29a jim-p
		$input_errors[] = gettext("/tmp Size must be numeric and should not be less than 40MB.");
107 e92e83d4 jim-p
108 427831ac Chris Buechler
	if (!empty($_POST['use_mfs_var_size']) && (!is_numeric($_POST['use_mfs_var_size']) || ($_POST['use_mfs_var_size'] < 60)))
109 efc0e29a jim-p
		$input_errors[] = gettext("/var Size must be numeric and should not be less than 60MB.");
110 e92e83d4 jim-p
111 df81417f Matthew Grooms
	if (!$input_errors) {
112
113
		if($_POST['harddiskstandby'] <> "") {
114
			$config['system']['harddiskstandby'] = $_POST['harddiskstandby'];
115
			system_set_harddisk_standby();
116
		} else
117
			unset($config['system']['harddiskstandby']);
118
119 42c07003 Ermal
		if($_POST['proxyurl'] <> "")
120
			$config['system']['proxyurl'] = $_POST['proxyurl'];
121
		else
122
			unset($config['system']['proxyurl']);
123
124
		if($_POST['proxyport'] <> "")
125
			$config['system']['proxyport'] = $_POST['proxyport'];
126
		else
127
			unset($config['system']['proxyport']);
128
129
		if($_POST['proxyuser'] <> "")
130
			$config['system']['proxyuser'] = $_POST['proxyuser'];
131
		else
132
			unset($config['system']['proxyuser']);
133
134
		if($_POST['proxypass'] <> "")
135
			$config['system']['proxypass'] = $_POST['proxypass'];
136
		else
137
			unset($config['system']['proxypass']);
138
139 6fbe0168 jim-p
		$need_relayd_restart = false;
140 45736415 jim-p
		if($_POST['lb_use_sticky'] == "yes") {
141 6fbe0168 jim-p
			if (!isset($config['system']['lb_use_sticky'])) {
142
				$config['system']['lb_use_sticky'] = true;
143 b95a4d8a jim-p
				$need_relayd_restart = true;
144
			}
145
			if ($config['system']['srctrack'] != $_POST['srctrack']) {
146 6fbe0168 jim-p
				$config['system']['srctrack'] = $_POST['srctrack'];
147
				$need_relayd_restart = true;
148
			}
149
		} else {
150
			if (isset($config['system']['lb_use_sticky'])) {
151
				unset($config['system']['lb_use_sticky']);
152
				$need_relayd_restart = true;
153
			}
154
		}
155 df81417f Matthew Grooms
156 f4645d7f Ermal
		if($_POST['gw_switch_default'] == "yes")
157
			$config['system']['gw_switch_default'] = true;
158
		else
159
			unset($config['system']['gw_switch_default']);
160
161 e5b5e29c Renato Botelho
		if($_POST['pkg_nochecksig'] == "yes")
162
			$config['system']['pkg_nochecksig'] = true;
163 51623673 jim-p
		elseif (isset($config['system']['pkg_nochecksig']))
164 e5b5e29c Renato Botelho
			unset($config['system']['pkg_nochecksig']);
165
166 f204df7d Ermal Lu?i
		if($_POST['powerd_enable'] == "yes")
167 4f537e93 Renato Botelho
			$config['system']['powerd_enable'] = true;
168
		else
169
			unset($config['system']['powerd_enable']);
170 f204df7d Ermal Lu?i
171 a358eec2 N0YB
		$config['system']['powerd_ac_mode'] = $_POST['powerd_ac_mode'];
172
		$config['system']['powerd_battery_mode'] = $_POST['powerd_battery_mode'];
173 3d77cc35 Steven Selph
		$config['system']['powerd_normal_mode'] = $_POST['powerd_normal_mode'];
174 7530177c jim-p
175
		if($_POST['crypto_hardware'])
176
			$config['system']['crypto_hardware'] = $_POST['crypto_hardware'];
177
		else
178
			unset($config['system']['crypto_hardware']);
179 f204df7d Ermal Lu?i
180 f60156f6 jim-p
		if($_POST['thermal_hardware'])
181
			$config['system']['thermal_hardware'] = $_POST['thermal_hardware'];
182
		else
183
			unset($config['system']['thermal_hardware']);
184
185 f204df7d Ermal Lu?i
		if($_POST['schedule_states'] == "yes")
186 4f537e93 Renato Botelho
			$config['system']['schedule_states'] = true;
187
		else
188
			unset($config['system']['schedule_states']);
189 df81417f Matthew Grooms
190 b0cf10bf Ermal
		if($_POST['kill_states'] == "yes")
191 4f537e93 Renato Botelho
			$config['system']['kill_states'] = true;
192
		else
193
			unset($config['system']['kill_states']);
194 b0cf10bf Ermal
195 a1f735b3 Renato Botelho
		if($_POST['skip_rules_gw_down'] == "yes")
196
			$config['system']['skip_rules_gw_down'] = true;
197
		else
198
			unset($config['system']['skip_rules_gw_down']);
199
200 a99547e4 Ermal
		$need_apinger_restart = false;
201
		if($_POST['apinger_debug'] == "yes") {
202
			if (!isset($config['system']['apinger_debug']))
203
				$need_apinger_restart = true;
204
			$config['system']['apinger_debug'] = true;
205
		} else {
206
			if (isset($config['system']['apinger_debug']))
207
				$need_apinger_restart = true;
208
			unset($config['system']['apinger_debug']);
209
		}
210
211 e92e83d4 jim-p
		if($_POST['use_mfs_tmpvar'] == "yes")
212
			$config['system']['use_mfs_tmpvar'] = true;
213
		else
214
			unset($config['system']['use_mfs_tmpvar']);
215
216
		$config['system']['use_mfs_tmp_size'] = $_POST['use_mfs_tmp_size'];
217
		$config['system']['use_mfs_var_size'] = $_POST['use_mfs_var_size'];
218
219
		if (isset($_POST['rrdbackup'])) {
220
			$config['system']['rrdbackup'] = $_POST['rrdbackup'];
221
			install_cron_job("/etc/rc.backup_rrd.sh", ($config['system']['rrdbackup'] > 0), $minute="0", "*/{$config['system']['rrdbackup']}");
222
		}
223
		if (isset($_POST['dhcpbackup'])) {
224
			$config['system']['dhcpbackup'] = $_POST['dhcpbackup'];
225
			install_cron_job("/etc/rc.backup_dhcpleases.sh", ($config['system']['dhcpbackup'] > 0), $minute="0", "*/{$config['system']['dhcpbackup']}");
226
		}
227
228 df81417f Matthew Grooms
		write_config();
229
230
		$retval = 0;
231 6c86a39f Ermal
		system_resolvconf_generate(true);
232 df81417f Matthew Grooms
		$retval = filter_configure();
233
		if(stristr($retval, "error") <> true)
234 4f537e93 Renato Botelho
			$savemsg = get_std_save_message(gettext($retval));
235 df81417f Matthew Grooms
		else
236 4f537e93 Renato Botelho
			$savemsg = gettext($retval);
237
238 8e9fa41d Scott Ullrich
		activate_powerd();
239 7530177c jim-p
		load_crypto();
240 f60156f6 jim-p
		load_thermal_hardware();
241 37129ab8 Pierre POMES
		if ($need_relayd_restart)
242
			relayd_configure();
243 a99547e4 Ermal
		if ($need_apinger_restart)
244
			setup_gateways_monitor();
245 df81417f Matthew Grooms
	}
246
}
247
248 e51ed1e9 Vinicius Coque
$pgtitle = array(gettext("System"),gettext("Advanced: Miscellaneous"));
249 df81417f Matthew Grooms
include("head.inc");
250
251
?>
252
253
<body link="#0000CC" vlink="#0000CC" alink="#0000CC">
254
<?php
255
	include("fbegin.inc");
256
	if ($input_errors)
257
		print_input_errors($input_errors);
258
	if ($savemsg)
259
		print_info_box($savemsg);
260
?>
261 481e09b3 Colin Fleming
<script type="text/javascript">
262
//<![CDATA[
263 45736415 jim-p
function sticky_checked(obj) {
264
	if (obj.checked)
265
		jQuery('#srctrack').attr('disabled',false);
266
	else
267
		jQuery('#srctrack').attr('disabled','true');
268
}
269 e92e83d4 jim-p
function tmpvar_checked(obj) {
270
	if (obj.checked) {
271
		jQuery('#use_mfs_tmp_size').attr('disabled',false);
272
		jQuery('#use_mfs_var_size').attr('disabled',false);
273
		jQuery('#rrdbackup').attr('disabled',false);
274
		jQuery('#dhcpbackup').attr('disabled',false);
275
	} else {
276
		jQuery('#use_mfs_tmp_size').attr('disabled','true');
277
		jQuery('#use_mfs_var_size').attr('disabled','true');
278
		jQuery('#rrdbackup').attr('disabled','true');
279
		jQuery('#dhcpbackup').attr('disabled','true');
280
	}
281
}
282 481e09b3 Colin Fleming
//]]>
283 6441fa9a Ermal
</script>
284 ab3c8553 Matthew Grooms
	<form action="system_advanced_misc.php" method="post" name="iform" id="iform">
285 481e09b3 Colin Fleming
		<table width="100%" border="0" cellpadding="0" cellspacing="0" summary="system advanced misc">
286 ab3c8553 Matthew Grooms
			<tr>
287
				<td>
288
					<?php
289
						$tab_array = array();
290 e51ed1e9 Vinicius Coque
						$tab_array[] = array(gettext("Admin Access"), false, "system_advanced_admin.php");
291
						$tab_array[] = array(gettext("Firewall / NAT"), false, "system_advanced_firewall.php");
292
						$tab_array[] = array(gettext("Networking"), false, "system_advanced_network.php");
293
						$tab_array[] = array(gettext("Miscellaneous"), true, "system_advanced_misc.php");
294
						$tab_array[] = array(gettext("System Tunables"), false, "system_advanced_sysctl.php");
295
						$tab_array[] = array(gettext("Notifications"), false, "system_advanced_notifications.php");
296 ab3c8553 Matthew Grooms
						display_top_tabs($tab_array);
297
					?>
298
				</td>
299
			</tr>
300
			<tr>
301 2ff19bfd Matthew Grooms
				<td id="mainarea">
302
					<div class="tabcont">
303
						<span class="vexpl">
304
							<span class="red">
305 481e09b3 Colin Fleming
								<strong><?=gettext("NOTE:"); ?>&nbsp;</strong>
306 2ff19bfd Matthew Grooms
							</span>
307 1eacdc8a Carlos Eduardo Ramos
							<?=gettext("The options on this page are intended for use by advanced users only."); ?>
308 8cd558b6 ayvis
							<br />
309 2ff19bfd Matthew Grooms
						</span>
310 8cd558b6 ayvis
						<br />
311 481e09b3 Colin Fleming
						<table width="100%" border="0" cellpadding="6" cellspacing="0" summary="main area">
312 42c07003 Ermal
							<tr>
313
								<td colspan="2" valign="top" class="listtopic"><?=gettext("Proxy support"); ?></td>
314
							</tr>
315
							<tr>
316
								<td width="22%" valign="top" class="vncell"><?=gettext("Proxy URL"); ?></td>
317
								<td width="78%" class="vtable">
318 481e09b3 Colin Fleming
									<input name="proxyurl" id="proxyurl" value="<?php if ($pconfig['proxyurl'] <> "") echo $pconfig['proxyurl']; ?>" class="formfld unknown" />
319 42c07003 Ermal
									<br />
320 0c4cd13f Chris Buechler
									<?php printf(gettext("Hostname or IP address of proxy server this system will use for its outbound Internet access.")); ?>
321 42c07003 Ermal
								</td>
322
							</tr>
323
							<tr>
324
								<td width="22%" valign="top" class="vncell"><?=gettext("Proxy Port"); ?></td>
325
								<td width="78%" class="vtable">
326 481e09b3 Colin Fleming
									<input name="proxyport" id="proxyport" value="<?php if ($pconfig['proxyport'] <> "") echo $pconfig['proxyport']; ?>" class="formfld unknown" />
327 42c07003 Ermal
									<br />
328 0c4cd13f Chris Buechler
									<?php printf(gettext("Port where proxy server is listening.")); ?>
329 42c07003 Ermal
								</td>
330
							</tr>
331
							<tr>
332
								<td width="22%" valign="top" class="vncell"><?=gettext("Proxy Username"); ?></td>
333
								<td width="78%" class="vtable">
334 481e09b3 Colin Fleming
									<input name="proxyuser" id="proxyuser" value="<?php if ($pconfig['proxyuser'] <> "") echo $pconfig['proxyuser']; ?>" class="formfld unknown" />
335 42c07003 Ermal
									<br />
336 0c4cd13f Chris Buechler
									<?php printf(gettext("Username for authentication to proxy server. Optional, leave blank to not use authentication.")); ?>
337 42c07003 Ermal
								</td>
338
							</tr>
339
							<tr>
340 0c4cd13f Chris Buechler
								<td width="22%" valign="top" class="vncell"><?=gettext("Proxy Password"); ?></td>
341 42c07003 Ermal
								<td width="78%" class="vtable">
342 481e09b3 Colin Fleming
									<input type="password" name="proxypass" id="proxypass" value="<?php if ($pconfig['proxypass'] <> "") echo $pconfig['proxypass']; ?>" class="formfld unknown" />
343 42c07003 Ermal
									<br />
344 0c4cd13f Chris Buechler
									<?php printf(gettext("Password for authentication to proxy server.")); ?>
345 42c07003 Ermal
								</td>
346
							</tr>
347 ab3c8553 Matthew Grooms
							<tr>
348 1eacdc8a Carlos Eduardo Ramos
								<td colspan="2" valign="top" class="listtopic"><?=gettext("Load Balancing"); ?></td>
349 ab3c8553 Matthew Grooms
							</tr>
350
							<tr>
351 1eacdc8a Carlos Eduardo Ramos
								<td width="22%" valign="top" class="vncell"><?=gettext("Load Balancing"); ?></td>
352 ab3c8553 Matthew Grooms
								<td width="78%" class="vtable">
353 481e09b3 Colin Fleming
									<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)" />
354 8cd558b6 ayvis
									<strong><?=gettext("Use sticky connections"); ?></strong><br />
355 f0d1af93 Carlos Eduardo Ramos
									<?=gettext("Successive connections will be redirected to the servers " .
356
									"in a round-robin manner with connections from the same " .
357
									"source being sent to the same web server. This 'sticky " .
358
									"connection' will exist as long as there are states that " .
359
									"refer to this connection. Once the states expire, so will " .
360
									"the sticky connection. Further connections from that host " .
361
									"will be redirected to the next web server in the round " .
362 6fbe0168 jim-p
									"robin. Changing this option will restart the Load Balancing service."); ?>
363 45736415 jim-p
									<br />
364 481e09b3 Colin Fleming
									<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\""; ?> />
365 45736415 jim-p
									<br />
366
									<?=gettext("Set the source tracking timeout for sticky connections. " .
367
									"By default this is 0, so source tracking is removed as soon as the state expires. " .
368
									"Setting this timeout higher will cause the source/destination relationship to persist for longer periods of time."); ?>
369 ab3c8553 Matthew Grooms
								</td>
370
							</tr>
371 f4645d7f Ermal
							<tr>
372
								<td width="22%" valign="top" class="vncell"><?=gettext("Load Balancing"); ?></td>
373
								<td width="78%" class="vtable">
374 3781d809 Ermal
									<input name="gw_switch_default" type="checkbox" id="gw_switch_default" value="yes" <?php if ($pconfig['gw_switch_default']) echo "checked=\"checked\""; ?> />
375 0c4cd13f Chris Buechler
									<strong><?=gettext("Enable default gateway switching"); ?></strong><br />
376
									<?=gettext("If the default gateway goes down, " .
377
									"switch the default gateway to another available one. This is not enabled by default, as it's unnecessary in most all scenarios, which instead use gateway groups."); ?>
378 f4645d7f Ermal
								</td>
379
							</tr>
380 c912fe28 Scott Ullrich
							<tr>
381
								<td colspan="2" class="list" height="12">&nbsp;</td>
382
							</tr>
383 ab3c8553 Matthew Grooms
							<tr>
384 1eacdc8a Carlos Eduardo Ramos
								<td colspan="2" valign="top" class="listtopic"><?=gettext("Power savings"); ?></td>
385 ab3c8553 Matthew Grooms
							</tr>
386 8e9fa41d Scott Ullrich
							<tr>
387 1eacdc8a Carlos Eduardo Ramos
								<td width="22%" valign="top" class="vncell"><?=gettext("PowerD"); ?></td>
388 8e9fa41d Scott Ullrich
								<td width="78%" class="vtable">
389 481e09b3 Colin Fleming
									<input name="powerd_enable" type="checkbox" id="powerd_enable" value="yes" <?php if ($pconfig['powerd_enable']) echo "checked=\"checked\""; ?> />
390 8cd558b6 ayvis
									<strong><?=gettext("Use PowerD"); ?></strong><br />
391
									<br />
392 a358eec2 N0YB
									<?=gettext("On AC Power Mode"); ?>&nbsp;:&nbsp;
393
									<select name="powerd_ac_mode" id="powerd_ac_mode">
394 481e09b3 Colin Fleming
										<option value="hadp"<?php if($pconfig['powerd_ac_mode']=="hadp") echo " selected=\"selected\""; ?>><?=gettext("Hiadaptive");?></option>
395
										<option value="adp"<?php if($pconfig['powerd_ac_mode']=="adp") echo " selected=\"selected\""; ?>><?=gettext("Adaptive");?></option>
396
										<option value="min"<?php if($pconfig['powerd_ac_mode']=="min") echo " selected=\"selected\""; ?>><?=gettext("Minimum");?></option>
397
										<option value="max"<?php if($pconfig['powerd_ac_mode']=="max") echo " selected=\"selected\""; ?>><?=gettext("Maximum");?></option>
398 a358eec2 N0YB
									</select>
399
									&nbsp;&nbsp;
400
									<?=gettext("On Battery Power Mode"); ?>&nbsp;:&nbsp;
401
									<select name="powerd_battery_mode" id="powerd_battery_mode">
402 481e09b3 Colin Fleming
										<option value="hadp"<?php if($pconfig['powerd_battery_mode']=="hadp") echo " selected=\"selected\""; ?>><?=gettext("Hiadaptive");?></option>
403
										<option value="adp"<?php if($pconfig['powerd_battery_mode']=="adp") echo " selected=\"selected\""; ?>><?=gettext("Adaptive");?></option>
404
										<option value="min"<?php if($pconfig['powerd_battery_mode']=="min") echo " selected=\"selected\""; ?>><?=gettext("Minimum");?></option>
405
										<option value="max"<?php if($pconfig['powerd_battery_mode']=="max") echo " selected=\"selected\""; ?>><?=gettext("Maximum");?></option>
406 53c210dd Cristian Feldman
									</select>
407 3d77cc35 Steven Selph
									<br />
408
									<?=gettext("On Unknown Power Mode"); ?>&nbsp;:&nbsp;
409
									<select name="powerd_normal_mode" id="powerd_normal_mode">
410
										<option value="hadp"<?php if($pconfig['powerd_normal_mode']=="hadp") echo " selected=\"selected\""; ?>><?=gettext("Hiadaptive");?></option>
411
										<option value="adp"<?php if($pconfig['powerd_normal_mode']=="adp") echo " selected=\"selected\""; ?>><?=gettext("Adaptive");?></option>
412
										<option value="min"<?php if($pconfig['powerd_normal_mode']=="min") echo " selected=\"selected\""; ?>><?=gettext("Minimum");?></option>
413
										<option value="max"<?php if($pconfig['powerd_normal_mode']=="max") echo " selected=\"selected\""; ?>><?=gettext("Maximum");?></option>
414
									</select>
415 8cd558b6 ayvis
									<br /><br />
416 4f537e93 Renato Botelho
									<?=gettext("The powerd utility monitors the system state and sets various power control " .
417
									"options accordingly.  It offers four modes (maximum, minimum, adaptive " .
418
									"and hiadaptive) that can be individually selected while on AC power or batteries. " .
419
									"The modes maximum, minimum, adaptive and hiadaptive may be abbreviated max, " .
420
									"min, adp, hadp.  Maximum mode chooses the highest performance values.  Minimum " .
421
									"mode selects the lowest performance values to get the most power savings. " .
422
									"Adaptive mode attempts to strike a balance by degrading performance when " .
423
									"the system appears idle and increasing it when the system is busy.  It " .
424
									"offers a good balance between a small performance loss for greatly " .
425
									"increased power savings.  Hiadaptive mode is alike adaptive mode, but " .
426 991549b4 Renato Botelho
									"tuned for systems where performance and interactivity are more important " .
427
									"than power consumption.  It raises frequency faster, drops slower and " .
428 4f537e93 Renato Botelho
									"keeps twice lower CPU load."); ?>
429 8e9fa41d Scott Ullrich
								</td>
430
							</tr>
431
							<tr>
432
								<td colspan="2" class="list" height="12">&nbsp;</td>
433
							</tr>
434 09f18f59 jim-p
							<tr>
435 7530177c jim-p
								<td colspan="2" valign="top" class="listtopic"><?=gettext("Cryptographic Hardware Acceleration"); ?></td>
436 09f18f59 jim-p
							</tr>
437
							<tr>
438 7530177c jim-p
								<td width="22%" valign="top" class="vncell"><?=gettext("Cryptographic Hardware"); ?></td>
439 09f18f59 jim-p
								<td width="78%" class="vtable">
440 7530177c jim-p
									<select name="crypto_hardware" id="crypto_hardware">
441
										<option value=""><?php echo gettext("None"); ?></option>
442
										<?php foreach ($crypto_modules as $cryptomod_name => $cryptomod_descr): ?>
443 481e09b3 Colin Fleming
											<option value="<?php echo $cryptomod_name; ?>" <?php if ($pconfig['crypto_hardware'] == $cryptomod_name) echo " selected=\"selected\""; ?>><?php echo "{$cryptomod_descr} ({$cryptomod_name})"; ?></option>
444 7530177c jim-p
										<?php endforeach; ?>
445
									</select>
446 09f18f59 jim-p
									<br />
447 4f537e93 Renato Botelho
									<?=gettext("A cryptographic accelerator module will use hardware support to speed up some " .
448 7530177c jim-p
										"cryptographic functions on systems which have the chip. Do not enable this " .
449
										"option if you have a Hifn cryptographic acceleration card, as this will take " .
450
										"precedence and the Hifn card will not be used. Acceleration should be automatic " .
451
										"for IPsec when using a cipher supported by your chip, such as AES-128. OpenVPN " .
452
										"should be set for AES-128-CBC and have cryptodev enabled for hardware " .
453
										"acceleration."); ?>
454 8cd558b6 ayvis
									<br /><br />
455 4f537e93 Renato Botelho
									<?=gettext("If you do not have a crypto chip in your system, this option will have no " .
456
									"effect. To unload the selected module, set this option to 'none' and then reboot."); ?>
457 09f18f59 jim-p
								</td>
458
							</tr>
459
							<tr>
460
								<td colspan="2" class="list" height="12">&nbsp;</td>
461
							</tr>
462 f60156f6 jim-p
							<tr>
463
								<td colspan="2" valign="top" class="listtopic"><?=gettext("Thermal Sensors"); ?></td>
464
							</tr>
465
							<tr>
466
								<td width="22%" valign="top" class="vncell"><?=gettext("Thermal Sensors"); ?></td>
467
								<td width="78%" class="vtable">
468
								<select name="thermal_hardware" id="thermal_hardware">
469
									<option value=""><?php echo gettext("None/ACPI"); ?></option>
470
									<?php foreach ($thermal_hardware_modules as $themalmod_name => $themalmod_descr): ?>
471 481e09b3 Colin Fleming
										<option value="<?php echo $themalmod_name; ?>" <?php if ($pconfig['thermal_hardware'] == $themalmod_name) echo " selected=\"selected\""; ?>><?php echo "{$themalmod_descr} ({$themalmod_name})"; ?></option>
472 f60156f6 jim-p
									<?php endforeach; ?>
473
								</select>
474
								<br />
475 9f223740 jim-p
								<?=gettext("If you have a supported CPU, selecting a themal sensor will load the appropriate " .
476 f60156f6 jim-p
										"driver to read its temperature. Setting this to 'None' will attempt to read the " .
477
										"temperature from an ACPI-compliant motherboard sensor instead, if one is present."); ?>
478 8cd558b6 ayvis
								<br /><br />
479 f60156f6 jim-p
								<?=gettext("If you do not have a supported thermal sensor chip in your system, this option will have no " .
480
									"effect. To unload the selected module, set this option to 'none' and then reboot."); ?>
481
								</td>
482
							</tr>
483
							<tr>
484
								<td colspan="2" class="list" height="12">&nbsp;</td>
485
							</tr>
486 ab3c8553 Matthew Grooms
							<tr>
487 1eacdc8a Carlos Eduardo Ramos
								<td colspan="2" valign="top" class="listtopic"><?=gettext("IP Security"); ?></td>
488 ab3c8553 Matthew Grooms
							</tr>
489 cc263020 Ermal
							<tr>
490 71172088 jim-p
								<td width="22%" valign="top" class="vncell">&nbsp;</td>
491 ab3c8553 Matthew Grooms
								<td width="78%" class="vtable">
492 71172088 jim-p
									<?=gettext("These settings have moved to <a href=\"vpn_ipsec_settings.php\">VPN &gt; IPsec on the Advanced Settings tab</a>."); ?>
493 6441fa9a Ermal
								</td>
494
							</tr>
495 4f537e93 Renato Botelho
							<tr>
496
								<td colspan="2" class="list" height="12">&nbsp;</td>
497
							</tr>
498
							<tr>
499
								<td colspan="2" valign="top" class="listtopic"><?=gettext("Schedules"); ?></td>
500
							</tr>
501
							<tr>
502
								<td width="22%" valign="top" class="vncell"><?=gettext("Schedule States"); ?></td>
503
								<td width="78%" class="vtable">
504
									<input name="schedule_states" type="checkbox" id="schedule_states" value="yes" <?php if ($pconfig['schedule_states']) echo "checked=\"checked\""; ?> />
505
									<br />
506 0c4cd13f Chris Buechler
									<?=gettext("By default, when a schedule expires, connections permitted by that schedule are killed. ".
507 f65555eb jim-p
									"This option overrides that behavior by not clearing states for existing connections."); ?>
508 4f537e93 Renato Botelho
								</td>
509
							</tr>
510
							<tr>
511
								<td colspan="2" class="list" height="12">&nbsp;</td>
512
							</tr>
513
							<tr>
514
								<td colspan="2" valign="top" class="listtopic"><?=gettext("Gateway Monitoring"); ?></td>
515
							</tr>
516
							<tr>
517 243680e5 Chris Buechler
								<td width="22%" valign="top" class="vncell"><?=gettext("State Killing on Gateway Failure"); ?></td>
518 4f537e93 Renato Botelho
								<td width="78%" class="vtable">
519
									<input name="kill_states" type="checkbox" id="kill_states" value="yes" <?php if ($pconfig['kill_states']) echo "checked=\"checked\""; ?> />
520
									<br />
521 243680e5 Chris Buechler
									<?=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."); ?>
522 4f537e93 Renato Botelho
								</td>
523
							</tr>
524 a1f735b3 Renato Botelho
							<tr>
525
								<td width="22%" valign="top" class="vncell"><?=gettext("Skip rules when gateway is down"); ?></td>
526
								<td width="78%" class="vtable">
527
									<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\""; ?> />
528
									<br />
529 0c4cd13f Chris Buechler
									<?=gettext("By default, when a rule has a gateway specified and this gateway is down, ".
530
									"the rule is created omitting the gateway. This option overrides that behavior by omitting ".
531
									"the entire rule instead."); ?>
532 a1f735b3 Renato Botelho
								</td>
533
							</tr>
534 a99547e4 Ermal
							<tr>
535 0c4cd13f Chris Buechler
								<td width="22%" valign="top" class="vncell"><?=gettext("Enable gateway monitoring debug logging"); ?></td>
536 a99547e4 Ermal
								<td width="78%" class="vtable">
537
									<input name="apinger_debug" type="checkbox" id="apinger_debug" value="yes" <?php if ($pconfig['apinger_debug']) echo "checked=\"checked\""; ?> />
538
									<br />
539 0c4cd13f Chris Buechler
									<?=gettext("Enable this setting to log debug information from the gateway monitoring process to the system logs."); ?>
540 a99547e4 Ermal
								</td>
541
							</tr>
542 e92e83d4 jim-p
							<tr>
543 efc0e29a jim-p
								<td colspan="2" valign="top" class="listtopic"><?=gettext("RAM Disk Settings (Reboot to Apply Changes)"); ?></td>
544 e92e83d4 jim-p
							</tr>
545
							<?php if ($g['platform'] == "pfSense"): ?>
546
							<tr>
547
								<td width="22%" valign="top" class="vncell"><?=gettext("Use RAM Disks"); ?></td>
548
								<td width="78%" class="vtable">
549
									<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)" />
550 8cd558b6 ayvis
									<strong><?=gettext("Use memory file system for /tmp and /var"); ?></strong><br />
551 e92e83d4 jim-p
									<?=gettext("Set this if you wish to use /tmp and /var as RAM disks (memory file system disks) on a full install " .
552
									"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."); ?>
553
								</td>
554
							</tr>
555
							<?php endif; ?>
556
							<tr>
557
								<td width="22%" valign="top" class="vncell"><?=gettext("/tmp RAM Disk Size"); ?></td>
558
								<td width="78%" class="vtable">
559
									<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
560
									<br />
561
									<?=gettext("Set the size, in MB, for the /tmp RAM disk. " .
562
									"Leave blank for 40MB. Do not set lower than 40."); ?>
563
								</td>
564
							</tr>
565
							<tr>
566
								<td width="22%" valign="top" class="vncell"><?=gettext("/var RAM Disk Size"); ?></td>
567
								<td width="78%" class="vtable">
568
									<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
569
									<br />
570
									<?=gettext("Set the size, in MB, for the /var RAM disk. " .
571
									"Leave blank for 60MB. Do not set lower than 60."); ?>
572
								</td>
573
							</tr>
574
							<tr>
575
								<td width="22%" valign="top" class="vncell"><?=gettext("Periodic RRD Backup");?></td>
576
								<td width="78%" class="vtable">
577
									<?=gettext("Frequency:");?>
578
									<select name="rrdbackup" id="rrdbackup" <?php if (($g['platform'] == "pfSense") && ($pconfig['use_mfs_tmpvar'] == false)) echo "disabled=\"disabled\""; ?> >
579 779c00dd Colin Fleming
										<option value='0' <?php if (!isset($config['system']['rrdbackup']) || ($config['system']['rrdbackup'] == 0)) echo "selected='selected'"; ?>><?=gettext("Disable"); ?></option>
580 e92e83d4 jim-p
									<?php for ($x=1; $x<=24; $x++) { ?>
581 779c00dd Colin Fleming
										<option value='<?= $x ?>' <?php if ($config['system']['rrdbackup'] == $x) echo "selected='selected'"; ?>><?= $x ?> <?=gettext("hour"); ?><?php if ($x>1) echo "s"; ?></option>
582 e92e83d4 jim-p
									<?php } ?>
583
									</select>
584 8cd558b6 ayvis
									<br />
585 e92e83d4 jim-p
									<?=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.");?>
586 8cd558b6 ayvis
									<br />
587
									<br />
588 e92e83d4 jim-p
								</td>
589
							</tr>
590
							<tr>
591
								<td width="22%" valign="top" class="vncell"><?=gettext("Periodic DHCP Leases Backup");?></td>
592
								<td width="78%" class="vtable">
593
									<?=gettext("Frequency:");?>
594
									<select name="dhcpbackup" id="dhcpbackup" <?php if (($g['platform'] == "pfSense") && ($pconfig['use_mfs_tmpvar'] == false)) echo "disabled=\"disabled\""; ?> >
595 779c00dd Colin Fleming
										<option value='0' <?php if (!isset($config['system']['dhcpbackup']) || ($config['system']['dhcpbackup'] == 0)) echo "selected='selected'"; ?>><?=gettext("Disable"); ?></option>
596 e92e83d4 jim-p
									<?php for ($x=1; $x<=24; $x++) { ?>
597 779c00dd Colin Fleming
										<option value='<?= $x ?>' <?php if ($config['system']['dhcpbackup'] == $x) echo "selected='selected'"; ?>><?= $x ?> <?=gettext("hour"); ?><?php if ($x>1) echo "s"; ?></option>
598 e92e83d4 jim-p
									<?php } ?>
599
									</select>
600 8cd558b6 ayvis
									<br />
601 e92e83d4 jim-p
									<?=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.");?>
602 8cd558b6 ayvis
									<br />
603
									<br />
604 e92e83d4 jim-p
								</td>
605
							</tr>
606 ab3c8553 Matthew Grooms
							<tr>
607
								<td colspan="2" class="list" height="12">&nbsp;</td>
608
							</tr>
609
							<?php if($g['platform'] == "pfSenseDISABLED"): ?>
610
							<tr>
611 1eacdc8a Carlos Eduardo Ramos
								<td colspan="2" valign="top" class="listtopic"><?=gettext("Hardware Settings"); ?></td>
612 ab3c8553 Matthew Grooms
							</tr>
613
							<tr>
614 1eacdc8a Carlos Eduardo Ramos
								<td width="22%" valign="top" class="vncell"><?=gettext("Hard disk standby time "); ?></td>
615 ab3c8553 Matthew Grooms
								<td width="78%" class="vtable">
616
									<select name="harddiskstandby" class="formselect">
617
										<?php
618 4f537e93 Renato Botelho
											## Values from ATA-2 http://www.t13.org/project/d0948r3-ATA-2.pdf (Page 66)
619 ab3c8553 Matthew Grooms
											$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");
620
										?>
621 481e09b3 Colin Fleming
										<option value="" <?php if(!$pconfig['harddiskstandby']) echo('selected="selected"');?>><?=gettext("Always on"); ?></option>
622 ab3c8553 Matthew Grooms
										<?php
623
											foreach ($sbvals as $sbval):
624
												list($min,$val) = explode(",", $sbval);
625
										?>
626 481e09b3 Colin Fleming
										<option value="<?=$val;?>" <?php if($pconfig['harddiskstandby'] == $val) echo('selected="selected"');?>><?=$min;?> <?=gettext("minutes"); ?></option>
627 ab3c8553 Matthew Grooms
										<?php endforeach; ?>
628
									</select>
629 8cd558b6 ayvis
									<br />
630 4d473c89 Vinicius Coque
									<?=gettext("Puts the hard disk into standby mode when the selected amount of time after the last ".
631
									"access has elapsed."); ?> <em><?=gettext("Do not set this for CF cards."); ?></em>
632 ab3c8553 Matthew Grooms
								</td>
633
							</tr>
634
							<tr>
635
								<td colspan="2" class="list" height="12">&nbsp;</td>
636
							</tr>
637
							<?php endif; ?>
638
639 e5b5e29c Renato Botelho
							<tr>
640 ffb76388 Phil Davis
								<td colspan="2" valign="top" class="listtopic"><?=gettext("Package settings"); ?></td>
641 e5b5e29c Renato Botelho
							</tr>
642
							<tr>
643 ffb76388 Phil Davis
								<td width="22%" valign="top" class="vncell"><?=gettext("Package signature"); ?></td>
644 e5b5e29c Renato Botelho
								<td width="78%" class="vtable">
645 51623673 jim-p
									<input name="pkg_nochecksig" type="checkbox" id="pkg_nochecksig" value="yes" <?php if ($pconfig['pkg_nochecksig']) echo "checked=\"checked\""; ?> />
646 ffb76388 Phil Davis
									<strong><?=gettext("Do NOT check package signature"); ?></strong><br />
647
									<?=gettext("Enable this option to allow pfSense to install any package without checking its signature."); ?>
648 e5b5e29c Renato Botelho
								</td>
649
							</tr>
650
651 ab3c8553 Matthew Grooms
							<tr>
652
								<td width="22%" valign="top">&nbsp;</td>
653
								<td width="78%">
654 267c28ab Vinicius Coque
									<input name="Submit" type="submit" class="formbtn" value="<?=gettext("Save");?>" />
655 ab3c8553 Matthew Grooms
								</td>
656
							</tr>
657
						</table>
658
					</div>
659
				</td>
660
			</tr>
661
		</table>
662
	</form>
663 df81417f Matthew Grooms
664
<?php include("fend.inc"); ?>
665
</body>
666
</html>