Project

General

Profile

Download (20.7 KB) Statistics
| Branch: | Tag: | Revision:
1 4d875b4f Scott Ullrich
<?php
2 b46bfcf5 Bill Marquette
/* $Id$ */
3 5b237745 Scott Ullrich
/*
4
	diag_logs_settings.php
5 13d193c2 Scott Ullrich
	Copyright (C) 2004-2009 Scott Ullrich
6 4d875b4f Scott Ullrich
	All rights reserved.
7
8
	originially part of m0n0wall (http://m0n0.ch/wall)
9 5b237745 Scott Ullrich
	Copyright (C) 2003-2004 Manuel Kasper <mk@neon1.net>.
10
	All rights reserved.
11 4d875b4f Scott Ullrich
12 5b237745 Scott Ullrich
	Redistribution and use in source and binary forms, with or without
13
	modification, are permitted provided that the following conditions are met:
14 4d875b4f Scott Ullrich
15 5b237745 Scott Ullrich
	1. Redistributions of source code must retain the above copyright notice,
16
	   this list of conditions and the following disclaimer.
17 4d875b4f Scott Ullrich
18 5b237745 Scott Ullrich
	2. Redistributions in binary form must reproduce the above copyright
19
	   notice, this list of conditions and the following disclaimer in the
20
	   documentation and/or other materials provided with the distribution.
21 4d875b4f Scott Ullrich
22 5b237745 Scott Ullrich
	THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
23
	INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
24
	AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
25
	AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
26
	OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27
	SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28
	INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29
	CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30
	ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31
	POSSIBILITY OF SUCH DAMAGE.
32
*/
33
34 e34a7abb jim-p
/*
35 13d193c2 Scott Ullrich
	pfSense_MODULE:	system
36
*/
37
38 6b07c15a Matthew Grooms
##|+PRIV
39
##|*IDENT=page-diagnostics-logs-settings
40
##|*NAME=Diagnostics: Logs: Settings page
41
##|*DESCR=Allow access to the 'Diagnostics: Logs: Settings' page.
42
##|*MATCH=diag_logs_settings.php*
43
##|-PRIV
44
45 5b237745 Scott Ullrich
require("guiconfig.inc");
46 7a927e67 Scott Ullrich
require_once("functions.inc");
47
require_once("filter.inc");
48
require_once("shaper.inc");
49 5b237745 Scott Ullrich
50
$pconfig['reverse'] = isset($config['syslog']['reverse']);
51
$pconfig['nentries'] = $config['syslog']['nentries'];
52
$pconfig['remoteserver'] = $config['syslog']['remoteserver'];
53 98301932 Scott Ullrich
$pconfig['remoteserver2'] = $config['syslog']['remoteserver2'];
54 be5d59d7 Scott Ullrich
$pconfig['remoteserver3'] = $config['syslog']['remoteserver3'];
55 53c5407e jim-p
$pconfig['sourceip'] = $config['syslog']['sourceip'];
56
$pconfig['ipproto'] = $config['syslog']['ipproto'];
57 5b237745 Scott Ullrich
$pconfig['filter'] = isset($config['syslog']['filter']);
58
$pconfig['dhcp'] = isset($config['syslog']['dhcp']);
59 3f2b92d2 Scott Ullrich
$pconfig['portalauth'] = isset($config['syslog']['portalauth']);
60 5b237745 Scott Ullrich
$pconfig['vpn'] = isset($config['syslog']['vpn']);
61 236524c2 jim-p
$pconfig['apinger'] = isset($config['syslog']['apinger']);
62
$pconfig['relayd'] = isset($config['syslog']['relayd']);
63
$pconfig['hostapd'] = isset($config['syslog']['hostapd']);
64 4ef2d703 Chris Buechler
$pconfig['logall'] = isset($config['syslog']['logall']);
65 5b237745 Scott Ullrich
$pconfig['system'] = isset($config['syslog']['system']);
66
$pconfig['enable'] = isset($config['syslog']['enable']);
67
$pconfig['logdefaultblock'] = !isset($config['syslog']['nologdefaultblock']);
68 a19fcb82 jim-p
$pconfig['logbogons'] = !isset($config['syslog']['nologbogons']);
69
$pconfig['logprivatenets'] = !isset($config['syslog']['nologprivatenets']);
70
$pconfig['loglighttpd'] = !isset($config['syslog']['nologlighttpd']);
71 5b237745 Scott Ullrich
$pconfig['rawfilter'] = isset($config['syslog']['rawfilter']);
72 52b27268 PiBa-NL
$pconfig['filterdescriptions'] = $config['syslog']['filterdescriptions'];
73 af659dda Scott Ullrich
$pconfig['disablelocallogging'] = isset($config['syslog']['disablelocallogging']);
74 5b237745 Scott Ullrich
75
if (!$pconfig['nentries'])
76
	$pconfig['nentries'] = 50;
77
78 d3a2337a jim-p
function is_valid_syslog_server($target) {
79
	return (is_ipaddr($target)
80
		|| is_ipaddrwithport($target)
81
		|| is_hostname($target)
82
		|| is_hostnamewithport($target));
83
}
84
85 5b237745 Scott Ullrich
if ($_POST) {
86
87
	unset($input_errors);
88
	$pconfig = $_POST;
89
90
	/* input validation */
91 d3a2337a jim-p
	if ($_POST['enable'] && !is_valid_syslog_server($_POST['remoteserver'])) {
92
		$input_errors[] = gettext("A valid IP address/hosname or IP/hostname:port must be specified for remote syslog server #1.");
93 5b237745 Scott Ullrich
	}
94 d3a2337a jim-p
	if ($_POST['enable'] && $_POST['remoteserver2'] && !is_valid_syslog_server($_POST['remoteserver2'])) {
95
		$input_errors[] = gettext("A valid IP address/hosname or IP/hostname:port must be specified for remote syslog server #2.");
96 be5d59d7 Scott Ullrich
	}
97 d3a2337a jim-p
	if ($_POST['enable'] && $_POST['remoteserver3'] && !is_valid_syslog_server($_POST['remoteserver3'])) {
98
		$input_errors[] = gettext("A valid IP address/hosname or IP/hostname:port must be specified for remote syslog server #3.");
99 be5d59d7 Scott Ullrich
	}
100
101 102de157 Scott Ullrich
	if (($_POST['nentries'] < 5) || ($_POST['nentries'] > 2000)) {
102 f8ec8de4 Renato Botelho
		$input_errors[] = gettext("Number of log entries to show must be between 5 and 2000.");
103 5b237745 Scott Ullrich
	}
104
105
	if (!$input_errors) {
106
		$config['syslog']['reverse'] = $_POST['reverse'] ? true : false;
107
		$config['syslog']['nentries'] = (int)$_POST['nentries'];
108
		$config['syslog']['remoteserver'] = $_POST['remoteserver'];
109 be5d59d7 Scott Ullrich
		$config['syslog']['remoteserver2'] = $_POST['remoteserver2'];
110
		$config['syslog']['remoteserver3'] = $_POST['remoteserver3'];
111 53c5407e jim-p
		$config['syslog']['sourceip'] = $_POST['sourceip'];
112
		$config['syslog']['ipproto'] = $_POST['ipproto'];
113 5b237745 Scott Ullrich
		$config['syslog']['filter'] = $_POST['filter'] ? true : false;
114
		$config['syslog']['dhcp'] = $_POST['dhcp'] ? true : false;
115 3f2b92d2 Scott Ullrich
		$config['syslog']['portalauth'] = $_POST['portalauth'] ? true : false;
116 5b237745 Scott Ullrich
		$config['syslog']['vpn'] = $_POST['vpn'] ? true : false;
117 236524c2 jim-p
		$config['syslog']['apinger'] = $_POST['apinger'] ? true : false;
118
		$config['syslog']['relayd'] = $_POST['relayd'] ? true : false;
119
		$config['syslog']['hostapd'] = $_POST['hostapd'] ? true : false;
120 e34a7abb jim-p
		$config['syslog']['logall'] = $_POST['logall'] ? true : false;
121 5b237745 Scott Ullrich
		$config['syslog']['system'] = $_POST['system'] ? true : false;
122 e1c0c35a Scott Ullrich
		$config['syslog']['disablelocallogging'] = $_POST['disablelocallogging'] ? true : false;
123 5b237745 Scott Ullrich
		$config['syslog']['enable'] = $_POST['enable'] ? true : false;
124
		$oldnologdefaultblock = isset($config['syslog']['nologdefaultblock']);
125 a19fcb82 jim-p
		$oldnologbogons = isset($config['syslog']['nologbogons']);
126
		$oldnologprivatenets = isset($config['syslog']['nologprivatenets']);
127
		$oldnologlighttpd = isset($config['syslog']['nologlighttpd']);
128 5b237745 Scott Ullrich
		$config['syslog']['nologdefaultblock'] = $_POST['logdefaultblock'] ? false : true;
129 a19fcb82 jim-p
		$config['syslog']['nologbogons'] = $_POST['logbogons'] ? false : true;
130
		$config['syslog']['nologprivatenets'] = $_POST['logprivatenets'] ? false : true;
131
		$config['syslog']['nologlighttpd'] = $_POST['loglighttpd'] ? false : true;
132 5b237745 Scott Ullrich
		$config['syslog']['rawfilter'] = $_POST['rawfilter'] ? true : false;
133 52b27268 PiBa-NL
		if (is_numeric($_POST['filterdescriptions']) && $_POST['filterdescriptions'] > 0)
134
			$config['syslog']['filterdescriptions'] = $_POST['filterdescriptions'];
135
		else
136
			unset($config['syslog']['filterdescriptions']);
137 be5d59d7 Scott Ullrich
		if($config['syslog']['enable'] == false) {
138 f3a5f0c5 Scott Ullrich
			unset($config['syslog']['remoteserver']);
139 be5d59d7 Scott Ullrich
			unset($config['syslog']['remoteserver2']);
140
			unset($config['syslog']['remoteserver3']);
141
		}
142 c195be3f Scott Ullrich
143 5b237745 Scott Ullrich
		write_config();
144 c195be3f Scott Ullrich
145 5b237745 Scott Ullrich
		$retval = 0;
146 fd31e9ee Scott Ullrich
		$retval = system_syslogd_start();
147 a19fcb82 jim-p
		if (($oldnologdefaultblock !== isset($config['syslog']['nologdefaultblock']))
148
			|| ($oldnologbogons !== isset($config['syslog']['nologbogons']))
149
			|| ($oldnologprivatenets !== isset($config['syslog']['nologprivatenets'])))
150 fd31e9ee Scott Ullrich
			$retval |= filter_configure();
151 c195be3f Scott Ullrich
152 4d875b4f Scott Ullrich
		$savemsg = get_std_save_message($retval);
153 a19fcb82 jim-p
154
		if ($oldnologlighttpd !== isset($config['syslog']['nologlighttpd'])) {
155
			ob_flush();
156
			flush();
157
			log_error(gettext("webConfigurator configuration has changed. Restarting webConfigurator."));
158
			send_event("service restart webgui");
159
			$savemsg .= "<br />" . gettext("WebGUI process is restarting.");
160
		}
161
162
		filter_pflog_start(true);
163 5b237745 Scott Ullrich
	}
164
}
165
166 f8ec8de4 Renato Botelho
$pgtitle = array(gettext("Status"), gettext("System logs"), gettext("Settings"));
167 b63695db Scott Ullrich
include("head.inc");
168
169 5b237745 Scott Ullrich
?>
170 b63695db Scott Ullrich
171
172 94bf59b1 N0YB
<body link="#0000CC" vlink="#0000CC" alink="#0000CC">
173
174
<script type="text/JavaScript">
175 5b237745 Scott Ullrich
<!--
176
function enable_change(enable_over) {
177
	if (document.iform.enable.checked || enable_over) {
178
		document.iform.remoteserver.disabled = 0;
179 be5d59d7 Scott Ullrich
		document.iform.remoteserver2.disabled = 0;
180
		document.iform.remoteserver3.disabled = 0;
181 5b237745 Scott Ullrich
		document.iform.filter.disabled = 0;
182
		document.iform.dhcp.disabled = 0;
183 3f2b92d2 Scott Ullrich
		document.iform.portalauth.disabled = 0;
184 5b237745 Scott Ullrich
		document.iform.vpn.disabled = 0;
185 236524c2 jim-p
		document.iform.apinger.disabled = 0;
186
		document.iform.relayd.disabled = 0;
187
		document.iform.hostapd.disabled = 0;
188 5b237745 Scott Ullrich
		document.iform.system.disabled = 0;
189 5e08497c Chris Buechler
		document.iform.logall.disabled = 0;
190 f3d91215 Darren Embry
		check_everything();
191 5b237745 Scott Ullrich
	} else {
192
		document.iform.remoteserver.disabled = 1;
193 be5d59d7 Scott Ullrich
		document.iform.remoteserver2.disabled = 1;
194
		document.iform.remoteserver3.disabled = 1;
195 5b237745 Scott Ullrich
		document.iform.filter.disabled = 1;
196
		document.iform.dhcp.disabled = 1;
197 3f2b92d2 Scott Ullrich
		document.iform.portalauth.disabled = 1;
198 5b237745 Scott Ullrich
		document.iform.vpn.disabled = 1;
199 236524c2 jim-p
		document.iform.apinger.disabled = 1;
200
		document.iform.relayd.disabled = 1;
201
		document.iform.hostapd.disabled = 1;
202 5b237745 Scott Ullrich
		document.iform.system.disabled = 1;
203 5e08497c Chris Buechler
		document.iform.logall.disabled = 1;
204 5b237745 Scott Ullrich
	}
205
}
206 236524c2 jim-p
function check_everything() {
207
	if (document.iform.logall.checked) {
208
		document.iform.filter.disabled = 1;
209 c8610dc9 Darren Embry
		document.iform.filter.checked = false;
210 236524c2 jim-p
		document.iform.dhcp.disabled = 1;
211 c8610dc9 Darren Embry
		document.iform.dhcp.checked = false;
212 236524c2 jim-p
		document.iform.portalauth.disabled = 1;
213 c8610dc9 Darren Embry
		document.iform.portalauth.checked = false;
214 236524c2 jim-p
		document.iform.vpn.disabled = 1;
215 c8610dc9 Darren Embry
		document.iform.vpn.checked = false;
216 236524c2 jim-p
		document.iform.apinger.disabled = 1;
217 c8610dc9 Darren Embry
		document.iform.apinger.checked = false;
218 236524c2 jim-p
		document.iform.relayd.disabled = 1;
219 c8610dc9 Darren Embry
		document.iform.relayd.checked = false;
220 236524c2 jim-p
		document.iform.hostapd.disabled = 1;
221 c8610dc9 Darren Embry
		document.iform.hostapd.checked = false;
222 236524c2 jim-p
		document.iform.system.disabled = 1;
223 c8610dc9 Darren Embry
		document.iform.system.checked = false;
224 236524c2 jim-p
	} else {
225
		document.iform.filter.disabled = 0;
226
		document.iform.dhcp.disabled = 0;
227
		document.iform.portalauth.disabled = 0;
228
		document.iform.vpn.disabled = 0;
229
		document.iform.apinger.disabled = 0;
230
		document.iform.relayd.disabled = 0;
231
		document.iform.hostapd.disabled = 0;
232
		document.iform.system.disabled = 0;
233
	}
234
}
235 5b237745 Scott Ullrich
// -->
236
</script>
237
238
<?php include("fbegin.inc"); ?>
239
<form action="diag_logs_settings.php" method="post" name="iform" id="iform">
240
<?php if ($input_errors) print_input_errors($input_errors); ?>
241
<?php if ($savemsg) print_info_box($savemsg); ?>
242
<table width="100%" border="0" cellpadding="0" cellspacing="0">
243 e34a7abb jim-p
<tr><td>
244 b63695db Scott Ullrich
<?php
245
	$tab_array = array();
246 f8ec8de4 Renato Botelho
	$tab_array[] = array(gettext("System"), false, "diag_logs.php");
247
	$tab_array[] = array(gettext("Firewall"), false, "diag_logs_filter.php");
248
	$tab_array[] = array(gettext("DHCP"), false, "diag_logs_dhcp.php");
249
	$tab_array[] = array(gettext("Portal Auth"), false, "diag_logs_auth.php");
250
	$tab_array[] = array(gettext("IPsec"), false, "diag_logs_ipsec.php");
251
	$tab_array[] = array(gettext("PPP"), false, "diag_logs_ppp.php");
252
	$tab_array[] = array(gettext("VPN"), false, "diag_logs_vpn.php");
253
	$tab_array[] = array(gettext("Load Balancer"), false, "diag_logs_relayd.php");
254
	$tab_array[] = array(gettext("OpenVPN"), false, "diag_logs_openvpn.php");
255 ae2c143a jim-p
	$tab_array[] = array(gettext("NTP"), false, "diag_logs_ntpd.php");
256 f8ec8de4 Renato Botelho
	$tab_array[] = array(gettext("Settings"), true, "diag_logs_settings.php");
257 b63695db Scott Ullrich
	display_top_tabs($tab_array);
258
?>
259 e34a7abb jim-p
</td></tr>
260
<tr>
261
	<td>
262 0f10aee4 Bill Marquette
	<div id="mainarea">
263 e34a7abb jim-p
	<table class="tabcont" width="100%" border="0" cellpadding="6" cellspacing="0">
264
		<tr>
265
			<td colspan="2" valign="top" class="listtopic"><?=gettext("General Logging Options");?></td>
266
		</tr>
267
		<tr>
268
			<td width="22%" valign="top" class="vtable">Forward/Reverse Display</td>
269 94bf59b1 N0YB
			<td width="78%" class="vtable"> <input name="reverse" type="checkbox" id="reverse" value="yes" <?php if ($pconfig['reverse']) echo "checked=\"checked\""; ?> />
270 f8ec8de4 Renato Botelho
			<strong><?=gettext("Show log entries in reverse order (newest entries on top)");?></strong></td>
271 e34a7abb jim-p
		</tr>
272
		<tr>
273
			<td width="22%" valign="top" class="vtable">GUI Log Entries to Display</td>
274
			<td width="78%" class="vtable">
275 94bf59b1 N0YB
			<input name="nentries" id="nentries" type="text" class="formfld unknown" size="4" value="<?=htmlspecialchars($pconfig['nentries']);?>" /><br/>
276 e34a7abb jim-p
			<?=gettext("Hint: This is only the number of log entries displayed in the GUI. It does not affect how many entries are contained in the actual log files.") ?></td>
