Project

General

Profile

« Previous | Next » 

Revision ee55ce7d

Added by Jim Pingle over 12 years ago

Add GUI option to use "topology subnet" for OpenVPN, since the OpenVPN Connect iOS client requires it for IPv6

View differences:

etc/inc/openvpn.inc
670 670
		$conf .= "float\n";
671 671
	}
672 672

  
673
	if ($settings['topology_subnet']) {
674
		$conf .= "topology subnet\n";
675
	}
676

  
673 677
	openvpn_add_custom($settings, $conf);
674 678

  
675 679
	openvpn_create_dirs();
usr/local/www/vpn_openvpn_server.php
150 150

  
151 151
		$pconfig['dynamic_ip'] = $a_server[$id]['dynamic_ip'];
152 152
		$pconfig['pool_enable'] = $a_server[$id]['pool_enable'];
153
		$pconfig['topology_subnet'] = $a_server[$id]['topology_subnet'];
153 154

  
154 155
		$pconfig['serverbridge_dhcp'] = $a_server[$id]['serverbridge_dhcp'];
155 156
		$pconfig['serverbridge_interface'] = $a_server[$id]['serverbridge_interface'];
......
378 379

  
379 380
		$server['dynamic_ip'] = $pconfig['dynamic_ip'];
380 381
		$server['pool_enable'] = $pconfig['pool_enable'];
382
		$server['topology_subnet'] = $pconfig['topology_subnet'];
381 383

  
382 384
		$server['serverbridge_dhcp'] = $pconfig['serverbridge_dhcp'];
383 385
		$server['serverbridge_interface'] = $pconfig['serverbridge_interface'];
......
639 641
			document.getElementById("serverbridge_interface").style.display="none";
640 642
			document.getElementById("serverbridge_dhcp_start").style.display="none";
641 643
			document.getElementById("serverbridge_dhcp_end").style.display="none";
644
			document.getElementById("topology_subnet_opt").style.display="";
642 645
			break;
643 646
		case "tap":
644 647
			document.getElementById("ipv4_tunnel_network").className="vncell";
......
647 650
				document.getElementById("serverbridge_interface").style.display="";
648 651
				document.getElementById("serverbridge_dhcp_start").style.display="";
649 652
				document.getElementById("serverbridge_dhcp_end").style.display="";
653
				document.getElementById("topology_subnet_opt").style.display="none";
650 654
				if (document.iform.serverbridge_dhcp.checked) {
651 655
					document.iform.serverbridge_interface.disabled = false;
652 656
					document.iform.serverbridge_dhcp_start.disabled = false;
......
657 661
					document.iform.serverbridge_dhcp_end.disabled = true;
658 662
				}
659 663
			} else {
664
				document.getElementById("topology_subnet_opt").style.display="none";
660 665
				document.iform.serverbridge_dhcp.disabled = true;
661 666
				document.iform.serverbridge_interface.disabled = true;
662 667
				document.iform.serverbridge_dhcp_start.disabled = true;
......
1386 1391
							</table>
1387 1392
						</td>
1388 1393
					</tr>
1394
					<tr id="topology_subnet_opt">
1395
						<td width="22%" valign="top" class="vncell"><?=gettext("Topology"); ?></td>
1396
						<td width="78%" class="vtable">
1397
							<table border="0" cellpadding="2" cellspacing="0">
1398
								<tr>
1399
									<td>
1400
										<?php set_checked($pconfig['topology_subnet'],$chk); ?>
1401
										<input name="topology_subnet" type="checkbox" id="topology_subnet" value="yes" <?=$chk;?>/>
1402
									</td>
1403
									<td>
1404
										<span class="vexpl">
1405
											<?=gettext("Allocate only one IP per client (topology subnet), rather than an isolated subnet per client (topology net30)."); ?><br/>
1406
										</span>
1407
									</td>
1408
								</tr>
1409
								<tr>
1410
									<td>&nbsp;</td>
1411
									<td>
1412
										<?=gettext("Relevant when supplying a virtual adapter IP address to clients when using tun mode on IPv4."); ?><br/>
1413
										<?=gettext("Some clients may require this even for IPv6, such as OpenVPN Connect on iOS. Others may break if it is present, such as older versions of OpenVPN or clients such as Yealink phones."); ?><br>
1414
									</td>
1415
								</tr>
1416
							</table>
1417
						</td>
1418
					</tr>
1389 1419
					<tr>
1390 1420
						<td width="22%" valign="top" class="vncell"><?=gettext("DNS Default Domain"); ?></td>
1391 1421
						<td width="78%" class="vtable">

Also available in: Unified diff