Project

General

Profile

Download (14.4 KB) Statistics
| Branch: | Tag: | Revision:
1 5b237745 Scott Ullrich
<?php
2
/*
3
	vpn_ipsec.php
4 e2411886 Scott Ullrich
	part of m0n0wall (http://m0n0.ch/wall)
5 574a2b47 Scott Ullrich
6 e2411886 Scott Ullrich
	Copyright (C) 2003-2005 Manuel Kasper <mk@neon1.net>.
7 a93e56c5 Matthew Grooms
	Copyright (C) 2008 Shrew Soft Inc
8 cfc707f7 Scott Ullrich
	All rights reserved.
9 574a2b47 Scott Ullrich
10 5b237745 Scott Ullrich
	Redistribution and use in source and binary forms, with or without
11
	modification, are permitted provided that the following conditions are met:
12 574a2b47 Scott Ullrich
13 5b237745 Scott Ullrich
	1. Redistributions of source code must retain the above copyright notice,
14
	   this list of conditions and the following disclaimer.
15 574a2b47 Scott Ullrich
16 5b237745 Scott Ullrich
	2. Redistributions in binary form must reproduce the above copyright
17
	   notice, this list of conditions and the following disclaimer in the
18
	   documentation and/or other materials provided with the distribution.
19 574a2b47 Scott Ullrich
20 5b237745 Scott Ullrich
	THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
21
	INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
22
	AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
23
	AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
24
	OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25
	SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26
	INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27
	CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28
	ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29
	POSSIBILITY OF SUCH DAMAGE.
30
*/
31
32 6b07c15a Matthew Grooms
##|+PRIV
33
##|*IDENT=page-vpn-ipsec
34
##|*NAME=VPN: IPsec page
35
##|*DESCR=Allow access to the 'VPN: IPsec' page.
36
##|*MATCH=vpn_ipsec.php*
37
##|-PRIV
38
39 5b237745 Scott Ullrich
require("guiconfig.inc");
40 7a927e67 Scott Ullrich
require_once("functions.inc");
41
require_once("filter.inc");
42
require_once("shaper.inc");
43 483e6de8 Scott Ullrich
require_once("ipsec.inc");
44
require_once("vpn.inc");
45 5b237745 Scott Ullrich
46 a93e56c5 Matthew Grooms
if (!is_array($config['ipsec']['phase1']))
47
	$config['ipsec']['phase1'] = array();
48
49
if (!is_array($config['ipsec']['phase2']))
50
	$config['ipsec']['phase2'] = array();