277
		</tr>
278
		<tr>
279
			<td valign="top" class="vtable">Log Firewall Default Blocks</td>
280 a19fcb82 jim-p
			<td class="vtable">
281 94bf59b1 N0YB
				<input name="logdefaultblock" type="checkbox" id="logdefaultblock" value="yes" <?php if ($pconfig['logdefaultblock']) echo "checked=\"checked\""; ?> />
282 a19fcb82 jim-p
				<strong><?=gettext("Log packets blocked by the default rule");?></strong><br/>
283
				<?=gettext("Hint: packets that are blocked by the implicit default block rule will not be logged if you uncheck this option. Per-rule logging options are still respected.");?>
284
				<br/>
285 94bf59b1 N0YB
				<input name="logbogons" type="checkbox" id="logbogons" value="yes" <?php if ($pconfig['logbogons']) echo "checked=\"checked\""; ?> />
286 a19fcb82 jim-p
				<strong><?=gettext("Log packets blocked by 'Block Bogon Networks' rules");?></strong><br/>
287
				<br/>
288 94bf59b1 N0YB
				<input name="logprivatenets" type="checkbox" id="logprivatenets" value="yes" <?php if ($pconfig['logprivatenets']) echo "checked=\"checked\""; ?> />
289 a19fcb82 jim-p
				<strong><?=gettext("Log packets blocked by 'Block Private Networks' rules");?></strong><br/>
290
			</td>
291
		</tr>
292
		<tr>
293
			<td valign="top" class="vtable">Web Server Log</td>
294 94bf59b1 N0YB
			<td class="vtable"> <input name="loglighttpd" type="checkbox" id="loglighttpd" value="yes" <?php if ($pconfig['loglighttpd']) echo "checked=\"checked\""; ?> />
295
			<strong><?=gettext("Log errors from the web server process.");?></strong><br/>
296 a19fcb82 jim-p
			<?=gettext("Hint: If this is checked, errors from the lighttpd web server process for the GUI or Captive Portal will appear in the main system log.");?></td>
297 e34a7abb jim-p
		</tr>
298
		<tr>
299
			<td valign="top" class="vtable">Raw Logs</td>
300 94bf59b1 N0YB
			<td class="vtable"> <input name="rawfilter" type="checkbox" id="rawfilter" value="yes" <?php if ($pconfig['rawfilter']) echo "checked=\"checked\""; ?> />
301
			<strong><?=gettext("Show raw filter logs");?></strong><br/>
302 e34a7abb jim-p
			<?=gettext("Hint: If this is checked, filter logs are shown as generated by the packet filter, without any formatting. This will reveal more detailed information, but it is more difficult to read.");?></td>
303
		</tr>
304 52b27268 PiBa-NL
		<tr>
305
			<td valign="top" class="vtable">Filter descriptions</td>
306
			<td class="vtable">
307
				<select name="filterdescriptions" id="filterdescriptions" >
308 94bf59b1 N0YB
				  <option value="0"<?=!isset($pconfig['filterdescriptions'])?" selected=\"selected\"":""?>>Dont load descriptions</option>
309
				  <option value="1"<?=($pconfig['filterdescriptions'])==="1"?" selected=\"selected\"":""?>>Display as column</option>
310
				  <option value="2"<?=($pconfig['filterdescriptions'])==="2"?" selected=\"selected\"":""?>>Display as second row</option>
311 52b27268 PiBa-NL
				</select>
312
				<strong><?=gettext("Show the applied rule description below or in the firewall log rows.");?></strong>
313
				<br/>
314 94bf59b1 N0YB
				<?=gettext("Displaying rule descriptions for all lines in the log might affect performance with large rule sets.");?>
315 52b27268 PiBa-NL
			</td>
316
		</tr>
317 e34a7abb jim-p
		<tr>
318
			<td width="22%" valign="top" class="vtable">Local Logging</td>
319 94bf59b1 N0YB
			<td width="78%" class="vtable"> <input name="disablelocallogging" type="checkbox" id="disablelocallogging" value="yes" <?php if ($pconfig['disablelocallogging']) echo "checked=\"checked\""; ?> onclick="enable_change(false)" />
320 e34a7abb jim-p
			<?php if ($g['platform'] == "pfSense"): ?>
321
			<strong><?=gettext("Disable writing log files to the local disk");?></strong></td>
322
			<?php else: ?>
323
			<strong><?=gettext("Disable writing log files to the local RAM disk");?></strong></td>
324
			<?php endif; ?>
325
		</tr>
326
		<tr>
327
			<td colspan="2" valign="top">&nbsp;</td>
328
		</tr>
329
		<tr>
330
			<td colspan="2" valign="top" class="listtopic"><?=gettext("Remote Logging Options");?></td>
331
		</tr>
332 53c5407e jim-p
		<tr>
333
			<td width="22%" valign="top" class="vncell"><?=gettext("Source Address"); ?></td>
334
			<td width="78%" class="vtable">
335
				<select name="sourceip" class="formselect">
336
					<option value="">Default (any)</option>
337
				<?php $sourceips = get_possible_traffic_source_addresses(false);
338
					foreach ($sourceips as $sip):
339
						$selected = "";
340
						if (!link_interface_to_bridge($sip['value']) && ($sip['value'] == $pconfig['sourceip']))
341
							$selected = 'selected="selected"';
342
				?>
343
					<option value="<?=$sip['value'];?>" <?=$selected;?>>
344
						<?=htmlspecialchars($sip['name']);?>
345
					</option>
346
					<?php endforeach; ?>
347
				</select>
348
				<br/>
349
				<?= gettext("This option will allow the logging daemon to bind to a single IP address, rather than all IP addresses."); ?>
350
				<?= gettext("If you pick a single IP, remote syslog severs must all be of that IP type. If you wish to mix IPv4 and IPv6 remote syslog servers, you must bind to all interfaces."); ?>
351
				<br/><br/>
352
				<?= gettext("NOTE: If an IP address cannot be located on the chosen interface, the daemon will bind to all addresses."); ?>
353
			</td>
354
		</tr>
355
		<tr>
356
			<td width="22%" valign="top" class="vncell"><?=gettext("IP Protocol"); ?></td>
357
			<td width="78%" class="vtable">
358
				<select name="ipproto" class="formselect">
359
					<option value="ipv4" <?php if ($ipproto == "ipv4") echo 'selected="selected"' ?>>IPv4</option>
360
					<option value="ipv6" <?php if ($ipproto == "ipv6") echo 'selected="selected"' ?>>IPv6</option>
361
				</select>
362
				<br/>
363
				<?= gettext("This option is only used when a non-default address is chosen as the source above. This option only expresses a preference; If an IP address of the selected type is not found on the chosen interface, the other type will be tried."); ?>
364
			</td>
365
		</tr>
366 e34a7abb jim-p
		<tr>
367
			<td width="22%" valign="top" class="vncell"><?=gettext("Enable Remote Logging");?></td>
368 94bf59b1 N0YB
			<td width="78%" class="vtable"> <input name="enable" type="checkbox" id="enable" value="yes" <?php if ($pconfig['enable']) echo "checked=\"checked\""; ?> onclick="enable_change(false)" />
369 e34a7abb jim-p
				<strong><?=gettext("Send log messages to remote syslog server");?></strong></td>
370
		</tr>
371
		<tr>
372
			<td width="22%" valign="top" class="vncell"><?=gettext("Remote Syslog Servers");?></td>
373
			<td width="78%" class="vtable">
374
				<table>
375
					<tr>
376
						<td><?=gettext("Server") . " 1";?></td>
377 94bf59b1 N0YB
						<td><input name="remoteserver" id="remoteserver" type="text" class="formfld host" size="20" value="<?=htmlspecialchars($pconfig['remoteserver']);?>" /></td>
378 e34a7abb jim-p
					</tr>
379
					<tr>
380
						<td><?=gettext("Server") . " 2";?></td>
381 94bf59b1 N0YB
						<td><input name="remoteserver2" id="remoteserver2" type="text" class="formfld host" size="20" value="<?=htmlspecialchars($pconfig['remoteserver2']);?>" /></td>
382 e34a7abb jim-p
					</tr>
383
					<tr>
384
						<td><?=gettext("Server") . " 3";?></td>
385 94bf59b1 N0YB
						<td><input name="remoteserver3" id="remoteserver3" type="text" class="formfld host" size="20" value="<?=htmlspecialchars($pconfig['remoteserver3']);?>" /></td>
386 e34a7abb jim-p
					</tr>
387
					<tr>
388
						<td>&nbsp;</td>
389
						<td><?=gettext("IP addresses of remote syslog servers, or an IP:port.");?></td>
390 94bf59b1 N0YB
					</tr>
391 e34a7abb jim-p
				</table>
392
			</td>
393
		</tr>
394
		<tr>
395
			<td width="22%" valign="top" class="vncell"><?=gettext("Remote Syslog Contents");?></td>
