Pakfire CGI ein bisl erweitert, Index CGI um die DIAL CGI erweitert -> Funktion teste...
authormaniacikarus <maniacikarus@ea5c0bd1-69bd-2848-81d8-4f18e57aeed8>
Fri, 1 Jun 2007 21:29:25 +0000 (21:29 +0000)
committermaniacikarus <maniacikarus@ea5c0bd1-69bd-2848-81d8-4f18e57aeed8>
Fri, 1 Jun 2007 21:29:25 +0000 (21:29 +0000)
git-svn-id: http://svn.ipfire.org/svn/ipfire/trunk@600 ea5c0bd1-69bd-2848-81d8-4f18e57aeed8

doc/language_issues.de
doc/language_issues.en
html/cgi-bin/dial/dial.cgi [deleted file]
html/cgi-bin/dial/index.cgi [deleted file]
html/cgi-bin/index.cgi
html/cgi-bin/pakfire.cgi
src/initscripts/init.d/net/red/pppoe

index 7f3c4de..0afed98 100644 (file)
@@ -274,6 +274,8 @@ WARNING: translation string unused: ssnetwork status
 WARNING: translation string unused: sspasswords
 WARNING: translation string unused: sssystem status
 WARNING: translation string unused: sstraffic graphs
+WARNING: translation string unused: subject test
+WARNING: translation string unused: subject warn
 WARNING: translation string unused: successfully refreshed updates list
 WARNING: translation string unused: swap usage per
 WARNING: translation string unused: system cpu
index 8ff0118..48e3e23 100644 (file)
@@ -280,6 +280,8 @@ WARNING: translation string unused: ssnetwork status
 WARNING: translation string unused: sspasswords
 WARNING: translation string unused: sssystem status
 WARNING: translation string unused: sstraffic graphs
+WARNING: translation string unused: subject test
+WARNING: translation string unused: subject warn
 WARNING: translation string unused: successfully refreshed updates list
 WARNING: translation string unused: swap usage per
 WARNING: translation string unused: system cpu
