Author: orzech                       Date: Sat Mar  5 10:01:15 2005 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- enhanced

---- Files affected:
SOURCES:
   lms-tariff_per_node.patch (1.1 -> 1.2) 

---- Diffs:

================================================================
Index: SOURCES/lms-tariff_per_node.patch
diff -u SOURCES/lms-tariff_per_node.patch:1.1 
SOURCES/lms-tariff_per_node.patch:1.2
--- SOURCES/lms-tariff_per_node.patch:1.1       Sun Feb 20 22:25:40 2005
+++ SOURCES/lms-tariff_per_node.patch   Sat Mar  5 11:01:10 2005
@@ -89,11 +89,11 @@
 +              <IMG SRC="img/money.gif" BORDER="0" ALT=""></A>
 +              </TD>
 +              <TD WIDTH="1%" NOWRAP>
-+                      <B>Taryfa:</B>
++                      <B>{t}Tariff:{/t}</B>
 +              </TD>
 +              <TD WIDTH="99%" CLASS="FRIGHT" COLSPAN="2">
-+                      <SELECT SIZE="1" NAME="nodeedit[assignment]" {tip 
text="Wybierz taryfę z listy" trigger="assigment"}>
-+                              <OPTION VALUE="0" {if ! 
$nodeinfo.assignment}SELECTED{/if}>--- Brak ---</OPTION>
++                      <SELECT SIZE="1" NAME="nodeedit[assignment]" {tip 
text="Pick tariff from list" trigger="assigment"}>
++                              <OPTION VALUE="0" {if ! 
$nodeinfo.assignment}SELECTED{/if}>{t}none{/t}</OPTION>
 +                              {section name="assignment" loop=$assignments}
 +                              <OPTION VALUE="{$assignments[assignment].id}" 
{if $nodeinfo.assignment == $assignments[assignment].id} SELECTED 
{/if}>{$assignments[assignment].name} ({$assignments[assignment].id})</OPTION>
 +                              {/section}
@@ -115,8 +115,8 @@
 +                      <IMG SRC="img/money.gif" BORDER="0" ALT=""></A>
 +              </TD>
 +              <TD WIDTH="99%" CLASS="FRIGHT" COLSPAN="2">
-+                      <SELECT SIZE="1" NAME="nodeedit[assignment]" {tip 
text="Wybierz taryfę z listy" trigger="assigment"}>
-+                              <OPTION VALUE="0" {if ! 
$nodeinfo.assignment}SELECTED{/if}>--- Brak ---</OPTION>
++                      <SELECT SIZE="1" NAME="nodeedit[assignment]" {tip 
text="Pick tariff from list" trigger="assigment"}>
++                              <OPTION VALUE="0" {if ! 
$nodeinfo.assignment}SELECTED{/if}>{t}none{/t}</OPTION>
 +                              {section name="assignment" loop=$assignments}
 +                              <OPTION VALUE="{$assignments[assignment].id}" 
{if $nodeinfo.assignment == $assignments[assignment].id} SELECTED 
{/if}>{$assignments[assignment].name} ({$assignments[assignment].id})</OPTION>
 +                              {/section}
@@ -139,7 +139,7 @@
 +                      <IMG SRC="img/money.gif" BORDER="0" ALT=""></A>
 +              </TD>
 +              <TD WIDTH="99%" CLASS="FRIGHT" COLSPAN="2">
-+                      <B>{if $nodeinfo.assignment}{$nodeinfo.tariff} 
({$nodeinfo.assignment|string_format:"%04d"}){else}BRAK{/if}</B>
++                      <B>{if 
$nodeinfo.assignment}{$nodeinfo.tariff}({$nodeinfo.assignment|string_format:"%04d"}){else}{t}none{/t}{/if}</B>
 +              </TD>
 +      </TR>   
 +      <TR CLASS="LIGHT">
@@ -172,3 +172,105 @@
                                        <TD WIDTH="1%" NOWRAP ALIGN="RIGHT" 
OnClick="return 
self.location.href='?m=userassignmentsedit&id={$a.id}'">{$a.value|money_format}</TD>
                                        <TD WIDTH="1%" NOWRAP OnClick="return 
self.location.href='?m=userassignmentsedit&id={$a.id}'">{$a.period} 
({$a.at})</TD>
                                        <TD WIDTH="1%" NOWRAP ALIGN="RIGHT" 
OnClick="return 
self.location.href='?m=userassignmentsedit&id={$a.id}'">{$a.downrate|default:"-"}
 kbps</TD>
+--- lms/bin/lms-traffic-htbiptlimits   2005-02-16 10:00:11.000000000 +0100
++++ lms/bin/lms-traffic-htbiptlimits   2005-02-19 08:58:07.000000000 +0100
+@@ -173,6 +173,7 @@
+       exit 1;
+ }
+ 
++system("cp $outfile $outfile.sav");
+ open(OUTFILE, ">$outfile") or die("Fatal error: Unable to write $outfile, 
exiting.\n");
+ 
+ my @local_ports_list = split(' ',$local_ports);
+@@ -251,13 +252,13 @@
+       my $prefix = mask2prefix($row->{'mask'});
+       my $netsize = 2**(32 - $prefix);
+       my $netend = $netstart + $netsize - 1;
+-      my $sdbq = $dbase->prepare("SELECT ipaddr, ownerid FROM nodes WHERE 
ipaddr >= $netstart AND ipaddr <= $netend");
++      my $sdbq = $dbase->prepare("SELECT ipaddr, assignmentid FROM 
nodes,nodesassignments WHERE nodes.id=nodesassignments.nodeid AND ipaddr >= 
$netstart AND ipaddr <= $netend");
+       $sdbq->execute();
+       while (my $srow = $sdbq->fetchrow_hashref())
+       {
+               my $ipaddr = u32todotquad($srow->{'ipaddr'});
+-              $nodetable{$srow->{'ownerid'}} = "" if not defined 
$nodetable{$srow->{'ownerid'}};
+-              $nodetable{$srow->{'ownerid'}} = $nodetable{$srow->{'ownerid'}} 
. " " . $ipaddr . ":" . $row->{'interface'};
++              $nodetable{$srow->{'assignmentid'}} = "" if not defined 
$nodetable{$srow->{'assignmentid'}};
++              $nodetable{$srow->{'assignmentid'}} = 
$nodetable{$srow->{'assignmentid'}} . " " . $ipaddr . ":" . $row->{'interface'};
+               $iftable{$row->{'interface'}} = $totalspd if not defined 
$iftable{$row->{'interface'}};
+       }
+ }
+@@ -271,19 +272,24 @@
+       
+ }
+ 
+-$dbq = $dbase->prepare("SELECT userid, SUM(uprate) AS uprate, SUM(downrate) 
AS downrate, SUM(upceil) AS upceil, SUM(downceil) AS downceil FROM assignments, 
users, tariffs WHERE users.id = userid AND deleted = 0 AND tariffid = 
tariffs.id AND (datefrom <= $utsfmt OR datefrom = 0) AND (dateto > $utsfmt OR 
dateto = 0) GROUP BY userid");
++$dbq = $dbase->prepare("SELECT nodes.access AS access, assignments.id AS 
assignmentid, users.name AS name,users.lastname AS lastname, tariffs.uprate AS 
uprate, tariffs.downrate AS downrate,tariffs.upceil AS upceil, tariffs.downceil 
AS downceil FROM nodesassignments, assignments, tariffs, users, nodes WHERE 
nodesassignments.nodeid=nodes.id AND 
nodesassignments.assignmentid=assignments.id AND 
assignments.tariffid=tariffs.id AND assignments.userid=users.id AND (datefrom 
<= $utsfmt OR datefrom = 0) AND (dateto > $utsfmt OR dateto = 0) GROUP BY 
assignments.id");
+ $dbq->execute();
+ 
+ my $iptid = 0;
+ my %htbid;
++my $uprate = 0;
++my $upceil = 0;
++my $downrate = 0;
++my $downceil = 0;
+ 
+ while (my $row = $dbq->fetchrow_hashref())
+ {
+-      if($nodetable{$row->{'userid'}} && $row->{'downrate'})
++      print OUTFILE "### ".$row->{'name'}." ".$row->{'lastname'}."\n";        
        
++      if($nodetable{$row->{'assignmentid'}} && $row->{'downrate'})
+       {
+               my %ifaces;
+               $iptid ++;
+-              foreach my $ippair (split(' ',$nodetable{$row->{'userid'}}))
++              foreach my $ippair (split(' 
',$nodetable{$row->{'assignmentid'}}))
+               {
+                       my ($ipaddr, $if) = split(':',$ippair);
+                       $ifaces{$if} = 1;
+@@ -293,14 +299,24 @@
+               {
+                       $htbid{$key} = 0 if not defined $htbid{$key};
+                       $htbid{$key} ++;
+-                      print OUTFILE "$tc_binary class add dev $key parent 
1:19999 classid 1:".$htbid{$key}." htb rate ".$row->{'downrate'}."kbit ceil 
".$row->{'downceil'}."kbit burst ".($row->{'downrate'} / 8)."kbit\n";
++                      if ($row->{'access'}) 
++                      {
++                              $downrate=$row->{'downrate'};
++                              $downceil=$row->{'downceil'};
++                      }
++                      else 
++                      {
++                                $downrate=$row->{'downrate'}/100;             
                
++                                $downceil=$row->{'downceil'}/100;             
                
++                      }
++                      print OUTFILE "$tc_binary class add dev $key parent 
1:19999 classid 1:".$htbid{$key}." htb rate ".$downrate."kbit ceil 
".$downceil."kbit burst ".($downrate / 8)."kbit\n";
+                       print OUTFILE "$tc_binary filter add dev $key protocol 
ip parent 1: handle $iptid fw classid 1:".$htbid{$key}."\n";
+               }
+       }
+-      if($nodetable{$row->{'userid'}} && $row->{'uprate'})
++      if($nodetable{$row->{'assignmentid'}} && $row->{'uprate'})
+       {
+               $iptid ++;
+-              foreach my $ippair (split(' ',$nodetable{$row->{'userid'}}))
++              foreach my $ippair (split(' 
',$nodetable{$row->{'assignmentid'}}))
+               {
+                       my ($ipaddr, $if) = split(':',$ippair);
+                       print OUTFILE "$iptables_binary -t mangle -A LIMITS -s 
$ipaddr -j MARK --set-mark $iptid\n";
+@@ -310,7 +326,17 @@
+                       my ($if,$spd) = split(':', $wan_interface);
+                       $htbid{$if} = 0 if not defined $htbid{$if};
+                       $htbid{$if} ++;
+-                      print OUTFILE "$tc_binary class add dev $if parent 
1:19999 classid 1:".$htbid{$if}." htb rate ".$row->{'uprate'}."kbit ceil 
".$row->{'upceil'}."kbit burst ".($row->{'uprate'} / 8). "kbit\n";
++                        if ($row->{'access'})
++                        {
++                                $uprate=$row->{'uprate'};
++                                $upceil=$row->{'upceil'};
++                        }
++                        else
++                        {
++                                $uprate=$row->{'uprate'}/100;
++                                $upceil=$row->{'upceil'}/100;
++                        }
++                      print OUTFILE "$tc_binary class add dev $if parent 
1:19999 classid 1:".$htbid{$if}." htb rate ".$uprate."kbit ceil ".$upceil."kbit 
burst ".($uprate / 8). "kbit\n";
+                       print OUTFILE "$tc_binary filter add dev $if protocol 
ip parent 1: handle $iptid fw classid 1:".$htbid{$if}."\n";
+               }
+       }               
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/SOURCES/lms-tariff_per_node.patch?r1=1.1&r2=1.2&f=u


_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to