51
52
$a_phase1 = &$config['ipsec']['phase1'];
53
$a_phase2 = &$config['ipsec']['phase2'];
54
55 5b237745 Scott Ullrich
$pconfig['enable'] = isset($config['ipsec']['enable']);
56
57
if ($_POST) {
58
59
	if ($_POST['apply']) {
60
		$retval = 0;
61 647c7c48 Seth Mos
		$retval = vpn_ipsec_refresh_policies();
62 3851094f Scott Ullrich
		$retval = vpn_ipsec_configure();
63 04b46591 Ermal Lu?i
		/* reload the filter in the background */
64
		filter_configure();
65 5b237745 Scott Ullrich
		$savemsg = get_std_save_message($retval);
66
		if ($retval == 0) {
67 a368a026 Ermal Lu?i
			if (is_subsystem_dirty('ipsec'))
68
				clear_subsystem_dirty('ipsec');
69 5b237745 Scott Ullrich
		}
70
	} else if ($_POST['submit']) {
71
		$pconfig = $_POST;
72 574a2b47 Scott Ullrich
73 5b237745 Scott Ullrich
		$config['ipsec']['enable'] = $_POST['enable'] ? true : false;
74 c20acc35 Scott Ullrich
75 5b237745 Scott Ullrich
		write_config();
76 9fad9848 jim-p
77
		$retval = vpn_ipsec_configure();
78 5b237745 Scott Ullrich
	}
79
}
80
81 a93e56c5 Matthew Grooms
if ($_GET['act'] == "delph1")
82
{
83
	if ($a_phase1[$_GET['p1index']]) {
84 6de5d673 Seth Mos
		/* remove static route if interface is not WAN */
85 99bbd213 Matthew Grooms
		if ($a_phase1[$_GET['p1index']]['interface'] <> "wan")
86 fbc8af8f sullrich
			mwexec("/sbin/route delete -host {$a_phase1[$_GET['p1index']]['remote-gateway']}");
87 a93e56c5 Matthew Grooms
88
		/* remove all phase2 entries that match the ikeid */
89
		$ikeid = $a_phase1[$_GET['p1index']]['ikeid'];
90 99bbd213 Matthew Grooms
		foreach ($a_phase2 as $p2index => $ph2tmp)
91
			if ($ph2tmp['ikeid'] == $ikeid)
92 a93e56c5 Matthew Grooms
				unset($a_phase2[$p2index]);
93
94
		/* remove the phase1 entry */
95
		unset($a_phase1[$_GET['p1index']]);
96 647c7c48 Seth Mos
		vpn_ipsec_refresh_policies();
97
		vpn_ipsec_configure();
98 a93e56c5 Matthew Grooms
		write_config();
99 72bd8df5 Ermal Lu?i
		filter_configure();
100 a93e56c5 Matthew Grooms
		header("Location: vpn_ipsec.php");
101
		exit;
102
	}
103
}
104
105
if ($_GET['act'] == "delph2")
106
{
107
	if ($a_phase2[$_GET['p2index']]) {
108
		/* remove the phase2 entry */
109
		unset($a_phase2[$_GET['p2index']]);
110 647c7c48 Seth Mos
		vpn_ipsec_refresh_policies();
111
		vpn_ipsec_configure();
112 3fdb04a6 Scott Ullrich
		filter_configure();
113 5b237745 Scott Ullrich
		write_config();
114
		header("Location: vpn_ipsec.php");
115
		exit;
116
	}
117
}
118 4df96eff Scott Ullrich
119 108f16bf Carlos Eduardo Ramos
$pgtitle = array(gettext("VPN"),gettext("IPsec"));
120 6deedfde jim-p
$statusurl = "diag_ipsec.php";
121
$logurl = "diag_logs_ipsec.php";
122
123 4df96eff Scott Ullrich
include("head.inc");
124
125 53d4b84d Scott Ullrich
?>
126 422f27c0 Scott Ullrich
127
<body link="#0000CC" vlink="#0000CC" alink="#0000CC">
128 5b237745 Scott Ullrich
<?php include("fbegin.inc"); ?>
129
<form action="vpn_ipsec.php" method="post">
130 323d040b Scott Ullrich
<?php
131 a93e56c5 Matthew Grooms
	if ($savemsg)
132
		print_info_box($savemsg);
133 a368a026 Ermal Lu?i
	if ($pconfig['enable'] && is_subsystem_dirty('ipsec'))
134 108f16bf Carlos Eduardo Ramos
		print_info_box_np(gettext("The IPsec tunnel configuration has been changed") . ".<br>" . gettext("You must apply the changes in order for them to take effect."));
135 574a2b47 Scott Ullrich
?>
136 a93e56c5 Matthew Grooms
<table width="100%" border="0" cellpadding="0" cellspacing="0">
137
	<tr>
138
		<td class="tabnavtbl">
139
			<?php
140
				$tab_array = array();
141 108f16bf Carlos Eduardo Ramos
				$tab_array[0] = array(gettext("Tunnels"), true, "vpn_ipsec.php");
142
				$tab_array[1] = array(gettext("Mobile clients"), false, "vpn_ipsec_mobile.php");
143
				$tab_array[2] = array(gettext("Pre-shared keys"), false, "vpn_ipsec_keys.php");
144 a93e56c5 Matthew Grooms
				display_top_tabs($tab_array);
145
			?>
146
		</td>
147
	</tr>
148
	<tr>
149
		<td>
150
			<div id="mainarea">
151
				<table class="tabcont" width="100%" border="0" cellpadding="6" cellspacing="0">
152
					<tr>
153
						<td class="vtable">
154 667725ce Matthew Grooms
							<table border="0" cellspacing="2" cellpadding="0">
155
								<tr>
156
									<td>
157
										<input name="enable" type="checkbox" id="enable" value="yes" <?php if ($pconfig['enable']) echo "checked";?>>
158
									</td>
159
									<td>
160 108f16bf Carlos Eduardo Ramos
										<strong><?=gettext("Enable IPsec"); ?></strong>
161 667725ce Matthew Grooms
									</td>
162
								</tr>
163
							</table>
164 a93e56c5 Matthew Grooms
						</td>