diff --git a/html/cgi-bin/dial/dial.cgi b/html/cgi-bin/dial/dial.cgi
deleted file mode 100644 (file)
index 77e4260..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#!/usr/bin/perl
-#
-# SmoothWall CGIs
-#
-# This code is distributed under the terms of the GPL
-#
-# (c) The SmoothWall Team
-#
-# $Id: dial.cgi,v 1.4.2.3 2005/02/22 22:21:55 gespinasse Exp $
-#
-
-use strict;
-
-# enable only the following on debugging purpose
-#use warnings;
-#use CGI::Carp 'fatalsToBrowser';
-
-require '/var/ipfire/general-functions.pl';
-require "${General::swroot}/lang.pl";
-require "${General::swroot}/header.pl";
-
-my %cgiparams=();
-
-$cgiparams{'ACTION'} = '';
-&Header::getcgihash(\%cgiparams);
-
-if ($cgiparams{'ACTION'} eq $Lang::tr{'dial profile'})
-{
-       my $profile = $cgiparams{'PROFILE'};
-       my %tempcgiparams = ();
-       $tempcgiparams{'PROFILE'} = '';
-       &General::readhash("${General::swroot}/ppp/settings-$cgiparams{'PROFILE'}",
-               \%tempcgiparams);
-
-       # make a link from the selected profile to the "default" one.
-       unlink("${General::swroot}/ppp/settings");
-       link("${General::swroot}/ppp/settings-$cgiparams{'PROFILE'}",
-               "${General::swroot}/ppp/settings");
-       system ("/bin/touch", "${General::swroot}/ppp/updatesettings");
-
-       # read in the new params "early" so we can write secrets.
-       %cgiparams = ();
-       &General::readhash("${General::swroot}/ppp/settings", \%cgiparams);
-       $cgiparams{'PROFILE'} = $profile;
-       $cgiparams{'BACKUPPROFILE'} = $profile;
-       &General::writehash("${General::swroot}/ppp/settings-$cgiparams{'PROFILE'}",
-               \%cgiparams);
-
-       # write secrets file.
-       open(FILE, ">/${General::swroot}/ppp/secrets") or die "Unable to write secrets file.";
-       flock(FILE, 2);
-       my $username = $cgiparams{'USERNAME'};
-       my $password = $cgiparams{'PASSWORD'};
-       print FILE "'$username' * '$password'\n";
-       chmod 0600, "${General::swroot}/ppp/secrets";
-       close FILE;
-
-       &General::log("$Lang::tr{'profile made current'} $tempcgiparams{'PROFILENAME'}"); 
-       $cgiparams{'ACTION'} = "$Lang::tr{'dial'}";
-}
-
-if ($cgiparams{'ACTION'} eq $Lang::tr{'dial'}) {
-       system('/etc/rc.d/rc.red','start') == 0
-       or &General::log("Dial failed: $?"); }
-elsif ($cgiparams{'ACTION'} eq $Lang::tr{'hangup'}) {
-       system('/etc/rc.d/rc.red','stop') == 0
-       or &General::log("Hangup failed: $?"); }
-sleep 1;
-
-print "Status: 302 Moved\nLocation: /cgi-bin/dial/index.cgi\n\n";
diff --git a/html/cgi-bin/dial/index.cgi b/html/cgi-bin/dial/index.cgi
deleted file mode 100644 (file)
index 5ee1652..0000000
+++ /dev/null
@@ -1,244 +0,0 @@
-#!/usr/bin/perl
-#
-# SmoothWall CGIs
-#
-# This code is distributed under the terms of the GPL
-#
-# (c) The SmoothWall Team
-#
-
-use strict;
-
-# enable only the following on debugging purpose
-#use warnings;
-#use CGI::Carp 'fatalsToBrowser';
-
-require '/var/ipfire/general-functions.pl';
-require "${General::swroot}/lang.pl";
-require "${General::swroot}/header.pl";
-
-my %cgiparams=();
-my %pppsettings=();
-my %modemsettings=();
-my %netsettings=();
-my %ddnssettings=();
-my $warnmessage = '';
-my $refresh = '';
-my $ipaddr='';
-
-&Header::showhttpheaders();
-
-$cgiparams{'ACTION'} = '';
-&Header::getcgihash(\%cgiparams);
-$pppsettings{'VALID'} = '';
-$pppsettings{'PROFILENAME'} = 'None';
-&General::readhash("${General::swroot}/ppp/settings", \%pppsettings);
-&General::readhash("${General::swroot}/modem/settings", \%modemsettings);
-&General::readhash("${General::swroot}/ethernet/settings", \%netsettings);
-&General::readhash("${General::swroot}/ddns/settings", \%ddnssettings);
-my $death = 0;
-my $rebirth = 0;
-
-if ($cgiparams{'ACTION'} eq $Lang::tr{'shutdown'}) {
-       $death = 1;
-       &General::log($Lang::tr{'shutting down ipfire'});
-       system '/usr/local/bin/ipfirereboot down';
-} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'reboot'}) {
-       $rebirth = 1;
-       &General::log($Lang::tr{'rebooting ipfire'});
-       system '/usr/local/bin/ipfirereboot boot';
-}
-
-my $connstate = &Header::connectionstatus();
-if ($connstate =~ /$Lang::tr{'dod waiting'}/ || -e "${General::swroot}/main/refreshindex") {
-       $refresh = "<meta http-equiv='refresh' content='30;'>";
-} elsif ($connstate =~ /$Lang::tr{'connecting'}/) {
-       $refresh = "<meta http-equiv='refresh' content='5;'>";
-}
-
-my $c;
-my $maxprofiles = 5;
-my @profilenames = ();
-
-for ($c = 1; $c <= $maxprofiles; $c++)
-{
-       my %temppppsettings = ();
-       $temppppsettings{'PROFILENAME'} = '';
-       &General::readhash("${General::swroot}/ppp/settings-$c", \%temppppsettings);
-       $profilenames[$c] = $temppppsettings{'PROFILENAME'};
-}
-my %selected;
-for ($c = 1; $c <= $maxprofiles; $c++) {
-       $selected{'PROFILE'}{$c} = ''; 
-}
-$selected{'PROFILE'}{$pppsettings{'PROFILE'}} = "selected='selected'";
-my $dialButtonDisabled = "disabled='disabled'";
-
-
-&Header::openpagewithoutmenu($Lang::tr{'main page'}, 1, $refresh);
-&Header::openbigbox('', 'center');
-&Header::openbox('100%', 'center', &Header::cleanhtml(`/bin/uname -n`,"y"));
-
-if ( ( $pppsettings{'VALID'} eq 'yes' && $modemsettings{'VALID'} eq 'yes' ) || ( $netsettings{'CONFIG_TYPE'} =~ /^(2|3|6|7)$/ && $netsettings{'RED_TYPE'} =~ /^(DHCP|STATIC)$/ )) {
-       if (open(IPADDR,"${General::swroot}/ddns/ipcache")) {
-           $ipaddr = <IPADDR>;
-           close IPADDR;
-           chomp ($ipaddr);
-       }
-       if (open(IPADDR,"${General::swroot}/red/local-ipaddress")) {
-           my $ipaddr = <IPADDR>;
-           close IPADDR;
-           chomp ($ipaddr);
-       }
-} elsif ($modemsettings{'VALID'} eq 'no') {
-       print "$Lang::tr{'modem settings have errors'}\n </b></font>\n";
-} else {
-       print "$Lang::tr{'profile has errors'}\n </b></font>\n";
-}
-
-if ( $netsettings{'RED_TYPE'} =~ /^(DHCP|STATIC)$/ ) {
-       $ipaddr = $netsettings{'RED_ADDRESS'};
-}
-
-print <<END;
-<table border='0'>
-<tr>
-       <td align='center'><form method='post' action="$ENV{'SCRIPT_NAME'}">
-               <input type='submit' name='ACTION' value='$Lang::tr{'refresh'}' />
-       </form></td>
-</tr></table>
-
-<!-- Table of networks -->
-<table border='0' width=80%>
-  <tr> <th bgcolor='lightgrey'>$Lang::tr{'network'}
-       <th bgcolor='lightgrey'>IP
-       <th bgcolor='lightgrey'>$Lang::tr{'status'}
-  <tr> <td bgcolor='$Header::colourred' width='25%'><font size='2' color='white'><b>$Lang::tr{'internet'}:</b></font><br>
-       <td width='30%'>$ipaddr 
-       <td width='45%'>$connstate
-       <tr><td colspan='2'>
-               <form method='post' action='/cgi-bin/dial/dial.cgi'>$Lang::tr{'profile'}:
-                       <select name='PROFILE'>
-END
-       for ($c = 1; $c <= $maxprofiles; $c++)
-       {
-               if ($profilenames[$c] ne '') {
-                       $dialButtonDisabled = "";
-                       print "\t<option value='$c' $selected{'PROFILE'}{$c}>$c. $profilenames[$c]</option>\n";
-               }
-       }
-       $dialButtonDisabled = "disabled='disabled'" if (-e '/var/run/ppp-ipcop.pid' || -e "${General::swroot}/red/active");
-       if ( ( $pppsettings{'VALID'} eq 'yes' ) || ( $netsettings{'CONFIG_TYPE'} =~ /^(2|3|6|7)$/ && $netsettings{'RED_TYPE'} =~ /^(DHCP|STATIC)$/ ) ) {
-               print <<END;
-                               </select>
-                               <input type='submit' name='ACTION' value='$Lang::tr{'dial profile'}' $dialButtonDisabled />
-                       </form>
-                       <td align='center'>
-                               <table width='100%' border='0'>
-                                       <tr>
-                                       <td width='50%' align='right'>  <form method='post' action='/cgi-bin/dial/dial.cgi'>
-                                                                                       <input type='submit' name='ACTION' value='$Lang::tr{'dial'}'>
-                                                                               </form>
-                                       <td width='50%' align='left'>   <form method='post' action='/cgi-bin/dial/dial.cgi'>
-                                                                                       <input type='submit' name='ACTION' value='$Lang::tr{'hangup'}'>
-                                                                               </form>
-                               </table>
-END
-       } else {
-       print "$Lang::tr{'profile has errors'}\n </b></font>\n";
-       }
-
-       if ( $netsettings{'GREEN_DEV'} ) { print <<END;
-               <tr><td bgcolor='$Header::colourgreen' width='25%'><font size='2' color='white'><b>$Lang::tr{'lan'}:</b></font>
-               <td width='30%'>$netsettings{'GREEN_ADDRESS'}
-               <td width='45%'>
-END
-               if ( `cat /var/ipfire/proxy/advanced/settings | grep ^ENABLE=on` ) { 
-                       print "Proxy an"; 
-                       if ( `cat /var/ipfire/proxy/advanced/settings | grep ^TRANSPARENT=on` ) { print " (transparent)"; }
-               }       else { print "Proxy aus"; }
-       }
-       if ( $netsettings{'BLUE_DEV'} ) { print <<END;
-               <tr><td bgcolor='$Header::colourblue' width='25%'><font size='2' color='white'><b>$Lang::tr{'wireless'}:</b></font><br>
-               <td width='30%'>$netsettings{'BLUE_ADDRESS'}
-               <td width='45%'>
-END
-               if ( `cat /var/ipfire/proxy/advanced/settings | grep ^ENABLE_BLUE=on` ) { 
-                       print "Proxy an"; 
-                       if ( `cat /var/ipfire/proxy/advanced/settings | grep ^TRANSPARENT_BLUE=on` ) { print " (transparent)"; }
-               }       else { print "Proxy aus"; }
-       }
-       if ( $netsettings{'ORANGE_DEV'} ) { print <<END;
-               <tr><td bgcolor='$Header::colourorange' width='25%'><font size='2' color='white'><b>$Lang::tr{'dmz'}:</b></font><br>
-               <td width='30%'>$netsettings{'ORANGE_ADDRESS'}
-               <td width='45%'><font color=$Header::colourgreen>Online</font>
-END
-       }
-       if ( `cat /var/ipfire/vpn/settings | grep ^ENABLED=on` ||
-            `cat /var/ipfire/vpn/settings | grep ^ENABLED_BLUE=on` ) { 
-               my $ipsecip = `cat /var/ipfire/vpn/settings | grep ^VPN_IP= | cut -c 8-`;
-               print <<END;
-               <tr><td bgcolor='$Header::colourvpn' width='25%'><font size='2' color='white'><b>$Lang::tr{'vpn'}:</b></font><br>
-               <td width='30%'>$ipsecip
-               <td width='45%'><font color=$Header::colourgreen>Online</font>
-END
-       }
-       if ( `cat /var/ipfire/ovpn/settings | grep ^ENABLED=on` || 
-            `cat /var/ipfire/ovpn/settings | grep ^ENABLED_BLUE=on` || 
-            `cat /var/ipfire/ovpn/settings | grep ^ENABLED_ORANGE=on`) { 
-               my $ovpnip = `cat /var/ipfire/ovpn/settings | grep ^DOVPN_SUBNET= | cut -c 14- | sed -e 's\/\\/255.255.255.0\/\/'`;
-               print <<END;
-               <tr><td bgcolor='$Header::colourovpn' width='25%'><font size='2' color='white'><b>OpenVPN:</b></font><br>
-               <td width='30%'>$ovpnip
-               <td width='45%'><font color=$Header::colourgreen>Online</font>
-END
-       }
-       if ( $netsettings{'DNS1'} ) { print <<END;
-       <tr><td>DNS-Server: <td>$netsettings{'DNS1'}
-END
-       }
-       if ( $netsettings{'DNS2'} ) { print <<END;
-       <td>$netsettings{'DNS2'}
-END
-       }
-print <<END;
-</table>
-END
-
-&Header::closebox();
-
-&Header::openbox('100%', 'left', $Lang::tr{'shutdown2'});
-
-if ($death == 0 && $rebirth == 0) {
-               print <<END
-               <form method='post' action='$ENV{'SCRIPT_NAME'}'>
-               <table width='100%'>
-               <tr>
-                       <td width='50%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'reboot'}' /></td>
-                       <td width='50%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'shutdown'}' /></td>
-               </tr>
-               </table>
-               </form>
-END
-;
-} else {
-       my $message='';
-       my $title='';
-       if ($death) {
-               $title = $Lang::tr{'shutting down'};
-               $message = $Lang::tr{'ipfire has now shutdown'};
-       } else {
-               $title = $Lang::tr{'rebooting'};
-               $message = $Lang::tr{'ipfire has now rebooted'};
-       }
-       print <<END
-               <font size='6'><center>$message</center></font>
-END
-;
-}
-
-&Header::closebox();
-
-&Header::closebigbox();
-
-&Header::closepage();
index 9135b75..efab152 100644 (file)
@@ -49,6 +49,48 @@ if ($connstate =~ /$Lang::tr{'dod waiting'}/ || -e "${General::swroot}/main/refr
        $refresh = "<meta http-equiv='refresh' content='5;'>";
 }
 
+if ($cgiparams{'ACTION'} eq $Lang::tr{'dial profile'})
+{
+       my $profile = $cgiparams{'PROFILE'};
+       my %tempcgiparams = ();
+       $tempcgiparams{'PROFILE'} = '';
+       &General::readhash("${General::swroot}/ppp/settings-$cgiparams{'PROFILE'}",
+               \%tempcgiparams);
+
+       # make a link from the selected profile to the "default" one.
+       unlink("${General::swroot}/ppp/settings");
+       link("${General::swroot}/ppp/settings-$cgiparams{'PROFILE'}",
+               "${General::swroot}/ppp/settings");
+       system ("/usr/bin/touch", "${General::swroot}/ppp/updatesettings");
+
+       # read in the new params "early" so we can write secrets.
+       %cgiparams = ();
+       &General::readhash("${General::swroot}/ppp/settings", \%cgiparams);
+       $cgiparams{'PROFILE'} = $profile;
+       $cgiparams{'BACKUPPROFILE'} = $profile;
+       &General::writehash("${General::swroot}/ppp/settings-$cgiparams{'PROFILE'}",
+               \%cgiparams);
+
+       # write secrets file.
+       open(FILE, ">/${General::swroot}/ppp/secrets") or die "Unable to write secrets file.";
+       flock(FILE, 2);
+       my $username = $cgiparams{'USERNAME'};
+       my $password = $cgiparams{'PASSWORD'};
+       print FILE "'$username' * '$password'\n";
+       chmod 0600, "${General::swroot}/ppp/secrets";
+       close FILE;
+
+       &General::log("$Lang::tr{'profile made current'} $tempcgiparams{'PROFILENAME'}"); 
+       $cgiparams{'ACTION'} = "$Lang::tr{'dial'}";
+}
+
+if ($cgiparams{'ACTION'} eq $Lang::tr{'dial'}) {
+       system('/usr/local/bin/redctrl','start') == 0
+       or &General::log("Dial failed: $?"); sleep 1;}
+elsif ($cgiparams{'ACTION'} eq $Lang::tr{'hangup'}) {
+       system('/usr/local/bin/redctrl','stop') == 0
+       or &General::log("Hangup failed: $?"); sleep 1;}
+
 my $c;
 my $maxprofiles = 5;
 my @profilenames = ();
@@ -113,7 +155,7 @@ END
 print `/usr/local/bin/dialctrl.pl show`;
 print <<END;
        <tr><td colspan='2'>
-               <form method='post' action='/cgi-bin/dial.cgi'>$Lang::tr{'profile'}:
+               <form method='post' action='$ENV{'SCRIPT_NAME'}'>$Lang::tr{'profile'}:
                        <select name='PROFILE'>
 END
        for ($c = 1; $c <= $maxprofiles; $c++)
@@ -132,10 +174,10 @@ END
                        <td align='center'>
                                <table width='100%' border='0'>
                                        <tr>
-                                       <td width='50%' align='right'>  <form method='post' action='/cgi-bin/dial.cgi'>
+                                       <td width='50%' align='right'>  <form method='post' action='$ENV{'SCRIPT_NAME'}'>
                                                                                        <input type='submit' name='ACTION' value='$Lang::tr{'dial'}'>
                                                                                </form>
-                                       <td width='50%' align='left'>   <form method='post' action='/cgi-bin/dial.cgi'>
+                                       <td width='50%' align='left'>   <form method='post' action='$ENV{'SCRIPT_NAME'}'>
                                                                                        <input type='submit' name='ACTION' value='$Lang::tr{'hangup'}'>
                                                                                </form>
                                </table>
