[prev in list] [next in list] [prev in thread] [next in thread]
List: ipcop-svn
Subject: [Ipcop-svn] SF.net SVN: ipcop:[2248]
From: owes () users ! sourceforge ! net
Date: 2008-12-30 13:26:56
Message-ID: E1LHeca-0004tG-BL () dn4whf1 ! ch3 ! sourceforge ! com
[Download RAW message or body]
Revision: 2248
http://ipcop.svn.sourceforge.net/ipcop/?rev=2248&view=rev
Author: owes
Date: 2008-12-30 13:26:56 +0000 (Tue, 30 Dec 2008)
Log Message:
-----------
More changes.
Perhaps including openvpn was not such a good idea after all... ;-)
Modified Paths:
--------------
ipcop/trunk/html/cgi-bin/ovpnmain.cgi
Modified: ipcop/trunk/html/cgi-bin/ovpnmain.cgi
===================================================================
--- ipcop/trunk/html/cgi-bin/ovpnmain.cgi 2008-12-30 11:56:48 UTC (rev 2247)
+++ ipcop/trunk/html/cgi-bin/ovpnmain.cgi 2008-12-30 13:26:56 UTC (rev 2248)
@@ -443,7 +443,6 @@
###
### Save Advanced options
###
-
if ($cgiparams{'ACTION'} eq $Lang::tr{'save-adv-options'}) {
&General::readhash("${General::swroot}/ovpn/settings", \%vpnsettings);
#DAN do we really need (to to check) this value? Besides if we listen on blue \
and orange too, @@ -467,22 +466,22 @@
$vpnsettings{'RADIUS_TIMEOUT'} = $cgiparams{'RADIUS_TIMEOUT'};
$vpnsettings{'RADIUS_PASS1'} = $cgiparams{'RADIUS_PASS1'};
- if ($cgiparams{'DHCP_DOMAIN'} ne ''){
- unless (&General::validfqdn($cgiparams{'DHCP_DOMAIN'}) || \
&General::validip($cgiparams{'DHCP_DOMAIN'})) {
- $errormessage = $Lang::tr{'invalid input for dhcp domain'};
- goto ADV_ERROR;
+ if ($cgiparams{'DHCP_DOMAIN'} ne '') {
+ unless (&General::validfqdn($cgiparams{'DHCP_DOMAIN'}) || \
&General::validip($cgiparams{'DHCP_DOMAIN'})) { + $errormessage = \
$Lang::tr{'invalid input for dhcp domain'}; + goto ADV_ERROR;
}
}
- if ($cgiparams{'DHCP_DNS'} ne ''){
- unless (&General::validfqdn($cgiparams{'DHCP_DNS'}) || \
&General::validip($cgiparams{'DHCP_DNS'})) {
- $errormessage = $Lang::tr{'invalid input for dhcp dns'};
- goto ADV_ERROR;
+ if ($cgiparams{'DHCP_DNS'} ne '') {
+ unless (&General::validfqdn($cgiparams{'DHCP_DNS'}) || \
&General::validip($cgiparams{'DHCP_DNS'})) { + $errormessage = \
$Lang::tr{'invalid input for dhcp dns'}; + goto ADV_ERROR;
}
}
- if ($cgiparams{'DHCP_WINS'} ne ''){
- unless (&General::validfqdn($cgiparams{'DHCP_WINS'}) || \
&General::validip($cgiparams{'DHCP_WINS'})) {
- $errormessage = $Lang::tr{'invalid input for dhcp wins'};
- goto ADV_ERROR;
+ if ($cgiparams{'DHCP_WINS'} ne '') {
+ unless (&General::validfqdn($cgiparams{'DHCP_WINS'}) || \
&General::validip($cgiparams{'DHCP_WINS'})) { + $errormessage = \
$Lang::tr{'invalid input for dhcp wins'}; + goto ADV_ERROR;
}
}
if ((length($cgiparams{'MAX_CLIENTS'}) == 0) || (($cgiparams{'MAX_CLIENTS'}) < 1 \
) || (($cgiparams{'MAX_CLIENTS'}) > 255 )) { @@ -490,41 +489,41 @@
goto ADV_ERROR;
}
if ($cgiparams{'KEEPALIVE_1'} ne '') {
- if ($cgiparams{'KEEPALIVE_1'} !~ /^[0-9]+$/) {
+ if ($cgiparams{'KEEPALIVE_1'} !~ /^[0-9]+$/) {
$errormessage = $Lang::tr{'invalid input for keepalive 1'};
- goto ADV_ERROR;
+ goto ADV_ERROR;
+ }
}
- }
- if ($cgiparams{'KEEPALIVE_2'} ne ''){
- if ($cgiparams{'KEEPALIVE_2'} !~ /^[0-9]+$/) {
+ if ($cgiparams{'KEEPALIVE_2'} ne '') {
+ if ($cgiparams{'KEEPALIVE_2'} !~ /^[0-9]+$/) {
$errormessage = $Lang::tr{'invalid input for keepalive 2'};
- goto ADV_ERROR;
+ goto ADV_ERROR;
+ }
}
- }
- if ($cgiparams{'KEEPALIVE_2'} < ($cgiparams{'KEEPALIVE_1'} * 2)){
+ if ($cgiparams{'KEEPALIVE_2'} < ($cgiparams{'KEEPALIVE_1'} * 2)) {
$errormessage = $Lang::tr{'invalid input for keepalive 1:2'};
goto ADV_ERROR;
}
- if ($cgiparams{'RADIUS_ENABLED'} eq 'on'){
+ if ($cgiparams{'RADIUS_ENABLED'} eq 'on') {
if ($cgiparams{'RADIUS_HOST'} ne ''){
unless (&General::validfqdn($cgiparams{'RADIUS_HOST'}) || \
&General::validip($cgiparams{'RADIUS_HOST'})) {
- $errormessage = $Lang::tr{'invalid input for radius hostname'};
- goto ADV_ERROR;
+ $errormessage = $Lang::tr{'invalid input for radius hostname'};
+ goto ADV_ERROR;
}
}
- if ($cgiparams{'RADIUS_AUTHPORT'} ne ''){
+ if ($cgiparams{'RADIUS_AUTHPORT'} ne '') {
unless (&General::validport($cgiparams{'RADIUS_AUTHPORT'})) {
- $errormessage = $Lang::tr{'invalid input for radius authport'};
- goto ADV_ERROR;
+ $errormessage = $Lang::tr{'invalid input for radius authport'};
+ goto ADV_ERROR;
}
}
- if ($cgiparams{'RADIUS_ACCTPORT'} ne ''){
+ if ($cgiparams{'RADIUS_ACCTPORT'} ne '') {
unless (&General::validport($cgiparams{'RADIUS_ACCTPORT'})) {
$errormessage = $Lang::tr{'invalid input for radius acctport'};
goto ADV_ERROR;
}
}
- if ($cgiparams{'RADIUS_AUTHPORT'} eq ($cgiparams{'RADIUS_ACCTPORT'})){
+ if ($cgiparams{'RADIUS_AUTHPORT'} eq ($cgiparams{'RADIUS_ACCTPORT'})) {
$errormessage = $Lang::tr{'invalid input for radius auth acct'};
goto ADV_ERROR;
}
@@ -534,7 +533,7 @@
goto ADV_ERROR;
}
}
- if ($cgiparams{'RADIUS_TIMEOUT'} ne ''){
+ if ($cgiparams{'RADIUS_TIMEOUT'} ne '') {
if ($cgiparams{'RADIUS_TIMEOUT'} !~ /^[0-9]+$/) {
$errormessage = $Lang::tr{'invalid input for radius timeout'};
goto ADV_ERROR;
@@ -547,14 +546,12 @@
}
&General::writehash("${General::swroot}/ovpn/settings", \%vpnsettings);
&writeserverconf();#hier ok
- if ($cgiparams{'RADIUS_ENABLED'} eq 'on'){
+ if ($cgiparams{'RADIUS_ENABLED'} eq 'on') {
&writeradiusconf();
}
}
-
-
###
### Save main settings
###
@@ -562,69 +559,66 @@
&General::readhash("${General::swroot}/ovpn/settings", \%vpnsettings);
#DAN do we really need (to to check) this value? Besides if we listen on blue \
and orange too, #DAN this value has to leave.
- if ($cgiparams{'ENABLED'} eq 'on'){
+ if ($cgiparams{'ENABLED'} eq 'on') {
unless (&General::validfqdn($cgiparams{'VPN_IP'}) || \
&General::validip($cgiparams{'VPN_IP'})) {
- $errormessage = $Lang::tr{'invalid input for hostname'};
- goto SETTINGS_ERROR;
+ $errormessage = $Lang::tr{'invalid input for hostname'};
+ goto SETTINGS_ERROR;
}
}
- if ($cgiparams{'ENABLED'} eq 'on'){
- &disallowreserved($cgiparams{'DDEST_PORT'},0,$cgiparams{'DPROTOCOL'},"dest");
+ if ($cgiparams{'ENABLED'} eq 'on') {
+ &disallowreserved($cgiparams{'DDEST_PORT'},0,$cgiparams{'DPROTOCOL'},"dest");
}
- if ($errormessage) { goto SETTINGS_ERROR; }
+ if ($errormessage) {
+ goto SETTINGS_ERROR;
+ }
-
- if ($cgiparams{'ENABLED'} eq 'on'){
- &checkportfw(0,$cgiparams{'DDEST_PORT'},$cgiparams{'DPROTOCOL'},'0.0.0.0');
+ if ($cgiparams{'ENABLED'} eq 'on') {
+ &checkportfw(0,$cgiparams{'DDEST_PORT'},$cgiparams{'DPROTOCOL'},'0.0.0.0');
}
+ if ($errormessage) {
+ goto SETTINGS_ERROR;
+ }
- if ($errormessage) { goto SETTINGS_ERROR; }
-
if (! &General::validipandmask($cgiparams{'DOVPN_SUBNET'})) {
- $errormessage = $Lang::tr{'ovpn subnet is invalid'};
- goto SETTINGS_ERROR;
+ $errormessage = $Lang::tr{'ovpn subnet is invalid'};
+ goto SETTINGS_ERROR;
}
my @tmpovpnsubnet = split("\/",$cgiparams{'DOVPN_SUBNET'});
- if (&General::IpInSubnet ( $netsettings{'RED_1_ADDRESS'},
- $tmpovpnsubnet[0], $tmpovpnsubnet[1])) {
- $errormessage = "$Lang::tr{'ovpn subnet overlap'}: IPCop RED Network \
$netsettings{'RED_1_ADDRESS'}";
- goto SETTINGS_ERROR;
+ if (&General::IpInSubnet($netsettings{'RED_1_ADDRESS'}, $tmpovpnsubnet[0], \
$tmpovpnsubnet[1])) { + $errormessage = "$Lang::tr{'ovpn subnet overlap'}: \
IPCop RED Network $netsettings{'RED_1_ADDRESS'}"; + goto SETTINGS_ERROR;
}
- if (&General::IpInSubnet ( $netsettings{'GREEN_1_ADDRESS'},
- $tmpovpnsubnet[0], $tmpovpnsubnet[1])) {
+ if (&General::IpInSubnet($netsettings{'GREEN_1_ADDRESS'}, $tmpovpnsubnet[0], \
$tmpovpnsubnet[1])) {
$errormessage = "$Lang::tr{'ovpn subnet overlap'}: IPCop Green Network \
$netsettings{'GREEN_1_ADDRESS'}"; goto SETTINGS_ERROR;
}
- if (&General::IpInSubnet ( $netsettings{'BLUE_1_ADDRESS'},
- $tmpovpnsubnet[0], $tmpovpnsubnet[1])) {
- $errormessage = "$Lang::tr{'ovpn subnet overlap'}: IPCop Blue Network \
$netsettings{'BLUE_1_ADDRESS'}";
- goto SETTINGS_ERROR;
+ if (&General::IpInSubnet($netsettings{'BLUE_1_ADDRESS'}, $tmpovpnsubnet[0], \
$tmpovpnsubnet[1])) { + $errormessage = "$Lang::tr{'ovpn subnet overlap'}: \
IPCop Blue Network $netsettings{'BLUE_1_ADDRESS'}"; + goto SETTINGS_ERROR;
}
- if (&General::IpInSubnet ( $netsettings{'ORANGE_1_ADDRESS'},
- $tmpovpnsubnet[0], $tmpovpnsubnet[1])) {
- $errormessage = "$Lang::tr{'ovpn subnet overlap'}: IPCop Orange Network \
$netsettings{'ORANGE_1_ADDRESS'}";
- goto SETTINGS_ERROR;
+ if (&General::IpInSubnet($netsettings{'ORANGE_1_ADDRESS'}, $tmpovpnsubnet[0], \
$tmpovpnsubnet[1])) { + $errormessage = "$Lang::tr{'ovpn subnet overlap'}: \
IPCop Orange Network $netsettings{'ORANGE_1_ADDRESS'}"; + goto SETTINGS_ERROR;
}
open(ALIASES, "${General::swroot}/ethernet/aliases") or die 'Unable to open \
aliases file.';
- while (<ALIASES>)
- {
- chomp($_);
- my @tempalias = split(/\,/,$_);
- if ($tempalias[1] eq 'on') {
- if (&General::IpInSubnet ($tempalias[0] ,
- $tmpovpnsubnet[0], $tmpovpnsubnet[1])) {
- $errormessage = "$Lang::tr{'ovpn subnet overlap'}: IPCop alias entry \
$tempalias[0]"; + while (<ALIASES>) {
+ chomp($_);
+ my @tempalias = split(/\,/,$_);
+ if ($tempalias[1] eq 'on') {
+ if (&General::IpInSubnet($tempalias[0], $tmpovpnsubnet[0], \
$tmpovpnsubnet[1])) { + $errormessage = "$Lang::tr{'ovpn subnet \
overlap'}: IPCop alias entry $tempalias[0]"; + }
}
}
- }
close(ALIASES);
- if ($errormessage ne ''){
- goto SETTINGS_ERROR;
+ if ($errormessage ne '') {
+ goto SETTINGS_ERROR;
}
+
if ($cgiparams{'ENABLED'} !~ /^(on|off)$/) {
$errormessage = $Lang::tr{'invalid input'};
goto SETTINGS_ERROR;
@@ -635,8 +629,8 @@
}
unless (&General::validport($cgiparams{'DDEST_PORT'})) {
- $errormessage = $Lang::tr{'invalid port'};
- goto SETTINGS_ERROR;
+ $errormessage = $Lang::tr{'invalid port'};
+ goto SETTINGS_ERROR;
}
$vpnsettings{'ENABLED_BLUE'} = $cgiparams{'ENABLED_BLUE'};
$vpnsettings{'ENABLED_ORANGE'} =$cgiparams{'ENABLED_ORANGE'};
@@ -655,23 +649,24 @@
###
### Reset all step 2
###
-}elsif ($cgiparams{'ACTION'} eq $Lang::tr{'reset'} && $cgiparams{'AREUSURE'} eq \
'yes') { +}
+elsif ($cgiparams{'ACTION'} eq $Lang::tr{'reset'} && $cgiparams{'AREUSURE'} eq \
'yes') { my $file = '';
&General::readhasharray("${General::swroot}/ovpn/ovpnconfig", \%confighash);
foreach my $key (keys %confighash) {
- if ($confighash{$key}[4] eq 'cert') {
- delete $confighash{$cgiparams{'$key'}};
+ if ($confighash{$key}[4] eq 'cert') {
+ delete $confighash{$cgiparams{'$key'}};
+ }
}
- }
while ($file = glob("${General::swroot}/ovpn/ca/*")) {
- unlink $file
+ unlink $file
}
while ($file = glob("${General::swroot}/ovpn/certs/*")) {
- unlink $file
+ unlink $file
}
while ($file = glob("${General::swroot}/ovpn/crls/*")) {
- unlink $file
+ unlink $file
}
&cleanssldatabase();
if (open(FILE, ">${General::swroot}/ovpn/caconfig")) {
@@ -682,19 +677,21 @@
###
### Reset all step 1
###
-}elsif ($cgiparams{'ACTION'} eq $Lang::tr{'reset'}) {
+}
+elsif ($cgiparams{'ACTION'} eq $Lang::tr{'reset'}) {
&Header::showhttpheaders();
&Header::openpage($Lang::tr{'vpn configuration main'}, 1, '');
&Header::openbigbox('100%', 'left', '', '');
&Header::openbox('100%', 'left', $Lang::tr{'are you sure'});
print <<END
- <table><form method='post'><input type='hidden' name='AREUSURE' value='yes' />
- <tr><td align='center'>
- <b><font color='${Header::colourred}'>$Lang::tr{'capswarning'}</font></b>:
+<table><form method='post'><input type='hidden' name='AREUSURE' value='yes' />
+<tr><td align='center'><b><font \
color='${Header::colourred}'>$Lang::tr{'capswarning'}</font></b>:
$Lang::tr{'resetting the vpn configuration will remove the root ca, the host \
certificate and all certificate based connections'}
- <tr><td align='center'><input type='submit' name='ACTION' \
value='$Lang::tr{'reset'}' />
- <input type='submit' name='ACTION' value='$Lang::tr{'cancel'}' /></td></tr>
- </form></table>
+</td></tr>
+<tr><td align='center'><input type='submit' name='ACTION' value='$Lang::tr{'reset'}' \
/> + <input type='submit' name='ACTION' value='$Lang::tr{'cancel'}' />
+</td></tr>
+</form></table>
END
;
&Header::closebox();
@@ -705,55 +702,57 @@
###
### Upload CA Certificate
###
-} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'upload ca certificate'}) {
+}
+elsif ($cgiparams{'ACTION'} eq $Lang::tr{'upload ca certificate'}) {
&General::readhasharray("${General::swroot}/ovpn/caconfig", \%cahash);
if ($cgiparams{'CA_NAME'} !~ /^[a-zA-Z0-9]+$/) {
- $errormessage = $Lang::tr{'name must only contain characters'};
- goto UPLOADCA_ERROR;
+ $errormessage = $Lang::tr{'name must only contain characters'};
+ goto UPLOADCA_ERROR;
}
if (length($cgiparams{'CA_NAME'}) >60) {
- $errormessage = $Lang::tr{'name too long'};
- goto VPNCONF_ERROR;
+ $errormessage = $Lang::tr{'name too long'};
+ goto VPNCONF_ERROR;
}
if ($cgiparams{'CA_NAME'} eq 'ca') {
- $errormessage = $Lang::tr{'name is invalid'};
- goto UPLOAD_CA_ERROR;
+ $errormessage = $Lang::tr{'name is invalid'};
+ goto UPLOAD_CA_ERROR;
}
# Check if there is no other entry with this name
foreach my $key (keys %cahash) {
- if ($cahash{$key}[0] eq $cgiparams{'CA_NAME'}) {
- $errormessage = $Lang::tr{'a ca certificate with this name already exists'};
- goto UPLOADCA_ERROR;
+ if ($cahash{$key}[0] eq $cgiparams{'CA_NAME'}) {
+ $errormessage = $Lang::tr{'a ca certificate with this name already \
exists'}; + goto UPLOADCA_ERROR;
+ }
}
- }
if (ref ($cgiparams{'FH'}) ne 'Fh') {
- $errormessage = $Lang::tr{'there was no file upload'};
- goto UPLOADCA_ERROR;
+ $errormessage = $Lang::tr{'there was no file upload'};
+ goto UPLOADCA_ERROR;
}
# Move uploaded ca to a temporary file
(my $fh, my $filename) = tempfile( );
if (copy ($cgiparams{'FH'}, $fh) != 1) {
- $errormessage = $!;
- goto UPLOADCA_ERROR;
+ $errormessage = $!;
+ goto UPLOADCA_ERROR;
}
my $temp = `/usr/bin/openssl x509 -text -in $filename`;
if ($temp !~ /CA:TRUE/i) {
- $errormessage = $Lang::tr{'not a valid ca certificate'};
- unlink ($filename);
- goto UPLOADCA_ERROR;
- } else {
- move($filename, "${General::swroot}/ovpn/ca/$cgiparams{'CA_NAME'}cert.pem");
- if ($? ne 0) {
- $errormessage = "$Lang::tr{'certificate file move failed'}: $!";
+ $errormessage = $Lang::tr{'not a valid ca certificate'};
unlink ($filename);
goto UPLOADCA_ERROR;
+ }
+ else {
+ move($filename, "${General::swroot}/ovpn/ca/$cgiparams{'CA_NAME'}cert.pem");
+ if ($? ne 0) {
+ $errormessage = "$Lang::tr{'certificate file move failed'}: $!";
+ unlink ($filename);
+ goto UPLOADCA_ERROR;
+ }
}
- }
my $casubject = `/usr/bin/openssl x509 -text -in \
${General::swroot}/ovpn/ca/$cgiparams{'CA_NAME'}cert.pem`; $casubject =~ \
/Subject: (.*)[\n]/; @@ -771,7 +770,8 @@
###
### Display ca certificate
###
-} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'show ca certificate'}) {
+}
+elsif ($cgiparams{'ACTION'} eq $Lang::tr{'show ca certificate'}) {
&General::readhasharray("${General::swroot}/ovpn/caconfig", \%cahash);
if ( -f "${General::swroot}/ovpn/ca/$cahash{$cgiparams{'KEY'}}[0]cert.pem") {
@@ -2511,30 +2511,36 @@
$checked{'DCOMPLZO'}{$cgiparams{'DCOMPLZO'}} = 'CHECKED';
- &Header::showhttpheaders();
- &Header::openpage($Lang::tr{'status ovpn'}, 1, '');
- &Header::openbigbox('100%', 'left', '', $errormessage);
+&Header::showhttpheaders();
+&Header::openpage($Lang::tr{'status ovpn'}, 1, '');
+&Header::openbigbox('100%', 'left', '', $errormessage);
- if ($errormessage) {
- &Header::openbox('100%', 'left', "$Lang::tr{'error messages'}:");
- print "<class name='base'>$errormessage\n";
- print " </class>\n";
- &Header::closebox();
- }
+if ($errormessage) {
+ &Header::openbox('100%', 'left', "$Lang::tr{'error messages'}:");
+ print "<class name='base'>$errormessage\n";
+ print " </class>\n";
+ &Header::closebox();
+}
- my $sactive = "<table cellpadding='2' cellspacing='0' \
bgcolor='${Header::colourred}' width='50%'><tr><td align='center'><b><font \
color='#FFFFFF'>$Lang::tr{'stopped'}</font></b></td></tr></table>";
- my $srunning = "no";
- my $activeonrun = "";
- if (-e "/var/run/openvpn.pid") {
- $sactive = "<table cellpadding='2' cellspacing='0' \
bgcolor='${Header::colourgreen}' width='50%'><tr><td align='center'><b><font \
color='#FFFFFF'>$Lang::tr{'running'}</font></b></td></tr></table>";
- $srunning ="yes";
- $activeonrun = "";
- } else {
- $activeonrun = "disabled='disabled'";
- }
+my $sactive = "<table cellpadding='2' cellspacing='0' bgcolor='${Header::colourred}' \
width='50%'><tr><td align='center'><b><font \
color='#FFFFFF'>$Lang::tr{'stopped'}</font></b></td></tr></table>"; +my $srunning = \
"no"; +my $activeonrun = "";
+if (-e "/var/run/openvpn.pid") {
+ $sactive = "<table cellpadding='2' cellspacing='0' \
bgcolor='${Header::colourgreen}' width='50%'><tr><td align='center'><b><font \
color='#FFFFFF'>$Lang::tr{'running'}</font></b></td></tr></table>"; + $srunning \
="yes"; + $activeonrun = "";
+} else {
+ $activeonrun = "disabled='disabled'";
+}
- &Header::openbox('100%', 'left', $Lang::tr{'global settings'});
- print <<END
+##############################
+#
+# Box with global settings and status
+#
+##############################
+
+&Header::openbox('100%', 'left', $Lang::tr{'global settings'});
+print <<END
<form method='post' action='$ENV{'SCRIPT_NAME'}'><table width='100%'>
<tr><td class='boldbase' width='25%'>$Lang::tr{'ovpn server status'}:</td>
<td align='left' width='25%'>$sactive</td>
@@ -2544,15 +2550,17 @@
<td colspan='3'><input type='checkbox' name='ENABLED' \
$checked{'ENABLED'}{'on'} /></td></tr> END
;
- if (&haveBlueNet()) {
- print "<tr><td class='boldbase'>$Lang::tr{'ovpn on blue'}</td>";
- print "<td colspan='3'><input type='checkbox' name='ENABLED_BLUE' \
$checked{'ENABLED_BLUE'}{'on'} /></td></tr>";
- }
- if (&haveOrangeNet()) {
- print "<tr><td class='boldbase'>$Lang::tr{'ovpn on orange'}</td>";
- print "<td colspan='3'><input type='checkbox' name='ENABLED_ORANGE' \
$checked{'ENABLED_ORANGE'}{'on'} /></td></tr>";
- }
- print <<END
+
+if (&haveBlueNet()) {
+ print "<tr><td class='boldbase'>$Lang::tr{'ovpn on blue'}</td>";
+ print "<td colspan='3'><input type='checkbox' name='ENABLED_BLUE' \
$checked{'ENABLED_BLUE'}{'on'} /></td></tr>"; +}
+if (&haveOrangeNet()) {
+ print "<tr><td class='boldbase'>$Lang::tr{'ovpn on orange'}</td>";
+ print "<td colspan='3'><input type='checkbox' name='ENABLED_ORANGE' \
$checked{'ENABLED_ORANGE'}{'on'} /></td></tr>"; +}
+
+print <<END
<tr><td class='base' nowrap='nowrap'>$Lang::tr{'local vpn hostname/ip'}:</td>
<td><input type='text' name='VPN_IP' value='$cgiparams{'VPN_IP'}' size='30' \
/></td>
<td class='boldbase' nowrap='nowrap'>$Lang::tr{'ovpn subnet'}</td>
@@ -2586,41 +2594,47 @@
END
;
- if ( $srunning eq "yes" ) {
+if ( $srunning eq "yes" ) {
print "<tr><td align='left'><input type='submit' name='ACTION' \
value='$Lang::tr{'save'}' disabled='disabled' /></td>";
print "<td><input type='submit' name='ACTION' value='$Lang::tr{'advanced \
server'}' disabled='disabled'/></td>";
print "<td><input type='submit' name='ACTION' value='$Lang::tr{'stop ovpn \
server'}' /></td>";
print "<td><input type='submit' name='ACTION' value='$Lang::tr{'restart ovpn \
server'}' /></td></tr>";
- } else{
+} else{
print "<tr><td align='left'><input type='submit' name='ACTION' \
value='$Lang::tr{'save'}' /></td>";
print "<td><input type='submit' name='ACTION' value='$Lang::tr{'advanced \
server'}' /></td>"; if (( -e "${General::swroot}/ovpn/ca/cacert.pem" &&
- -e "${General::swroot}/ovpn/ca/dh1024.pem" &&
- -e "${General::swroot}/ovpn/certs/servercert.pem" &&
- -e "${General::swroot}/ovpn/certs/serverkey.pem") &&
- (( $cgiparams{'ENABLED'} eq 'on') ||
- ( $cgiparams{'ENABLED_BLUE'} eq 'on') ||
- ( $cgiparams{'ENABLED_ORANGE'} eq 'on'))){
+ -e "${General::swroot}/ovpn/ca/dh1024.pem" &&
+ -e "${General::swroot}/ovpn/certs/servercert.pem" &&
+ -e "${General::swroot}/ovpn/certs/serverkey.pem") &&
+ ( ($cgiparams{'ENABLED'} eq 'on') || ($cgiparams{'ENABLED_BLUE'} eq 'on') || \
($cgiparams{'ENABLED_ORANGE'} eq 'on'))) {
print "<td><input type='submit' name='ACTION' value='$Lang::tr{'start ovpn \
server'}' /></td>";
print "<td><input type='submit' name='ACTION' value='$Lang::tr{'restart ovpn \
server'}' /></td></tr>"; } else {
print "<td><input type='submit' name='ACTION' value='$Lang::tr{'start ovpn \
server'}' disabled='disabled' /></td>";
print "<td><input type='submit' name='ACTION' value='$Lang::tr{'restart ovpn \
server'}' disabled='disabled' /></td></tr>"; }
- }
- print "</table></form>";
- &Header::closebox();
- &Header::openbox('100%', 'left', "$Lang::tr{'certificate authorities'}:");
- print <<EOF#'
- <table width='100%' border='0' cellspacing='1' cellpadding='0'>
- <tr>
+}
+print "</table></form>";
+&Header::closebox();
+
+##############################
+#
+# Box with CA stuff
+#
+##############################
+
+&Header::openbox('100%', 'left', "$Lang::tr{'certificate authorities'}:");
+print <<END
+<table width='100%' border='0' cellspacing='1' cellpadding='0'>
+<tr>
<td width='25%' class='boldbase' align='center'><b>$Lang::tr{'name'}</b></td>
<td width='65%' class='boldbase' align='center'><b>$Lang::tr{'subject'}</b></td>
<td width='10%' class='boldbase' colspan='3' \
align='center'><b>$Lang::tr{'action'}</b></td>
- </tr>
-EOF
- ;
- if (-f "${General::swroot}/ovpn/ca/cacert.pem") {
+</tr>
+END
+;
+
+if (-f "${General::swroot}/ovpn/ca/cacert.pem") {
my $casubject = `/usr/bin/openssl x509 -text -in \
${General::swroot}/ovpn/ca/cacert.pem`; $casubject =~ /Subject: (.*)[\n]/;
$casubject = $1;
@@ -2628,7 +2642,7 @@
$casubject =~ s/ ST=/ S=/;
print <<END
- <tr bgcolor='${Header::table2colour}'>
+<tr bgcolor='${Header::table2colour}'>
<td class='base'>$Lang::tr{'root certificate'}</td>
<td class='base'>$casubject</td>
<form method='post' name='frmrootcrta'><td width='3%' align='center'>
@@ -2642,18 +2656,19 @@
<td width='4%'> </td></tr>
END
;
- } else {
+}
+else {
# display rootcert generation buttons
print <<END
- <tr bgcolor='${Header::table2colour}'>
+<tr bgcolor='${Header::table2colour}'>
<td class='base'>$Lang::tr{'root certificate'}:</td>
<td class='base'>$Lang::tr{'not present'}</td>
<td colspan='3'> </td></tr>
END
;
- }
+}
- if (-f "${General::swroot}/ovpn/certs/servercert.pem") {
+if (-f "${General::swroot}/ovpn/certs/servercert.pem") {
my $hostsubject = `/usr/bin/openssl x509 -text -in \
${General::swroot}/ovpn/certs/servercert.pem`; $hostsubject =~ /Subject: \
(.*)[\n]/; $hostsubject = $1;
@@ -2661,44 +2676,46 @@
$hostsubject =~ s/ ST=/ S=/;
print <<END
- <tr bgcolor='${Header::table1colour}'>
+<tr bgcolor='${Header::table1colour}'>
<td class='base'>$Lang::tr{'host certificate'}</td>
<td class='base'>$hostsubject</td>
- <form method='post' name='frmhostcrta'><td width='3%' align='center'>
+ <form method='post' name='frmhostcrta' action='$ENV{'SCRIPT_NAME'}'><td \
width='3%' align='center'>
<input type='hidden' name='ACTION' value='$Lang::tr{'show host \
certificate'}' /> <input type='image' name='$Lang::tr{'show host certificate'}' \
src='/images/info.gif' alt='$Lang::tr{'show host certificate'}' \
title='$Lang::tr{'show host certificate'}' width='20' height='20' border='0' /> \
</td></form>
- <form method='post' name='frmhostcrtb'><td width='3%' align='center'>
+ <form method='post' name='frmhostcrtb' action='$ENV{'SCRIPT_NAME'}'><td \
width='3%' align='center'> <input type='image' name='$Lang::tr{'download host \
certificate'}' src='/images/floppy.gif' alt='$Lang::tr{'download host certificate'}' \
title='$Lang::tr{'download host certificate'}' border='0' />
<input type='hidden' name='ACTION' value='$Lang::tr{'download host \
certificate'}' /> </td></form>
<td width='4%'> </td></tr>
END
;
- } else {
+}
+else {
# Nothing
print <<END
- <tr bgcolor='${Header::table1colour}'>
+<tr bgcolor='${Header::table1colour}'>
<td width='25%' class='base'>$Lang::tr{'host certificate'}:</td>
<td class='base'>$Lang::tr{'not present'}</td>
- </td><td colspan='3'> </td></tr>
+ <td colspan='3'> </td></tr>
END
;
- }
+}
- if (! -f "${General::swroot}/ovpn/ca/cacert.pem") {
- print "<tr><td colspan='5' align='center'><form method='post'>";
+if (! -f "${General::swroot}/ovpn/ca/cacert.pem") {
+ print "<tr><td colspan='5' align='center'><form method='post' \
action='$ENV{'SCRIPT_NAME'}'>";
print "<input type='submit' name='ACTION' value='$Lang::tr{'generate root/host \
certificates'}' />";
- print "</form></td></tr>\n";
- }
+ print "</form></td></tr>\n";
+}
- if (keys %cahash > 0) {
+if (keys %cahash > 0) {
foreach my $key (keys %cahash) {
if (($key + 1) % 2) {
- print "<tr bgcolor='${Header::table1colour}'>\n";
- } else {
- print "<tr bgcolor='${Header::table2colour}'>\n";
+ print "<tr bgcolor='${Header::table1colour}'>\n";
}
+ else {
+ print "<tr bgcolor='${Header::table2colour}'>\n";
+ }
print "<td class='base'>$cahash{$key}[0]</td>\n";
print "<td class='base'>$cahash{$key}[1]</td>\n";
print <<END
@@ -2720,44 +2737,52 @@
END
;
}
- }
+}
- print "</table>";
+print "</table>";
- # If the file contains entries, print Key to action icons
- if ( -f "${General::swroot}/ovpn/ca/cacert.pem") {
+# If the file contains entries, print Key to action icons
+if ( -f "${General::swroot}/ovpn/ca/cacert.pem") {
print <<END
- <table>
- <tr>
+<table><tr>
<td class='boldbase'> <b>$Lang::tr{'legend'}:</b></td>
<td> <img src='/images/info.gif' alt='$Lang::tr{'show \
certificate'}' /></td> <td class='base'>$Lang::tr{'show certificate'}</td>
<td> <img src='/images/floppy.gif' alt='$Lang::tr{'download \
certificate'}' /></td> <td class='base'>$Lang::tr{'download certificate'}</td>
- </tr>
- </table>
+</tr></table>
END
;
- }
- print <<END
- <form method='post' enctype='multipart/form-data'>
- <table width='100%' border='0' cellspacing='1' cellpadding='0'>
- <tr><td class='base' nowrap='nowrap'>$Lang::tr{'ca name'}:</td>
- <td nowrap='nowrap'><input type='text' name='CA_NAME' \
value='$cgiparams{'CA_NAME'}' size='15' /> +}
+
+print <<END
+<form method='post' enctype='multipart/form-data' action='$ENV{'SCRIPT_NAME'}'>
+<table width='100%' border='0' cellspacing='1' cellpadding='0'><tr>
+ <td class='base' nowrap='nowrap'>$Lang::tr{'ca name'}:</td>
+ <td nowrap='nowrap'><input type='text' name='CA_NAME' \
value='$cgiparams{'CA_NAME'}' size='15' /></td> <td nowrap='nowrap'><input \
type='file' name='FH' size='30' /></td>
<td nowrap='nowrap'><input type='submit' name='ACTION' value='$Lang::tr{'upload \
ca certificate'}' /></td>
<td nowrap='nowrap'><input type='submit' name='ACTION' value='$Lang::tr{'show \
crl'}' /></td>
- </tr></table></form>
+</tr></table></form>
END
- ;
+;
- &Header::closebox();
- if ( $srunning eq "yes" ) {
- print "<div align='center'><form method='post'><input type='submit' \
name='ACTION' value='$Lang::tr{'reset'}' disabled='disabled' \
/></div></form>\n";
- }else{
- print "<div align='center'><form method='post'><input type='submit' \
name='ACTION' value='$Lang::tr{'reset'}' /></div></form>\n";
- }
- if ( -f "${General::swroot}/ovpn/ca/cacert.pem" ) {
+&Header::closebox();
+
+if ( $srunning eq "yes" ) {
+ print "<div align='center'><form method='post' \
action='$ENV{'SCRIPT_NAME'}'><input type='submit' name='ACTION' \
value='$Lang::tr{'reset'}' disabled='disabled' /></div></form>\n"; +}
+else{
+ print "<div align='center'><form method='post' \
action='$ENV{'SCRIPT_NAME'}'><input type='submit' name='ACTION' \
value='$Lang::tr{'reset'}' /></div></form>\n"; +}
+
+##############################
+#
+# Box with .....
+#
+##############################
+
+if ( -f "${General::swroot}/ovpn/ca/cacert.pem" ) {
&Header::openbox('100%', 'left', "$Lang::tr{'client status and control'}:");
print <<END
<table width='100%' border='0' cellspacing='1' cellpadding='0'>
@@ -2924,10 +2949,12 @@
;
&Header::closebox();
}
- print "$Lang::tr{'this feature has been sponsored by'} : ";
- print "<a href='http://www.stareventsgroup.com/' target='_blank'>Star Events \
Group Ltd</a>.\n";
- print "<a href='http://www.ibdozing.com/' target='_blank'>IBDOZING</a>.\n";
- print "<a href='http://www.xencon.net/' target='_blank'>Xen by x|encon</a>.\n";
- print "<a href='http://www.savatec.de/' target='_blank'>SAVATEC e.K.</a>.\n";
- print "<a href='http://BBplatform.com' target='_blank'>BBplatform IT Solutions \
GmbH</a>.\n"; +
+print "$Lang::tr{'this feature has been sponsored by'} : ";
+print "<a href='http://www.stareventsgroup.com/' target='_blank'>Star Events Group \
Ltd</a>.\n"; +print "<a href='http://www.ibdozing.com/' \
target='_blank'>IBDOZING</a>.\n"; +print "<a href='http://www.xencon.net/' \
target='_blank'>Xen by x|encon</a>.\n"; +print "<a href='http://www.savatec.de/' \
target='_blank'>SAVATEC e.K.</a>.\n"; +print "<a href='http://BBplatform.com' \
target='_blank'>BBplatform IT Solutions GmbH</a>.\n"; +
&Header::closepage();
This was sent by the SourceForge.net collaborative development platform, the world's \
largest Open Source development site.
------------------------------------------------------------------------------
_______________________________________________
Ipcop-svn mailing list
Ipcop-svn@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ipcop-svn
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic