]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - html/cgi-bin/ovpnmain.cgi
Ein Paar Dateien fuer die GPLv3 angepasst.
[ipfire-2.x.git] / html / cgi-bin / ovpnmain.cgi
index 1c2d42c822013703123b018c0758e393d53c7cb0..746f7eece5aa95527a8994ccac2ade097417bf84 100644 (file)
@@ -1,11 +1,23 @@
 #!/usr/bin/perl
-# based on SmoothWall and IPCop CGIs
-# 
-# This code is distributed under the terms of the GPL
-# Main idea from zeroconcept
-# ZERNINA-VERSION:0.9.4i
-# (c) 2007 Ufuk Altinkaynak
-#
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
 
 use CGI;
 use CGI qw/:standard/;
@@ -31,8 +43,6 @@ my %mainsettings = ();
 &General::readhash("${General::swroot}/main/settings", \%mainsettings);
 &General::readhash("/srv/web/ipfire/html/themes/".$mainsettings{'THEME'}."/include/colors.txt", \%color);
 
-
-
 ###
 ### Initialize variables
 ###
@@ -68,19 +78,15 @@ $cgiparams{'DCOMPLZO'} = 'off';
 ###
 sub haveOrangeNet
 {
-       if ($netsettings{'CONFIG_TYPE'} == 1) {return 1;}
-       if ($netsettings{'CONFIG_TYPE'} == 3) {return 1;}
-       if ($netsettings{'CONFIG_TYPE'} == 5) {return 1;}
-       if ($netsettings{'CONFIG_TYPE'} == 7) {return 1;}
+       if ($netsettings{'CONFIG_TYPE'} == 2) {return 1;}
+       if ($netsettings{'CONFIG_TYPE'} == 4) {return 1;}
        return 0;
 }
 
 sub haveBlueNet
 {
+       if ($netsettings{'CONFIG_TYPE'} == 3) {return 1;}
        if ($netsettings{'CONFIG_TYPE'} == 4) {return 1;}
-       if ($netsettings{'CONFIG_TYPE'} == 5) {return 1;}
-       if ($netsettings{'CONFIG_TYPE'} == 6) {return 1;}
-       if ($netsettings{'CONFIG_TYPE'} == 7) {return 1;}
        return 0;
 }
 
@@ -307,7 +313,7 @@ sub writeserverconf {
     print CONF "\n";
     print CONF "daemon openvpnserver\n";
     print CONF "writepid /var/run/openvpn.pid\n";
-    print CONF "#DAN prepare ZERINA for listening on blue and orange\n";
+    print CONF "#DAN prepare OpenVPN for listening on blue and orange\n";
     print CONF ";local $sovpnsettings{'VPN_IP'}\n";
     print CONF "dev $sovpnsettings{'DDEVICE'}\n";
     print CONF "$sovpnsettings{'DDEVICE'}-mtu $sovpnsettings{'DMTU'}\n";
@@ -328,7 +334,7 @@ sub writeserverconf {
        print CONF "keepalive $sovpnsettings{'KEEPALIVE_1'} $sovpnsettings{'KEEPALIVE_2'}\n";
     }  
     print CONF "status-version 1\n";
-    print CONF "status /var/ipfire/ovpn/server.log 30\n";
+    print CONF "status /var/log/ovpnserver.log 30\n";
     print CONF "cipher $sovpnsettings{DCIPHER}\n";
     if ($sovpnsettings{DCOMPLZO} eq 'on') {
         print CONF "comp-lzo\n";
@@ -372,7 +378,7 @@ sub writeserverconf {
 }    
 #
 sub emptyserverlog{
-    if (open(FILE, ">${General::swroot}/ovpn/server.log")) {
+    if (open(FILE, ">/var/log/ovpnserver.log")) {
        flock FILE, 2;
        print FILE "";
        close FILE;
@@ -582,6 +588,11 @@ if ($cgiparams{'ACTION'} eq $Lang::tr{'save'} && $cgiparams{'TYPE'} eq '' && $cg
     $vpnsettings{'DMTU'} = $cgiparams{'DMTU'};
     $vpnsettings{'DCOMPLZO'} = $cgiparams{'DCOMPLZO'};
     $vpnsettings{'DCIPHER'} = $cgiparams{'DCIPHER'};
+#wrtie enable
+
+  if ( $vpnsettings{'ENABLED_BLUE'} eq 'on' ) {system("touch ${General::swroot}/ovpn/enable_blue 2>/dev/null");}else{system("unlink ${General::swroot}/ovpn/enable_blue 2>/dev/null");}
+  if ( $vpnsettings{'ENABLED_ORANGE'} eq 'on' ) {system("touch ${General::swroot}/ovpn/enable_orange 2>/dev/null");}else{system("unlink ${General::swroot}/ovpn/enable_orange 2>/dev/null");}
+  if ( $vpnsettings{'ENABLED'} eq 'on' ) {system("touch ${General::swroot}/ovpn/enable 2>/dev/null");}else{system("unlink ${General::swroot}/ovpn/enable 2>/dev/null");}
 #new settings for daemon    
     &General::writehash("${General::swroot}/ovpn/settings", \%vpnsettings);
     &writeserverconf();#hier ok
@@ -1624,7 +1635,7 @@ END
     </tr>
 END
 ;
-       my $filename = "${General::swroot}/ovpn/server.log";
+       my $filename = "/var/log/ovpnserver.log";
        open(FILE, $filename) or die 'Unable to open config file.';
        my @current = <FILE>;
        close(FILE);
@@ -1673,9 +1684,9 @@ END
        if ($user2 >= 1){
            for (my $idx = 1; $idx <= $user2; $idx++){
                                                if ($idx % 2) {
-                                       print "<tr bgcolor='${Header::table1colour}'>\n";
+                                       print "<tr bgcolor='$color{'color20'}'>\n";
                                } else {
-                                       print "<tr bgcolor='${Header::table2colour}'>\n";
+                                       print "<tr bgcolor='$color{'color22'}'>\n";
                                                }
                                                print "<td align='left'>$users[$idx-1]{'CommonName'}</td>";
                                                print "<td align='left'>$users[$idx-1]{'RealAddress'}</td>";
@@ -2474,7 +2485,7 @@ END
     &General::readhasharray("${General::swroot}/ovpn/caconfig", \%cahash);
     &General::readhasharray("${General::swroot}/ovpn/ovpnconfig", \%confighash);
 
-    my @status = `/bin/cat /var/ipfire/ovpn/server.log`;
+    my @status = `/bin/cat /var/log/ovpnserver.log`;
 
     if ($cgiparams{'VPN_IP'} eq '' && -e "${General::swroot}/red/active") {
        if (open(IPADDR, "${General::swroot}/red/local-ipaddress")) {
@@ -2564,8 +2575,7 @@ END
     } else {
        $activeonrun = "disabled='disabled'";
     }  
-    &Header::openbox('100%', 'LEFT', $Lang::tr{'global settings'});
-       print "<div align='center'><strong>ZERINA-0.9.4i</strong></div>";       
+    &Header::openbox('100%', 'LEFT', $Lang::tr{'global settings'});    
     print <<END        
     <table width='100%'>
     <form method='post'>
@@ -2587,10 +2597,8 @@ END
        print "<td><input type='checkbox' name='ENABLED_ORANGE' $checked{'ENABLED_ORANGE'}{'on'} /></td>";
     }  
     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>
-       <td><input type='TEXT' name='DOVPN_SUBNET' value='$cgiparams{'DOVPN_SUBNET'}' size='30' /></td></tr>
+    <tr><td class='base' nowrap='nowrap' colspan='2'>$Lang::tr{'local vpn hostname/ip'}:<br /><input type='text' name='VPN_IP' value='$cgiparams{'VPN_IP'}' size='30' /></td>
+       <td class='boldbase' nowrap='nowrap' colspan='2'>$Lang::tr{'ovpn subnet'}<br /><input type='TEXT' name='DOVPN_SUBNET' value='$cgiparams{'DOVPN_SUBNET'}' size='30' /></td></tr>
     <tr><td class='boldbase' nowrap='nowrap'>$Lang::tr{'ovpn device'}</td>
         <td><select name='DDEVICE' ><option value='tun' $selected{'DDEVICE'}{'tun'}>TUN</option>
                                            <option value='tap' $selected{'DDEVICE'}{'tap'}>TAP</option></select></td>                              
@@ -2661,7 +2669,7 @@ EOF
        $casubject    =~ s/ ST=/ S=/;
 
        print <<END
-       <tr bgcolor='${Header::table2colour}'>
+       <tr bgcolor='$color{'color22'}'>
        <td class='base'>$Lang::tr{'root certificate'}</td>
        <td class='base'>$casubject</td>
        <form method='post' name='frmrootcrta'><td width='3%' align='center'>
@@ -2678,7 +2686,7 @@ END
     } else {
        # display rootcert generation buttons
        print <<END
-       <tr bgcolor='${Header::table2colour}'>
+       <tr bgcolor='$color{'color22'}'>
        <td class='base'>$Lang::tr{'root certificate'}:</td>
        <td class='base'>$Lang::tr{'not present'}</td>
        <td colspan='3'>&nbsp;</td></tr>
@@ -2694,7 +2702,7 @@ END
        $hostsubject    =~ s/ ST=/ S=/;
 
        print <<END
-       <tr bgcolor='${Header::table1colour}'>
+       <tr bgcolor='$color{'color20'}'>
        <td class='base'>$Lang::tr{'host certificate'}</td>
        <td class='base'>$hostsubject</td>
        <form method='post' name='frmhostcrta'><td width='3%' align='center'>
@@ -2711,7 +2719,7 @@ END
     } else {
        # Nothing
        print <<END
-       <tr bgcolor='${Header::table1colour}'>
+       <tr bgcolor='$color{'color20'}'>
        <td width='25%' class='base'>$Lang::tr{'host certificate'}:</td>
        <td class='base'>$Lang::tr{'not present'}</td>
        </td><td colspan='3'>&nbsp;</td></tr>
@@ -2728,9 +2736,9 @@ END
     if (keys %cahash > 0) {
        foreach my $key (keys %cahash) {
            if (($key + 1) % 2) {
-               print "<tr bgcolor='${Header::table1colour}'>\n";
+               print "<tr bgcolor='$color{'color20'}'>\n";
            } else {
-               print "<tr bgcolor='${Header::table2colour}'>\n";
+               print "<tr bgcolor='$color{'color22'}'>\n";
            }
            print "<td class='base'>$cahash{$key}[0]</td>\n";
            print "<td class='base'>$cahash{$key}[1]</td>\n";
@@ -2778,8 +2786,7 @@ END
     <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 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>    
+    <td nowrap='nowrap'><input type='submit' name='ACTION' value='$Lang::tr{'upload ca certificate'}' /><br /><input type='submit' name='ACTION' value='$Lang::tr{'show crl'}' /></td>    
     </tr></table></form>
 END
     ;
@@ -2811,9 +2818,9 @@ END
        if ($confighash{$key}[0] eq 'on') { $gif = 'on.gif'; } else { $gif = 'off.gif'; }
 
        if ($id % 2) {
-           print "<tr bgcolor='${Header::table1colour}'>\n";
+           print "<tr bgcolor='$color{'color20'}'>\n";
        } else {
-           print "<tr bgcolor='${Header::table2colour}'>\n";
+           print "<tr bgcolor='$color{'color22'}'>\n";
        }
        print "<td align='center' nowrap='nowrap'>$confighash{$key}[1]</td>";
        print "<td align='center' nowrap='nowrap'>" . $Lang::tr{"$confighash{$key}[3]"} . " (" . $Lang::tr{"$confighash{$key}[4]"} . ")</td>";
@@ -2957,9 +2964,4 @@ END
     ;    
     &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";    
 &Header::closepage();