From 957363eb4ca7cbfacbf3831100056d69b82f3cde Mon Sep 17 00:00:00 2001 From: maniacikarus Date: Fri, 1 Jun 2007 21:29:25 +0000 Subject: [PATCH] Pakfire CGI ein bisl erweitert, Index CGI um die DIAL CGI erweitert -> Funktion testen, PPOE Timeout Seconds erweitert git-svn-id: http://svn.ipfire.org/svn/ipfire/trunk@600 ea5c0bd1-69bd-2848-81d8-4f18e57aeed8 --- doc/language_issues.de | 2 + doc/language_issues.en | 2 + html/cgi-bin/dial/dial.cgi | 70 -------- html/cgi-bin/dial/index.cgi | 244 --------------------------- html/cgi-bin/index.cgi | 48 +++++- html/cgi-bin/pakfire.cgi | 43 +++-- src/initscripts/init.d/net/red/pppoe | 2 +- 7 files changed, 70 insertions(+), 341 deletions(-) delete mode 100644 html/cgi-bin/dial/dial.cgi delete mode 100644 html/cgi-bin/dial/index.cgi diff --git a/doc/language_issues.de b/doc/language_issues.de index 7f3c4de5f7..0afed98232 100644 --- a/doc/language_issues.de +++ b/doc/language_issues.de @@ -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 diff --git a/doc/language_issues.en b/doc/language_issues.en index 8ff0118741..48e3e233b7 100644 --- a/doc/language_issues.en +++ b/doc/language_issues.en @@ -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 index 77e4260230..0000000000 --- a/html/cgi-bin/dial/dial.cgi +++ /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 index 5ee1652761..0000000000 --- a/html/cgi-bin/dial/index.cgi +++ /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 = ""; -} elsif ($connstate =~ /$Lang::tr{'connecting'}/) { - $refresh = ""; -} - -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 = ; - close IPADDR; - chomp ($ipaddr); - } - if (open(IPADDR,"${General::swroot}/red/local-ipaddress")) { - my $ipaddr = ; - close IPADDR; - chomp ($ipaddr); - } -} elsif ($modemsettings{'VALID'} eq 'no') { - print "$Lang::tr{'modem settings have errors'}\n \n"; -} else { - print "$Lang::tr{'profile has errors'}\n \n"; -} - -if ( $netsettings{'RED_TYPE'} =~ /^(DHCP|STATIC)$/ ) { - $ipaddr = $netsettings{'RED_ADDRESS'}; -} - -print < - -
- -
- - - - -
$Lang::tr{'network'} - IP - $Lang::tr{'status'} -
$Lang::tr{'internet'}:
-
$ipaddr - $connstate -
-
$Lang::tr{'profile'}: - -
-
- - -
- -
-
- -
-
-END - } else { - print "$Lang::tr{'profile has errors'}\n \n"; - } - - if ( $netsettings{'GREEN_DEV'} ) { print <
$Lang::tr{'lan'}: - $netsettings{'GREEN_ADDRESS'} - -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 <$Lang::tr{'wireless'}:
-
$netsettings{'BLUE_ADDRESS'} - -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 <$Lang::tr{'dmz'}:
-
$netsettings{'ORANGE_ADDRESS'} - Online -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 <$Lang::tr{'vpn'}:
-
$ipsecip - Online -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 <OpenVPN:
-
$ovpnip - Online -END - } - if ( $netsettings{'DNS1'} ) { print <DNS-Server: $netsettings{'DNS1'} -END - } - if ( $netsettings{'DNS2'} ) { print <$netsettings{'DNS2'} -END - } -print < -END - -&Header::closebox(); - -&Header::openbox('100%', 'left', $Lang::tr{'shutdown2'}); - -if ($death == 0 && $rebirth == 0) { - print < - - - - - -
- -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 <
$message
-END -; -} - -&Header::closebox(); - -&Header::closebigbox(); - -&Header::closepage(); diff --git a/html/cgi-bin/index.cgi b/html/cgi-bin/index.cgi index 9135b75f8b..efab152f12 100644 --- a/html/cgi-bin/index.cgi +++ b/html/cgi-bin/index.cgi @@ -49,6 +49,48 @@ if ($connstate =~ /$Lang::tr{'dod waiting'}/ || -e "${General::swroot}/main/refr $refresh = ""; } +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 <
-
$Lang::tr{'profile'}: + $Lang::tr{'profile'}:
-
+ -
+
diff --git a/html/cgi-bin/pakfire.cgi b/html/cgi-bin/pakfire.cgi index 83a0524c41..2c0d7dc0dc 100644 --- a/html/cgi-bin/pakfire.cgi +++ b/html/cgi-bin/pakfire.cgi @@ -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.
";$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 <
Installierte Addons:



@@ -124,8 +124,5 @@ print <