165
					</tr>
166
					<tr>
167
						<td>
168 108f16bf Carlos Eduardo Ramos
							<input name="submit" type="submit" class="formbtn" value="<?=gettext("Save"); ?>">
169 a93e56c5 Matthew Grooms
						</td>
170
					</tr>
171
				</table>
172
				<table class="tabcont" width="100%" border="0" cellpadding="0" cellspacing="0">
173 5bba8dfb Scott Ullrich
					<?php
174
						$i = 0;
175
						foreach ($a_phase1 as $ph1ent) {
176
							if (isset( $ph1ent['disabled'])) {
177
								$spans = "<span class=\"gray\">";
178
								$spane = "</span>";
179
							}
180
							else
181
								$spans = $spane = "";
182 96162327 Scott Ullrich
						
183
						show_ipsec_header($ph1ent);
184 4494cf6a Chris Buechler
						$counter++; // used to determine if we need to output header manually (no records exist)
185 96162327 Scott Ullrich
					?>					
186 a0d4c5da Matthew Grooms
					<tr valign="top" ondblclick="document.location='vpn_ipsec_phase1.php?p1index=<?=$i;?>'">
187
						<td class="listlr">
188 a93e56c5 Matthew Grooms
							<?=$spans;?>
189
							<?php
190
								if ($ph1ent['interface']) {
191
									$iflabels = get_configured_interface_with_descr();
192 abcb2bed Ermal Lu?i
									$carplist = get_configured_carp_interface_list();
193
									foreach ($carplist as $cif => $carpip)
194 25f6730a Pierre POMES
										$iflabels[$cif] = $carpip." (".get_vip_descr($carpip).")";
195
									$aliaslist = get_configured_ip_aliases_list();
196
									foreach ($aliaslist as $aliasip => $aliasif)
197
										$iflabels[$aliasip] = $aliasip." (".get_vip_descr($aliasip).")";
198 a93e56c5 Matthew Grooms
									$if = htmlspecialchars($iflabels[$ph1ent['interface']]);
199
								}
200
								else
201
									$if = "WAN";
202
203 3462a529 Matthew Grooms
								if (!isset($ph1ent['mobile']))
204
									echo $if."<br>".$ph1ent['remote-gateway'];
205
								else
206 108f16bf Carlos Eduardo Ramos
									echo $if."<br><strong>" . gettext("Mobile Client") . "</strong>";
207 a93e56c5 Matthew Grooms
							?>
208
							<?=$spane;?>
209
						</td>
210 a0d4c5da Matthew Grooms
						<td class="listr">
211 a93e56c5 Matthew Grooms
							<?=$spans;?>
212
							<?=$ph1ent['mode'];?>
213
							<?=$spane;?>
214
						</td>
215 a0d4c5da Matthew Grooms
						<td class="listr">
216 a93e56c5 Matthew Grooms
							<?=$spans;?>
217
							<?=$p1_ealgos[$ph1ent['encryption-algorithm']['name']]['name'];?>
218
							<?php
219
								if ($ph1ent['encryption-algorithm']['keylen']) {
220
									if ($ph1ent['encryption-algorithm']['keylen']=="auto")
221 108f16bf Carlos Eduardo Ramos
										echo " (" . gettext("auto") . ")";
222 a93e56c5 Matthew Grooms
									else
223 108f16bf Carlos Eduardo Ramos
										echo " ({$ph1ent['encryption-algorithm']['keylen']} " . gettext("bits") . ")";
224 a93e56c5 Matthew Grooms
								}
225
							?>
226
							<?=$spane;?>
227
						</td>
228 a0d4c5da Matthew Grooms
						<td class="listr">
229 a93e56c5 Matthew Grooms
							<?=$spans;?>
230
							<?=$p1_halgos[$ph1ent['hash-algorithm']];?>
231
							<?=$spane;?>
232
						</td>
233 b9056c39 Scott Ullrich
						<td class="listbg">
234 a93e56c5 Matthew Grooms
							<?=$spans;?>
235 b9056c39 Scott Ullrich
							<?=htmlspecialchars($ph1ent['descr']);?>&nbsp;
236 a93e56c5 Matthew Grooms
							<?=$spane;?>
237
						</td>
238
						<td valign="middle" nowrap class="list">
239
							<table border="0" cellspacing="0" cellpadding="1">
240
								<tr>
241
									<td>
242
										<a href="vpn_ipsec_phase1.php?p1index=<?=$i;?>">
243 108f16bf Carlos Eduardo Ramos
											<img src="./themes/<?= $g['theme']; ?>/images/icons/icon_e.gif" title="<?=gettext("edit phase1 entry"); ?>" width="17" height="17" border="0">
244 a93e56c5 Matthew Grooms
										</a>
245
									</td>
246
									<td>
247 108f16bf Carlos Eduardo Ramos
										<a href="vpn_ipsec.php?act=delph1&p1index=<?=$i;?>" onclick="return confirm('<?=gettext("Do you really want to delete this phase1 and all associated phase2 entries?"); ?>')">
248
											<img src="./themes/<?= $g['theme']; ?>/images/icons/icon_x.gif" title="<?=gettext("delete phase1 entry"); ?>" width="17" height="17" border="0">
249 a93e56c5 Matthew Grooms
										</a>
250
									</td>
251
								</tr>
252 fce61eda Matthew Grooms
								<?php if (!isset($ph1ent['mobile'])): ?>
253 a93e56c5 Matthew Grooms
								<tr>
254
									<td>
255
									</td>
256
									<td>
257
										<a href="vpn_ipsec_phase1.php?dup=<?=$i;?>">
258 108f16bf Carlos Eduardo Ramos
											<img src="./themes/<?= $g['theme']; ?>/images/icons/icon_plus.gif" title="<?=gettext("copy phase1 entry"); ?>" width="17" height="17" border="0">
259 a93e56c5 Matthew Grooms
										</a>
260
									</td>
261
								</tr>
262 fce61eda Matthew Grooms
								<?php endif; ?>
263 a93e56c5 Matthew Grooms
							</table>
264
						</td>
265
					</tr>
266
					<tr>
267 abd378bf Scott Ullrich
						<td class="listrborder" colspan="5">
268 0a95b653 Scott Ullrich
							<div id="shph2but-<?=$i?>">
269 e1b74950 Scott Ullrich
								<?php
270
									$phase2count=0;
271 b2a189a8 Scott Ullrich
									foreach ($a_phase2 as $ph2ent) {
272 c82c89ac Scott Ullrich
										if ($ph2ent['ikeid'] != $ph1ent['ikeid']) 
273 b2a189a8 Scott Ullrich
											continue;
274
										if (isset( $ph2ent['disabled']) || isset($ph1ent['disabled'])) 
275
											continue;
276 e1b74950 Scott Ullrich
										$phase2count++;
277 b2a189a8 Scott Ullrich
									}
278 e1b74950 Scott Ullrich
								?>								
279 108f16bf Carlos Eduardo Ramos
								<input  type="button" onClick="show_phase2('tdph2-<?=$i?>','shph2but-<?=$i?>')" value="+"></input> - <?php printf(gettext("Show %s Phase-2 entries"), $phase2count); ?></a>
280 0a95b653 Scott Ullrich
							</div>
281
							<table class="tabcont" width="100%" height="100%" border="0" cellspacing="0" cellpadding="0" id="tdph2-<?=$i?>" style="display:none">
282 a93e56c5 Matthew Grooms
								<tr>
283 108f16bf Carlos Eduardo Ramos
									<td class="listhdrr"><?=gettext("Mode"); ?></td>
284 4b96b367 mgrooms
									<?php if($ph2ent['mode'] == "tunnel"): ?>
285 108f16bf Carlos Eduardo Ramos
									<td class="listhdrr"><?=gettext("Local Subnet"); ?></td>
286
									<td class="listhdrr"><?=gettext("Remote Subnet"); ?></td>
287 4b96b367 mgrooms
									<?php endif; ?>
288 108f16bf Carlos Eduardo Ramos
									<td class="listhdrr"><?=gettext("P2 Protocol"); ?></td>
289
									<td class="listhdrr"><?=gettext("P2 Transforms"); ?></td>
290
									<td class="listhdrr"><?=gettext("P2 Auth Methods"); ?></td>
291 a93e56c5 Matthew Grooms
									<td class ="list">
292 3462a529 Matthew Grooms
										<a href="vpn_ipsec_phase2.php?ikeid=<?=$ph1ent['ikeid'];?><?php if (isset($ph1ent['mobile'])) echo "&mobile=true";?>">
293 108f16bf Carlos Eduardo Ramos
											<img src="./themes/<?= $g['theme']; ?>/images/icons/icon_plus.gif" title="<?=gettext("add phase2 entry"); ?>" width="17" height="17" border="0">
294 a93e56c5 Matthew Grooms
										</a>
295
									</td>
296
								</tr>
297
								<?php
298
									$j = 0;
299
									foreach ($a_phase2 as $ph2ent) {
300
										if ($ph2ent['ikeid'] != $ph1ent['ikeid']) {
301
											$j++;
302
											continue;
303
										}
304
305
										if (isset( $ph2ent['disabled']) || isset($ph1ent['disabled'])) {
306
											$spans = "<span class=\"gray\">";
307
											$spane = "</span>";
308
										}
309
										else
310
											$spans = $spane = "";
311
								?>
312 4da0e32a Seth Mos
								<tr valign="top" ondblclick="document.location='vpn_ipsec_phase2.php?p2index=<?=$j;?>'">
313 3462a529 Matthew Grooms
314 a0d4c5da Matthew Grooms
									<td nowrap class="listlr">
315 4b96b367 mgrooms
										<?=$spans;?>
316
											<?=$ph2ent['mode'];?>
317
										<?=$spane;?>
318
									</td>
319 c443bb14 Scott Ullrich
									<?php 
320
										if($ph2ent['mode'] <> "tunnel") {
321
											echo "<td nowrap class=\"listr\">&nbsp;</td><td nowrap class=\"listr\">&nbsp;</td>";
322
										} 
323
									?>
324 4b96b367 mgrooms
									<?php if($ph2ent['mode'] == "tunnel"): ?>
325
									<td nowrap class="listr">
326 a93e56c5 Matthew Grooms
										<?=$spans;?>
327 3462a529 Matthew Grooms
											<?=ipsec_idinfo_to_text($ph2ent['localid']); ?>
328 a93e56c5 Matthew Grooms
										<?=$spane;?>
329
									</td>
330 a0d4c5da Matthew Grooms
									<td nowrap class="listr">
331 a93e56c5 Matthew Grooms
										<?=$spans;?>
332 3462a529 Matthew Grooms
											<?=ipsec_idinfo_to_text($ph2ent['remoteid']); ?>
333 a93e56c5 Matthew Grooms
										<?=$spane;?>
334
									</td>
335 4b96b367 mgrooms
									<?php endif; ?>
336 a0d4c5da Matthew Grooms
									<td nowrap class="listr">
337 a93e56c5 Matthew Grooms
										<?=$spans;?>
338 3462a529 Matthew Grooms
											<?php echo $p2_protos[$ph2ent['protocol']];	?>
339 a93e56c5 Matthew Grooms
										<?=$spane;?>
340
									</td>
341 a0d4c5da Matthew Grooms
									<td class="listr">
342 a93e56c5 Matthew Grooms
										<?=$spans;?>
343
										<?php
344
											$k = 0;
345
											foreach ($ph2ent['encryption-algorithm-option'] as $ph2ea) {
346
												if ($k++)
347
													echo ", ";
348
												echo $p2_ealgos[$ph2ea['name']]['name'];
349
												if ($ph2ea['keylen']) {
350
													if ($ph2ea['keylen']=="auto")
351 108f16bf Carlos Eduardo Ramos
														echo " (" . gettext("auto") . ")";
352 a93e56c5 Matthew Grooms
													else
353 108f16bf Carlos Eduardo Ramos
														echo " ({$ph2ea['keylen']} " . gettext("bits") . ")";
354 a93e56c5 Matthew Grooms
												}
355
											}
356
										?>
357
										<?=$spane;?>
358
									</td>
359 a0d4c5da Matthew Grooms
									<td nowrap class="listr">
360 a93e56c5 Matthew Grooms
										<?=$spans;?>
361
										<?php
362
											$k = 0;
363
											foreach ($ph2ent['hash-algorithm-option'] as $ph2ha) {
364
												if ($k++)
365
													echo ", ";
366
												echo $p2_halgos[$ph2ha];
367
											}
368
										?>
369
										<?=$spane;?>
370
									</td>
371
									<td nowrap class="list">
372
										<a href="vpn_ipsec_phase2.php?p2index=<?=$j;?>">
373 108f16bf Carlos Eduardo Ramos
											<img src="./themes/<?= $g['theme']; ?>/images/icons/icon_e.gif" title="<?=gettext("edit phase2 entry"); ?>" width="17" height="17" border="0">
374 a93e56c5 Matthew Grooms
										</a>
375 108f16bf Carlos Eduardo Ramos
										<a href="vpn_ipsec.php?act=delph2&p2index=<?=$j;?>" onclick="return confirm('<?=gettext("Do you really want to delete this phase2 entry?"); ?>')">
376
											<img src="./themes/<?= $g['theme']; ?>/images/icons/icon_x.gif" title="<?=gettext("delete phase2 entry"); ?>" width="17" height="17" border="0">
377 a93e56c5 Matthew Grooms
										</a>
378
									</td>
379
								</tr>
380 3462a529 Matthew Grooms
381 a93e56c5 Matthew Grooms
								<?php
382
										$j++;
383
									}
384
								?>
385
							</table>
386
						</td>
387
					</tr>
388 0a95b653 Scott Ullrich
					<tr>
389
						<td>
390
							&nbsp;
391
						</td>
392
					</tr>
393 a93e56c5 Matthew Grooms
					<?php
394
							$i++;
395
						}