index 83a0524..2c0d7dc 100644 (file)
@@ -24,6 +24,8 @@ require "/opt/pakfire/lib/functions.pl";
 
 my %pakfiresettings=();
 my $errormessage = '';
+my @instlist = `ls /opt/pakfire/cache`;
+my $uninstall = 'yes';
 
 &Header::showhttpheaders();
 
@@ -39,25 +41,19 @@ $pakfiresettings{'AUTOUPDATE'} = '';
 &Header::openpage($Lang::tr{'pakfire configuration'}, 1);
 &Header::openbigbox('100%', 'left', '', $errormessage);
 
-if ($pakfiresettings{'ACTION'} eq 'install')
-{
-       my @inspaks = split(/\|/, "$pakfiresettings{'INSPAKS'}");
-       &General::writehash("${General::swroot}/pakfire/settings", \%pakfiresettings);
-       my @deps = "";
-       foreach (@inspaks) {
-               push(@deps, $_);
-               my @add = split(/ /, `/usr/local/bin/pakfire resolvedeps $_`);
-               foreach (@add) { push(@deps, $_); }
-       }
-       &Header::openbox("100%", "center", "Pakfire");
-       print "Wenn sie die Pakete @inspaks installieren wollen müssen sie auch folgende Pakete installieren: @deps";
-       &Header::closebox();
-       exit 0;
+if ($pakfiresettings{'ACTION'} eq 'install'){
+print "Going to install $pakfiresettings{'INSPAKS'}";
+system("/opt/pakfire/pakfire installi $pakfiresettings{'INSPAKS'}")
+}elsif ($pakfiresettings{'ACTION'} eq 'remove'){
+foreach (@instlist){
+my @pakname = split(/-/,$_);
+my $dependency = `grep "Dependencies.*$pakfiresettings{'DELPAKS'}" /opt/pakfire/db/meta/*$pakname[0]`;
+if ($dependency){$errormessage = "We have depending Paket $pakname[0] nothing will be done.<br />";$uninstall='no';last;}else{$uninstall='yes';}
+}
+if ($uninstall eq 'yes'){
+print "Going to uninstall $pakfiresettings{'DELPAKS'}";
+system("/opt/pakfire/pakfire uninstalli $pakfiresettings{'DELPAKS'}")
 }
-elsif ($pakfiresettings{'ACTION'} eq 'remove')
-{
-       $errormessage = "$pakfiresettings{'DELPAKS'}";
-       &General::writehash("${General::swroot}/pakfire/settings", \%pakfiresettings);
 } elsif ($pakfiresettings{'ACTION'} eq "$Lang::tr{'save'}")
 {
        &General::writehash("${General::swroot}/pakfire/settings", \%pakfiresettings);
@@ -65,7 +61,6 @@ elsif ($pakfiresettings{'ACTION'} eq 'remove')
 
 &General::readhash("${General::swroot}/pakfire/settings", \%pakfiresettings);
 
-
 my %selected=();
 my %checked=();
 
@@ -108,7 +103,12 @@ print <<END;
                </td>
                <td width='40%' align="center">Installierte Addons:<br />
                        <select name="DELPAKS" size="10" multiple>
-                       <option value="postfix">Postfix v2.4.0-1</option>
+END
+foreach (@instlist){
+my @pakname = split(/-/,$_);
+print "<option value='$pakname[0]'>$pakname[0]</option>";
+}
+print <<END;           
                </select>
        </table></form>
                <br /><hr /><br />
@@ -124,8 +124,5 @@ print <<END;
 END
 
 &Header::closebox();
-
 &Header::closebigbox();
-
 &Header::closepage();
-
index 199164a..ecb9434 100644 (file)
@@ -42,7 +42,7 @@ case "${2}" in
                        fi
                        
                        if [ "${RECONNECTION}" != "persistent" ]; then
-                               if [ "${TIMEOUT}" != "0" ]; then
+                               if [ "${TIMEOUT}" != "0" ] && [ "${TIMEOUT}" != "" ]; then
                                        SECONDS=$[${TIMEOUT} * 60]
                                        ARGS+=" idle ${SECONDS}"
                                fi