From 2db5d93292f61510ab843e11e6b9baf3216bbf5b Mon Sep 17 00:00:00 2001 From: ms Date: Sat, 24 Jun 2006 21:57:29 +0000 Subject: [PATCH] =?UTF-8?q?Hinzugef=C3=BCgt:=20=20=20*=20Viele=20Schritte?= =?UTF-8?q?=20weiter=20im=20QoS-GUI...=20=20=20*=20Alten=20IPCop-Shaper=20?= =?UTF-8?q?aus=20den=20Startscripts=20entfernt.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://svn.ipfire.org/svn/ipfire/trunk@182 ea5c0bd1-69bd-2848-81d8-4f18e57aeed8 --- html/cgi-bin/qos.cgi | 337 ++++++++++++++++++++++++++++++++++-------- src/rc.d/rc.updatered | 6 +- 2 files changed, 276 insertions(+), 67 deletions(-) diff --git a/html/cgi-bin/qos.cgi b/html/cgi-bin/qos.cgi index ecda291f5..07b63581a 100644 --- a/html/cgi-bin/qos.cgi +++ b/html/cgi-bin/qos.cgi @@ -16,19 +16,24 @@ require '/var/ipfire/general-functions.pl'; require "${General::swroot}/lang.pl"; require "${General::swroot}/header.pl"; -my %qossettings=(); -my %checked=(); -my %netsettings=(); +my %qossettings = (); +my %checked = (); +my %netsettings = (); my $errormessage = ""; +my $c = ""; +my $direntry = ""; +my @proto = (); +my %selected= () ; &General::readhash("${General::swroot}/ethernet/settings", \%netsettings); &Header::showhttpheaders(); -$qossettings{'ACTION'} = ''; -$qossettings{'ACTION_BW'} = ''; -$qossettings{'ENABLED'} = ''; +$qossettings{'ENABLED'} = 'off'; $qossettings{'OUT_SPD'} = ''; $qossettings{'INC_SPD'} = ''; +$qossettings{'DEFCLASS_INC'} = ''; +$qossettings{'DEFCLASS_OUT'} = ''; +$qossettings{'ACK'} = ''; $qossettings{'RED_DEV'} = `cat /var/ipfire/red/iface`; $qossettings{'IMQ_DEV'} = 'imq0'; @@ -36,10 +41,8 @@ $qossettings{'IMQ_DEV'} = 'imq0'; &Header::getcgihash(\%qossettings); &Header::openpage('QoS', 1, ''); - &Header::openbigbox('100%', 'left', '', $errormessage); - if ($qossettings{'ACTION'} eq 'Start') { system("/bin/touch /var/ipfire/qos/enable"); @@ -56,25 +59,30 @@ elsif ($qossettings{'ACTION'} eq $Lang::tr{'save'}) { &General::writehash("${General::swroot}/qos/settings", \%qossettings); } +elsif ($qossettings{'ACTION'} eq 'Parentklasse hinzufuegen') +{ + &parentclass(); + &Header::closebigbox(); + &Header::closepage(); + exit +} +elsif ($qossettings{'ACTION'} eq 'Level7-Regel hinzufuegen') +{ + &level7rule(); + &Header::closebigbox(); + &Header::closepage(); + exit +} if ($qossettings{'ACTION_BW'} eq 'Andern') { - &Header::openbox('100%', 'center', 'Bandbreiteneinstellungen'); - if ($qossettings{'ENABLED'} eq 'on') { - print "Sie koennen die Bandbreiteneinstellungen nicht bearbeiten, wenn QoS eingeschaltet ist. Schalten sie es zuerst dazu aus.

