/[smecontribs]/rpms/smeserver-smeadmin/contribs10/smeserver-smeadmin-1.6-bz12684-fixppoe-FTTH.patch
ViewVC logotype

Annotation of /rpms/smeserver-smeadmin/contribs10/smeserver-smeadmin-1.6-bz12684-fixppoe-FTTH.patch

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (hide annotations) (download)
Mon May 20 03:12:23 2024 UTC (6 months ago) by jpp
Branch: MAIN
CVS Tags: smeserver-smeadmin-1_6-13_el7_sme, smeserver-smeadmin-1_6-14_el7_sme, HEAD
* Sun May 19 2024 Jean-Philippe Pialasse <jpp@koozali.org> 1.6-13.sme
- fix pppoe not loging [SME: 12684]
  increase db volume field. filter display to last 24 months
  display in GB/MB instead of GiB/kiB

1 jpp 1.1 diff -Nur --no-dereference smeserver-smeadmin-1.6.old/root/etc/e-smith/web/functions/smeadmin smeserver-smeadmin-1.6/root/etc/e-smith/web/functions/smeadmin
2     --- smeserver-smeadmin-1.6.old/root/etc/e-smith/web/functions/smeadmin 2024-05-19 22:52:30.397000000 -0400
3     +++ smeserver-smeadmin-1.6/root/etc/e-smith/web/functions/smeadmin 2024-05-19 22:53:29.702000000 -0400
4     @@ -1170,7 +1170,7 @@
5     sub showPppoe
6     {
7     # get first db entry
8     -my $requete="SELECT substr(debut,1,4), substr(debut,6,2) FROM pppoe ORDER BY debut ASC LIMIT 1";
9     +my $requete="SELECT substr(debut,1,4), substr(debut,6,2) FROM pppoe WHERE debut >= CURDATE() - INTERVAL 24 MONTH ORDER BY debut ASC LIMIT 1";
10    
11     #connexion a la base de donnees mySQL
12     connectBD();
13     @@ -1180,7 +1180,7 @@
14    
15     my @debut = $rq->fetchrow_array();
16     # get first db entry
17     -my $requete_DESC="SELECT substr(fin,1,4), substr(fin,6,2) FROM pppoe ORDER BY debut DESC LIMIT 1";
18     +my $requete_DESC="SELECT substr(fin,1,4), substr(fin,6,2) FROM pppoe WHERE debut >= CURDATE() - INTERVAL 24 MONTH ORDER BY debut DESC LIMIT 1";
19    
20     #connexion a la base de donnees mySQL
21     connectBD();
22     @@ -1189,6 +1189,7 @@
23     $rq_DESC->execute or print $q->p(sprintf(gettext("MySQL error : Can't execute query : %s\n"),$rq_DESC->errstr));
24    
25     my @fin = $rq_DESC->fetchrow_array();
26     + #$debut[1] -- if ($debut[1] == $fin[1]);
27    
28     my $end_yymm = $debut[0].$debut[1];
29     my $yymm = $fin[0].$fin[1];
30     @@ -1208,9 +1209,9 @@
31     print $q->th(gettext("OUT (GB)"));
32     print $q->th(gettext("TOTAL (GB)"));
33     $q->end_Tr;
34     -
35     - while ($end_yymm < $yymm) {
36     -
37     + my $nblines = 0;
38     + while ($end_yymm < $yymm || $nblines < 1) {
39     + $nblines =1;
40     if ($startMonth eq '12') {
41     $endMonth = 1;
42     $endYear = $startYear + 1;
43     @@ -1233,9 +1234,9 @@
44     # print "**$end_yymm<br>\n";
45    
46     $requete="SELECT substring(`fin`,1,7) as 'month',
47     -round(SUM(`volume_in`)/1024/1024/1024,3) as 'In (Go)' ,
48     -round(SUM(`volume_out`) /1024/1024/1024,3) as 'Out (Go)' ,
49     -round(SUM(`volume_in` + `volume_out`)/1024/1024/1024,3) as 'Total (Go)' ,
50     +round(SUM(`volume_in`)/1000/1000/1000,3) as 'In (Go)' ,
51     +round(SUM(`volume_out`) /1000/1000/1000,3) as 'Out (Go)' ,
52     +round(SUM(`volume_in` + `volume_out`)/1000/1000/1000,3) as 'Total (Go)' ,
53     SUM(TIME_TO_SEC(`duree`))/3600/24 as 'duree'
54     FROM `pppoe` WHERE
55     # mois
56     @@ -1275,10 +1276,10 @@
57     [gettext("Duration"),],
58     [gettext("IP Address"),sub { return ipnum2ipdot(@_); } ],
59     [gettext("Connection peer"),sub { return ipnum2ipdot(@_); } ],
60     - [gettext("Incoming data (Ko)"),sub {return sprintf('%.2f',$_[0]/1024);}],
61     - [gettext("Outgoing data (ko)"),sub {return sprintf('%.2f',$_[0]/1024);}]
62     + [gettext("Incoming data (MB)"),sub {return sprintf('%.2f',$_[0]/1000/1000);}],
63     + [gettext("Outgoing data (MB)"),sub {return sprintf('%.2f',$_[0]/1000/1000);}]
64     ],
65     - \"SELECT debut,fin,duree,ip,peer,volume_in,volume_out FROM pppoe ORDER BY debut DESC",
66     + \"SELECT debut,fin,duree,ip,peer,volume_in,volume_out,fin-debut as 'encours' FROM pppoe WHERE debut >= CURDATE() - INTERVAL 24 MONTH ORDER BY debut DESC",
67     \gettext("Detailed list of ADSL/PPPoE connections.\n"));
68     }
69     #----------------------------------------------------------------
70     @@ -1425,9 +1426,17 @@
71     print $q->Tr($q->td({bgcolor=>"#9999FF",colspan=>"7"},sprintf(gettext("Disconnection lasted more than %s minutes"),$params{'LimitPppoeDisconnect'}))) if (($rq2->fetchrow_array)[0] eq '1');
72    
73     #on match le nb d'heure de la duree cnx
74     - $ligne[2]=~/(\d{2}):\d{2}:\d{2}/;
75     + my $curdur;
76     + if ($ligne[2]) {
77     + # ended connection
78     + $ligne[2]=~/(\d{2}):\d{2}:\d{2}/;
79     + $curdur=$1;
80     + }else{
81     + # ongoing connection
82     + $curdur=$ligne[7]/3600;
83     + }
84     #si le nb d'heure < limite et different de null, surbrillance
85     - print $q->start_Tr({bgcolor=>((($1 < $params{'LimitPppoeDuration'}) && ($1 ne ''))?"#FF4444":"#FFFFFF")});
86     + print $q->start_Tr({bgcolor=>((($curdur < $params{'LimitPppoeDuration'}) && ($1 ne ''))?"#FF4444":"#FFFFFF")});
87     }
88     elsif ($q->param('service') eq 'sshd')
89     {
90     diff -Nur --no-dereference smeserver-smeadmin-1.6.old/root/usr/bin/smeadmind smeserver-smeadmin-1.6/root/usr/bin/smeadmind
91     --- smeserver-smeadmin-1.6.old/root/usr/bin/smeadmind 2024-05-19 22:52:30.390000000 -0400
92     +++ smeserver-smeadmin-1.6/root/usr/bin/smeadmind 2024-05-19 22:53:06.837000000 -0400
93     @@ -497,7 +497,8 @@
94     if ($ppoeif ne 'none' && $ppoemode eq 'pppoe') {
95    
96     my $recBytes=`cat /proc/net/dev|grep $ppoeif|cut -d ':' -f2|tr -s ' '| sed -e 's/^[ \t]*//'|cut -d ' ' -f1`;
97     - my $senBytes=`cat /proc/net/dev|grep $ppoeif|tr -s ' '| sed -e 's/^[ \t]*//'|cut -d " " -f9`;
98     + #my $senBytes=`cat /proc/net/dev|grep $ppoeif|tr -s ' '| sed -e 's/^[ \t]*//'|cut -d " " -f9`;
99     + my $senBytes=`cat /proc/net/dev|grep ppp0|cut -d ':' -f2|tr -s ' '| sed -e 's/^[ \t]*//'|cut -d ' ' -f9`;
100    
101     #my $requete="SELECT pid_pppd FROM pppoe WHERE ORDER DESC LIMIT 1";
102     #my $rq=$bd->prepare($requete) or print $q->p(sprintf(gettext("MySQL error : Impossible to prepare SQL query \"%s\" : %s\n"),$requete,$bd->errstr));
103     @@ -904,7 +905,8 @@
104     #Jul 14 12:49:58 sas pppd[1878]: rcvd [IPCP ConfAck id=0x2 <addr 213.41.134.153>]
105     #Match: date hostname pppd[pid]: rcvd [IPCP ConfAck id=0xxx? <addr ip>]
106     #if($l =~ /(\w{3}\s{1,2}\d{1,2} [0-9:]{8}) $SystemName pppd\[(\d+)\]: rcvd \[IPCP ConfAck id=0x\w+ <addr (\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})>\]/o)
107     - if($l =~ /(\w{3}\s{1,2}\d{1,2} [0-9:]{8}) $SystemName pppd\[(\d+)\]: rcvd \[IPCP ConfAck id=0x\w+ <addr (\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})>\]/o) {
108     + #if($l =~ /(\w{3}\s{1,2}\d{1,2} [0-9:]{8}) $SystemName pppd\[(\d+)\]: rcvd \[IPCP ConfAck id=0x\w+ <addr (\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})>\]/o) {
109     + if($l =~ /(\w{3}\s{1,2}\d{1,2} [0-9:]{8}) $SystemName pppd\[(\d+)\]: local IP address (\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})/o) {
110     #$1: date $2:pid $3.$4.$5.$6:ip
111     my $date=mkmysqldate($1);
112     my $ip=ipdot2ipnum($3,$4,$5,$6);
113     diff -Nur --no-dereference smeserver-smeadmin-1.6.old/root/usr/share/doc/smeserver-smeadmin/tables.sql smeserver-smeadmin-1.6/root/usr/share/doc/smeserver-smeadmin/tables.sql
114     --- smeserver-smeadmin-1.6.old/root/usr/share/doc/smeserver-smeadmin/tables.sql 2020-10-15 07:31:28.000000000 -0400
115     +++ smeserver-smeadmin-1.6/root/usr/share/doc/smeserver-smeadmin/tables.sql 2024-05-19 22:55:48.248000000 -0400
116     @@ -28,8 +28,8 @@
117     fin datetime,
118     pid_afpd int unsigned not null,
119     login varchar(10),
120     - volume_read int(20) unsigned,
121     - volume_write int(20) unsigned,
122     + volume_read bigint(20) unsigned,
123     + volume_write bigint(20) unsigned,
124     primary key (debut) );
125    
126     -- Structure de la table dchpd
127     @@ -52,8 +52,8 @@
128     pid_proftpd int unsigned not null,
129     login varchar(10),
130     connecte bool,
131     - volume_in int(20) unsigned,
132     - volume_out int(20) unsigned,
133     + volume_in bigint(20) unsigned,
134     + volume_out bigint(20) unsigned,
135     primary key (debut) );
136    
137     -- Structure de la table pppoe
138     @@ -65,8 +65,8 @@
139     pid_pppd int unsigned not null,
140     ip int unsigned not null,
141     peer int unsigned not null,
142     - volume_in int(20) unsigned,
143     - volume_out int(20) unsigned,
144     + volume_in bigint(20) unsigned,
145     + volume_out bigint(20) unsigned,
146     primary key (debut) );
147    
148     -- Structure de la table ssh
149     @@ -87,8 +87,8 @@
150     ip int unsigned,
151     vpn_clt int unsigned,
152     vpn_srv int unsigned not null,
153     - volume_in int unsigned,
154     - volume_out int unsigned,
155     + volume_in bigint unsigned,
156     + volume_out bigint unsigned,
157     login varchar(10),
158     pid_pptpd int(20) unsigned not null,
159     pid_pppd int(20) unsigned,
160     diff -Nur --no-dereference smeserver-smeadmin-1.6.old/root/usr/share/doc/smeserver-smeadmin/tables-update.sql smeserver-smeadmin-1.6/root/usr/share/doc/smeserver-smeadmin/tables-update.sql
161     --- smeserver-smeadmin-1.6.old/root/usr/share/doc/smeserver-smeadmin/tables-update.sql 2020-10-15 07:31:28.000000000 -0400
162     +++ smeserver-smeadmin-1.6/root/usr/share/doc/smeserver-smeadmin/tables-update.sql 2024-05-19 22:58:13.446000000 -0400
163     @@ -5,15 +5,15 @@
164     ALTER TABLE `pppoe` CHANGE `ip` `ip` INT( 10 ) UNSIGNED NOT NULL DEFAULT '0'
165     ;
166     -- Update size of some fields
167     -ALTER TABLE `pppoe` CHANGE `volume_in` `volume_in` INT( 20 ) UNSIGNED NULL DEFAULT NULL ,
168     -CHANGE `volume_out` `volume_out` INT( 20 ) UNSIGNED NULL DEFAULT NULL ;
169     +ALTER TABLE `pppoe` CHANGE `volume_in` `volume_in` BIGINT( 20 ) UNSIGNED NULL DEFAULT NULL ,
170     +CHANGE `volume_out` `volume_out` BIGINT( 20 ) UNSIGNED NULL DEFAULT NULL ;
171    
172     -ALTER TABLE `vpn` CHANGE `volume_in` `volume_in` INT( 20 ) UNSIGNED NULL DEFAULT NULL ,
173     -CHANGE `volume_out` `volume_out` INT( 20 ) UNSIGNED NULL DEFAULT NULL ;
174     +ALTER TABLE `vpn` CHANGE `volume_in` `volume_in` BIGINT( 20 ) UNSIGNED NULL DEFAULT NULL ,
175     +CHANGE `volume_out` `volume_out` BIGINT( 20 ) UNSIGNED NULL DEFAULT NULL ;
176    
177     -ALTER TABLE `ftp` CHANGE `volume_in` `volume_in` INT( 20 ) UNSIGNED NULL DEFAULT NULL ,
178     -CHANGE `volume_out` `volume_out` INT( 20 ) UNSIGNED NULL DEFAULT NULL ;
179     +ALTER TABLE `ftp` CHANGE `volume_in` `volume_in` BIGINT( 20 ) UNSIGNED NULL DEFAULT NULL ,
180     +CHANGE `volume_out` `volume_out` BIGINT( 20 ) UNSIGNED NULL DEFAULT NULL ;
181    
182     ALTER TABLE `afp` CHANGE `volume_write` `volume_write` INT( 20 ) UNSIGNED NULL DEFAULT NULL ,
183     -CHANGE `volume_read` `volume_read` INT( 20 ) UNSIGNED NULL DEFAULT NULL ;
184     +CHANGE `volume_read` `volume_read` BIGINT( 20 ) UNSIGNED NULL DEFAULT NULL ;
185    

admin@koozali.org
ViewVC Help
Powered by ViewVC 1.2.1 RSS 2.0 feed