]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - html/cgi-bin/ovpnmain.cgi
Changed icons on ovpnmain page
[people/pmueller/ipfire-2.x.git] / html / cgi-bin / ovpnmain.cgi
index 3a97c96af061a3bf2e4f5beedb5f2e12574aa4ae..c97eda6f6207ea12aedcded143f1e39e1d5d0e5b 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
 ###
@@ -303,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";
@@ -324,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";
@@ -368,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;
@@ -578,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
@@ -1363,6 +1378,7 @@ END
     }
     print CLIENTCONF "verb 3\r\n";
     print CLIENTCONF "ns-cert-type server\r\n";
+    print CLIENTCONF "tls-remote $vpnsettings{ROOTCERT_HOSTNAME}\r\n";
     close(CLIENTCONF);
     $zip->addFile( "$tempdir/$clientovpn", $clientovpn) or die "Can't add file $clientovpn\n";
     my $status = $zip->writeToFileNamed($zippathname);
@@ -1620,7 +1636,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);
@@ -1669,9 +1685,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>";
@@ -2470,7 +2486,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")) {
@@ -2560,8 +2576,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'>
@@ -2583,10 +2598,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>                              
@@ -2657,7 +2670,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'>
@@ -2665,7 +2678,7 @@ EOF
            <input type='image' name='$Lang::tr{'edit'}' src='/images/info.gif' alt='$Lang::tr{'show root certificate'}' title='$Lang::tr{'show root certificate'}' width='20' height='20' border='0' />
        </td></form>
        <form method='post' name='frmrootcrtb'><td width='3%' align='center'>
-           <input type='image' name='$Lang::tr{'download root certificate'}' src='/images/floppy.gif' alt='$Lang::tr{'download root certificate'}' title='$Lang::tr{'download root certificate'}' border='0' />
+           <input type='image' name='$Lang::tr{'download root certificate'}' src='/images/media-floppy.png' alt='$Lang::tr{'download root certificate'}' title='$Lang::tr{'download root certificate'}' border='0' />
            <input type='hidden' name='ACTION' value='$Lang::tr{'download root certificate'}' />
        </td></form>
        <td width='4%'>&nbsp;</td></tr>
@@ -2674,7 +2687,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>
@@ -2690,7 +2703,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'>
@@ -2698,7 +2711,7 @@ END
            <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'>
-           <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='image' name='$Lang::tr{'download host certificate'}' src='/images/media-floppy.png' 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%'>&nbsp;</td></tr>
@@ -2707,7 +2720,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>
@@ -2724,9 +2737,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";
@@ -2737,7 +2750,7 @@ END
                <input type='hidden' name='KEY' value='$key' />
            </td></form>
            <form method='post' name='cafrm${key}b'><td align='center'>
-               <input type='image' name='$Lang::tr{'download ca certificate'}' src='/images/floppy.gif' alt='$Lang::tr{'download ca certificate'}' title='$Lang::tr{'download ca certificate'}' border='0' />
+               <input type='image' name='$Lang::tr{'download ca certificate'}' src='/images/media-floppy.png' alt='$Lang::tr{'download ca certificate'}' title='$Lang::tr{'download ca certificate'}' border='0' />
                <input type='hidden' name='ACTION' value='$Lang::tr{'download ca certificate'}' />
                <input type='hidden' name='KEY' value='$key' />
            </td></form>
@@ -2761,7 +2774,7 @@ END
        <td class='boldbase'>&nbsp; <b>$Lang::tr{'legend'}:</b></td>
        <td>&nbsp; &nbsp; <img src='/images/info.gif' alt='$Lang::tr{'show certificate'}' /></td>
        <td class='base'>$Lang::tr{'show certificate'}</td>
-       <td>&nbsp; &nbsp; <img src='/images/floppy.gif' alt='$Lang::tr{'download certificate'}' /></td>
+       <td>&nbsp; &nbsp; <img src='/images/media-floppy.png' alt='$Lang::tr{'download certificate'}' /></td>
        <td class='base'>$Lang::tr{'download certificate'}</td>
     </tr>
     </table>
@@ -2774,8 +2787,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
     ;
@@ -2807,9 +2819,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>";
@@ -2873,7 +2885,7 @@ END
        if ($confighash{$key}[4] eq 'cert' && -f "${General::swroot}/ovpn/certs/$confighash{$key}[1].p12") { 
            print <<END
            <form method='post' name='frm${key}c'><td align='center'>
-               <input type='image' name='$Lang::tr{'download pkcs12 file'}' src='/images/floppy.gif' alt='$Lang::tr{'download pkcs12 file'}' title='$Lang::tr{'download pkcs12 file'}' border='0' />
+               <input type='image' name='$Lang::tr{'download pkcs12 file'}' src='/images/media-floppy.png' alt='$Lang::tr{'download pkcs12 file'}' title='$Lang::tr{'download pkcs12 file'}' border='0' />
                <input type='hidden' name='ACTION' value='$Lang::tr{'download pkcs12 file'}' />
                <input type='hidden' name='KEY' value='$key' />
            </td></form>
@@ -2881,7 +2893,7 @@ END
        ; } elsif ($confighash{$key}[4] eq 'cert') {
            print <<END
            <form method='post' name='frm${key}c'><td align='center'>
-               <input type='image' name='$Lang::tr{'download certificate'}' src='/images/floppy.gif' alt='$Lang::tr{'download certificate'}' title='$Lang::tr{'download certificate'}' border='0' />
+               <input type='image' name='$Lang::tr{'download certificate'}' src='/images/media-floppy.png' alt='$Lang::tr{'download certificate'}' title='$Lang::tr{'download certificate'}' border='0' />
                <input type='hidden' name='ACTION' value='$Lang::tr{'download certificate'}' />
                <input type='hidden' name='KEY' value='$key' />
            </td></form>
@@ -2932,7 +2944,7 @@ END
        <td>&nbsp; </td>
        <td>&nbsp; <img src='/images/off.gif' alt='?OFF' /></td>
        <td class='base'>$Lang::tr{'click to enable'}</td>
-       <td>&nbsp; &nbsp; <img src='/images/floppy.gif' alt='?FLOPPY' /></td>
+       <td>&nbsp; &nbsp; <img src='/images/media-floppy.png' alt='?FLOPPY' /></td>
        <td class='base'>$Lang::tr{'download certificate'}</td>
        <td>&nbsp; &nbsp; <img src='/images/openvpn.png' alt='?RELOAD'/></td>
        <td class='base'>$Lang::tr{'dl client arch'}</td>
@@ -2953,9 +2965,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();