396 96162327 Scott Ullrich
					if(!$counter)
397 83221d3b sullrich
						show_ipsec_header($ph1ent);
398 5b237745 Scott Ullrich
					?>
399 a93e56c5 Matthew Grooms
					<tr>
400
						<td class="list" colspan="5"></td>
401
						<td class="list">
402
							<table border="0" cellspacing="0" cellpadding="1">
403
								<tr>
404
									<td width="17"></td>
405
									<td>
406
										<a href="vpn_ipsec_phase1.php">
407 108f16bf Carlos Eduardo Ramos
											<img src="./themes/<?= $g['theme']; ?>/images/icons/icon_plus.gif" title="<?=gettext("add phase1 entry"); ?>" width="17" height="17" border="0">
408 a93e56c5 Matthew Grooms
										</a>
409
									</td>
410
								</tr>
411
							</table>
412
						<td>
413
					</tr>
414
					<tr>
415
						<td colspan="4">
416
							<p>
417
								<span class="vexpl">
418
									<span class="red">
419 108f16bf Carlos Eduardo Ramos
										<strong><?=gettext("Note"); ?>:<br></strong>
420 a93e56c5 Matthew Grooms
									</span>
421 108f16bf Carlos Eduardo Ramos
									<?=gettext("You can check your IPsec status at"); ?> <a href="diag_ipsec.php"><?=gettext("Status:IPsec"); ?></a>.