396
			<td width="78%" class="vtable">
397 94bf59b1 N0YB
				<input name="logall" id="logall" type="checkbox" value="yes" <?php if ($pconfig['logall']) echo "checked=\"checked\""; ?> onclick="check_everything();" />
398 e34a7abb jim-p
				<?=gettext("Everything");?><br/><br/>
399 94bf59b1 N0YB
				<input name="system" id="system" type="checkbox" value="yes" onclick="enable_change(false)" <?php if ($pconfig['system']) echo "checked=\"checked\""; ?> />
400 e34a7abb jim-p
				<?=gettext("System events");?><br/>
401 94bf59b1 N0YB
				<input name="filter" id="filter" type="checkbox" value="yes" <?php if ($pconfig['filter']) echo "checked=\"checked\""; ?> />
402 e34a7abb jim-p
				<?=gettext("Firewall events");?><br/>
403 94bf59b1 N0YB
				<input name="dhcp" id="dhcp" type="checkbox" value="yes" <?php if ($pconfig['dhcp']) echo "checked=\"checked\""; ?> />
404 e34a7abb jim-p
				<?=gettext("DHCP service events");?><br/>
405 94bf59b1 N0YB
				<input name="portalauth" id="portalauth" type="checkbox" value="yes" <?php if ($pconfig['portalauth']) echo "checked=\"checked\""; ?> />
406 e34a7abb jim-p
				<?=gettext("Portal Auth events");?><br/>
407 94bf59b1 N0YB
				<input name="vpn" id="vpn" type="checkbox" value="yes" <?php if ($pconfig['vpn']) echo "checked=\"checked\""; ?> />
408 e34a7abb jim-p
				<?=gettext("VPN (PPTP, IPsec, OpenVPN) events");?><br/>
409 94bf59b1 N0YB
				<input name="apinger" id="apinger" type="checkbox" value="yes" <?php if ($pconfig['apinger']) echo "checked=\"checked\""; ?> />
410 e34a7abb jim-p
				<?=gettext("Gateway Monitor events");?><br/>
411 94bf59b1 N0YB
				<input name="relayd" id="relayd" type="checkbox" value="yes" <?php if ($pconfig['relayd']) echo "checked=\"checked\""; ?> />
412 e34a7abb jim-p
				<?=gettext("Server Load Balancer events");?><br/>
413 94bf59b1 N0YB
				<input name="hostapd" id="hostapd" type="checkbox" value="yes" <?php if ($pconfig['hostapd']) echo "checked=\"checked\""; ?> />
414 e34a7abb jim-p
				<?=gettext("Wireless events");?><br/>
415
			</td>
416
		</tr>
417
		<tr>
418
			<td width="22%" valign="top">&nbsp;</td>
419 94bf59b1 N0YB
			<td width="78%"> <input name="Submit" type="submit" class="formbtn" value="<?=gettext("Save"); ?>" onclick="enable_change(true)" />
420 e34a7abb jim-p
			</td>
421
		</tr>
422
		<tr>
423
			<td width="22%" height="53" valign="top">&nbsp;</td>
424 94bf59b1 N0YB
			<td width="78%"><strong><span class="red"><?=gettext("Note:")?></span></strong><br/>
425 e34a7abb jim-p
			<?=gettext("syslog sends UDP datagrams to port 514 on the specified " .
426
			"remote syslog server, unless another port is specified. Be sure to set syslogd on the " .
427
			"remote server to accept syslog messages from");?> <?=$g['product_name']?>.
428
			</td>
429
		</tr>
430
	</table>
431 0f10aee4 Bill Marquette
	</div>
432 e34a7abb jim-p
</td></tr>
433 5b237745 Scott Ullrich
</table>
434
</form>
435 94bf59b1 N0YB
<script type="text/JavaScript">
436 5b237745 Scott Ullrich
<!--
437
enable_change(false);
438
//-->
439
</script>
440
<?php include("fend.inc"); ?>
441
</body>
442
</html>