"; - print "Zurueck"; - } else { - print < - -
Geben Sie bitte hier ihre Download- bzw. Upload-Geschwindigkeit ein
und klicken Sie danach auf Speichern. -
Download-Geschwindigkeit:   kbps  -
Upload-Geschwindigkeit:   kbps -
- -END -; - } - &Header::closebox(); + &changebandwidth(); + &Header::closebigbox(); + &Header::closepage(); + exit +} +if ($qossettings{'ACTION_DEF'} eq 'Andern') +{ + &changedefclasses(); &Header::closebigbox(); &Header::closepage(); exit @@ -106,17 +114,31 @@ print < Quality of Service: $status - - - + + + + END ; if (($qossettings{'OUT_SPD'} ne '') && ($qossettings{'INC_SPD'} ne '')) { print <  - Downloadgeschwindigkeit: $qossettings{'INC_SPD'} - Uploadgeschwindigkeit: $qossettings{'OUT_SPD'} - + Downloadgeschwindigkeit: $qossettings{'INC_SPD'} kbps + + Uploadgeschwindigkeit: $qossettings{'OUT_SPD'} kbps +END +; + } + if (($qossettings{'DEFCLASS_OUT'} ne '') && ($qossettings{'DEFCLASS_INC'} ne '')&& ($qossettings{'ACK'} ne '')) { + print <


+ Downloadstandardklasse: $qossettings{'DEFCLASS_INC'} + + Uploadstandardklasse: $qossettings{'DEFCLASS_OUT'} + ACKs: $qossettings{'ACK'} +
+ + Nur temporaer >>> <<< END ; } @@ -124,43 +146,234 @@ print ""; &Header::closebox(); if ( ($qossettings{'OUT_SPD'} eq '') || ($qossettings{'INC_SPD'} eq '') ) { -&Header::openbox('100%', 'center', "Outgoing ($qossettings{'RED_DEV'})"); -print < - Geben Sie bitte hier ihre Download- bzw. Upload-Geschwindigkeit ein
und klicken Sie danach auf Speichern. - Download-Geschwindigkeit:   kbps  - Upload-Geschwindigkeit:   kbps - - -END -; -&Header::closebox(); -&Header::closebigbox(); -&Header::closepage(); -exit -} - -if ( $qossettings{'RED_DEV'} ne '' ) { - &Header::openbox('100%', 'center', 'Outgoing Interface'); - print < - InterfaceKlasseMaximale GeschwindigkeitAktionen - - ppp0198512BLA - ppp0199512BLA - -END -; - &Header::closebox(); -} else { - &Header::openbox('100%', 'center', 'Outgoing Interface'); - print "Es ist kein rotes Interface vorhanden."; + &changebandwidth(); &Header::closebox(); &Header::closebigbox(); &Header::closepage(); exit } +if ( ($qossettings{'DEFCLASS_INC'} eq '') || ($qossettings{'DEFCLASS_OUT'} eq '') || ($qossettings{'ACK'} eq '') ) { + &changedefclasses(); + &Header::closebigbox(); + &Header::closepage(); + exit +} + + +# &Header::openbox('100%', 'center', 'Outgoing Interface'); +# print < +# InterfaceKlasseMaximale GeschwindigkeitAktionen +# +#END +#; +# &Header::closebox(); + &Header::closebigbox(); &Header::closepage(); +# --------------------------------------------------------------------------------------------------------------------------------- + +sub changedefclasses { + &Header::openbox('100%', 'center', 'Standardklassen:'); + print < + +
Legen sie hier die Standardklassen fest durch die nicht-gefilterte Pakete gehen. +
Download:  +
Upload:  +
+
+ +
Legen sie hier die ACK-Klasse fest
und klicken Sie danach auf Speichern. +
ACKs: +
+ +END +; + &Header::closebox(); +} + +sub changebandwidth { + &Header::openbox('100%', 'center', 'Bandbreiteneinstellungen'); + if ($qossettings{'ENABLED'} eq 'on') { + print "Sie koennen die Bandbreiteneinstellungen nicht bearbeiten, wenn QoS eingeschaltet ist. Schalten sie es zuerst dazu aus.

"; + print "Zurueck"; + } else { + print < + +
Geben Sie bitte hier ihre Download- bzw. Upload-Geschwindigkeit ein
und klicken Sie danach auf Speichern. +
Download-Geschwindigkeit: +   kbps +   +
Upload-Geschwindigkeit: +   kbps +   +
+ +END +; + } + &Header::closebox(); +} + +sub parentclass { + &Header::openbox('100%', 'center', 'Parentklasse hinzufuegen'); + print < + +
Geben sie die Daten ein
und klicken Sie danach auf Speichern. +
Interface: + +   +
Klasse:  +
Prioritaet:
Garantierte Bandbreite: + +   +
Maximale Bandbreite: + +   +
Burst: + +   +
Ceilburst: + + +
+END +; + &Header::closebox(); +} + +sub level7rule { + &Header::openbox('100%', 'center', 'Level7-Regel hinzufuegen'); + print < + +
Geben sie die Daten ein
und klicken Sie danach auf Speichern. +
Name: + +   +
Protokoll: +   +
Quell-IP-Adresse: + +   +
Ziel-IP-Adresse: + + +
+END +; + &Header::closebox(); +} \ No newline at end of file diff --git a/src/rc.d/rc.updatered b/src/rc.d/rc.updatered index 6ca8efbf9..e20a2b1c0 100644 --- a/src/rc.d/rc.updatered +++ b/src/rc.d/rc.updatered @@ -134,11 +134,7 @@ if [ -e "CONFIG_ROOT/red/active" ]; then /etc/rc.d/rc.firewall reload /usr/local/bin/setfilters /usr/local/bin/restartsnort red - unset ENABLE - eval $(/usr/local/bin/readhash CONFIG_ROOT/shaping/settings) - if [ "$ENABLE" == "on" ]; then - /usr/local/bin/restartshaping - fi + # Add QoS-Call here! /usr/local/bin/setportfw /usr/local/bin/setxtaccess /usr/local/bin/setddns.pl -f