422 a93e56c5 Matthew Grooms
								</span>
423
							</p>
424
						</td>
425
					</tr>
426
				</table>
427
			</div>
428
		</td>
429 5b237745 Scott Ullrich
	</tr>
430
</table>
431
</form>
432
<?php include("fend.inc"); ?>
433 0a95b653 Scott Ullrich
<script type="text/javascript">
434
function show_phase2(id, buttonid) {
435
	document.getElementById(buttonid).innerHTML='';
436
	aodiv = document.getElementById(id);
437
	aodiv.style.display = "block";
438
}
439
</script>
440 323d040b Scott Ullrich
</body>
441
</html>
442 96162327 Scott Ullrich
443
<?php
444
445 afcda0d0 sullrich
function show_ipsec_header($ph1ent) {
446
	global $g;
447 83221d3b sullrich
	if (isset($ph1ent['mobile'])) 
448
		$mobile = "&mobile=true";
449 e46616a7 Erik Fonnesbeck
	?>
450 96162327 Scott Ullrich
	<tr>
451 108f16bf Carlos Eduardo Ramos
		<td class="listhdrr"><?=gettext("Remote Gateway"); ?></td>
452
		<td class="listhdrr"><?=gettext("Mode"); ?></td>
453
		<td class="listhdrr"><?=gettext("P1 Protocol"); ?></td>
454
		<td class="listhdrr"><?=gettext("P1 Transforms"); ?></td>
455
		<td class="listhdrr"><?=gettext("P1 Description"); ?></td>
456 96162327 Scott Ullrich
		<td class ="list">
457
		</td>
458
	</tr>
459
460 e46616a7 Erik Fonnesbeck
<?php
461 96162327 Scott Ullrich
	
462
}
463
464 04831121 Bill Marquette
?>