From: <abe...@us...> - 2013-02-13 20:46:19
|
Revision: 5953 http://astlinux.svn.sourceforge.net/astlinux/?rev=5953&view=rev Author: abelbeck Date: 2013-02-13 20:46:08 +0000 (Wed, 13 Feb 2013) Log Message: ----------- web interface, OpenVPN Server and OpenVPN Client sub-tabs, add OpenVPN 2.3 IPv6 support Modified Paths: -------------- branches/1.0/package/webinterface/altweb/admin/openvpn.php branches/1.0/package/webinterface/altweb/admin/openvpnclient.php Modified: branches/1.0/package/webinterface/altweb/admin/openvpn.php =================================================================== --- branches/1.0/package/webinterface/altweb/admin/openvpn.php 2013-02-12 20:16:52 UTC (rev 5952) +++ branches/1.0/package/webinterface/altweb/admin/openvpn.php 2013-02-13 20:46:08 UTC (rev 5953) @@ -12,6 +12,7 @@ // 02-06-2009, Added tls-verify, temporarily disable clients // 08-13-2010, Added QoS Passthrough, setting passtos // 01-03-2013, Added private keysize support +// 02-13-2013, Added OpenVPN 2.3 IPv6 support // // System location of /mnt/kd/rc.conf.d directory $OVPNCONFDIR = '/mnt/kd/rc.conf.d'; @@ -100,11 +101,25 @@ 'yes' => 'Cert. + User/Pass' ); +$protocol_menu = array ( + 'udp' => 'UDP v4', + 'tcp-server' => 'TCP v4', + 'udp6' => 'UDP v4/v6', + 'tcp6-server' => 'TCP v4/v6' +); + $key_size_menu = array ( '1024' => '1024 Bits', '2048' => '2048 Bits' ); +$topology_menu = array ( + '' => 'Default Topology', + 'net30' => '[net30] older, OpenVPN 2.0 default', + 'p2p' => '[p2p] point-to-point, no Windows clients', + 'subnet' => '[subnet] latest, requires OpenVPN 2.1+ clients' +); + // Function: saveOVPNsettings // function saveOVPNsettings($conf_dir, $conf_file, $disabled = NULL) { @@ -148,8 +163,14 @@ fwrite($fp, "### Allowed External Hosts\n".$value."\n"); $value = 'OVPN_SERVER="'.trim($_POST['server']).'"'; - fwrite($fp, "### Server Network\n".$value."\n"); + fwrite($fp, "### Server IPv4 Network\n".$value."\n"); + $value = 'OVPN_SERVERV6="'.trim($_POST['serverv6']).'"'; + fwrite($fp, "### Server IPv6 Network\n".$value."\n"); + + $value = 'OVPN_TOPOLOGY="'.$_POST['topology'].'"'; + fwrite($fp, "### Topology\n".$value."\n"); + $value = 'OVPN_PUSH="'; fwrite($fp, "### Server Push\n".$value."\n"); $value = stripslashes($_POST['push']); @@ -447,11 +468,12 @@ putHtml('<tr class="dtrow1"><td style="text-align: right;" colspan="2">'); putHtml('Protocol:'); putHtml('</td><td style="text-align: left;" colspan="1">'); + $protocol = getVARdef($db, 'OVPN_PROTOCOL'); putHtml('<select name="protocol">'); - $sel = (getVARdef($db, 'OVPN_PROTOCOL') === 'udp') ? ' selected="selected"' : ''; - putHtml('<option value="udp"'.$sel.'>UDP</option>'); - $sel = (getVARdef($db, 'OVPN_PROTOCOL') === 'tcp-server') ? ' selected="selected"' : ''; - putHtml('<option value="tcp-server"'.$sel.'>TCP</option>'); + foreach ($protocol_menu as $key => $value) { + $sel = ($protocol === $key) ? ' selected="selected"' : ''; + putHtml('<option value="'.$key.'"'.$sel.'>'.$value.'</option>'); + } putHtml('</select>'); putHtml('</td><td style="text-align: right;" colspan="1">'); putHtml('Port:'); @@ -546,14 +568,35 @@ putHtml('<tr class="dtrow0"><td class="dialogText" style="text-align: left;" colspan="6">'); putHtml('<strong>Server Mode:</strong>'); putHtml('</td></tr>'); - putHtml('<tr class="dtrow1"><td style="text-align: right;">'); - putHtml('Network:'); - putHtml('</td><td style="text-align: left;" colspan="5">'); + + putHtml('<tr class="dtrow1"><td style="text-align: right;" colspan="2">'); + putHtml('Network IPv4 NM:'); + putHtml('</td><td style="text-align: left;" colspan="4">'); if (($value = getVARdef($db, 'OVPN_SERVER')) === '') { $value = '10.8.0.0 255.255.255.0'; } putHtml('<input type="text" size="48" maxlength="128" value="'.$value.'" name="server" />'); putHtml('</td></tr>'); + + putHtml('<tr class="dtrow1"><td style="text-align: right;" colspan="2">'); + putHtml('Network IPv6/nn:'); + putHtml('</td><td style="text-align: left;" colspan="4">'); + $value = getVARdef($db, 'OVPN_SERVERV6'); + putHtml('<input type="text" size="48" maxlength="128" value="'.$value.'" name="serverv6" />'); + putHtml('</td></tr>'); + + putHtml('<tr class="dtrow1"><td style="text-align: right;" colspan="2">'); + putHtml('Topology:'); + putHtml('</td><td style="text-align: left;" colspan="4">'); + $topology = getVARdef($db, 'OVPN_TOPOLOGY'); + putHtml('<select name="topology">'); + foreach ($topology_menu as $key => $value) { + $sel = ($topology === $key) ? ' selected="selected"' : ''; + putHtml('<option value="'.$key.'"'.$sel.'>'.$value.'</option>'); + } + putHtml('</select>'); + putHtml('</td></tr>'); + putHtml('<tr class="dtrow1"><td style="text-align: right;">'); putHtml('"push":'); putHtml('</td><td style="text-align: left;" colspan="5">'); Modified: branches/1.0/package/webinterface/altweb/admin/openvpnclient.php =================================================================== --- branches/1.0/package/webinterface/altweb/admin/openvpnclient.php 2013-02-12 20:16:52 UTC (rev 5952) +++ branches/1.0/package/webinterface/altweb/admin/openvpnclient.php 2013-02-13 20:46:08 UTC (rev 5953) @@ -1,6 +1,6 @@ <?php -// Copyright (C) 2008-2009 Lonnie Abelbeck +// Copyright (C) 2008-2013 Lonnie Abelbeck // This is free software, licensed under the GNU General Public License // version 3 as published by the Free Software Foundation; you can // redistribute it and/or modify it under the terms of the GNU @@ -9,6 +9,7 @@ // openvpnclient.php for AstLinux // 04-15-2009 // 08-13-2010, Added QoS Passthrough, setting passtos +// 02-13-2013, Added OpenVPN 2.3 IPv6 support // // System location of /mnt/kd/rc.conf.d directory $OVPNCONFDIR = '/mnt/kd/rc.conf.d'; @@ -23,6 +24,13 @@ $openssl = openvpnclientSETUP(); +$protocol_menu = array ( + 'udp' => 'UDP v4', + 'tcp-client' => 'TCP v4', + 'udp6' => 'UDP v6', + 'tcp6-client' => 'TCP v6' +); + $cipher_menu = array ( '' => 'Default Cipher', 'BF-CBC' => 'BF-CBC', @@ -254,11 +262,12 @@ putHtml('<tr class="dtrow1"><td style="text-align: right;" colspan="2">'); putHtml('Protocol:'); putHtml('</td><td style="text-align: left;" colspan="1">'); + $protocol = getVARdef($db, 'OVPNC_PROTOCOL'); putHtml('<select name="protocol">'); - $sel = (getVARdef($db, 'OVPNC_PROTOCOL') === 'udp') ? ' selected="selected"' : ''; - putHtml('<option value="udp"'.$sel.'>UDP</option>'); - $sel = (getVARdef($db, 'OVPNC_PROTOCOL') === 'tcp-client') ? ' selected="selected"' : ''; - putHtml('<option value="tcp-client"'.$sel.'>TCP</option>'); + foreach ($protocol_menu as $key => $value) { + $sel = ($protocol === $key) ? ' selected="selected"' : ''; + putHtml('<option value="'.$key.'"'.$sel.'>'.$value.'</option>'); + } putHtml('</select>'); putHtml('</td><td style="text-align: right;" colspan="1">'); putHtml('Port:'); @@ -349,13 +358,13 @@ putHtml('<strong>Client Mode:</strong>'); putHtml('</td></tr>'); putHtml('<tr class="dtrow1"><td style="text-align: right;" colspan="2">'); - putHtml('Remote Server:'); + putHtml('Remote Server Hostname:'); putHtml('</td><td style="text-align: left;" colspan="4">'); $value = getVARdef($db, 'OVPNC_REMOTE'); putHtml('<input type="text" size="32" maxlength="128" value="'.$value.'" name="remote" />'); putHtml('</td></tr>'); putHtml('<tr class="dtrow1"><td style="text-align: right;" colspan="2">'); - putHtml('Remote Network:'); + putHtml('Remote Network IPv4 NM:'); putHtml('</td><td style="text-align: left;" colspan="4">'); if (($value = getVARdef($db, 'OVPNC_SERVER')) === '') { $value = '10.8.0.0 255.255.255.0'; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |